@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,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/node/types.ts"],"sourcesContent":["import type { Request, Response, NextFunction } from 'express';\n\n/**\n * Контекст обработчика express.\n */\nexport interface HandlerContext {\n req: Request;\n res: Response;\n next: NextFunction;\n}\n"],"mappings":""}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PresetWeb = PresetWeb;
7
+ var _di = require("../../di");
8
+ var _tokens = require("../../tokens");
9
+ var _providers = require("../isomorphic/providers");
10
+ var _providers2 = require("./providers");
11
+ /**
12
+ * Возвращает preset с зависимостями для frontend-микросервисов в браузере.
13
+ * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.
14
+ * @return Preset.
15
+ */
16
+ function PresetWeb(customize) {
17
+ // ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости
18
+ const preset = (0, _di.createPreset)();
19
+ preset.set(_tokens.KnownToken.Config.source, _providers2.provideConfigSource);
20
+ preset.set(_tokens.KnownToken.Config.base, _providers.provideBaseConfig);
21
+ preset.set(_tokens.KnownToken.logger, _providers2.provideLogger);
22
+ preset.set(_tokens.KnownToken.sagaMiddleware, _providers.provideSagaMiddleware);
23
+ preset.set(_tokens.KnownToken.Http.Client.factory, _providers2.provideHttpClientFactory);
24
+ preset.set(_tokens.KnownToken.Http.Client.Middleware.Log.handler, _providers.provideHttpClientLogHandler);
25
+ preset.set(_tokens.KnownToken.SsrBridge.clientSide, _providers2.provideBridgeClientSide);
26
+ preset.set(_tokens.KnownToken.Http.Api.knownHosts, _providers2.provideKnownHttpApiHosts);
27
+ if (customize) {
28
+ customize({
29
+ override: preset.set.bind(preset)
30
+ });
31
+ }
32
+ return preset;
33
+ }
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_di","require","_tokens","_providers","_providers2","PresetWeb","customize","preset","createPreset","set","KnownToken","Config","source","provideConfigSource","base","provideBaseConfig","logger","provideLogger","sagaMiddleware","provideSagaMiddleware","Http","Client","factory","provideHttpClientFactory","Middleware","Log","handler","provideHttpClientLogHandler","SsrBridge","clientSide","provideBridgeClientSide","Api","knownHosts","provideKnownHttpApiHosts","override","bind"],"sources":["../../../../src/preset/web/index.ts"],"sourcesContent":["import { createPreset, Preset } from '../../di';\nimport { KnownToken } from '../../tokens';\nimport { PresetTuner } from '../isomorphic/types';\nimport {\n provideBaseConfig,\n provideSagaMiddleware,\n provideHttpClientLogHandler,\n} from '../isomorphic/providers';\nimport {\n provideBridgeClientSide,\n provideConfigSource,\n provideHttpClientFactory,\n provideKnownHttpApiHosts,\n provideLogger,\n} from './providers';\n\n/**\n * Возвращает preset с зависимостями для frontend-микросервисов в браузере.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @return Preset.\n */\nexport function PresetWeb(customize?: PresetTuner): Preset {\n // ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости\n const preset = createPreset();\n\n preset.set(KnownToken.Config.source, provideConfigSource);\n preset.set(KnownToken.Config.base, provideBaseConfig);\n preset.set(KnownToken.logger, provideLogger);\n preset.set(KnownToken.sagaMiddleware, provideSagaMiddleware);\n preset.set(KnownToken.Http.Client.factory, provideHttpClientFactory);\n preset.set(KnownToken.Http.Client.Middleware.Log.handler, provideHttpClientLogHandler);\n preset.set(KnownToken.SsrBridge.clientSide, provideBridgeClientSide);\n preset.set(KnownToken.Http.Api.knownHosts, provideKnownHttpApiHosts);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AAQA;AACA;AACA;AACA;AACA;AACO,SAASI,SAASA,CAACC,SAAuB,EAAU;EACzD;EACA,MAAMC,MAAM,GAAG,IAAAC,gBAAY,EAAC,CAAC;EAE7BD,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,MAAM,CAACC,MAAM,EAAEC,+BAAmB,CAAC;EACzDN,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,MAAM,CAACG,IAAI,EAAEC,4BAAiB,CAAC;EACrDR,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACM,MAAM,EAAEC,yBAAa,CAAC;EAC5CV,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACQ,cAAc,EAAEC,gCAAqB,CAAC;EAC5DZ,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACU,IAAI,CAACC,MAAM,CAACC,OAAO,EAAEC,oCAAwB,CAAC;EACpEhB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACU,IAAI,CAACC,MAAM,CAACG,UAAU,CAACC,GAAG,CAACC,OAAO,EAAEC,sCAA2B,CAAC;EACtFpB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACkB,SAAS,CAACC,UAAU,EAAEC,mCAAuB,CAAC;EACpEvB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACU,IAAI,CAACW,GAAG,CAACC,UAAU,EAAEC,oCAAwB,CAAC;EAEpE,IAAI3B,SAAS,EAAE;IACbA,SAAS,CAAC;MAAE4B,QAAQ,EAAE3B,MAAM,CAACE,GAAG,CAAC0B,IAAI,CAAC5B,MAAM;IAAE,CAAC,CAAC;EAClD;EAEA,OAAOA,MAAM;AACf"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.provideBridgeClientSide = provideBridgeClientSide;
7
+ exports.provideConfigSource = provideConfigSource;
8
+ exports.provideHttpClientFactory = provideHttpClientFactory;
9
+ exports.provideKnownHttpApiHosts = provideKnownHttpApiHosts;
10
+ exports.provideLogger = provideLogger;
11
+ var _browser = require("@sentry/browser");
12
+ var _config = require("../../../config");
13
+ var _log = require("../../../log");
14
+ var _tokens = require("../../../tokens");
15
+ var _sentry = require("../../../log/handler/sentry");
16
+ var _ssr = require("../../../utils/ssr");
17
+ var _utils = require("../../isomorphic/utils");
18
+ var _middlewareAxios = require("middleware-axios");
19
+ var _axios = require("../../../utils/axios");
20
+ /**
21
+ * Провайдер источника конфигурации.
22
+ * @return Источник конфигурации.
23
+ */
24
+ function provideConfigSource() {
25
+ // ВАЖНО: по умолчанию рассчитываем на process.env который предоставляется сборщиком (например webpack)
26
+ if (typeof process !== 'undefined' && process.env) {
27
+ return (0, _config.createConfigSource)(process.env);
28
+ }
29
+ return (0, _config.createConfigSource)({});
30
+ }
31
+
32
+ /**
33
+ * Провайдер Logger'а.
34
+ * @param resolve Функция для получения зависимости по токену.
35
+ * @return Logger.
36
+ */
37
+ function provideLogger(resolve) {
38
+ const source = resolve(_tokens.KnownToken.Config.source);
39
+ const client = new _browser.BrowserClient({
40
+ transport: _browser.makeFetchTransport,
41
+ stackParser: _browser.defaultStackParser,
42
+ dsn: source.require('PUBLIC_SENTRY_DSN'),
43
+ release: source.require('SENTRY_RELEASE'),
44
+ environment: source.require('PUBLIC_SENTRY_ENVIRONMENT'),
45
+ integrations: [..._browser.defaultIntegrations]
46
+ });
47
+ const hub = new _browser.Hub(client);
48
+ hub.setTag('url', window.location.href);
49
+ const logger = (0, _log.createLogger)();
50
+ logger.subscribe((0, _sentry.createSentryHandler)(hub));
51
+ return logger;
52
+ }
53
+
54
+ /**
55
+ * Провайдер клиентской части "моста" для передачи данных между сервером и клиентом.
56
+ * @param resolve Функция для получения зависимости по токену.
57
+ * @return Клиентская часть "моста".
58
+ */
59
+ function provideBridgeClientSide(resolve) {
60
+ const config = resolve(_tokens.KnownToken.Config.base);
61
+ return _ssr.SsrBridge.resolve(config.appName);
62
+ }
63
+
64
+ /**
65
+ * Провайдер известных http-хостов.
66
+ * @param resolve Функция для получения зависимости по токену.
67
+ * @return Пул известных http-хостов.
68
+ */
69
+ function provideKnownHttpApiHosts(resolve) {
70
+ const source = resolve(_tokens.KnownToken.Config.source);
71
+ return new _utils.HttpApiHostPool({
72
+ ilium: 'PUBLIC_API_URL_ILIUM',
73
+ simaV3: 'PUBLIC_API_URL_SIMALAND_V3',
74
+ simaV4: 'PUBLIC_API_URL_SIMALAND_V4',
75
+ simaV6: 'PUBLIC_API_URL_SIMALAND_V6'
76
+ }, source);
77
+ }
78
+
79
+ /**
80
+ * Провайдер фабрики http-клиентов.
81
+ * @param resolve Функция для получения зависимости по токену.
82
+ * @return Фабрика.
83
+ */
84
+ function provideHttpClientFactory(resolve) {
85
+ const logHandler = resolve(_tokens.KnownToken.Http.Client.Middleware.Log.handler);
86
+ return (config = {}) => {
87
+ // @todo убрать as any
88
+ const client = (0, _middlewareAxios.create)(config);
89
+ client.use(_utils.HttpStatus.axiosMiddleware());
90
+ client.use((0, _axios.logMiddleware)(logHandler));
91
+ return client;
92
+ };
93
+ }
94
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_browser","require","_config","_log","_tokens","_sentry","_ssr","_utils","_middlewareAxios","_axios","provideConfigSource","process","env","createConfigSource","provideLogger","resolve","source","KnownToken","Config","client","BrowserClient","transport","makeFetchTransport","stackParser","defaultStackParser","dsn","release","environment","integrations","defaultIntegrations","hub","Hub","setTag","window","location","href","logger","createLogger","subscribe","createSentryHandler","provideBridgeClientSide","config","base","SsrBridge","appName","provideKnownHttpApiHosts","HttpApiHostPool","ilium","simaV3","simaV4","simaV6","provideHttpClientFactory","logHandler","Http","Client","Middleware","Log","handler","create","use","HttpStatus","axiosMiddleware","logMiddleware"],"sources":["../../../../../src/preset/web/providers/index.ts"],"sourcesContent":["import {\n BrowserClient,\n Hub,\n defaultIntegrations,\n defaultStackParser,\n makeFetchTransport,\n} from '@sentry/browser';\nimport { ConfigSource, createConfigSource } from '../../../config';\nimport { Resolve } from '../../../di';\nimport { Logger, createLogger } from '../../../log';\nimport { KnownToken } from '../../../tokens';\nimport { createSentryHandler } from '../../../log/handler/sentry';\nimport { BridgeClientSide, SsrBridge } from '../../../utils/ssr';\nimport { KnownHttpApiKey, StrictMap } from '../../isomorphic/types';\nimport { HttpApiHostPool, HttpStatus } from '../../isomorphic/utils';\nimport { CreateAxiosDefaults } from 'axios';\nimport { create } from 'middleware-axios';\nimport { logMiddleware } from '../../../utils/axios';\n\n/**\n * Провайдер источника конфигурации.\n * @return Источник конфигурации.\n */\nexport function provideConfigSource(): ConfigSource {\n // ВАЖНО: по умолчанию рассчитываем на process.env который предоставляется сборщиком (например webpack)\n if (typeof process !== 'undefined' && process.env) {\n return createConfigSource(process.env);\n }\n\n return createConfigSource({});\n}\n\n/**\n * Провайдер Logger'а.\n * @param resolve Функция для получения зависимости по токену.\n * @return Logger.\n */\nexport function provideLogger(resolve: Resolve): Logger {\n const source = resolve(KnownToken.Config.source);\n\n const client = new BrowserClient({\n transport: makeFetchTransport,\n stackParser: defaultStackParser,\n dsn: source.require('PUBLIC_SENTRY_DSN'),\n release: source.require('SENTRY_RELEASE'),\n environment: source.require('PUBLIC_SENTRY_ENVIRONMENT'),\n integrations: [...defaultIntegrations],\n });\n\n const hub = new Hub(client);\n\n hub.setTag('url', window.location.href);\n\n const logger = createLogger();\n\n logger.subscribe(createSentryHandler(hub));\n\n return logger;\n}\n\n/**\n * Провайдер клиентской части \"моста\" для передачи данных между сервером и клиентом.\n * @param resolve Функция для получения зависимости по токену.\n * @return Клиентская часть \"моста\".\n */\nexport function provideBridgeClientSide(resolve: Resolve): BridgeClientSide<unknown> {\n const config = resolve(KnownToken.Config.base);\n\n return SsrBridge.resolve(config.appName);\n}\n\n/**\n * Провайдер известных http-хостов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Пул известных http-хостов.\n */\nexport function provideKnownHttpApiHosts(resolve: Resolve): StrictMap<KnownHttpApiKey> {\n const source = resolve(KnownToken.Config.source);\n\n return new HttpApiHostPool<KnownHttpApiKey>(\n {\n ilium: 'PUBLIC_API_URL_ILIUM',\n simaV3: 'PUBLIC_API_URL_SIMALAND_V3',\n simaV4: 'PUBLIC_API_URL_SIMALAND_V4',\n simaV6: 'PUBLIC_API_URL_SIMALAND_V6',\n },\n source,\n );\n}\n\n/**\n * Провайдер фабрики http-клиентов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Фабрика.\n */\nexport function provideHttpClientFactory(resolve: Resolve) {\n const logHandler = resolve(KnownToken.Http.Client.Middleware.Log.handler);\n\n return (config: CreateAxiosDefaults = {}) => {\n // @todo убрать as any\n const client = create(config as any);\n\n client.use(HttpStatus.axiosMiddleware());\n client.use(logMiddleware(logHandler));\n\n return client;\n };\n}\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAOA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,IAAA,GAAAL,OAAA;AAEA,IAAAM,MAAA,GAAAN,OAAA;AAEA,IAAAO,gBAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AAEA;AACA;AACA;AACA;AACO,SAASS,mBAAmBA,CAAA,EAAiB;EAClD;EACA,IAAI,OAAOC,OAAO,KAAK,WAAW,IAAIA,OAAO,CAACC,GAAG,EAAE;IACjD,OAAO,IAAAC,0BAAkB,EAACF,OAAO,CAACC,GAAG,CAAC;EACxC;EAEA,OAAO,IAAAC,0BAAkB,EAAC,CAAC,CAAC,CAAC;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,aAAaA,CAACC,OAAgB,EAAU;EACtD,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACF,MAAM,CAAC;EAEhD,MAAMG,MAAM,GAAG,IAAIC,sBAAa,CAAC;IAC/BC,SAAS,EAAEC,2BAAkB;IAC7BC,WAAW,EAAEC,2BAAkB;IAC/BC,GAAG,EAAET,MAAM,CAACf,OAAO,CAAC,mBAAmB,CAAC;IACxCyB,OAAO,EAAEV,MAAM,CAACf,OAAO,CAAC,gBAAgB,CAAC;IACzC0B,WAAW,EAAEX,MAAM,CAACf,OAAO,CAAC,2BAA2B,CAAC;IACxD2B,YAAY,EAAE,CAAC,GAAGC,4BAAmB;EACvC,CAAC,CAAC;EAEF,MAAMC,GAAG,GAAG,IAAIC,YAAG,CAACZ,MAAM,CAAC;EAE3BW,GAAG,CAACE,MAAM,CAAC,KAAK,EAAEC,MAAM,CAACC,QAAQ,CAACC,IAAI,CAAC;EAEvC,MAAMC,MAAM,GAAG,IAAAC,iBAAY,EAAC,CAAC;EAE7BD,MAAM,CAACE,SAAS,CAAC,IAAAC,2BAAmB,EAACT,GAAG,CAAC,CAAC;EAE1C,OAAOM,MAAM;AACf;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASI,uBAAuBA,CAACzB,OAAgB,EAA6B;EACnF,MAAM0B,MAAM,GAAG1B,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACwB,IAAI,CAAC;EAE9C,OAAOC,cAAS,CAAC5B,OAAO,CAAC0B,MAAM,CAACG,OAAO,CAAC;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,wBAAwBA,CAAC9B,OAAgB,EAA8B;EACrF,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACF,MAAM,CAAC;EAEhD,OAAO,IAAI8B,sBAAe,CACxB;IACEC,KAAK,EAAE,sBAAsB;IAC7BC,MAAM,EAAE,4BAA4B;IACpCC,MAAM,EAAE,4BAA4B;IACpCC,MAAM,EAAE;EACV,CAAC,EACDlC,MACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASmC,wBAAwBA,CAACpC,OAAgB,EAAE;EACzD,MAAMqC,UAAU,GAAGrC,OAAO,CAACE,kBAAU,CAACoC,IAAI,CAACC,MAAM,CAACC,UAAU,CAACC,GAAG,CAACC,OAAO,CAAC;EAEzE,OAAO,CAAChB,MAA2B,GAAG,CAAC,CAAC,KAAK;IAC3C;IACA,MAAMtB,MAAM,GAAG,IAAAuC,uBAAM,EAACjB,MAAa,CAAC;IAEpCtB,MAAM,CAACwC,GAAG,CAACC,iBAAU,CAACC,eAAe,CAAC,CAAC,CAAC;IACxC1C,MAAM,CAACwC,GAAG,CAAC,IAAAG,oBAAa,EAACV,UAAU,CAAC,CAAC;IAErC,OAAOjC,MAAM;EACf,CAAC;AACH"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.KnownToken = void 0;
7
+ var _di = require("./di");
8
+ // ВАЖНО: чтобы токенами можно было пользоваться независимо от среды исполнения - импортировать надо только типы
9
+
10
+ const KnownToken = exports.KnownToken = {
11
+ // config
12
+ Config: {
13
+ source: (0, _di.createToken)('config/source'),
14
+ base: (0, _di.createToken)('config/base')
15
+ },
16
+ // cache
17
+ cache: (0, _di.createToken)('cache'),
18
+ // log
19
+ logger: (0, _di.createToken)('logger'),
20
+ // saga runner
21
+ // @todo переименовать в Redux.Middleware.saga?
22
+ sagaMiddleware: (0, _di.createToken)('saga-middleware'),
23
+ // tracing
24
+ Tracing: {
25
+ tracer: (0, _di.createToken)('tracing/tracer'),
26
+ spanExporter: (0, _di.createToken)('tracing/span-exporter'),
27
+ tracerProvider: (0, _di.createToken)('tracing/tracer-provider'),
28
+ // @todo перенести в KnownToken.Telemetry.Resource?
29
+ tracerProviderResource: (0, _di.createToken)('tracing/resource')
30
+ },
31
+ // metrics
32
+ Metrics: {
33
+ httpApp: (0, _di.createToken)('metrics/http-app')
34
+ },
35
+ // http
36
+ Http: {
37
+ Api: {
38
+ knownHosts: (0, _di.createToken)('http/api/known-hosts')
39
+ },
40
+ // @todo переименовать в Axios?
41
+ Client: {
42
+ factory: (0, _di.createToken)('client/factory'),
43
+ Middleware: {
44
+ Log: {
45
+ handler: (0, _di.createToken)('log/handler')
46
+ }
47
+ }
48
+ },
49
+ // @todo переименовать в Express?
50
+ Server: {
51
+ factory: (0, _di.createToken)('server/factory'),
52
+ Handlers: {
53
+ healthCheck: (0, _di.createToken)('handler/health-check')
54
+ },
55
+ Middleware: {
56
+ request: (0, _di.createToken)('middleware/request'),
57
+ log: (0, _di.createToken)('middleware/log'),
58
+ tracing: (0, _di.createToken)('middleware/tracing'),
59
+ metrics: (0, _di.createToken)('middleware/metrics'),
60
+ error: (0, _di.createToken)('middleware/error')
61
+ }
62
+ },
63
+ // @todo переименовать в ExpressHandler?
64
+ Handler: {
65
+ main: (0, _di.createToken)('handler/main'),
66
+ context: (0, _di.createToken)('handler/context'),
67
+ Request: {
68
+ specificParams: (0, _di.createToken)('request/specific-params')
69
+ },
70
+ Response: {
71
+ specificExtras: (0, _di.createToken)('response/specific-extras')
72
+ },
73
+ Page: {
74
+ assets: (0, _di.createToken)('page/assets'),
75
+ helmet: (0, _di.createToken)('page/helmet'),
76
+ render: (0, _di.createToken)('page/render')
77
+ }
78
+ }
79
+ },
80
+ // SSR
81
+ SsrBridge: {
82
+ clientSide: (0, _di.createToken)('ssr-bridge/client-side'),
83
+ serverSide: (0, _di.createToken)('ssr-bridge/server-side')
84
+ }
85
+ };
86
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +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"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "applyAxiosDefaults", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _utils.applyAxiosDefaults;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "cookieMiddleware", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _cookie.cookieMiddleware;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "formatResultInfo", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _sauce.formatResultInfo;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "logMiddleware", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _log.logMiddleware;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "sauce", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _sauce.sauce;
34
+ }
35
+ });
36
+ var _sauce = require("./sauce");
37
+ var _utils = require("./utils");
38
+ var _log = require("./middleware/log");
39
+ var _cookie = require("./middleware/cookie");
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_sauce","require","_utils","_log","_cookie"],"sources":["../../../../src/utils/axios/index.ts"],"sourcesContent":["export { type Sauce, type SauceResponse, sauce, formatResultInfo } from './sauce';\nexport { applyAxiosDefaults } from './utils';\nexport {\n type SharedData,\n type DoneSharedData,\n type FailSharedData,\n type LogMiddlewareHandler,\n type LogMiddlewareHandlerFactory,\n type LogMiddlewareHandlerInit,\n logMiddleware,\n} from './middleware/log';\nexport { cookieMiddleware } from './middleware/cookie';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AASA,IAAAG,OAAA,GAAAH,OAAA"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.cookieMiddleware = cookieMiddleware;
7
+ /**
8
+ * Возвращает новый middleware для работы с cookie на сервере.
9
+ * @param store Хранилище.
10
+ * @return Middleware.
11
+ */
12
+ function cookieMiddleware(store) {
13
+ return async (config, next) => {
14
+ const result = await next({
15
+ ...config,
16
+ headers: {
17
+ ...config.headers,
18
+ // @todo учитывать Domain, Path, Expires и тд
19
+ // @todo учитывать редиректы с куками
20
+ Cookie: store.getCookies()
21
+ }
22
+ });
23
+ if (result.headers['set-cookie']) {
24
+ result.headers['set-cookie'].forEach(item => store.setCookie(item));
25
+ }
26
+ };
27
+ }
28
+ //# sourceMappingURL=cookie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookie.js","names":["cookieMiddleware","store","config","next","result","headers","Cookie","getCookies","forEach","item","setCookie"],"sources":["../../../../../src/utils/axios/middleware/cookie.ts"],"sourcesContent":["import type { Middleware } from 'middleware-axios';\nimport type { CookieStore } from '../../../http';\n\n/**\n * Возвращает новый middleware для работы с cookie на сервере.\n * @param store Хранилище.\n * @return Middleware.\n */\nexport function cookieMiddleware(store: CookieStore): Middleware<any> {\n return async (config, next) => {\n const result = await next({\n ...config,\n headers: {\n ...config.headers,\n\n // @todo учитывать Domain, Path, Expires и тд\n // @todo учитывать редиректы с куками\n Cookie: store.getCookies(),\n },\n });\n\n if (result.headers['set-cookie']) {\n result.headers['set-cookie'].forEach(item => store.setCookie(item));\n }\n };\n}\n"],"mappings":";;;;;;AAGA;AACA;AACA;AACA;AACA;AACO,SAASA,gBAAgBA,CAACC,KAAkB,EAAmB;EACpE,OAAO,OAAOC,MAAM,EAAEC,IAAI,KAAK;IAC7B,MAAMC,MAAM,GAAG,MAAMD,IAAI,CAAC;MACxB,GAAGD,MAAM;MACTG,OAAO,EAAE;QACP,GAAGH,MAAM,CAACG,OAAO;QAEjB;QACA;QACAC,MAAM,EAAEL,KAAK,CAACM,UAAU,CAAC;MAC3B;IACF,CAAC,CAAC;IAEF,IAAIH,MAAM,CAACC,OAAO,CAAC,YAAY,CAAC,EAAE;MAChCD,MAAM,CAACC,OAAO,CAAC,YAAY,CAAC,CAACG,OAAO,CAACC,IAAI,IAAIR,KAAK,CAACS,SAAS,CAACD,IAAI,CAAC,CAAC;IACrE;EACF,CAAC;AACH"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.logMiddleware = logMiddleware;
7
+ /**
8
+ * Возвращает новый middleware для логирования запросов.
9
+ * @param handlerInit Обработчик.
10
+ * @return Middleware.
11
+ */
12
+ function logMiddleware(handlerInit) {
13
+ return async function log(config, next, defaults) {
14
+ const shared = {
15
+ config,
16
+ defaults
17
+ };
18
+ const handler = typeof handlerInit === 'function' ? handlerInit(shared) : handlerInit;
19
+ try {
20
+ await handler.beforeRequest(shared);
21
+ const response = await next(config);
22
+ await handler.afterResponse({
23
+ ...shared,
24
+ response
25
+ });
26
+ } catch (error) {
27
+ await handler.onCatch({
28
+ ...shared,
29
+ error
30
+ });
31
+
32
+ // ВАЖНО: не скрываем ошибку, сообщаем остальному миру про нее
33
+ throw error;
34
+ }
35
+ };
36
+ }
37
+ //# sourceMappingURL=log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.js","names":["logMiddleware","handlerInit","log","config","next","defaults","shared","handler","beforeRequest","response","afterResponse","error","onCatch"],"sources":["../../../../../src/utils/axios/middleware/log.ts"],"sourcesContent":["import { AxiosResponse, AxiosRequestConfig, AxiosDefaults } from 'axios';\nimport { Middleware } from 'middleware-axios';\n\nexport interface SharedData {\n config: AxiosRequestConfig;\n defaults: AxiosDefaults;\n}\n\nexport interface DoneSharedData extends SharedData {\n response: AxiosResponse<unknown, unknown>;\n}\n\nexport interface FailSharedData extends SharedData {\n error: unknown;\n}\n\nexport interface LogMiddlewareHandler {\n beforeRequest: (data: SharedData) => Promise<void> | void;\n afterResponse: (data: DoneSharedData) => Promise<void> | void;\n onCatch: (data: FailSharedData) => Promise<void> | void;\n}\n\nexport interface LogMiddlewareHandlerFactory {\n (data: SharedData): LogMiddlewareHandler;\n}\n\nexport type LogMiddlewareHandlerInit = LogMiddlewareHandler | LogMiddlewareHandlerFactory;\n\n/**\n * Возвращает новый middleware для логирования запросов.\n * @param handlerInit Обработчик.\n * @return Middleware.\n */\nexport function logMiddleware(handlerInit: LogMiddlewareHandlerInit): Middleware<any> {\n return async function log(config, next, defaults) {\n const shared: SharedData = { config, defaults };\n const handler = typeof handlerInit === 'function' ? handlerInit(shared) : handlerInit;\n\n try {\n await handler.beforeRequest(shared);\n\n const response = await next(config);\n\n await handler.afterResponse({ ...shared, response });\n } catch (error) {\n await handler.onCatch({ ...shared, error });\n\n // ВАЖНО: не скрываем ошибку, сообщаем остальному миру про нее\n throw error;\n }\n };\n}\n"],"mappings":";;;;;;AA4BA;AACA;AACA;AACA;AACA;AACO,SAASA,aAAaA,CAACC,WAAqC,EAAmB;EACpF,OAAO,eAAeC,GAAGA,CAACC,MAAM,EAAEC,IAAI,EAAEC,QAAQ,EAAE;IAChD,MAAMC,MAAkB,GAAG;MAAEH,MAAM;MAAEE;IAAS,CAAC;IAC/C,MAAME,OAAO,GAAG,OAAON,WAAW,KAAK,UAAU,GAAGA,WAAW,CAACK,MAAM,CAAC,GAAGL,WAAW;IAErF,IAAI;MACF,MAAMM,OAAO,CAACC,aAAa,CAACF,MAAM,CAAC;MAEnC,MAAMG,QAAQ,GAAG,MAAML,IAAI,CAACD,MAAM,CAAC;MAEnC,MAAMI,OAAO,CAACG,aAAa,CAAC;QAAE,GAAGJ,MAAM;QAAEG;MAAS,CAAC,CAAC;IACtD,CAAC,CAAC,OAAOE,KAAK,EAAE;MACd,MAAMJ,OAAO,CAACK,OAAO,CAAC;QAAE,GAAGN,MAAM;QAAEK;MAAM,CAAC,CAAC;;MAE3C;MACA,MAAMA,KAAK;IACb;EACF,CAAC;AACH"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.formatResultInfo = formatResultInfo;
7
+ exports.sauce = sauce;
8
+ var _axios = _interopRequireDefault(require("axios"));
9
+ var _ = require("../..");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ // @todo передавать заголовки ответа
12
+
13
+ /**
14
+ * Обёртка над экземпляром axios.
15
+ * Все методы возвращают promise, который никогда переходят в состояние rejected.
16
+ */
17
+
18
+ /**
19
+ * Оборачивает экземпляр axios. Все методы обертки возвращают promise, которые никогда не попадают в состояние rejected.
20
+ * @param instance Экземпляр axios или AxiosInstanceWrapper.
21
+ * @return Обертка.
22
+ */
23
+ function sauce(instance) {
24
+ return {
25
+ request: (0, _.safetyAsync)(instance.request, formatResultInfo),
26
+ get: (0, _.safetyAsync)(instance.get, formatResultInfo),
27
+ delete: (0, _.safetyAsync)(instance.delete, formatResultInfo),
28
+ head: (0, _.safetyAsync)(instance.head, formatResultInfo),
29
+ options: (0, _.safetyAsync)(instance.options, formatResultInfo),
30
+ post: (0, _.safetyAsync)(instance.post, formatResultInfo),
31
+ put: (0, _.safetyAsync)(instance.put, formatResultInfo),
32
+ patch: (0, _.safetyAsync)(instance.patch, formatResultInfo)
33
+ };
34
+ }
35
+
36
+ /**
37
+ * Функция форматирования результата, используемая в sauce.
38
+ * @param info Результат вызова метода экземпляра axios.
39
+ * @return Отформатированный ответ.
40
+ */
41
+ function formatResultInfo(info) {
42
+ if (info.ok) {
43
+ return {
44
+ ok: true,
45
+ data: info.result.data,
46
+ status: info.result.status
47
+ };
48
+ } else {
49
+ return {
50
+ ok: false,
51
+ data: _axios.default.isAxiosError(info.error) ? info.error.response?.data : undefined,
52
+ status: _axios.default.isAxiosError(info.error) ? info.error.response?.status : undefined,
53
+ error: info.error
54
+ };
55
+ }
56
+ }
57
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_axios","_interopRequireDefault","require","_","obj","__esModule","default","sauce","instance","request","safetyAsync","formatResultInfo","get","delete","head","options","post","put","patch","info","ok","data","result","status","axios","isAxiosError","error","response","undefined"],"sources":["../../../../../src/utils/axios/sauce/index.ts"],"sourcesContent":["import axios, { AxiosInstance, AxiosResponse } from 'axios';\nimport { safetyAsync, SafetyInfo } from '../..';\nimport type { AxiosInstanceWrapper, MethodName } from 'middleware-axios';\n\n// @todo передавать заголовки ответа\nexport type SauceResponse<T = any> =\n | {\n ok: true;\n status: number;\n data: T;\n }\n | {\n ok: false;\n status?: unknown; // unknown так как не факт что упали именно по статусу, например может быть exception\n data?: unknown; // иногда хочется узнать, что прислал сервер вместе с ошибкой (например 422)\n error: any;\n };\n\nexport interface SauceMethod<K extends MethodName | 'request'> {\n <T>(...args: Parameters<(AxiosInstance | AxiosInstanceWrapper)[K]>): Promise<SauceResponse<T>>;\n}\n\n/**\n * Обёртка над экземпляром axios.\n * Все методы возвращают promise, который никогда переходят в состояние rejected.\n */\nexport interface Sauce {\n readonly request: SauceMethod<'request'>;\n readonly get: SauceMethod<'get'>;\n readonly delete: SauceMethod<'delete'>;\n readonly head: SauceMethod<'head'>;\n readonly options: SauceMethod<'options'>;\n readonly post: SauceMethod<'post'>;\n readonly put: SauceMethod<'put'>;\n readonly patch: SauceMethod<'patch'>;\n}\n\n/**\n * Оборачивает экземпляр axios. Все методы обертки возвращают promise, которые никогда не попадают в состояние rejected.\n * @param instance Экземпляр axios или AxiosInstanceWrapper.\n * @return Обертка.\n */\nexport function sauce(instance: AxiosInstance | AxiosInstanceWrapper): Sauce {\n return {\n request: safetyAsync(instance.request, formatResultInfo),\n get: safetyAsync(instance.get, formatResultInfo),\n delete: safetyAsync(instance.delete, formatResultInfo),\n head: safetyAsync(instance.head, formatResultInfo),\n options: safetyAsync(instance.options, formatResultInfo),\n post: safetyAsync(instance.post, formatResultInfo),\n put: safetyAsync(instance.put, formatResultInfo),\n patch: safetyAsync(instance.patch, formatResultInfo),\n };\n}\n\n/**\n * Функция форматирования результата, используемая в sauce.\n * @param info Результат вызова метода экземпляра axios.\n * @return Отформатированный ответ.\n */\nexport function formatResultInfo<T>(info: SafetyInfo<AxiosResponse<T>>): SauceResponse<T> {\n if (info.ok) {\n return {\n ok: true,\n data: info.result.data,\n status: info.result.status,\n };\n } else {\n return {\n ok: false,\n data: axios.isAxiosError(info.error) ? info.error.response?.data : undefined,\n status: axios.isAxiosError(info.error) ? info.error.response?.status : undefined,\n error: info.error,\n };\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,CAAA,GAAAD,OAAA;AAAgD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAGhD;;AAkBA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;AACA;AACO,SAASG,KAAKA,CAACC,QAA8C,EAAS;EAC3E,OAAO;IACLC,OAAO,EAAE,IAAAC,aAAW,EAACF,QAAQ,CAACC,OAAO,EAAEE,gBAAgB,CAAC;IACxDC,GAAG,EAAE,IAAAF,aAAW,EAACF,QAAQ,CAACI,GAAG,EAAED,gBAAgB,CAAC;IAChDE,MAAM,EAAE,IAAAH,aAAW,EAACF,QAAQ,CAACK,MAAM,EAAEF,gBAAgB,CAAC;IACtDG,IAAI,EAAE,IAAAJ,aAAW,EAACF,QAAQ,CAACM,IAAI,EAAEH,gBAAgB,CAAC;IAClDI,OAAO,EAAE,IAAAL,aAAW,EAACF,QAAQ,CAACO,OAAO,EAAEJ,gBAAgB,CAAC;IACxDK,IAAI,EAAE,IAAAN,aAAW,EAACF,QAAQ,CAACQ,IAAI,EAAEL,gBAAgB,CAAC;IAClDM,GAAG,EAAE,IAAAP,aAAW,EAACF,QAAQ,CAACS,GAAG,EAAEN,gBAAgB,CAAC;IAChDO,KAAK,EAAE,IAAAR,aAAW,EAACF,QAAQ,CAACU,KAAK,EAAEP,gBAAgB;EACrD,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASA,gBAAgBA,CAAIQ,IAAkC,EAAoB;EACxF,IAAIA,IAAI,CAACC,EAAE,EAAE;IACX,OAAO;MACLA,EAAE,EAAE,IAAI;MACRC,IAAI,EAAEF,IAAI,CAACG,MAAM,CAACD,IAAI;MACtBE,MAAM,EAAEJ,IAAI,CAACG,MAAM,CAACC;IACtB,CAAC;EACH,CAAC,MAAM;IACL,OAAO;MACLH,EAAE,EAAE,KAAK;MACTC,IAAI,EAAEG,cAAK,CAACC,YAAY,CAACN,IAAI,CAACO,KAAK,CAAC,GAAGP,IAAI,CAACO,KAAK,CAACC,QAAQ,EAAEN,IAAI,GAAGO,SAAS;MAC5EL,MAAM,EAAEC,cAAK,CAACC,YAAY,CAACN,IAAI,CAACO,KAAK,CAAC,GAAGP,IAAI,CAACO,KAAK,CAACC,QAAQ,EAAEJ,MAAM,GAAGK,SAAS;MAChFF,KAAK,EAAEP,IAAI,CAACO;IACd,CAAC;EACH;AACF"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.applyAxiosDefaults = applyAxiosDefaults;
7
+ /**
8
+ * Сливает в один объект конфиг и настройки по умолчанию.
9
+ * @param config Конфигурация запроса.
10
+ * @param defaults Настройки по умолчанию для экземпляра axios.
11
+ * @return Уточненная итоговая конфигурация.
12
+ * @todo Было бы круто заменить на axios/core/mergeConfig (https://github.com/axios/axios/blob/v1.x/lib/core/mergeConfig.js).
13
+ */
14
+ function applyAxiosDefaults(config, defaults) {
15
+ const {
16
+ headers: headersDefaults,
17
+ ...restDefaults
18
+ } = defaults;
19
+ const method = config.method || defaults.method || 'get';
20
+ return {
21
+ method,
22
+ ...restDefaults,
23
+ ...config,
24
+ headers: {
25
+ ...headersDefaults[method.toLowerCase()],
26
+ ...config.headers
27
+ }
28
+ };
29
+ }
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["applyAxiosDefaults","config","defaults","headers","headersDefaults","restDefaults","method","toLowerCase"],"sources":["../../../../../src/utils/axios/utils/index.ts"],"sourcesContent":["import type { AxiosDefaults, AxiosRequestConfig } from 'axios';\n\n/**\n * Сливает в один объект конфиг и настройки по умолчанию.\n * @param config Конфигурация запроса.\n * @param defaults Настройки по умолчанию для экземпляра axios.\n * @return Уточненная итоговая конфигурация.\n * @todo Было бы круто заменить на axios/core/mergeConfig (https://github.com/axios/axios/blob/v1.x/lib/core/mergeConfig.js).\n */\nexport function applyAxiosDefaults(\n config: AxiosRequestConfig,\n defaults: AxiosDefaults,\n): Omit<AxiosRequestConfig, 'method'> & Pick<Required<AxiosRequestConfig>, 'method'> {\n const { headers: headersDefaults, ...restDefaults } = defaults;\n const method = config.method || defaults.method || 'get';\n\n return {\n method,\n ...restDefaults,\n ...config,\n headers: {\n ...headersDefaults[method.toLowerCase() as keyof typeof defaults.headers],\n ...config.headers,\n },\n };\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,kBAAkBA,CAChCC,MAA0B,EAC1BC,QAAuB,EAC4D;EACnF,MAAM;IAAEC,OAAO,EAAEC,eAAe;IAAE,GAAGC;EAAa,CAAC,GAAGH,QAAQ;EAC9D,MAAMI,MAAM,GAAGL,MAAM,CAACK,MAAM,IAAIJ,QAAQ,CAACI,MAAM,IAAI,KAAK;EAExD,OAAO;IACLA,MAAM;IACN,GAAGD,YAAY;IACf,GAAGJ,MAAM;IACTE,OAAO,EAAE;MACP,GAAGC,eAAe,CAACE,MAAM,CAACC,WAAW,CAAC,CAAC,CAAkC;MACzE,GAAGN,MAAM,CAACE;IACZ;EACF,CAAC;AACH"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.healthCheck = healthCheck;
7
+ /**
8
+ * Возвращает обработчик, отвечающий данными о времени работы приложения.
9
+ * @return Обработчик http-запроса.
10
+ */
11
+ function healthCheck() {
12
+ const startTime = Date.now();
13
+ return (req, res) => {
14
+ res.json({
15
+ uptime: Date.now() - startTime
16
+ });
17
+ };
18
+ }
19
+ //# sourceMappingURL=health-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-check.js","names":["healthCheck","startTime","Date","now","req","res","json","uptime"],"sources":["../../../../../src/utils/express/handler/health-check.ts"],"sourcesContent":["import type { Handler } from 'express';\n\n/**\n * Возвращает обработчик, отвечающий данными о времени работы приложения.\n * @return Обработчик http-запроса.\n */\nexport function healthCheck(): Handler {\n const startTime = Date.now();\n\n return (req, res) => {\n res.json({ uptime: Date.now() - startTime });\n };\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACO,SAASA,WAAWA,CAAA,EAAY;EACrC,MAAMC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;EAE5B,OAAO,CAACC,GAAG,EAAEC,GAAG,KAAK;IACnBA,GAAG,CAACC,IAAI,CAAC;MAAEC,MAAM,EAAEL,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF;IAAU,CAAC,CAAC;EAC9C,CAAC;AACH"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "composeMiddleware", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _utils.composeMiddleware;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "healthCheck", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _healthCheck.healthCheck;
16
+ }
17
+ });
18
+ var _healthCheck = require("./handler/health-check");
19
+ var _utils = require("./utils");
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_healthCheck","require","_utils"],"sources":["../../../../src/utils/express/index.ts"],"sourcesContent":["export { healthCheck } from './handler/health-check';\nexport { composeMiddleware } from './utils';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.composeMiddleware = composeMiddleware;
7
+ /**
8
+ * Объединяет промежуточные слои в один.
9
+ * @param list Промежуточные слои.
10
+ * @return Промежуточный слой.
11
+ */
12
+ function composeMiddleware(list) {
13
+ return list.reduce((a, b) => (req, res, next) => {
14
+ a(req, res, err => {
15
+ if (err) {
16
+ return next(err);
17
+ }
18
+ b(req, res, next);
19
+ });
20
+ });
21
+ }
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.safetyAsync = safetyAsync;
7
+ /**
8
+ * Возвращает функцию, результатом которой является promise, который никогда не переходит в состояние rejected.
9
+ * При перехвате исключения результат будет содержать ошибку.
10
+ * @param fn Оборачиваемая функция.
11
+ * @return Функция.
12
+ */
13
+
14
+ /**
15
+ * Возвращает функцию, результатом которой является promise, который никогда не переходит в состояние rejected.
16
+ * При перехвате исключения результат будет содержать ошибку.
17
+ * @param fn Оборачиваемая функция.
18
+ * @param format Получив базовую информацию об ответе должна вернуть отформатированную информацию.
19
+ * @return Функция.
20
+ */
21
+
22
+ /**
23
+ * Возвращает функцию, результатом которой является promise, который никогда не переходит в состояние rejected.
24
+ * При перехвате исключения результат будет содержать ошибку.
25
+ * @param fn Оборачиваемая функция.
26
+ * @param format Получив базовую информацию об ответе должна вернуть отформатированную информацию.
27
+ * @return Функция.
28
+ */
29
+ function safetyAsync(fn, format = value => value) {
30
+ return async function safetyWrapper(...args) {
31
+ try {
32
+ return format({
33
+ ok: true,
34
+ result: await fn(...args)
35
+ });
36
+ } catch (error) {
37
+ return format({
38
+ ok: false,
39
+ error
40
+ });
41
+ }
42
+ };
43
+ }
44
+ //# sourceMappingURL=function.js.map