@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,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createExternalConfig = void 0;
4
+ /**
5
+ * Возвращает скрипт инициализации удаленного модуля.
6
+ * @param params Параметры.
7
+ * @param params.serviceName Имя сервиса, содержащего удаленные модули.
8
+ * @param params.containersGlobalKey Глобальная переменная, в которую добавляются удаленные контейнеры.
9
+ * @param params.remoteEntriesGlobalKey Глобальная переменная, в которой хранятся пути к удаленным точкам входа.
10
+ * @param params.remoteEntryPath Путь к remoteEntry, если его не надо получать в runtime.
11
+ * @return Скрипт инициализации.
12
+ */
13
+ function createExternalConfig({ serviceName, containersGlobalKey, remoteEntriesGlobalKey, remoteEntryPath, }) {
14
+ return `promise new Promise((resolve, reject) => {
15
+ if (window['${remoteEntriesGlobalKey}']) {
16
+ const scriptElement = document.createElement('script');
17
+ scriptElement.onload = () => {
18
+ scriptElement.remove();
19
+ resolve(window['${containersGlobalKey}']['${serviceName}']);
20
+ };
21
+ scriptElement.onerror = () => {
22
+ scriptElement.remove();
23
+ reject(new Error('Failed loading remoteEntry for "${serviceName}".'));
24
+ };
25
+ scriptElement.src = ${remoteEntryPath
26
+ ? `'${remoteEntryPath}'`
27
+ : `window['${remoteEntriesGlobalKey}']['${serviceName}']`};
28
+ scriptElement.async = true;
29
+ document.head.append(scriptElement);
30
+ } else {
31
+ reject(new ReferenceError('Object "${remoteEntriesGlobalKey}" unavailable.'));
32
+ }
33
+ })`;
34
+ }
35
+ exports.createExternalConfig = createExternalConfig;
36
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/webpack/module-federation/utils.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;GAQG;AACH,SAAgB,oBAAoB,CAAC,EACnC,WAAW,EACX,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,GAMhB;IACC,OAAO;gBACO,sBAAsB;;;;wBAId,mBAAmB,OAAO,WAAW;;;;0DAIH,WAAW;;0BAG/D,eAAe;QACb,CAAC,CAAC,IAAI,eAAe,GAAG;QACxB,CAAC,CAAC,WAAW,sBAAsB,OAAO,WAAW,IACzD;;;;yCAIqC,sBAAsB;;GAE5D,CAAC;AACJ,CAAC;AAjCD,oDAiCC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-layer.js","sourceRoot":"","sources":["../../../src/browser/analytics/data-layer.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAEpC;;;GAGG;AACI,MAAM,aAAa,GAAG,CAAC,SAA8B,EAAE,EAAE;;IAC9D,MAAM,GAAG,GAAQ,MAAM,CAAC;IAExB,wFAAwF;IACxF,mBAAU,CAAC,MAAA,GAAG,CAAC,SAAS,0CAAE,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,mBAAM,SAAS,EAAG,CAAC;AAC1E,CAAC,CAAC;AALW,QAAA,aAAa,iBAKxB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"oko.js","sourceRoot":"","sources":["../../../src/browser/analytics/oko.ts"],"names":[],"mappings":";;;AAAA,iCAA+B;AAC/B,mCAA6C;AAI7C;;;GAGG;AACI,MAAM,OAAO,GAAG,CAAC,SAAmB,EAAE,EAAE;;IAC7C,MAAM,GAAG,GAAQ,MAAM,CAAC;IAExB,qFAAqF;IACrF,mBAAU,CAAC,MAAA,GAAG,CAAC,GAAG,0CAAE,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,mBAAM,SAAS,EAAG,CAAC;AAC9D,CAAC,CAAC;AALW,QAAA,OAAO,WAKlB;AAEF;;;;GAIG;AACI,MAAM,UAAU,GAAG,CAAC,IAAc,EAAE,EAAE;IAC3C,MAAM,OAAO,GAAG,cAAM,EAAY,CAAC;IACnC,MAAM,KAAK,GAAG,cAAM,EAAc,CAAC;IAEnC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;QACpB,OAAO,CAAC,OAAO,qBAAQ,IAAI,CAAE,CAAC;KAC/B;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAClB,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,eAAO,CAAC,OAAO,CAAC,OAAmB,CAAC,CAAC;KAC5D;IAED,IAAI,CAAC,gBAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;QACnC,MAAM,KAAK,CAAC;YACV,gDAAgD;YAChD,wFAAwF;SACzF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACf;IAED,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC,CAAC;AApBW,QAAA,UAAU,cAoBrB"}
@@ -1,4 +0,0 @@
1
- export function getOnConnectCallback(cache: Object): Function;
2
- export function getOnReconnectingCallback(cache: Object): Function;
3
- export function reconnectOnError({ code }: string): boolean;
4
- export function keyInLocalStorageExists(key: string): boolean;
package/cache/helpers.js DELETED
@@ -1,39 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.keyInLocalStorageExists = exports.reconnectOnError = exports.getOnReconnectingCallback = exports.getOnConnectCallback = void 0;
7
- const local_storage_1 = __importDefault(require("./local-storage"));
8
- /**
9
- * Создаёт обработчик события подключения к redis для установки статуса готовности кэша к работе.
10
- * @param {Object} cache Объект кэша.
11
- * @return {Function} Функция устанавливающая статус кэша.
12
- */
13
- const getOnConnectCallback = cache => () => cache.status = true;
14
- exports.getOnConnectCallback = getOnConnectCallback;
15
- /**
16
- * Создаёт обработчик события переподключения к redis для установки статуса готовности кэша к работе.
17
- * @param {Object} cache Объект кэша.
18
- * @return {Function} Функция устанавливающая статус кэша.
19
- */
20
- const getOnReconnectingCallback = cache => () => cache.status = false;
21
- exports.getOnReconnectingCallback = getOnReconnectingCallback;
22
- /**
23
- * Переподключение после ошибки.
24
- * @param {string} code Код ошибки.
25
- * @return {boolean} Сходится ли код ошибки с ECONNREFUSED.
26
- */
27
- const reconnectOnError = ({ code }) => {
28
- const targetError = 'ECONNREFUSED';
29
- return code === targetError;
30
- };
31
- exports.reconnectOnError = reconnectOnError;
32
- /**
33
- * Определяет есть ли в localStorage нужная информация.
34
- * @param {string} key Ключ.
35
- * @return {boolean} Признак наличия ключа.
36
- */
37
- const keyInLocalStorageExists = key => local_storage_1.default.status && key in localStorage;
38
- exports.keyInLocalStorageExists = keyInLocalStorageExists;
39
- //# sourceMappingURL=helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/cache/helpers.js"],"names":[],"mappings":";;;;;;AAAA,oEAAgD;AAEhD;;;;GAIG;AACI,MAAM,oBAAoB,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;AAA1D,QAAA,oBAAoB,wBAAsC;AAEvE;;;;GAIG;AACI,MAAM,yBAAyB,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;AAAhE,QAAA,yBAAyB,6BAAuC;AAE7E;;;;GAIG;AACI,MAAM,gBAAgB,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC3C,MAAM,WAAW,GAAG,cAAc,CAAC;IACnC,OAAO,IAAI,KAAK,WAAW,CAAC;AAC9B,CAAC,CAAC;AAHW,QAAA,gBAAgB,oBAG3B;AAEF;;;;GAIG;AACI,MAAM,uBAAuB,GAAG,GAAG,CAAC,EAAE,CAAC,uBAAiB,CAAC,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC;AAAjF,QAAA,uBAAuB,2BAA0D"}
@@ -1,34 +0,0 @@
1
- /**
2
- * Определяет доступен ли кэш.
3
- * @return Флаг доступности кэш.
4
- */
5
- export declare const isAvailable: () => boolean;
6
- /**
7
- * Возвращает объект.
8
- * @param key Ключ.
9
- * @return Запрашиваемое значение.
10
- */
11
- export declare const getItem: (key: string) => unknown;
12
- /**
13
- * Добавляет значение.
14
- * @param key Ключ.
15
- * @param value Значение.
16
- * @param duration Время жизни значения в секундах.
17
- */
18
- export declare const setItem: (key: string, value: any, duration?: number) => void;
19
- /**
20
- * Определяет, превышена ли квота.
21
- * @param error Информация об ошибке.
22
- * @return Признак превышения квоты.
23
- */
24
- export declare const isQuotaExceeded: (error: any) => boolean;
25
- /**
26
- * Набор методов для работы с кэшем.
27
- */
28
- declare const LocalStorageCache: {
29
- readonly get: (key: string) => unknown;
30
- readonly set: (key: string, value: any, duration?: number) => void;
31
- readonly status: boolean;
32
- readonly quotaExceeded: (error: any) => boolean;
33
- };
34
- export default LocalStorageCache;
@@ -1,90 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isQuotaExceeded = exports.setItem = exports.getItem = exports.isAvailable = void 0;
4
- /**
5
- * Определяет доступен ли кэш.
6
- * @return Флаг доступности кэш.
7
- */
8
- const isAvailable = () => {
9
- try {
10
- const testKey = `local_storage_test_key::${Date.now()}`;
11
- window.localStorage.setItem(testKey, testKey);
12
- window.localStorage.removeItem(testKey);
13
- return true;
14
- }
15
- catch (_a) {
16
- return false;
17
- }
18
- };
19
- exports.isAvailable = isAvailable;
20
- /**
21
- * Возвращает объект.
22
- * @param key Ключ.
23
- * @return Запрашиваемое значение.
24
- */
25
- const getItem = (key) => {
26
- const { value, expire } = JSON.parse(localStorage.getItem(key) || '{}');
27
- const now = Date.now();
28
- const isExpired = expire
29
- ? now > expire
30
- : true;
31
- isExpired && localStorage.removeItem(key);
32
- return isExpired ? null : value;
33
- };
34
- exports.getItem = getItem;
35
- /**
36
- * Добавляет значение.
37
- * @param key Ключ.
38
- * @param value Значение.
39
- * @param duration Время жизни значения в секундах.
40
- */
41
- const setItem = (key, value, duration = 3600) => {
42
- const now = Date.now();
43
- const durationMs = duration * 1000;
44
- const expire = now + durationMs;
45
- localStorage.setItem(key, JSON.stringify({
46
- value,
47
- expire,
48
- }));
49
- };
50
- exports.setItem = setItem;
51
- /**
52
- * Определяет, превышена ли квота.
53
- * @param error Информация об ошибке.
54
- * @return Признак превышения квоты.
55
- */
56
- const isQuotaExceeded = (error) => {
57
- let quotaExceeded = false;
58
- if (error) {
59
- if (error.code) {
60
- switch (error.code) {
61
- case 22:
62
- quotaExceeded = true;
63
- break;
64
- case 1014:
65
- // Firefox
66
- if (error.name === 'NS_ERROR_DOM_QUOTA_REACHED') {
67
- quotaExceeded = true;
68
- }
69
- break;
70
- }
71
- }
72
- else if (error.number === -2147024882) {
73
- // IE 8
74
- quotaExceeded = true;
75
- }
76
- }
77
- return quotaExceeded;
78
- };
79
- exports.isQuotaExceeded = isQuotaExceeded;
80
- /**
81
- * Набор методов для работы с кэшем.
82
- */
83
- const LocalStorageCache = {
84
- get: exports.getItem,
85
- set: exports.setItem,
86
- status: exports.isAvailable(),
87
- quotaExceeded: exports.isQuotaExceeded,
88
- };
89
- exports.default = LocalStorageCache;
90
- //# sourceMappingURL=local-storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local-storage.js","sourceRoot":"","sources":["../../src/cache/local-storage.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACI,MAAM,WAAW,GAAG,GAAY,EAAE;IACvC,IAAI;QACF,MAAM,OAAO,GAAG,2BAA2B,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAExD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAExC,OAAO,IAAI,CAAC;KACb;IAAC,WAAM;QACN,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAA;AAXY,QAAA,WAAW,eAWvB;AAED;;;;GAIG;AACI,MAAM,OAAO,GAAG,CAAC,GAAW,EAAW,EAAE;IAC9C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,MAAM;QACtB,CAAC,CAAC,GAAG,GAAG,MAAM;QACd,CAAC,CAAC,IAAI,CAAC;IAET,SAAS,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAE1C,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAClC,CAAC,CAAC;AAVW,QAAA,OAAO,WAUlB;AAEF;;;;;GAKG;AACI,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,KAAU,EAAE,QAAQ,GAAG,IAAI,EAAE,EAAE;IAClE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC;IACnC,MAAM,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC;IAEhC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;QACvC,KAAK;QACL,MAAM;KACP,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AATW,QAAA,OAAO,WASlB;AAEF;;;;GAIG;AACI,MAAM,eAAe,GAAG,CAAC,KAAU,EAAW,EAAE;IACrD,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,IAAI,KAAK,EAAE;QACT,IAAI,KAAK,CAAC,IAAI,EAAE;YACd,QAAQ,KAAK,CAAC,IAAI,EAAE;gBAClB,KAAK,EAAE;oBACL,aAAa,GAAG,IAAI,CAAC;oBACrB,MAAM;gBACR,KAAK,IAAI;oBACP,UAAU;oBACV,IAAI,KAAK,CAAC,IAAI,KAAK,4BAA4B,EAAE;wBAC/C,aAAa,GAAG,IAAI,CAAC;qBACtB;oBACD,MAAM;aACT;SACF;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,UAAU,EAAE;YACvC,OAAO;YACP,aAAa,GAAG,IAAI,CAAC;SACtB;KACF;IAED,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAvBW,QAAA,eAAe,mBAuB1B;AAEF;;GAEG;AACH,MAAM,iBAAiB,GAAG;IACxB,GAAG,EAAE,eAAO;IACZ,GAAG,EAAE,eAAO;IACZ,MAAM,EAAE,mBAAW,EAAE;IACrB,aAAa,EAAE,uBAAe;CACtB,CAAC;AAEX,kBAAe,iBAAiB,CAAC"}
package/cache/redis.d.ts DELETED
@@ -1,10 +0,0 @@
1
- export function createRedisCache(config: Object, reconnectAfterError?: Function | undefined, getRepeatStrategy?: Function | undefined, getOnJoinCallback?: Function | undefined, getAfterReconnectingCallback?: Function | undefined): Object;
2
- export function mapServiceOptionsToArgs({ config, reconnectAfterError, getRepeatStrategy, getOnJoinCallback, getAfterReconnectingCallback, }: {
3
- config: Object;
4
- reconnectAfterError: Function;
5
- getRepeatStrategy: Function;
6
- getOnJoinCallback: Function;
7
- getAfterReconnectingCallback: Function;
8
- }): Object;
9
- declare var _default: Function;
10
- export default _default;
package/cache/redis.js DELETED
@@ -1,54 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.mapServiceOptionsToArgs = exports.createRedisCache = void 0;
7
- const ioredis_1 = __importDefault(require("ioredis"));
8
- const util_1 = require("util");
9
- const index_1 = require("../container/index");
10
- const helpers_1 = require("./helpers");
11
- const isFunction_1 = __importDefault(require("lodash/isFunction"));
12
- /**
13
- * Кэширует данные в Redis.
14
- * @param {Object} config Объект с параметрами Redis.
15
- * @param {Function} [reconnectAfterError] Переподключение после ошибки.
16
- * @param {Function} [getRepeatStrategy] Устанавливает время для повтора перезаписи в redis.
17
- * @param {Function} [getOnJoinCallback] Коллбэк функция при коннект статусе.
18
- * @param {Function} [getAfterReconnectingCallback] Коллбэк функция при реконнект статусе.
19
- * @return {Object} Объект с методами для работы с Redis.
20
- */
21
- const createRedisCache = (config, reconnectAfterError = helpers_1.reconnectOnError, getRepeatStrategy, getOnJoinCallback = helpers_1.getOnConnectCallback, getAfterReconnectingCallback = helpers_1.getOnReconnectingCallback) => {
22
- const { cacheConfig = {}, recDelay, defaultCacheDuration, redisEnabled, sentinelEnabled, sentinelConfig, } = config || {};
23
- const cache = { status: null };
24
- if (redisEnabled || sentinelEnabled) {
25
- const client = new ioredis_1.default(redisEnabled ? Object.assign({ reconnectOnError: reconnectAfterError, retryStrategy: isFunction_1.default(getRepeatStrategy) ? getRepeatStrategy(recDelay) : undefined }, cacheConfig) : sentinelConfig);
26
- client.on('connect', getOnJoinCallback(cache));
27
- client.on('reconnecting', getAfterReconnectingCallback(cache));
28
- const getAsync = util_1.promisify(client.get).bind(client);
29
- cache.set = (key, value, duration = defaultCacheDuration) => client.set(key, value, 'EX', duration);
30
- cache.get = key => getAsync(key);
31
- }
32
- return cache;
33
- };
34
- exports.createRedisCache = createRedisCache;
35
- /**
36
- * Преобразует опции сервиса в аргументы функции.
37
- * @param {Object} param Параметры.
38
- * @param {Object} param.config Объект с параметрами Redis.
39
- * @param {Function} param.reconnectAfterError Переподключение после ошибки.
40
- * @param {Function} param.getRepeatStrategy Время для повтора перезаписи в redis.
41
- * @param {Function} param.getOnJoinCallback Устанавливает статус кэша.
42
- * @param {Function} param.getAfterReconnectingCallback Устанавливает статус кэша.
43
- * @return {Object} Config Объект с параметрами Redis.
44
- */
45
- const mapServiceOptionsToArgs = ({ config, reconnectAfterError, getRepeatStrategy, getOnJoinCallback, getAfterReconnectingCallback, }) => [
46
- config,
47
- reconnectAfterError,
48
- getRepeatStrategy,
49
- getOnJoinCallback,
50
- getAfterReconnectingCallback,
51
- ];
52
- exports.mapServiceOptionsToArgs = mapServiceOptionsToArgs;
53
- exports.default = index_1.createService(exports.createRedisCache, exports.mapServiceOptionsToArgs);
54
- //# sourceMappingURL=redis.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redis.js","sourceRoot":"","sources":["../../src/cache/redis.js"],"names":[],"mappings":";;;;;;AAAA,sDAA4B;AAC5B,+BAAiC;AACjC,8CAAmD;AACnD,uCAImB;AACnB,mEAA2C;AAE3C;;;;;;;;GAQG;AACI,MAAM,gBAAgB,GAAG,CAC9B,MAAM,EACN,mBAAmB,GAAG,0BAAgB,EACtC,iBAAiB,EACjB,iBAAiB,GAAG,8BAAoB,EACxC,4BAA4B,GAAG,mCAAyB,EACxD,EAAE;IACF,MAAM,EACJ,WAAW,GAAG,EAAE,EAChB,QAAQ,EACR,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,cAAc,GACf,GAAG,MAAM,IAAI,EAAE,CAAC;IACjB,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAE/B,IAAI,YAAY,IAAI,eAAe,EAAE;QACnC,MAAM,MAAM,GAAG,IAAI,iBAAK,CACtB,YAAY,CAAC,CAAC,iBACZ,gBAAgB,EAAE,mBAAmB,EACrC,aAAa,EAAE,oBAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,IACnF,WAAW,EACd,CAAC,CAAC,cAAc,CACnB,CAAC;QAEF,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAC;QAE/D,MAAM,QAAQ,GAAG,gBAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,GAAG,oBAAoB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpG,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;KAClC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAlCW,QAAA,gBAAgB,oBAkC3B;AAEF;;;;;;;;;GASG;AACI,MAAM,uBAAuB,GAAG,CAAC,EACtC,MAAM,EACN,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,GAC7B,EAAE,EAAE,CAAC;IACJ,MAAM;IACN,mBAAmB;IACnB,iBAAiB;IACjB,iBAAiB;IACjB,4BAA4B;CAC7B,CAAC;AAZW,QAAA,uBAAuB,2BAYlC;AACF,kBAAe,qBAAa,CAAC,wBAAgB,EAAE,+BAAuB,CAAC,CAAC"}
@@ -1,8 +0,0 @@
1
- export function wrapInTrace(tracer: Object, context: Object, cache: Object): Object;
2
- export function mapServiceOptionsToArgs({ tracer, context, cache }: {
3
- tracer: Object;
4
- context: Object;
5
- cache: Object;
6
- }): Object;
7
- declare var _default: Function;
8
- export default _default;
@@ -1,68 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.mapServiceOptionsToArgs = exports.wrapInTrace = void 0;
13
- const container_1 = require("../container");
14
- /**
15
- * Обертка методов кэша.
16
- * @param {Object} tracer Экземпляр jaeger-трейсера.
17
- * @param {Object} context Контекст спана.
18
- * @param {Object} cache Кэш.
19
- * @return {Object} Объект с методами кэша.
20
- */
21
- const wrapInTrace = (tracer, context, cache) => ({
22
- /**
23
- * Получение ключа из кэша.
24
- * @param {string} key Ключ.
25
- * @return {Promise} Промис для получения ответа.
26
- */
27
- get: (key) => __awaiter(void 0, void 0, void 0, function* () {
28
- const span = tracer.startSpan(`Redis GET ${key}`, {
29
- childOf: context,
30
- });
31
- const result = yield cache.get(key);
32
- span.finish();
33
- return result;
34
- }),
35
- /**
36
- * Задаем значение в кэш.
37
- * @param {string} key Ключ.
38
- * @param {string} value Новое значение.
39
- * @param {number} duration Длительность.
40
- */
41
- set: (key, value, duration = 3600) => {
42
- const span = tracer.startSpan(`Redis SET ${key}`, {
43
- childOf: context,
44
- });
45
- cache.set(key, value, duration);
46
- span.finish();
47
- },
48
- /**
49
- * Геттер статуса кэша.
50
- * @return {string} Статус кэша.
51
- */
52
- get status() {
53
- return cache.status;
54
- },
55
- });
56
- exports.wrapInTrace = wrapInTrace;
57
- /**
58
- * Преобразует опции сервиса в аргументы функции.
59
- * @param {Object} param Параметры.
60
- * @param {Object} param.tracer Экземпляр jaeger-трейсера.
61
- * @param {Object} param.context Контекст спана.
62
- * @param {Object} param.cache Кэш.
63
- * @return {Object} Config Объект с параметрами Redis.
64
- */
65
- const mapServiceOptionsToArgs = ({ tracer, context = {}, cache }) => [tracer, context, cache];
66
- exports.mapServiceOptionsToArgs = mapServiceOptionsToArgs;
67
- exports.default = container_1.createService(exports.wrapInTrace, exports.mapServiceOptionsToArgs);
68
- //# sourceMappingURL=wrap-in-trace.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrap-in-trace.js","sourceRoot":"","sources":["../../src/cache/wrap-in-trace.js"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA6C;AAE7C;;;;;;GAMG;AACI,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACtD;;;;OAIG;IACH,GAAG,EAAE,CAAM,GAAG,EAAC,EAAE;QACf,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG,EAAE,EAAE;YAChD,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,MAAM,CAAC;IAChB,CAAC,CAAA;IAED;;;;;OAKG;IACH,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,EAAE,EAAE;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG,EAAE,EAAE;YAChD,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,IAAI,MAAM;QACR,OAAO,KAAK,CAAC,MAAM,CAAC;IACtB,CAAC;CACF,CAAC,CAAC;AApCU,QAAA,WAAW,eAoCrB;AAEH;;;;;;;GAOG;AACI,MAAM,uBAAuB,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAAxF,QAAA,uBAAuB,2BAAiE;AACrG,kBAAe,yBAAa,CAAC,mBAAW,EAAE,+BAAuB,CAAC,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Собирает объект конфигурации из переданных параметров.
3
- * @param {Object} data Объект с данными, которые нужно добавить в конфигурацию.
4
- * @param {Object} base Базовый объект на основе которого строится конфигурация.
5
- * @param {boolean} needFormatKeys Признак форматирования ключей объекта.
6
- * @return {Object} Объект конфигурации.
7
- */
8
- export default function createConfig(data?: Object, base?: Object, needFormatKeys?: boolean): Object;
package/config/create.js DELETED
@@ -1,32 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const isFunction_1 = __importDefault(require("lodash/isFunction"));
7
- const isPlainObject_1 = __importDefault(require("lodash/isPlainObject"));
8
- const format_object_keys_1 = __importDefault(require("../helpers/utils/format-object-keys"));
9
- /**
10
- * Собирает объект конфигурации из переданных параметров.
11
- * @param {Object} data Объект с данными, которые нужно добавить в конфигурацию.
12
- * @param {Object} base Базовый объект на основе которого строится конфигурация.
13
- * @param {boolean} needFormatKeys Признак форматирования ключей объекта.
14
- * @return {Object} Объект конфигурации.
15
- */
16
- function createConfig(data = {}, base = Object.assign({}, process.env), needFormatKeys = true) {
17
- if (!isPlainObject_1.default(data)) {
18
- throw new TypeError('Параметр "data" должен быть чистым объектом');
19
- }
20
- if (!isPlainObject_1.default(base)) {
21
- throw new TypeError('Параметр "base" должен быть чистым объектом');
22
- }
23
- return Object.entries(data).reduce((config, current) => {
24
- const [key, value] = current;
25
- if (!(key in config)) {
26
- config[key] = isFunction_1.default(value) ? value(base) : value;
27
- }
28
- return config;
29
- }, needFormatKeys ? format_object_keys_1.default(Object.assign({}, base)) : base);
30
- }
31
- exports.default = createConfig;
32
- //# sourceMappingURL=create.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/config/create.js"],"names":[],"mappings":";;;;;AAAA,mEAA2C;AAC3C,yEAAiD;AACjD,6FAAmE;AAEnE;;;;;;GAMG;AACH,SAAwB,YAAY,CAClC,IAAI,GAAG,EAAE,EACT,IAAI,qBAAQ,OAAO,CAAC,GAAG,CAAE,EACzB,cAAc,GAAG,IAAI;IAErB,IAAI,CAAC,uBAAa,CAAC,IAAI,CAAC,EAAE;QACxB,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;KACpE;IAED,IAAI,CAAC,uBAAa,CAAC,IAAI,CAAC,EAAE;QACxB,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;KACpE;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QACrD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC;QAE7B,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE;YACpB,MAAM,CAAC,GAAG,CAAC,GAAG,oBAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SACvD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,4BAAgB,mBAAM,IAAI,EAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC;AArBD,+BAqBC"}
@@ -1,11 +0,0 @@
1
- export function defaultValidate(value: any): boolean;
2
- export function getDefaultError(property: string): string;
3
- export function getStringError(property: string, error: string): string;
4
- export function throwError(errorText: string): never;
5
- export function consoleError(errorText: string): void;
6
- export function callError({ property, value, error, type, }: {
7
- property: string;
8
- value: any;
9
- error?: string | Function | undefined;
10
- type: 'error' | 'warning';
11
- }): void;
package/config/helpers.js DELETED
@@ -1,71 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.callError = exports.consoleError = exports.throwError = exports.getStringError = exports.getDefaultError = exports.defaultValidate = void 0;
7
- const isString_1 = __importDefault(require("lodash/isString"));
8
- const isFunction_1 = __importDefault(require("lodash/isFunction"));
9
- const validate_1 = require("./validate");
10
- /**
11
- * Станадртный валидатор, проверяет на непустую строку.
12
- * @param {*} value Значение, которое нужно провалидировать.
13
- * @return {boolean} Валидно ли значение.
14
- */
15
- const defaultValidate = value => isString_1.default(value) && value.length > 0;
16
- exports.defaultValidate = defaultValidate;
17
- /**
18
- * Возвращает текст ошибки про умолчанию.
19
- * @param {string} property Свойство для которого получена ошибка.
20
- * @return {string} Текст ошибки.
21
- */
22
- const getDefaultError = property => `Ошибка конфигрурации приложения: Поле "${property}" заполнено некорректно`;
23
- exports.getDefaultError = getDefaultError;
24
- /**
25
- * Возвращает текст ошибки для переданной строки ошибки.
26
- * @param {string} property Свойство для которого получена ошибка.
27
- * @param {string} error Текст ошибки.
28
- * @return {string} Полный текст ошибки.
29
- */
30
- const getStringError = (property, error) => `Ошибка конфигурации. Поле "${property}": ${error}`;
31
- exports.getStringError = getStringError;
32
- /**
33
- * Выбрасывает ошибку.
34
- * @param {string} errorText Текст ошибки.
35
- */
36
- const throwError = errorText => {
37
- throw new Error(errorText);
38
- };
39
- exports.throwError = throwError;
40
- /**
41
- * Выводит в лог ошибку.
42
- * @param {string} errorText Текст ошибки.
43
- */
44
- const consoleError = errorText => {
45
- // eslint-disable-next-line no-console
46
- console.error(errorText);
47
- };
48
- exports.consoleError = consoleError;
49
- /**
50
- * Вызывает ошибку.
51
- * @param {Object} errorData Данные необходимые для вывода ошибки.
52
- * @param {string} errorData.property Проверяемое свойство конфига.
53
- * @param {*} errorData.value Проверяемое значение.
54
- * @param {Function|string} [errorData.error] Либо функция, вызвающая ошибку, либо текст ошибки.
55
- * @param {'error'|'warning'} errorData.type Тип валидации.
56
- */
57
- const callError = ({ property, value, error, type, }) => {
58
- if (isFunction_1.default(error)) {
59
- error(property, value);
60
- }
61
- else {
62
- const errorText = isString_1.default(error)
63
- ? exports.getStringError(property, error)
64
- : exports.getDefaultError(property);
65
- type === validate_1.RULE_TYPES.error
66
- ? exports.throwError(errorText)
67
- : exports.consoleError(errorText);
68
- }
69
- };
70
- exports.callError = callError;
71
- //# sourceMappingURL=helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/config/helpers.js"],"names":[],"mappings":";;;;;;AAAA,+DAAuC;AACvC,mEAA2C;AAC3C,yCAAwC;AAExC;;;;GAIG;AACI,MAAM,eAAe,GAAG,KAAK,CAAC,EAAE,CAAC,kBAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAA/D,QAAA,eAAe,mBAAgD;AAE5E;;;;GAIG;AACI,MAAM,eAAe,GAAG,QAAQ,CAAC,EAAE,CACxC,0CAA0C,QAAQ,yBAAyB,CAAC;AADjE,QAAA,eAAe,mBACkD;AAE9E;;;;;GAKG;AACI,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAChD,8BAA8B,QAAQ,MAAM,KAAK,EAAE,CAAC;AADzC,QAAA,cAAc,kBAC2B;AAEtD;;;GAGG;AACI,MAAM,UAAU,GAAG,SAAS,CAAC,EAAE;IACpC,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB;AAEF;;;GAGG;AACI,MAAM,YAAY,GAAG,SAAS,CAAC,EAAE;IACtC,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC,CAAC;AAHW,QAAA,YAAY,gBAGvB;AAEF;;;;;;;GAOG;AACI,MAAM,SAAS,GAAG,CAAC,EACxB,QAAQ,EACR,KAAK,EACL,KAAK,EACL,IAAI,GACL,EAAE,EAAE;IACH,IAAI,oBAAU,CAAC,KAAK,CAAC,EAAE;QACrB,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;KACxB;SAAM;QACL,MAAM,SAAS,GAAG,kBAAQ,CAAC,KAAK,CAAC;YAC/B,CAAC,CAAC,sBAAc,CAAC,QAAQ,EAAE,KAAK,CAAC;YACjC,CAAC,CAAC,uBAAe,CAAC,QAAQ,CAAC,CAAC;QAE9B,IAAI,KAAK,qBAAU,CAAC,KAAK;YACvB,CAAC,CAAC,kBAAU,CAAC,SAAS,CAAC;YACvB,CAAC,CAAC,oBAAY,CAAC,SAAS,CAAC,CAAC;KAC7B;AACH,CAAC,CAAC;AAjBW,QAAA,SAAS,aAiBpB"}
@@ -1,18 +0,0 @@
1
- export const RULE_TYPES: Readonly<{
2
- error: string;
3
- warning: string;
4
- }>;
5
- export function getValidatorsList(validation: Object | any[] | Function): any[];
6
- export function checkValue(validate: Function, value: any): boolean;
7
- export function validateValue(property: string, value: any, { validation, ...restRules }: {
8
- validation: Object | any[] | Function;
9
- }): void;
10
- export function validateProperty(config: Object, property: string, rules: Object): void;
11
- export default validateConfig;
12
- /**
13
- * Валидирует конфигурацию.
14
- * @param {Object} config Конфигурация, которую нужно провалидировать.
15
- * @param {Object} validationConfig Конфигурация валидатора.
16
- * @return {Object} Конфигурация приложения.
17
- */
18
- declare function validateConfig(config: Object, validationConfig: Object): Object;
@@ -1,107 +0,0 @@
1
- "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.validateProperty = exports.validateValue = exports.checkValue = exports.getValidatorsList = exports.RULE_TYPES = void 0;
18
- const helpers_1 = require("./helpers");
19
- const isFunction_1 = __importDefault(require("lodash/isFunction"));
20
- const isPlainObject_1 = __importDefault(require("lodash/isPlainObject"));
21
- exports.RULE_TYPES = Object.freeze({
22
- error: 'error',
23
- warning: 'warning',
24
- });
25
- /**
26
- * Возвращает массив валидаторов.
27
- * @param {Object|Array|Function} validation Функция-валидатор, либо объект-валидатор,
28
- * либо массив объектов-валидаторов.
29
- * @return {Array} Массив валидаторов.
30
- */
31
- const getValidatorsList = validation => {
32
- let result = validation;
33
- if (isFunction_1.default(validation)) {
34
- result = [{ validate: validation }];
35
- }
36
- else if (isPlainObject_1.default(validation)) {
37
- result = [validation];
38
- }
39
- return result;
40
- };
41
- exports.getValidatorsList = getValidatorsList;
42
- /**
43
- * Проверяет значение на корректность.
44
- * @param {Function} validate Функция-валидатор.
45
- * @param {*} value Значение.
46
- * @return {boolean} Валидно ли значение.
47
- */
48
- const checkValue = (validate, value) => isFunction_1.default(validate)
49
- ? !validate(value)
50
- : !helpers_1.defaultValidate(value);
51
- exports.checkValue = checkValue;
52
- /**
53
- * Валидирует значение свойства конфигурации.
54
- * @param {string} property Название свойства.
55
- * @param {*} value Значение, которое нужно провалидировать.
56
- * @param {Object} rules Правила валидации,.
57
- * @param {Object|Array|Function} rules.validation Функция-валидатор, либо объект-валидатор,
58
- * либо массив объектов-валидаторов.
59
- */
60
- const validateValue = (property, value, _a) => {
61
- var { validation = helpers_1.defaultValidate } = _a, restRules = __rest(_a, ["validation"]);
62
- const validatorsList = exports.getValidatorsList(validation);
63
- const failedValidator = validatorsList.find(({ validate }) => exports.checkValue(validate, value));
64
- failedValidator && helpers_1.callError(Object.assign(Object.assign({ property,
65
- value }, restRules), failedValidator));
66
- };
67
- exports.validateValue = validateValue;
68
- /**
69
- * Валидирует определенное свойство конфигурации.
70
- * @param {Object} config Объект конфигурации.
71
- * @param {string} property Название свойства.
72
- * @param {Object} rules Объект с описанием правил валидидации свойство.
73
- */
74
- const validateProperty = (config, property, rules) => {
75
- const value = config[property];
76
- const rulesList = Array.isArray(rules) ? rules : [rules];
77
- if (value === undefined) {
78
- const { error, type } = rules;
79
- helpers_1.callError({ property, value, error, type });
80
- }
81
- else {
82
- rulesList.forEach(rule => {
83
- exports.validateValue(property, value, rule);
84
- });
85
- }
86
- };
87
- exports.validateProperty = validateProperty;
88
- /**
89
- * Валидирует конфигурацию.
90
- * @param {Object} config Конфигурация, которую нужно провалидировать.
91
- * @param {Object} validationConfig Конфигурация валидатора.
92
- * @return {Object} Конфигурация приложения.
93
- */
94
- const validateConfig = (config, validationConfig) => {
95
- if (!isPlainObject_1.default(config)) {
96
- throw new TypeError('Конфигурация приложения должна быть чистым объектом');
97
- }
98
- if (!isPlainObject_1.default(validationConfig)) {
99
- throw new TypeError('Конфигурация валидатора должна быть чистым объектом');
100
- }
101
- Object.entries(validationConfig).forEach(([property, rules]) => {
102
- exports.validateProperty(config, property, rules);
103
- });
104
- return config;
105
- };
106
- exports.default = validateConfig;
107
- //# sourceMappingURL=validate.js.map