@sima-land/isomorph 10.1.0 → 11.0.0-alpha.2

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 (479) hide show
  1. package/cache/types.d.ts +7 -0
  2. package/cache/types.js +3 -0
  3. package/cache/types.js.map +1 -0
  4. package/config/browser.d.ts +6 -0
  5. package/config/browser.js +13 -0
  6. package/config/browser.js.map +1 -0
  7. package/config/index.d.ts +7 -0
  8. package/config/index.js +20 -0
  9. package/config/index.js.map +1 -0
  10. package/config/node.d.ts +6 -0
  11. package/config/node.js +19 -0
  12. package/config/node.js.map +1 -0
  13. package/config/types.d.ts +7 -0
  14. package/config/types.js +3 -0
  15. package/config/types.js.map +1 -0
  16. package/config/utils.d.ts +5 -0
  17. package/config/utils.js +12 -0
  18. package/config/utils.js.map +1 -0
  19. package/container/application.d.ts +25 -0
  20. package/container/application.js +63 -0
  21. package/container/application.js.map +1 -0
  22. package/container/index.d.ts +16 -13
  23. package/container/index.js +60 -161
  24. package/container/index.js.map +1 -1
  25. package/container/types.d.ts +14 -0
  26. package/container/types.js +3 -0
  27. package/container/types.js.map +1 -0
  28. package/error-tracker/browser.d.ts +8 -0
  29. package/error-tracker/browser.js +40 -0
  30. package/error-tracker/browser.js.map +1 -0
  31. package/error-tracker/node.d.ts +8 -0
  32. package/error-tracker/node.js +40 -0
  33. package/error-tracker/node.js.map +1 -0
  34. package/error-tracker/types.d.ts +18 -0
  35. package/error-tracker/types.js +3 -0
  36. package/error-tracker/types.js.map +1 -0
  37. package/error-tracker/utils.d.ts +12 -0
  38. package/error-tracker/utils.js +19 -0
  39. package/error-tracker/utils.js.map +1 -0
  40. package/http-client/middleware/cookie.d.ts +19 -0
  41. package/http-client/middleware/cookie.js +62 -0
  42. package/http-client/middleware/cookie.js.map +1 -0
  43. package/http-client/middleware/tracing.d.ts +32 -0
  44. package/http-client/middleware/tracing.js +67 -0
  45. package/http-client/middleware/tracing.js.map +1 -0
  46. package/http-client/sauce/index.d.ts +27 -0
  47. package/http-client/sauce/index.js +33 -0
  48. package/http-client/sauce/index.js.map +1 -0
  49. package/http-client/types.d.ts +6 -0
  50. package/http-client/types.js +3 -0
  51. package/http-client/types.js.map +1 -0
  52. package/http-client/utils.d.ts +9 -0
  53. package/http-client/utils.js +20 -0
  54. package/http-client/utils.js.map +1 -0
  55. package/http-server/constants.d.ts +4 -0
  56. package/http-server/constants.js +8 -0
  57. package/http-server/constants.js.map +1 -0
  58. package/http-server/handler/health-check.d.ts +6 -0
  59. package/http-server/handler/health-check.js +15 -0
  60. package/http-server/handler/health-check.js.map +1 -0
  61. package/http-server/middleware/logging.d.ts +10 -0
  62. package/http-server/middleware/logging.js +31 -0
  63. package/http-server/middleware/logging.js.map +1 -0
  64. package/http-server/middleware/metrics.d.ts +23 -0
  65. package/http-server/middleware/metrics.js +60 -0
  66. package/http-server/middleware/metrics.js.map +1 -0
  67. package/http-server/middleware/tracing.d.ts +8 -0
  68. package/http-server/middleware/tracing.js +33 -0
  69. package/http-server/middleware/tracing.js.map +1 -0
  70. package/http-server/template/index.d.ts +1 -0
  71. package/http-server/template/index.js +36 -0
  72. package/http-server/template/index.js.map +1 -0
  73. package/http-server/types.d.ts +33 -0
  74. package/http-server/types.js +3 -0
  75. package/http-server/types.js.map +1 -0
  76. package/http-server/utils.d.ts +30 -0
  77. package/http-server/utils.js +100 -0
  78. package/http-server/utils.js.map +1 -0
  79. package/logger/handler/console.d.ts +8 -0
  80. package/logger/handler/console.js +36 -0
  81. package/logger/handler/console.js.map +1 -0
  82. package/logger/handler/sentry.d.ts +8 -0
  83. package/logger/handler/sentry.js +36 -0
  84. package/logger/handler/sentry.js.map +1 -0
  85. package/logger/index.d.ts +6 -0
  86. package/logger/index.js +31 -0
  87. package/logger/index.js.map +1 -0
  88. package/logger/types.d.ts +24 -0
  89. package/logger/types.js +3 -0
  90. package/logger/types.js.map +1 -0
  91. package/metrics/constants.d.ts +4 -0
  92. package/metrics/constants.js +8 -0
  93. package/metrics/constants.js.map +1 -0
  94. package/metrics/node.d.ts +18 -0
  95. package/metrics/node.js +74 -0
  96. package/metrics/node.js.map +1 -0
  97. package/package.json +44 -63
  98. package/preset/index.d.ts +7 -0
  99. package/preset/index.js +25 -0
  100. package/preset/index.js.map +1 -0
  101. package/preset/node/index.d.ts +15 -0
  102. package/preset/node/index.js +90 -0
  103. package/preset/node/index.js.map +1 -0
  104. package/preset/node/response.d.ts +17 -0
  105. package/preset/node/response.js +78 -0
  106. package/preset/node/response.js.map +1 -0
  107. package/preset/types.d.ts +7 -0
  108. package/preset/types.js +3 -0
  109. package/preset/types.js.map +1 -0
  110. package/saga-runner/index.d.ts +8 -0
  111. package/saga-runner/index.js +79 -0
  112. package/saga-runner/index.js.map +1 -0
  113. package/saga-runner/types.d.ts +10 -0
  114. package/saga-runner/types.js +3 -0
  115. package/saga-runner/types.js.map +1 -0
  116. package/tokens.d.ts +41 -0
  117. package/tokens.js +44 -0
  118. package/tokens.js.map +1 -0
  119. package/tracer/node.d.ts +10 -0
  120. package/tracer/node.js +38 -0
  121. package/tracer/node.js.map +1 -0
  122. package/tracer/types.d.ts +2 -0
  123. package/tracer/types.js +3 -0
  124. package/tracer/types.js.map +1 -0
  125. package/{browser → utils/browser}/analytics/data-layer.d.ts +0 -0
  126. package/{browser → utils/browser}/analytics/data-layer.js +1 -2
  127. package/utils/browser/analytics/data-layer.js.map +1 -0
  128. package/{browser → utils/browser}/analytics/oko.d.ts +0 -0
  129. package/{browser → utils/browser}/analytics/oko.js +6 -7
  130. package/utils/browser/analytics/oko.js.map +1 -0
  131. package/utils/browser/storage/index.d.ts +4 -0
  132. package/utils/browser/storage/index.js +63 -0
  133. package/utils/browser/storage/index.js.map +1 -0
  134. package/utils/number.d.ts +6 -0
  135. package/utils/number.js +13 -0
  136. package/utils/number.js.map +1 -0
  137. package/utils/react/error-handlers/index.d.ts +38 -0
  138. package/utils/react/error-handlers/index.js +47 -0
  139. package/utils/react/error-handlers/index.js.map +1 -0
  140. package/utils/redux/remote-data.d.ts +23 -0
  141. package/utils/redux/remote-data.js +28 -0
  142. package/utils/redux/remote-data.js.map +1 -0
  143. package/utils/redux-saga/take-chain.d.ts +24 -0
  144. package/utils/redux-saga/take-chain.js +56 -0
  145. package/utils/redux-saga/take-chain.js.map +1 -0
  146. package/utils/webpack/module-federation/index.d.ts +21 -0
  147. package/utils/webpack/module-federation/index.js +74 -0
  148. package/utils/webpack/module-federation/index.js.map +1 -0
  149. package/utils/webpack/module-federation/types.d.ts +26 -0
  150. package/utils/webpack/module-federation/types.js +3 -0
  151. package/utils/webpack/module-federation/types.js.map +1 -0
  152. package/utils/webpack/module-federation/utils.d.ts +15 -0
  153. package/utils/webpack/module-federation/utils.js +36 -0
  154. package/utils/webpack/module-federation/utils.js.map +1 -0
  155. package/browser/analytics/data-layer.js.map +0 -1
  156. package/browser/analytics/oko.js.map +0 -1
  157. package/cache/helpers.d.ts +0 -4
  158. package/cache/helpers.js +0 -39
  159. package/cache/helpers.js.map +0 -1
  160. package/cache/local-storage.d.ts +0 -34
  161. package/cache/local-storage.js +0 -90
  162. package/cache/local-storage.js.map +0 -1
  163. package/cache/redis.d.ts +0 -10
  164. package/cache/redis.js +0 -54
  165. package/cache/redis.js.map +0 -1
  166. package/cache/wrap-in-trace.d.ts +0 -8
  167. package/cache/wrap-in-trace.js +0 -68
  168. package/cache/wrap-in-trace.js.map +0 -1
  169. package/config/create.d.ts +0 -8
  170. package/config/create.js +0 -32
  171. package/config/create.js.map +0 -1
  172. package/config/helpers.d.ts +0 -11
  173. package/config/helpers.js +0 -71
  174. package/config/helpers.js.map +0 -1
  175. package/config/validate.d.ts +0 -18
  176. package/config/validate.js +0 -107
  177. package/config/validate.js.map +0 -1
  178. package/container/create-inject.d.ts +0 -7
  179. package/container/create-inject.js +0 -36
  180. package/container/create-inject.js.map +0 -1
  181. package/container/get-dependencies.d.ts +0 -13
  182. package/container/get-dependencies.js +0 -54
  183. package/container/get-dependencies.js.map +0 -1
  184. package/container/is-container.d.ts +0 -7
  185. package/container/is-container.js +0 -17
  186. package/container/is-container.js.map +0 -1
  187. package/container/service-not-found-error.d.ts +0 -10
  188. package/container/service-not-found-error.js +0 -18
  189. package/container/service-not-found-error.js.map +0 -1
  190. package/create-proxy/create-proxy-middleware/index.d.ts +0 -16
  191. package/create-proxy/create-proxy-middleware/index.js +0 -47
  192. package/create-proxy/create-proxy-middleware/index.js.map +0 -1
  193. package/create-proxy/index.d.ts +0 -12
  194. package/create-proxy/index.js +0 -25
  195. package/create-proxy/index.js.map +0 -1
  196. package/create-response-sender/index.d.ts +0 -8
  197. package/create-response-sender/index.js +0 -42
  198. package/create-response-sender/index.js.map +0 -1
  199. package/get-dynamic-data/index.d.ts +0 -8
  200. package/get-dynamic-data/index.js +0 -23
  201. package/get-dynamic-data/index.js.map +0 -1
  202. package/graceful-shutdown/index.d.ts +0 -26
  203. package/graceful-shutdown/index.js +0 -87
  204. package/graceful-shutdown/index.js.map +0 -1
  205. package/helpers/add-error-handling/index.d.ts +0 -1
  206. package/helpers/add-error-handling/index.js +0 -42
  207. package/helpers/add-error-handling/index.js.map +0 -1
  208. package/helpers/api/create-enhancer.d.ts +0 -12
  209. package/helpers/api/create-enhancer.js +0 -52
  210. package/helpers/api/create-enhancer.js.map +0 -1
  211. package/helpers/api/create-instance.d.ts +0 -11
  212. package/helpers/api/create-instance.js +0 -39
  213. package/helpers/api/create-instance.js.map +0 -1
  214. package/helpers/api/middlewares/collect-cookie-middleware.d.ts +0 -10
  215. package/helpers/api/middlewares/collect-cookie-middleware.js +0 -39
  216. package/helpers/api/middlewares/collect-cookie-middleware.js.map +0 -1
  217. package/helpers/api/middlewares/count-api-response-time.d.ts +0 -12
  218. package/helpers/api/middlewares/count-api-response-time.js +0 -39
  219. package/helpers/api/middlewares/count-api-response-time.js.map +0 -1
  220. package/helpers/api/middlewares/error-handlers-middlewares.d.ts +0 -5
  221. package/helpers/api/middlewares/error-handlers-middlewares.js +0 -114
  222. package/helpers/api/middlewares/error-handlers-middlewares.js.map +0 -1
  223. package/helpers/api/middlewares/helpers.d.ts +0 -11
  224. package/helpers/api/middlewares/helpers.js +0 -27
  225. package/helpers/api/middlewares/helpers.js.map +0 -1
  226. package/helpers/api/middlewares/pass-headers-middleware.d.ts +0 -3
  227. package/helpers/api/middlewares/pass-headers-middleware.js +0 -27
  228. package/helpers/api/middlewares/pass-headers-middleware.js.map +0 -1
  229. package/helpers/api/middlewares/prepare-request-headers.d.ts +0 -5
  230. package/helpers/api/middlewares/prepare-request-headers.js +0 -20
  231. package/helpers/api/middlewares/prepare-request-headers.js.map +0 -1
  232. package/helpers/api/middlewares/set-http-agents-middleware.d.ts +0 -15
  233. package/helpers/api/middlewares/set-http-agents-middleware.js +0 -34
  234. package/helpers/api/middlewares/set-http-agents-middleware.js.map +0 -1
  235. package/helpers/api/middlewares/stages-trace-middleware.d.ts +0 -17
  236. package/helpers/api/middlewares/stages-trace-middleware.js +0 -57
  237. package/helpers/api/middlewares/stages-trace-middleware.js.map +0 -1
  238. package/helpers/api/middlewares/trace-request-middleware.d.ts +0 -24
  239. package/helpers/api/middlewares/trace-request-middleware.js +0 -69
  240. package/helpers/api/middlewares/trace-request-middleware.js.map +0 -1
  241. package/helpers/api/server-adapter/__fixtures__/fake-keys.d.ts +0 -10
  242. package/helpers/api/server-adapter/__fixtures__/fake-keys.js +0 -61
  243. package/helpers/api/server-adapter/__fixtures__/fake-keys.js.map +0 -1
  244. package/helpers/api/server-adapter/constants.d.ts +0 -5
  245. package/helpers/api/server-adapter/constants.js +0 -16
  246. package/helpers/api/server-adapter/constants.js.map +0 -1
  247. package/helpers/api/server-adapter/helpers.d.ts +0 -26
  248. package/helpers/api/server-adapter/helpers.js +0 -208
  249. package/helpers/api/server-adapter/helpers.js.map +0 -1
  250. package/helpers/api/server-adapter/index.d.ts +0 -10
  251. package/helpers/api/server-adapter/index.js +0 -118
  252. package/helpers/api/server-adapter/index.js.map +0 -1
  253. package/helpers/development/use-dot-env.d.ts +0 -6
  254. package/helpers/development/use-dot-env.js +0 -11
  255. package/helpers/development/use-dot-env.js.map +0 -1
  256. package/helpers/get-params/index.d.ts +0 -4
  257. package/helpers/get-params/index.js +0 -51
  258. package/helpers/get-params/index.js.map +0 -1
  259. package/helpers/http/request-getters.d.ts +0 -5
  260. package/helpers/http/request-getters.js +0 -49
  261. package/helpers/http/request-getters.js.map +0 -1
  262. package/helpers/http/statuses-validator.d.ts +0 -3
  263. package/helpers/http/statuses-validator.js +0 -25
  264. package/helpers/http/statuses-validator.js.map +0 -1
  265. package/helpers/logger/create-pino-instance/index.d.ts +0 -6
  266. package/helpers/logger/create-pino-instance/index.js +0 -39
  267. package/helpers/logger/create-pino-instance/index.js.map +0 -1
  268. package/helpers/logger/format-time/index.d.ts +0 -6
  269. package/helpers/logger/format-time/index.js +0 -9
  270. package/helpers/logger/format-time/index.js.map +0 -1
  271. package/helpers/metrics/index.d.ts +0 -23
  272. package/helpers/metrics/index.js +0 -42
  273. package/helpers/metrics/index.js.map +0 -1
  274. package/helpers/prometheus/index.d.ts +0 -4
  275. package/helpers/prometheus/index.js +0 -13
  276. package/helpers/prometheus/index.js.map +0 -1
  277. package/helpers/prometheus/measure-middleware.d.ts +0 -5
  278. package/helpers/prometheus/measure-middleware.js +0 -69
  279. package/helpers/prometheus/measure-middleware.js.map +0 -1
  280. package/helpers/prometheus/metric-adapter.d.ts +0 -36
  281. package/helpers/prometheus/metric-adapter.js +0 -98
  282. package/helpers/prometheus/metric-adapter.js.map +0 -1
  283. package/helpers/react/error-handlers/index.d.ts +0 -40
  284. package/helpers/react/error-handlers/index.js +0 -52
  285. package/helpers/react/error-handlers/index.js.map +0 -1
  286. package/helpers/redux/constants.d.ts +0 -5
  287. package/helpers/redux/constants.js +0 -14
  288. package/helpers/redux/constants.js.map +0 -1
  289. package/helpers/redux/create-compose-middleware.d.ts +0 -15
  290. package/helpers/redux/create-compose-middleware.js +0 -23
  291. package/helpers/redux/create-compose-middleware.js.map +0 -1
  292. package/helpers/redux/get-dev-compose-creator.d.ts +0 -6
  293. package/helpers/redux/get-dev-compose-creator.js +0 -13
  294. package/helpers/redux/get-dev-compose-creator.js.map +0 -1
  295. package/helpers/redux/prepare-on-ready.d.ts +0 -9
  296. package/helpers/redux/prepare-on-ready.js +0 -16
  297. package/helpers/redux/prepare-on-ready.js.map +0 -1
  298. package/helpers/redux/remote-data.d.ts +0 -40
  299. package/helpers/redux/remote-data.js +0 -91
  300. package/helpers/redux/remote-data.js.map +0 -1
  301. package/helpers/redux/selector/statuses.d.ts +0 -23
  302. package/helpers/redux/selector/statuses.js +0 -34
  303. package/helpers/redux/selector/statuses.js.map +0 -1
  304. package/helpers/redux/wait-on-store-readiness.d.ts +0 -11
  305. package/helpers/redux/wait-on-store-readiness.js +0 -29
  306. package/helpers/redux/wait-on-store-readiness.js.map +0 -1
  307. package/helpers/render/get-react-markup-data.d.ts +0 -14
  308. package/helpers/render/get-react-markup-data.js +0 -20
  309. package/helpers/render/get-react-markup-data.js.map +0 -1
  310. package/helpers/render/index.d.ts +0 -21
  311. package/helpers/render/index.js +0 -72
  312. package/helpers/render/index.js.map +0 -1
  313. package/helpers/render/render-app.d.ts +0 -12
  314. package/helpers/render/render-app.js +0 -12
  315. package/helpers/render/render-app.js.map +0 -1
  316. package/helpers/saga/__fixtures__/do-safe-request.d.ts +0 -43
  317. package/helpers/saga/__fixtures__/do-safe-request.js +0 -50
  318. package/helpers/saga/__fixtures__/do-safe-request.js.map +0 -1
  319. package/helpers/saga/cache-result.d.ts +0 -46
  320. package/helpers/saga/cache-result.js +0 -71
  321. package/helpers/saga/cache-result.js.map +0 -1
  322. package/helpers/saga/create-store.d.ts +0 -20
  323. package/helpers/saga/create-store.js +0 -106
  324. package/helpers/saga/create-store.js.map +0 -1
  325. package/helpers/saga/do-safe-request.d.ts +0 -38
  326. package/helpers/saga/do-safe-request.js +0 -45
  327. package/helpers/saga/do-safe-request.js.map +0 -1
  328. package/helpers/saga/safe-request.d.ts +0 -7
  329. package/helpers/saga/safe-request.js +0 -15
  330. package/helpers/saga/safe-request.js.map +0 -1
  331. package/helpers/saga/take-chain.d.ts +0 -20
  332. package/helpers/saga/take-chain.js +0 -56
  333. package/helpers/saga/take-chain.js.map +0 -1
  334. package/helpers/tracer/create-child-tracing-middleware.d.ts +0 -7
  335. package/helpers/tracer/create-child-tracing-middleware.js +0 -40
  336. package/helpers/tracer/create-child-tracing-middleware.js.map +0 -1
  337. package/helpers/tracer/index.d.ts +0 -24
  338. package/helpers/tracer/index.js +0 -144
  339. package/helpers/tracer/index.js.map +0 -1
  340. package/helpers/utils/check-feature-by-segment.d.ts +0 -2
  341. package/helpers/utils/check-feature-by-segment.js +0 -31
  342. package/helpers/utils/check-feature-by-segment.js.map +0 -1
  343. package/helpers/utils/format-object-keys.d.ts +0 -6
  344. package/helpers/utils/format-object-keys.js +0 -27
  345. package/helpers/utils/format-object-keys.js.map +0 -1
  346. package/helpers/utils/get-ms-from-hrt.d.ts +0 -2
  347. package/helpers/utils/get-ms-from-hrt.js +0 -22
  348. package/helpers/utils/get-ms-from-hrt.js.map +0 -1
  349. package/helpers/utils/is-match-pattern-list.d.ts +0 -8
  350. package/helpers/utils/is-match-pattern-list.js +0 -16
  351. package/helpers/utils/is-match-pattern-list.js.map +0 -1
  352. package/helpers/utils/is-not-empty-array.d.ts +0 -2
  353. package/helpers/utils/is-not-empty-array.js +0 -12
  354. package/helpers/utils/is-not-empty-array.js.map +0 -1
  355. package/helpers/utils/is-not-empty-string.d.ts +0 -2
  356. package/helpers/utils/is-not-empty-string.js +0 -15
  357. package/helpers/utils/is-not-empty-string.js.map +0 -1
  358. package/helpers/utils/is-numeric.d.ts +0 -7
  359. package/helpers/utils/is-numeric.js +0 -16
  360. package/helpers/utils/is-numeric.js.map +0 -1
  361. package/helpers/utils/wrap-in-measure-event.d.ts +0 -9
  362. package/helpers/utils/wrap-in-measure-event.js +0 -50
  363. package/helpers/utils/wrap-in-measure-event.js.map +0 -1
  364. package/logger/create-logger-middleware/index.d.ts +0 -14
  365. package/logger/create-logger-middleware/index.js +0 -41
  366. package/logger/create-logger-middleware/index.js.map +0 -1
  367. package/logger/create-sentry-instance/index.d.ts +0 -29
  368. package/logger/create-sentry-instance/index.js +0 -63
  369. package/logger/create-sentry-instance/index.js.map +0 -1
  370. package/logger/create-sentry-middleware/index.d.ts +0 -14
  371. package/logger/create-sentry-middleware/index.js +0 -19
  372. package/logger/create-sentry-middleware/index.js.map +0 -1
  373. package/logger/handler-creators/index.d.ts +0 -5
  374. package/logger/handler-creators/index.js +0 -41
  375. package/logger/handler-creators/index.js.map +0 -1
  376. package/logger/initialize-sentry-creator/index.d.ts +0 -17
  377. package/logger/initialize-sentry-creator/index.js +0 -35
  378. package/logger/initialize-sentry-creator/index.js.map +0 -1
  379. package/logger/sentry-logger/index.d.ts +0 -9
  380. package/logger/sentry-logger/index.js +0 -36
  381. package/logger/sentry-logger/index.js.map +0 -1
  382. package/module-federation/__example__/webpack-config.example.d.ts +0 -366
  383. package/module-federation/__example__/webpack-config.example.js +0 -58
  384. package/module-federation/__example__/webpack-config.example.js.map +0 -1
  385. package/module-federation/enhanced-module-federation-plugin.d.ts +0 -69
  386. package/module-federation/enhanced-module-federation-plugin.js +0 -97
  387. package/module-federation/enhanced-module-federation-plugin.js.map +0 -1
  388. package/module-federation/utils/index.d.ts +0 -16
  389. package/module-federation/utils/index.js +0 -33
  390. package/module-federation/utils/index.js.map +0 -1
  391. package/observe-middleware/index.d.ts +0 -9
  392. package/observe-middleware/index.js +0 -67
  393. package/observe-middleware/index.js.map +0 -1
  394. package/set-header-middleware/create.d.ts +0 -10
  395. package/set-header-middleware/create.js +0 -16
  396. package/set-header-middleware/create.js.map +0 -1
  397. package/src/browser/analytics/data-layer.ts +0 -12
  398. package/src/browser/analytics/oko.ts +0 -42
  399. package/src/cache/helpers.js +0 -32
  400. package/src/cache/local-storage.ts +0 -92
  401. package/src/cache/redis.js +0 -79
  402. package/src/cache/wrap-in-trace.js +0 -57
  403. package/src/config/create.js +0 -33
  404. package/src/config/helpers.js +0 -71
  405. package/src/config/validate.js +0 -114
  406. package/src/container/create-inject.js +0 -32
  407. package/src/container/get-dependencies.js +0 -46
  408. package/src/container/index.js +0 -188
  409. package/src/container/is-container.js +0 -14
  410. package/src/container/service-not-found-error.js +0 -14
  411. package/src/create-proxy/create-proxy-middleware/index.js +0 -47
  412. package/src/create-proxy/index.js +0 -27
  413. package/src/create-response-sender/index.js +0 -48
  414. package/src/get-dynamic-data/index.js +0 -26
  415. package/src/graceful-shutdown/index.js +0 -97
  416. package/src/helpers/add-error-handling/index.js +0 -24
  417. package/src/helpers/api/create-enhancer.js +0 -52
  418. package/src/helpers/api/create-instance.js +0 -42
  419. package/src/helpers/api/middlewares/collect-cookie-middleware.js +0 -27
  420. package/src/helpers/api/middlewares/count-api-response-time.js +0 -31
  421. package/src/helpers/api/middlewares/error-handlers-middlewares.js +0 -124
  422. package/src/helpers/api/middlewares/helpers.js +0 -26
  423. package/src/helpers/api/middlewares/pass-headers-middleware.js +0 -19
  424. package/src/helpers/api/middlewares/prepare-request-headers.js +0 -18
  425. package/src/helpers/api/middlewares/set-http-agents-middleware.js +0 -22
  426. package/src/helpers/api/middlewares/stages-trace-middleware.js +0 -46
  427. package/src/helpers/api/middlewares/trace-request-middleware.ts +0 -86
  428. package/src/helpers/api/server-adapter/__fixtures__/fake-keys.js +0 -58
  429. package/src/helpers/api/server-adapter/constants.js +0 -12
  430. package/src/helpers/api/server-adapter/helpers.js +0 -244
  431. package/src/helpers/api/server-adapter/index.js +0 -155
  432. package/src/helpers/development/use-dot-env.js +0 -9
  433. package/src/helpers/get-params/index.js +0 -59
  434. package/src/helpers/http/request-getters.js +0 -42
  435. package/src/helpers/http/statuses-validator.js +0 -20
  436. package/src/helpers/logger/create-pino-instance/index.js +0 -41
  437. package/src/helpers/logger/format-time/index.js +0 -6
  438. package/src/helpers/metrics/index.js +0 -40
  439. package/src/helpers/prometheus/index.js +0 -9
  440. package/src/helpers/prometheus/measure-middleware.js +0 -73
  441. package/src/helpers/prometheus/metric-adapter.js +0 -99
  442. package/src/helpers/react/error-handlers/index.tsx +0 -68
  443. package/src/helpers/redux/constants.js +0 -10
  444. package/src/helpers/redux/create-compose-middleware.js +0 -24
  445. package/src/helpers/redux/get-dev-compose-creator.js +0 -9
  446. package/src/helpers/redux/prepare-on-ready.js +0 -16
  447. package/src/helpers/redux/remote-data.js +0 -124
  448. package/src/helpers/redux/selector/statuses.js +0 -30
  449. package/src/helpers/redux/wait-on-store-readiness.js +0 -40
  450. package/src/helpers/render/get-react-markup-data.js +0 -18
  451. package/src/helpers/render/index.js +0 -69
  452. package/src/helpers/render/render-app.js +0 -15
  453. package/src/helpers/saga/__fixtures__/do-safe-request.js +0 -49
  454. package/src/helpers/saga/cache-result.js +0 -77
  455. package/src/helpers/saga/create-store.js +0 -102
  456. package/src/helpers/saga/do-safe-request.js +0 -47
  457. package/src/helpers/saga/safe-request.js +0 -11
  458. package/src/helpers/saga/take-chain.js +0 -53
  459. package/src/helpers/tracer/create-child-tracing-middleware.js +0 -42
  460. package/src/helpers/tracer/index.js +0 -171
  461. package/src/helpers/utils/check-feature-by-segment.js +0 -32
  462. package/src/helpers/utils/format-object-keys.js +0 -23
  463. package/src/helpers/utils/get-ms-from-hrt.js +0 -16
  464. package/src/helpers/utils/is-match-pattern-list.js +0 -13
  465. package/src/helpers/utils/is-not-empty-array.js +0 -8
  466. package/src/helpers/utils/is-not-empty-string.js +0 -11
  467. package/src/helpers/utils/is-numeric.ts +0 -12
  468. package/src/helpers/utils/wrap-in-measure-event.js +0 -35
  469. package/src/logger/create-logger-middleware/index.js +0 -46
  470. package/src/logger/create-sentry-instance/index.js +0 -74
  471. package/src/logger/create-sentry-middleware/index.js +0 -16
  472. package/src/logger/handler-creators/index.js +0 -38
  473. package/src/logger/initialize-sentry-creator/index.js +0 -43
  474. package/src/logger/sentry-logger/index.js +0 -33
  475. package/src/module-federation/__example__/webpack-config.example.js +0 -64
  476. package/src/module-federation/enhanced-module-federation-plugin.js +0 -119
  477. package/src/module-federation/utils/index.js +0 -39
  478. package/src/observe-middleware/index.js +0 -70
  479. package/src/set-header-middleware/create.js +0 -17
@@ -0,0 +1,7 @@
1
+ export interface Cache {
2
+ get: (key: string) => void;
3
+ set: (key: string, value: any) => void;
4
+ delete: (key: string) => void;
5
+ clear: () => void;
6
+ has: (key: string) => void;
7
+ }
package/cache/types.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cache/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import type { ConfigSource } from './types';
2
+ /**
3
+ * Возвращает "источник" для конфигурации.
4
+ * @return Источник.
5
+ */
6
+ export declare function createConfigSource(): ConfigSource;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createConfigSource = void 0;
4
+ const env_1 = require("@humanwhocodes/env");
5
+ /**
6
+ * Возвращает "источник" для конфигурации.
7
+ * @return Источник.
8
+ */
9
+ function createConfigSource() {
10
+ return new env_1.Env(process.env);
11
+ }
12
+ exports.createConfigSource = createConfigSource;
13
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/config/browser.ts"],"names":[],"mappings":";;;AACA,4CAAyC;AAEzC;;;GAGG;AACH,SAAgB,kBAAkB;IAChC,OAAO,IAAI,SAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAFD,gDAEC"}
@@ -0,0 +1,7 @@
1
+ import type { ConfigSource, BaseConfig } from './types';
2
+ /**
3
+ * Возвращает базовую конфигурацию.
4
+ * @param source Источник.
5
+ * @return Базовая конфигурация.
6
+ */
7
+ export declare function createBaseConfig(source: ConfigSource): BaseConfig;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createBaseConfig = void 0;
4
+ /**
5
+ * Возвращает базовую конфигурацию.
6
+ * @param source Источник.
7
+ * @return Базовая конфигурация.
8
+ */
9
+ function createBaseConfig(source) {
10
+ const env = source.require('NODE_ENV');
11
+ const appName = source.require('APP_NAME');
12
+ const appVersion = source.require('APP_VERSION');
13
+ return {
14
+ env,
15
+ appName,
16
+ appVersion,
17
+ };
18
+ }
19
+ exports.createBaseConfig = createBaseConfig;
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,MAAoB;IACnD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAEjD,OAAO;QACL,GAAG;QACH,OAAO;QACP,UAAU;KACX,CAAC;AACJ,CAAC;AAVD,4CAUC"}
@@ -0,0 +1,6 @@
1
+ import type { ConfigSource } from './types';
2
+ /**
3
+ * Возвращает "источник" для конфигурации.
4
+ * @return Источник.
5
+ */
6
+ export declare function createConfigSource(): ConfigSource;
package/config/node.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createConfigSource = void 0;
4
+ const env_1 = require("@humanwhocodes/env");
5
+ const dotenv_1 = require("dotenv");
6
+ const utils_1 = require("./utils");
7
+ /**
8
+ * Возвращает "источник" для конфигурации.
9
+ * @return Источник.
10
+ */
11
+ function createConfigSource() {
12
+ // определяем среду
13
+ const envName = (0, utils_1.defineEnvironment)();
14
+ // подключаем соответствующий среде файл со значениями по умолчанию
15
+ (0, dotenv_1.config)({ path: `./.env.${envName}` });
16
+ return new env_1.Env(process.env);
17
+ }
18
+ exports.createConfigSource = createConfigSource;
19
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/config/node.ts"],"names":[],"mappings":";;;AACA,4CAAyC;AACzC,mCAAgC;AAChC,mCAA4C;AAE5C;;;GAGG;AACH,SAAgB,kBAAkB;IAChC,mBAAmB;IACnB,MAAM,OAAO,GAAG,IAAA,yBAAiB,GAAE,CAAC;IAEpC,mEAAmE;IACnE,IAAA,eAAM,EAAC,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC,CAAC;IAEtC,OAAO,IAAI,SAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AARD,gDAQC"}
@@ -0,0 +1,7 @@
1
+ import type { Env } from '@humanwhocodes/env';
2
+ export declare type ConfigSource = Env;
3
+ export interface BaseConfig {
4
+ env: string;
5
+ appName: string;
6
+ appVersion: string;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Возвращает значение process.env.NODE_ENV или "unknown".
3
+ * @return Значение.
4
+ */
5
+ export declare function defineEnvironment(): string;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineEnvironment = void 0;
4
+ /**
5
+ * Возвращает значение process.env.NODE_ENV или "unknown".
6
+ * @return Значение.
7
+ */
8
+ function defineEnvironment() {
9
+ return process.env.NODE_ENV || 'unknown';
10
+ }
11
+ exports.defineEnvironment = defineEnvironment;
12
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/config/utils.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC;AAC3C,CAAC;AAFD,8CAEC"}
@@ -0,0 +1,25 @@
1
+ import type { Provider, Token } from './types';
2
+ import type { Preset } from '../preset/types';
3
+ declare type ExtractType<T extends readonly Token<any>[]> = {
4
+ [index in keyof T]: T[index] extends T[number] ? ReturnType<T[index]['_resolve']> : never;
5
+ };
6
+ interface Binding<T> {
7
+ toValue: (value: T) => void;
8
+ toProvider: (provider: Provider<T>) => void;
9
+ }
10
+ export declare class Application {
11
+ private container?;
12
+ private parent?;
13
+ private presets;
14
+ private providers;
15
+ static readonly self: Token<never>;
16
+ constructor();
17
+ bind<T>(token: Token<T>): Binding<T>;
18
+ get<T>(token: Token<T>): T;
19
+ private getContainer;
20
+ private configureContainer;
21
+ attach(parent: Application): void;
22
+ preset(preset: Preset): void;
23
+ invoke<Tokens extends readonly Token<any>[]>(tokens: [...Tokens], fn: (...args: ExtractType<Tokens>) => void): void;
24
+ }
25
+ export {};
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Application = void 0;
4
+ const _1 = require(".");
5
+ class Application {
6
+ constructor() {
7
+ this.providers = new Map();
8
+ this.presets = [];
9
+ }
10
+ bind(token) {
11
+ return {
12
+ toValue: value => {
13
+ this.providers.set(token, () => value);
14
+ },
15
+ toProvider: provider => {
16
+ this.providers.set(token, provider);
17
+ },
18
+ };
19
+ }
20
+ get(token) {
21
+ try {
22
+ return this.getContainer().get(token);
23
+ }
24
+ catch (error) {
25
+ if (error instanceof _1.NothingBoundError && this.parent) {
26
+ return this.parent.get(token);
27
+ }
28
+ else {
29
+ throw error;
30
+ }
31
+ }
32
+ }
33
+ getContainer() {
34
+ if (!this.container) {
35
+ this.container = this.configureContainer();
36
+ }
37
+ return this.container;
38
+ }
39
+ configureContainer() {
40
+ const container = (0, _1.createContainer)();
41
+ container.set(Application.self, () => this);
42
+ for (const preset of this.presets) {
43
+ preset.apply(this);
44
+ }
45
+ const resolve = token => this.get(token);
46
+ for (const [token, provider] of this.providers) {
47
+ container.set(token, () => provider(resolve));
48
+ }
49
+ return container;
50
+ }
51
+ attach(parent) {
52
+ this.parent = parent;
53
+ }
54
+ preset(preset) {
55
+ this.presets.push(preset);
56
+ }
57
+ invoke(tokens, fn) {
58
+ fn(...tokens.map(token => this.get(token)));
59
+ }
60
+ }
61
+ exports.Application = Application;
62
+ Application.self = (0, _1.createToken)('application/self');
63
+ //# sourceMappingURL=application.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../../src/container/application.ts"],"names":[],"mappings":";;;AAGA,wBAAoE;AAWpE,MAAa,WAAW;IAQtB;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,CAAI,KAAe;QACrB,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,EAAE;gBACf,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;YACD,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACrB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtC,CAAC;SACF,CAAC;IACJ,CAAC;IAED,GAAG,CAAI,KAAe;QACpB,IAAI;YACF,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACvC;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,YAAY,oBAAiB,IAAI,IAAI,CAAC,MAAM,EAAE;gBACrD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAC/B;iBAAM;gBACL,MAAM,KAAK,CAAC;aACb;SACF;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC5C;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEO,kBAAkB;QACxB,MAAM,SAAS,GAAG,IAAA,kBAAe,GAAE,CAAC;QAEpC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAE5C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,MAAM,OAAO,GAAY,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAElD,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE;YAC9C,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;SAC/C;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,MAAmB;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CACJ,MAAmB,EACnB,EAA0C;QAE1C,EAAE,CAAC,GAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAS,CAAC,CAAC;IACvD,CAAC;;AA3EH,kCA4EC;AAtEiB,gBAAI,GAAG,IAAA,cAAW,EAAC,kBAAkB,CAAC,CAAC"}
@@ -1,15 +1,18 @@
1
+ import type { Container, Token } from './types';
1
2
  /**
2
- * Функция создает IoC-контейнер.
3
- * @param {Object} options Дополнительные опции для IoC-контейнера.
4
- * @param {Array} options.services Массив сервисов, которые нужно зарегистрировать.
5
- * @param {Object} options.parent Родительский контейнер.
6
- * @return {Object} IoC Container.
7
- * @throws {TypeError} Выдаст ошибку если параметр "services" не массив.
3
+ * Возвращает новый токен.
4
+ * @param name Имя токена для отладки в случае ошибок.
5
+ * @return Токен.
8
6
  */
9
- export default function create({ services, parent }?: {
10
- services: any[];
11
- parent: Object;
12
- }): Object;
13
- export function createService(fn: Function, dependenciesToArgs: Function): Function;
14
- export function createSingleton(options: Object): () => Object;
15
- export function createFactory(options: Object): () => Object;
7
+ export declare function createToken<T = never>(name?: string): Token<T>;
8
+ export declare class NothingBoundError extends Error {
9
+ constructor(key: symbol);
10
+ }
11
+ export declare class CircularDependencyError extends Error {
12
+ constructor(trace: Token<any>[]);
13
+ }
14
+ /**
15
+ * Возвращает новый DI-контейнер.
16
+ * @return DI-контейнер.
17
+ */
18
+ export declare function createContainer(): Container;
@@ -1,175 +1,74 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.createFactory = exports.createSingleton = exports.createService = void 0;
16
- const isString_1 = __importDefault(require("lodash/isString"));
17
- const isFunction_1 = __importDefault(require("lodash/isFunction"));
18
- const service_not_found_error_1 = __importDefault(require("./service-not-found-error"));
19
- const get_dependencies_1 = __importDefault(require("./get-dependencies"));
20
- const is_container_1 = __importDefault(require("./is-container"));
21
- const is_not_empty_string_1 = __importDefault(require("../helpers/utils/is-not-empty-string"));
3
+ exports.createContainer = exports.CircularDependencyError = exports.NothingBoundError = exports.createToken = void 0;
22
4
  /**
23
- * Оборачивает функцию для использования в контейнере.
24
- * @param {Function} fn Функция, которую необходимо обернуть.
25
- * @param {Function} dependenciesToArgs Функция для преобразования зависимостей сервиса в аргументы функции.
26
- * @return {Function} Функция-сервис, для использования в контейнере.
5
+ * Возвращает новый токен.
6
+ * @param name Имя токена для отладки в случае ошибок.
7
+ * @return Токен.
27
8
  */
28
- const createService = (fn, dependenciesToArgs) => (dependencies, ...args) => fn(...dependenciesToArgs(dependencies), ...args);
29
- exports.createService = createService;
30
- /**
31
- * Создаёт функцию для получения синглтона контейнера с заданными параметрами.
32
- * @param {Object} options Опции для создания контейнера.
33
- * @return {function(): Object} Функция для получения контейнера-синглтона.
34
- */
35
- const createSingleton = options => {
36
- let container;
37
- return () => {
38
- if (!container) {
39
- container = create(options);
40
- }
41
- return container;
9
+ function createToken(name) {
10
+ const key = Symbol(name);
11
+ return {
12
+ _key: key,
13
+ _resolve: (registry) => registry.get(key),
42
14
  };
43
- };
44
- exports.createSingleton = createSingleton;
45
- /**
46
- * Создаёт функцию-фабрику для создания нового экземпляра контейнера при её вызове.
47
- * @param {Object} options Опции для создания контейнера.
48
- * @return {function(): Object} Функция-фабрика для получения экземпляра контейнера с заданными параметрами.
49
- */
50
- const createFactory = options => () => create(options);
51
- exports.createFactory = createFactory;
52
- /**
53
- * Реализует наследование контейнера от другого контейнера.
54
- * @param {Object} container Дочерний контейнер.
55
- * @param {Object} parentContainer Родительский контейнер.
56
- * @return {Object} Контейнер с поиском зависимости в родителе.
57
- */
58
- const inherit = (container, parentContainer) => {
59
- let result = container;
60
- if (is_container_1.default(parentContainer)) {
61
- result = Object.assign(Object.assign({}, container), {
62
- /**
63
- * Оборачивает получение зависимости для добавления поиска в родительском контейнере.
64
- * @param {string} name Название зависимости.
65
- * @return {*} Зависимость.
66
- * @throws {TypeError} Выдаст ошибку если параметр "name" не строка.
67
- * @throws {Error} Выдаст ошибку если параметр "name" не строка или пустая строка.
68
- * @throws {ServiceNotFoundError} Выдаст ошибку при попытке вызвать незарегистрированный сервис.
69
- */
70
- get(name) {
71
- return __awaiter(this, void 0, void 0, function* () {
72
- let dependency;
73
- try {
74
- dependency = yield container.get(name);
75
- }
76
- catch (e) {
77
- if (e instanceof service_not_found_error_1.default) {
78
- dependency = yield parentContainer.get(name);
79
- }
80
- else {
81
- throw e;
82
- }
83
- }
84
- return dependency;
85
- });
86
- } });
15
+ }
16
+ exports.createToken = createToken;
17
+ class NothingBoundError extends Error {
18
+ constructor(key) {
19
+ super(`Nothing bound to ${String(key)}`);
20
+ this.name = 'NothingBoundError';
87
21
  }
88
- return result;
89
- };
22
+ }
23
+ exports.NothingBoundError = NothingBoundError;
24
+ class CircularDependencyError extends Error {
25
+ constructor(trace) {
26
+ const names = trace.map(token => String(token._key)).join(' >> ');
27
+ super(`Circular dependency found, trace: ${names}`);
28
+ this.name = 'CircularDependencyError';
29
+ }
30
+ }
31
+ exports.CircularDependencyError = CircularDependencyError;
90
32
  /**
91
- * Функция создает IoC-контейнер.
92
- * @param {Object} options Дополнительные опции для IoC-контейнера.
93
- * @param {Array} options.services Массив сервисов, которые нужно зарегистрировать.
94
- * @param {Object} options.parent Родительский контейнер.
95
- * @return {Object} IoC Container.
96
- * @throws {TypeError} Выдаст ошибку если параметр "services" не массив.
33
+ * Возвращает новый DI-контейнер.
34
+ * @return DI-контейнер.
97
35
  */
98
- function create({ services = [], parent = null } = {}) {
99
- if (!Array.isArray(services)) {
100
- throw new TypeError('Параметр "services" должен быть массивом');
101
- }
102
- const registry = {};
103
- const container = inherit({
104
- /**
105
- * Добавляет зависимость в список зависимостей.
106
- * @param {Object} options Опции необходимые для добавления зависимости.
107
- * @param {string} options.name Название зависимости.
108
- * @param {Function} options.singleton Функция-синглтон.
109
- * @param {Function} options.factory Функция-конструктор.
110
- * @param {*} options.value Переданная зависимость.
111
- * @param {Array} options.dependencies Массив зависимостей.
112
- * @throws {Error} Выдаст ошибку если параметр "name" не строка или пустая строка.
113
- * @throws {Error} Выдаст ошибку если не передан ни один из параметров "factory", "singleton" или "value".
114
- */
115
- set({ name, singleton, factory, value, dependencies = [] } = {}) {
116
- if (!isString_1.default(name) || name === '') {
117
- throw new Error('Параметр "name" должен быть непустой строкой');
118
- }
119
- if (factory !== undefined && !isFunction_1.default(factory)) {
120
- throw new TypeError('Параметр "factory" должен быть функцией');
121
- }
122
- if (singleton !== undefined && !isFunction_1.default(singleton)) {
123
- throw new TypeError('Параметр "singleton" должен быть функцией');
124
- }
125
- if (factory === undefined && value === undefined && singleton === undefined) {
126
- throw Error(`Сервис ${name} не зарегистрирован,
127
- так как обязательно должен быть передан один из параметров "factory", "singleton" или "value"`);
36
+ function createContainer() {
37
+ const cache = new Map();
38
+ const registry = new Map();
39
+ function resolve(token, chain) {
40
+ if (chain.includes(token)) {
41
+ throw new CircularDependencyError([...chain, token]);
42
+ }
43
+ else {
44
+ chain.push(token);
45
+ }
46
+ if (cache.has(token._key)) {
47
+ return cache.get(token._key);
48
+ }
49
+ else if (registry.has(token._key)) {
50
+ const provider = registry.get(token._key);
51
+ if (typeof provider !== 'function') {
52
+ throw new Error('Provider is not a function');
128
53
  }
129
- registry[name] = {
130
- name,
131
- singleton,
132
- factory,
133
- dependencies,
134
- value,
135
- };
54
+ const value = provider(otherToken => resolve(otherToken, chain));
55
+ // всегда как singleton
56
+ cache.set(token._key, value);
57
+ return value;
58
+ }
59
+ else {
60
+ throw new NothingBoundError(token._key);
61
+ }
62
+ }
63
+ const container = {
64
+ set(token, provider) {
65
+ registry.set(token._key, provider);
136
66
  },
137
- /**
138
- * Получает зависимость по ее названию.
139
- * @param {string} name Название зависимости.
140
- * @param {string} serviceName Название сервиса.
141
- * @return {*} Зависимость.
142
- * @throws {TypeError} Выдаст ошибку если параметр "name" не строка.
143
- * @throws {Error} Выдаст ошибку если параметр "name" не строка или пустая строка.
144
- * @throws {ServiceNotFoundError} Выдаст ошибку при попытке вызвать незарегистрированный сервис.
145
- */
146
- get(name, serviceName = '') {
147
- return __awaiter(this, void 0, void 0, function* () {
148
- if (!isString_1.default(name) || name === '') {
149
- throw new Error('Параметр "name" должен быть непустой строкой');
150
- }
151
- const service = registry[name];
152
- let dependency;
153
- if (!service) {
154
- throw new service_not_found_error_1.default(is_not_empty_string_1.default(serviceName)
155
- ? `Не найдена зависимость "${name}" в цепочке вызовов "${serviceName}"`
156
- : `Сервис "${name}" не зарегистрирован`);
157
- }
158
- if (service.singleton && !service.value) {
159
- service.value = yield service.singleton(Object.assign({}, yield get_dependencies_1.default(container, service.dependencies, `${serviceName}/${name}`)));
160
- }
161
- if (service.value !== undefined) {
162
- dependency = service.value;
163
- }
164
- if (service.factory) {
165
- dependency = yield service.factory(Object.assign({}, yield get_dependencies_1.default(container, service.dependencies, `${serviceName}/${name}`)));
166
- }
167
- return dependency;
168
- });
67
+ get(token) {
68
+ return resolve(token, []);
169
69
  },
170
- }, parent);
171
- services.forEach(service => container.set(service));
70
+ };
172
71
  return container;
173
72
  }
174
- exports.default = create;
73
+ exports.createContainer = createContainer;
175
74
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/container/index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/container/index.ts"],"names":[],"mappings":";;;AAGA;;;;GAIG;AACH,SAAgB,WAAW,CAAY,IAAa;IAClD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEzB,OAAO;QACL,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,CAAC,QAA0B,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAM;KACjE,CAAC;AACJ,CAAC;AAPD,kCAOC;AAED,MAAa,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,GAAW;QACrB,KAAK,CAAC,oBAAoB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AALD,8CAKC;AAED,MAAa,uBAAwB,SAAQ,KAAK;IAChD,YAAY,KAAmB;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClE,KAAK,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAND,0DAMC;AAED;;;GAGG;AACH,SAAgB,eAAe;IAC7B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAe,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAElD,SAAS,OAAO,CAAI,KAAe,EAAE,KAAmB;QACtD,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACzB,MAAM,IAAI,uBAAuB,CAAC,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SACtD;aAAM;YACL,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACnB;QAED,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC9B;aAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE1C,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;gBAClC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;aAC/C;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;YAEjE,uBAAuB;YACvB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE7B,OAAO,KAAK,CAAC;SACd;aAAM;YACL,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACzC;IACH,CAAC;IAED,MAAM,SAAS,GAAG;QAChB,GAAG,CAAI,KAAe,EAAE,QAAqB;YAC3C,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,GAAG,CAAI,KAAe;YACpB,OAAO,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;KACF,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC;AA1CD,0CA0CC"}
@@ -0,0 +1,14 @@
1
+ export interface Token<T> {
2
+ readonly _key: symbol;
3
+ readonly _resolve: (registry: Map<symbol, any>) => T;
4
+ }
5
+ export interface Resolve {
6
+ <T>(token: Token<T>): T;
7
+ }
8
+ export interface Provider<T> {
9
+ (resolve: Resolve): T;
10
+ }
11
+ export interface Container {
12
+ set: <T = never>(token: Token<T>, provider: Provider<T>) => void;
13
+ get: Resolve;
14
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/container/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import type { SentryLib } from './types';
2
+ import * as Sentry from '@sentry/browser';
3
+ /**
4
+ * Возвращает новый набор из клиента Sentry и функций из пакета Sentry.
5
+ * @param options Опции создания клиента.
6
+ * @return Новый набор из клиента Sentry и функций из пакета Sentry.
7
+ */
8
+ export declare function createSentryLib(options: Sentry.BrowserOptions): SentryLib;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.createSentryLib = void 0;
27
+ const Sentry = __importStar(require("@sentry/browser"));
28
+ /**
29
+ * Возвращает новый набор из клиента Sentry и функций из пакета Sentry.
30
+ * @param options Опции создания клиента.
31
+ * @return Новый набор из клиента Sentry и функций из пакета Sentry.
32
+ */
33
+ function createSentryLib(options) {
34
+ return {
35
+ client: new Sentry.BrowserClient(options),
36
+ withScope: Sentry.withScope,
37
+ };
38
+ }
39
+ exports.createSentryLib = createSentryLib;
40
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/error-tracker/browser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAE1C;;;;GAIG;AACH,SAAgB,eAAe,CAAC,OAA8B;IAC5D,OAAO;QACL,MAAM,EAAE,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;QACzC,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC;AALD,0CAKC"}
@@ -0,0 +1,8 @@
1
+ import type { SentryLib } from './types';
2
+ import * as Sentry from '@sentry/node';
3
+ /**
4
+ * Возвращает новый набор из клиента Sentry и функций из пакета Sentry.
5
+ * @param options Опции создания клиента.
6
+ * @return Новый набор из клиента Sentry и функций из пакета Sentry.
7
+ */
8
+ export declare function createSentryLib(options: Sentry.NodeOptions): SentryLib;