@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.
- package/cache/types.d.ts +7 -0
- package/cache/types.js +3 -0
- package/cache/types.js.map +1 -0
- package/config/browser.d.ts +6 -0
- package/config/browser.js +13 -0
- package/config/browser.js.map +1 -0
- package/config/index.d.ts +7 -0
- package/config/index.js +20 -0
- package/config/index.js.map +1 -0
- package/config/node.d.ts +6 -0
- package/config/node.js +19 -0
- package/config/node.js.map +1 -0
- package/config/types.d.ts +7 -0
- package/config/types.js +3 -0
- package/config/types.js.map +1 -0
- package/config/utils.d.ts +5 -0
- package/config/utils.js +12 -0
- package/config/utils.js.map +1 -0
- package/container/application.d.ts +25 -0
- package/container/application.js +63 -0
- package/container/application.js.map +1 -0
- package/container/index.d.ts +16 -13
- package/container/index.js +60 -161
- package/container/index.js.map +1 -1
- package/container/types.d.ts +14 -0
- package/container/types.js +3 -0
- package/container/types.js.map +1 -0
- package/error-tracker/browser.d.ts +8 -0
- package/error-tracker/browser.js +40 -0
- package/error-tracker/browser.js.map +1 -0
- package/error-tracker/node.d.ts +8 -0
- package/error-tracker/node.js +40 -0
- package/error-tracker/node.js.map +1 -0
- package/error-tracker/types.d.ts +18 -0
- package/error-tracker/types.js +3 -0
- package/error-tracker/types.js.map +1 -0
- package/error-tracker/utils.d.ts +12 -0
- package/error-tracker/utils.js +19 -0
- package/error-tracker/utils.js.map +1 -0
- package/http-client/middleware/cookie.d.ts +19 -0
- package/http-client/middleware/cookie.js +62 -0
- package/http-client/middleware/cookie.js.map +1 -0
- package/http-client/middleware/tracing.d.ts +32 -0
- package/http-client/middleware/tracing.js +67 -0
- package/http-client/middleware/tracing.js.map +1 -0
- package/http-client/sauce/index.d.ts +27 -0
- package/http-client/sauce/index.js +33 -0
- package/http-client/sauce/index.js.map +1 -0
- package/http-client/types.d.ts +6 -0
- package/http-client/types.js +3 -0
- package/http-client/types.js.map +1 -0
- package/http-client/utils.d.ts +9 -0
- package/http-client/utils.js +20 -0
- package/http-client/utils.js.map +1 -0
- package/http-server/constants.d.ts +4 -0
- package/http-server/constants.js +8 -0
- package/http-server/constants.js.map +1 -0
- package/http-server/handler/health-check.d.ts +6 -0
- package/http-server/handler/health-check.js +15 -0
- package/http-server/handler/health-check.js.map +1 -0
- package/http-server/middleware/logging.d.ts +10 -0
- package/http-server/middleware/logging.js +31 -0
- package/http-server/middleware/logging.js.map +1 -0
- package/http-server/middleware/metrics.d.ts +23 -0
- package/http-server/middleware/metrics.js +60 -0
- package/http-server/middleware/metrics.js.map +1 -0
- package/http-server/middleware/tracing.d.ts +8 -0
- package/http-server/middleware/tracing.js +33 -0
- package/http-server/middleware/tracing.js.map +1 -0
- package/http-server/template/index.d.ts +1 -0
- package/http-server/template/index.js +36 -0
- package/http-server/template/index.js.map +1 -0
- package/http-server/types.d.ts +33 -0
- package/http-server/types.js +3 -0
- package/http-server/types.js.map +1 -0
- package/http-server/utils.d.ts +30 -0
- package/http-server/utils.js +100 -0
- package/http-server/utils.js.map +1 -0
- package/logger/handler/console.d.ts +8 -0
- package/logger/handler/console.js +36 -0
- package/logger/handler/console.js.map +1 -0
- package/logger/handler/sentry.d.ts +8 -0
- package/logger/handler/sentry.js +36 -0
- package/logger/handler/sentry.js.map +1 -0
- package/logger/index.d.ts +6 -0
- package/logger/index.js +31 -0
- package/logger/index.js.map +1 -0
- package/logger/types.d.ts +24 -0
- package/logger/types.js +3 -0
- package/logger/types.js.map +1 -0
- package/metrics/constants.d.ts +4 -0
- package/metrics/constants.js +8 -0
- package/metrics/constants.js.map +1 -0
- package/metrics/node.d.ts +18 -0
- package/metrics/node.js +74 -0
- package/metrics/node.js.map +1 -0
- package/package.json +44 -63
- package/preset/index.d.ts +7 -0
- package/preset/index.js +25 -0
- package/preset/index.js.map +1 -0
- package/preset/node/index.d.ts +15 -0
- package/preset/node/index.js +90 -0
- package/preset/node/index.js.map +1 -0
- package/preset/node/response.d.ts +17 -0
- package/preset/node/response.js +78 -0
- package/preset/node/response.js.map +1 -0
- package/preset/types.d.ts +7 -0
- package/preset/types.js +3 -0
- package/preset/types.js.map +1 -0
- package/saga-runner/index.d.ts +8 -0
- package/saga-runner/index.js +79 -0
- package/saga-runner/index.js.map +1 -0
- package/saga-runner/types.d.ts +10 -0
- package/saga-runner/types.js +3 -0
- package/saga-runner/types.js.map +1 -0
- package/tokens.d.ts +41 -0
- package/tokens.js +44 -0
- package/tokens.js.map +1 -0
- package/tracer/node.d.ts +10 -0
- package/tracer/node.js +38 -0
- package/tracer/node.js.map +1 -0
- package/tracer/types.d.ts +2 -0
- package/tracer/types.js +3 -0
- package/tracer/types.js.map +1 -0
- package/{browser → utils/browser}/analytics/data-layer.d.ts +0 -0
- package/{browser → utils/browser}/analytics/data-layer.js +1 -2
- package/utils/browser/analytics/data-layer.js.map +1 -0
- package/{browser → utils/browser}/analytics/oko.d.ts +0 -0
- package/{browser → utils/browser}/analytics/oko.js +6 -7
- package/utils/browser/analytics/oko.js.map +1 -0
- package/utils/browser/storage/index.d.ts +4 -0
- package/utils/browser/storage/index.js +63 -0
- package/utils/browser/storage/index.js.map +1 -0
- package/utils/number.d.ts +6 -0
- package/utils/number.js +13 -0
- package/utils/number.js.map +1 -0
- package/utils/react/error-handlers/index.d.ts +38 -0
- package/utils/react/error-handlers/index.js +47 -0
- package/utils/react/error-handlers/index.js.map +1 -0
- package/utils/redux/remote-data.d.ts +23 -0
- package/utils/redux/remote-data.js +28 -0
- package/utils/redux/remote-data.js.map +1 -0
- package/utils/redux-saga/take-chain.d.ts +24 -0
- package/utils/redux-saga/take-chain.js +56 -0
- package/utils/redux-saga/take-chain.js.map +1 -0
- package/utils/webpack/module-federation/index.d.ts +21 -0
- package/utils/webpack/module-federation/index.js +74 -0
- package/utils/webpack/module-federation/index.js.map +1 -0
- package/utils/webpack/module-federation/types.d.ts +26 -0
- package/utils/webpack/module-federation/types.js +3 -0
- package/utils/webpack/module-federation/types.js.map +1 -0
- package/utils/webpack/module-federation/utils.d.ts +15 -0
- package/utils/webpack/module-federation/utils.js +36 -0
- package/utils/webpack/module-federation/utils.js.map +1 -0
- package/browser/analytics/data-layer.js.map +0 -1
- package/browser/analytics/oko.js.map +0 -1
- package/cache/helpers.d.ts +0 -4
- package/cache/helpers.js +0 -39
- package/cache/helpers.js.map +0 -1
- package/cache/local-storage.d.ts +0 -34
- package/cache/local-storage.js +0 -90
- package/cache/local-storage.js.map +0 -1
- package/cache/redis.d.ts +0 -10
- package/cache/redis.js +0 -54
- package/cache/redis.js.map +0 -1
- package/cache/wrap-in-trace.d.ts +0 -8
- package/cache/wrap-in-trace.js +0 -68
- package/cache/wrap-in-trace.js.map +0 -1
- package/config/create.d.ts +0 -8
- package/config/create.js +0 -32
- package/config/create.js.map +0 -1
- package/config/helpers.d.ts +0 -11
- package/config/helpers.js +0 -71
- package/config/helpers.js.map +0 -1
- package/config/validate.d.ts +0 -18
- package/config/validate.js +0 -107
- package/config/validate.js.map +0 -1
- package/container/create-inject.d.ts +0 -7
- package/container/create-inject.js +0 -36
- package/container/create-inject.js.map +0 -1
- package/container/get-dependencies.d.ts +0 -13
- package/container/get-dependencies.js +0 -54
- package/container/get-dependencies.js.map +0 -1
- package/container/is-container.d.ts +0 -7
- package/container/is-container.js +0 -17
- package/container/is-container.js.map +0 -1
- package/container/service-not-found-error.d.ts +0 -10
- package/container/service-not-found-error.js +0 -18
- package/container/service-not-found-error.js.map +0 -1
- package/create-proxy/create-proxy-middleware/index.d.ts +0 -16
- package/create-proxy/create-proxy-middleware/index.js +0 -47
- package/create-proxy/create-proxy-middleware/index.js.map +0 -1
- package/create-proxy/index.d.ts +0 -12
- package/create-proxy/index.js +0 -25
- package/create-proxy/index.js.map +0 -1
- package/create-response-sender/index.d.ts +0 -8
- package/create-response-sender/index.js +0 -42
- package/create-response-sender/index.js.map +0 -1
- package/get-dynamic-data/index.d.ts +0 -8
- package/get-dynamic-data/index.js +0 -23
- package/get-dynamic-data/index.js.map +0 -1
- package/graceful-shutdown/index.d.ts +0 -26
- package/graceful-shutdown/index.js +0 -87
- package/graceful-shutdown/index.js.map +0 -1
- package/helpers/add-error-handling/index.d.ts +0 -1
- package/helpers/add-error-handling/index.js +0 -42
- package/helpers/add-error-handling/index.js.map +0 -1
- package/helpers/api/create-enhancer.d.ts +0 -12
- package/helpers/api/create-enhancer.js +0 -52
- package/helpers/api/create-enhancer.js.map +0 -1
- package/helpers/api/create-instance.d.ts +0 -11
- package/helpers/api/create-instance.js +0 -39
- package/helpers/api/create-instance.js.map +0 -1
- package/helpers/api/middlewares/collect-cookie-middleware.d.ts +0 -10
- package/helpers/api/middlewares/collect-cookie-middleware.js +0 -39
- package/helpers/api/middlewares/collect-cookie-middleware.js.map +0 -1
- package/helpers/api/middlewares/count-api-response-time.d.ts +0 -12
- package/helpers/api/middlewares/count-api-response-time.js +0 -39
- package/helpers/api/middlewares/count-api-response-time.js.map +0 -1
- package/helpers/api/middlewares/error-handlers-middlewares.d.ts +0 -5
- package/helpers/api/middlewares/error-handlers-middlewares.js +0 -114
- package/helpers/api/middlewares/error-handlers-middlewares.js.map +0 -1
- package/helpers/api/middlewares/helpers.d.ts +0 -11
- package/helpers/api/middlewares/helpers.js +0 -27
- package/helpers/api/middlewares/helpers.js.map +0 -1
- package/helpers/api/middlewares/pass-headers-middleware.d.ts +0 -3
- package/helpers/api/middlewares/pass-headers-middleware.js +0 -27
- package/helpers/api/middlewares/pass-headers-middleware.js.map +0 -1
- package/helpers/api/middlewares/prepare-request-headers.d.ts +0 -5
- package/helpers/api/middlewares/prepare-request-headers.js +0 -20
- package/helpers/api/middlewares/prepare-request-headers.js.map +0 -1
- package/helpers/api/middlewares/set-http-agents-middleware.d.ts +0 -15
- package/helpers/api/middlewares/set-http-agents-middleware.js +0 -34
- package/helpers/api/middlewares/set-http-agents-middleware.js.map +0 -1
- package/helpers/api/middlewares/stages-trace-middleware.d.ts +0 -17
- package/helpers/api/middlewares/stages-trace-middleware.js +0 -57
- package/helpers/api/middlewares/stages-trace-middleware.js.map +0 -1
- package/helpers/api/middlewares/trace-request-middleware.d.ts +0 -24
- package/helpers/api/middlewares/trace-request-middleware.js +0 -69
- package/helpers/api/middlewares/trace-request-middleware.js.map +0 -1
- package/helpers/api/server-adapter/__fixtures__/fake-keys.d.ts +0 -10
- package/helpers/api/server-adapter/__fixtures__/fake-keys.js +0 -61
- package/helpers/api/server-adapter/__fixtures__/fake-keys.js.map +0 -1
- package/helpers/api/server-adapter/constants.d.ts +0 -5
- package/helpers/api/server-adapter/constants.js +0 -16
- package/helpers/api/server-adapter/constants.js.map +0 -1
- package/helpers/api/server-adapter/helpers.d.ts +0 -26
- package/helpers/api/server-adapter/helpers.js +0 -208
- package/helpers/api/server-adapter/helpers.js.map +0 -1
- package/helpers/api/server-adapter/index.d.ts +0 -10
- package/helpers/api/server-adapter/index.js +0 -118
- package/helpers/api/server-adapter/index.js.map +0 -1
- package/helpers/development/use-dot-env.d.ts +0 -6
- package/helpers/development/use-dot-env.js +0 -11
- package/helpers/development/use-dot-env.js.map +0 -1
- package/helpers/get-params/index.d.ts +0 -4
- package/helpers/get-params/index.js +0 -51
- package/helpers/get-params/index.js.map +0 -1
- package/helpers/http/request-getters.d.ts +0 -5
- package/helpers/http/request-getters.js +0 -49
- package/helpers/http/request-getters.js.map +0 -1
- package/helpers/http/statuses-validator.d.ts +0 -3
- package/helpers/http/statuses-validator.js +0 -25
- package/helpers/http/statuses-validator.js.map +0 -1
- package/helpers/logger/create-pino-instance/index.d.ts +0 -6
- package/helpers/logger/create-pino-instance/index.js +0 -39
- package/helpers/logger/create-pino-instance/index.js.map +0 -1
- package/helpers/logger/format-time/index.d.ts +0 -6
- package/helpers/logger/format-time/index.js +0 -9
- package/helpers/logger/format-time/index.js.map +0 -1
- package/helpers/metrics/index.d.ts +0 -23
- package/helpers/metrics/index.js +0 -42
- package/helpers/metrics/index.js.map +0 -1
- package/helpers/prometheus/index.d.ts +0 -4
- package/helpers/prometheus/index.js +0 -13
- package/helpers/prometheus/index.js.map +0 -1
- package/helpers/prometheus/measure-middleware.d.ts +0 -5
- package/helpers/prometheus/measure-middleware.js +0 -69
- package/helpers/prometheus/measure-middleware.js.map +0 -1
- package/helpers/prometheus/metric-adapter.d.ts +0 -36
- package/helpers/prometheus/metric-adapter.js +0 -98
- package/helpers/prometheus/metric-adapter.js.map +0 -1
- package/helpers/react/error-handlers/index.d.ts +0 -40
- package/helpers/react/error-handlers/index.js +0 -52
- package/helpers/react/error-handlers/index.js.map +0 -1
- package/helpers/redux/constants.d.ts +0 -5
- package/helpers/redux/constants.js +0 -14
- package/helpers/redux/constants.js.map +0 -1
- package/helpers/redux/create-compose-middleware.d.ts +0 -15
- package/helpers/redux/create-compose-middleware.js +0 -23
- package/helpers/redux/create-compose-middleware.js.map +0 -1
- package/helpers/redux/get-dev-compose-creator.d.ts +0 -6
- package/helpers/redux/get-dev-compose-creator.js +0 -13
- package/helpers/redux/get-dev-compose-creator.js.map +0 -1
- package/helpers/redux/prepare-on-ready.d.ts +0 -9
- package/helpers/redux/prepare-on-ready.js +0 -16
- package/helpers/redux/prepare-on-ready.js.map +0 -1
- package/helpers/redux/remote-data.d.ts +0 -40
- package/helpers/redux/remote-data.js +0 -91
- package/helpers/redux/remote-data.js.map +0 -1
- package/helpers/redux/selector/statuses.d.ts +0 -23
- package/helpers/redux/selector/statuses.js +0 -34
- package/helpers/redux/selector/statuses.js.map +0 -1
- package/helpers/redux/wait-on-store-readiness.d.ts +0 -11
- package/helpers/redux/wait-on-store-readiness.js +0 -29
- package/helpers/redux/wait-on-store-readiness.js.map +0 -1
- package/helpers/render/get-react-markup-data.d.ts +0 -14
- package/helpers/render/get-react-markup-data.js +0 -20
- package/helpers/render/get-react-markup-data.js.map +0 -1
- package/helpers/render/index.d.ts +0 -21
- package/helpers/render/index.js +0 -72
- package/helpers/render/index.js.map +0 -1
- package/helpers/render/render-app.d.ts +0 -12
- package/helpers/render/render-app.js +0 -12
- package/helpers/render/render-app.js.map +0 -1
- package/helpers/saga/__fixtures__/do-safe-request.d.ts +0 -43
- package/helpers/saga/__fixtures__/do-safe-request.js +0 -50
- package/helpers/saga/__fixtures__/do-safe-request.js.map +0 -1
- package/helpers/saga/cache-result.d.ts +0 -46
- package/helpers/saga/cache-result.js +0 -71
- package/helpers/saga/cache-result.js.map +0 -1
- package/helpers/saga/create-store.d.ts +0 -20
- package/helpers/saga/create-store.js +0 -106
- package/helpers/saga/create-store.js.map +0 -1
- package/helpers/saga/do-safe-request.d.ts +0 -38
- package/helpers/saga/do-safe-request.js +0 -45
- package/helpers/saga/do-safe-request.js.map +0 -1
- package/helpers/saga/safe-request.d.ts +0 -7
- package/helpers/saga/safe-request.js +0 -15
- package/helpers/saga/safe-request.js.map +0 -1
- package/helpers/saga/take-chain.d.ts +0 -20
- package/helpers/saga/take-chain.js +0 -56
- package/helpers/saga/take-chain.js.map +0 -1
- package/helpers/tracer/create-child-tracing-middleware.d.ts +0 -7
- package/helpers/tracer/create-child-tracing-middleware.js +0 -40
- package/helpers/tracer/create-child-tracing-middleware.js.map +0 -1
- package/helpers/tracer/index.d.ts +0 -24
- package/helpers/tracer/index.js +0 -144
- package/helpers/tracer/index.js.map +0 -1
- package/helpers/utils/check-feature-by-segment.d.ts +0 -2
- package/helpers/utils/check-feature-by-segment.js +0 -31
- package/helpers/utils/check-feature-by-segment.js.map +0 -1
- package/helpers/utils/format-object-keys.d.ts +0 -6
- package/helpers/utils/format-object-keys.js +0 -27
- package/helpers/utils/format-object-keys.js.map +0 -1
- package/helpers/utils/get-ms-from-hrt.d.ts +0 -2
- package/helpers/utils/get-ms-from-hrt.js +0 -22
- package/helpers/utils/get-ms-from-hrt.js.map +0 -1
- package/helpers/utils/is-match-pattern-list.d.ts +0 -8
- package/helpers/utils/is-match-pattern-list.js +0 -16
- package/helpers/utils/is-match-pattern-list.js.map +0 -1
- package/helpers/utils/is-not-empty-array.d.ts +0 -2
- package/helpers/utils/is-not-empty-array.js +0 -12
- package/helpers/utils/is-not-empty-array.js.map +0 -1
- package/helpers/utils/is-not-empty-string.d.ts +0 -2
- package/helpers/utils/is-not-empty-string.js +0 -15
- package/helpers/utils/is-not-empty-string.js.map +0 -1
- package/helpers/utils/is-numeric.d.ts +0 -7
- package/helpers/utils/is-numeric.js +0 -16
- package/helpers/utils/is-numeric.js.map +0 -1
- package/helpers/utils/wrap-in-measure-event.d.ts +0 -9
- package/helpers/utils/wrap-in-measure-event.js +0 -50
- package/helpers/utils/wrap-in-measure-event.js.map +0 -1
- package/logger/create-logger-middleware/index.d.ts +0 -14
- package/logger/create-logger-middleware/index.js +0 -41
- package/logger/create-logger-middleware/index.js.map +0 -1
- package/logger/create-sentry-instance/index.d.ts +0 -29
- package/logger/create-sentry-instance/index.js +0 -63
- package/logger/create-sentry-instance/index.js.map +0 -1
- package/logger/create-sentry-middleware/index.d.ts +0 -14
- package/logger/create-sentry-middleware/index.js +0 -19
- package/logger/create-sentry-middleware/index.js.map +0 -1
- package/logger/handler-creators/index.d.ts +0 -5
- package/logger/handler-creators/index.js +0 -41
- package/logger/handler-creators/index.js.map +0 -1
- package/logger/initialize-sentry-creator/index.d.ts +0 -17
- package/logger/initialize-sentry-creator/index.js +0 -35
- package/logger/initialize-sentry-creator/index.js.map +0 -1
- package/logger/sentry-logger/index.d.ts +0 -9
- package/logger/sentry-logger/index.js +0 -36
- package/logger/sentry-logger/index.js.map +0 -1
- package/module-federation/__example__/webpack-config.example.d.ts +0 -366
- package/module-federation/__example__/webpack-config.example.js +0 -58
- package/module-federation/__example__/webpack-config.example.js.map +0 -1
- package/module-federation/enhanced-module-federation-plugin.d.ts +0 -69
- package/module-federation/enhanced-module-federation-plugin.js +0 -97
- package/module-federation/enhanced-module-federation-plugin.js.map +0 -1
- package/module-federation/utils/index.d.ts +0 -16
- package/module-federation/utils/index.js +0 -33
- package/module-federation/utils/index.js.map +0 -1
- package/observe-middleware/index.d.ts +0 -9
- package/observe-middleware/index.js +0 -67
- package/observe-middleware/index.js.map +0 -1
- package/set-header-middleware/create.d.ts +0 -10
- package/set-header-middleware/create.js +0 -16
- package/set-header-middleware/create.js.map +0 -1
- package/src/browser/analytics/data-layer.ts +0 -12
- package/src/browser/analytics/oko.ts +0 -42
- package/src/cache/helpers.js +0 -32
- package/src/cache/local-storage.ts +0 -92
- package/src/cache/redis.js +0 -79
- package/src/cache/wrap-in-trace.js +0 -57
- package/src/config/create.js +0 -33
- package/src/config/helpers.js +0 -71
- package/src/config/validate.js +0 -114
- package/src/container/create-inject.js +0 -32
- package/src/container/get-dependencies.js +0 -46
- package/src/container/index.js +0 -188
- package/src/container/is-container.js +0 -14
- package/src/container/service-not-found-error.js +0 -14
- package/src/create-proxy/create-proxy-middleware/index.js +0 -47
- package/src/create-proxy/index.js +0 -27
- package/src/create-response-sender/index.js +0 -48
- package/src/get-dynamic-data/index.js +0 -26
- package/src/graceful-shutdown/index.js +0 -97
- package/src/helpers/add-error-handling/index.js +0 -24
- package/src/helpers/api/create-enhancer.js +0 -52
- package/src/helpers/api/create-instance.js +0 -42
- package/src/helpers/api/middlewares/collect-cookie-middleware.js +0 -27
- package/src/helpers/api/middlewares/count-api-response-time.js +0 -31
- package/src/helpers/api/middlewares/error-handlers-middlewares.js +0 -124
- package/src/helpers/api/middlewares/helpers.js +0 -26
- package/src/helpers/api/middlewares/pass-headers-middleware.js +0 -19
- package/src/helpers/api/middlewares/prepare-request-headers.js +0 -18
- package/src/helpers/api/middlewares/set-http-agents-middleware.js +0 -22
- package/src/helpers/api/middlewares/stages-trace-middleware.js +0 -46
- package/src/helpers/api/middlewares/trace-request-middleware.ts +0 -86
- package/src/helpers/api/server-adapter/__fixtures__/fake-keys.js +0 -58
- package/src/helpers/api/server-adapter/constants.js +0 -12
- package/src/helpers/api/server-adapter/helpers.js +0 -244
- package/src/helpers/api/server-adapter/index.js +0 -155
- package/src/helpers/development/use-dot-env.js +0 -9
- package/src/helpers/get-params/index.js +0 -59
- package/src/helpers/http/request-getters.js +0 -42
- package/src/helpers/http/statuses-validator.js +0 -20
- package/src/helpers/logger/create-pino-instance/index.js +0 -41
- package/src/helpers/logger/format-time/index.js +0 -6
- package/src/helpers/metrics/index.js +0 -40
- package/src/helpers/prometheus/index.js +0 -9
- package/src/helpers/prometheus/measure-middleware.js +0 -73
- package/src/helpers/prometheus/metric-adapter.js +0 -99
- package/src/helpers/react/error-handlers/index.tsx +0 -68
- package/src/helpers/redux/constants.js +0 -10
- package/src/helpers/redux/create-compose-middleware.js +0 -24
- package/src/helpers/redux/get-dev-compose-creator.js +0 -9
- package/src/helpers/redux/prepare-on-ready.js +0 -16
- package/src/helpers/redux/remote-data.js +0 -124
- package/src/helpers/redux/selector/statuses.js +0 -30
- package/src/helpers/redux/wait-on-store-readiness.js +0 -40
- package/src/helpers/render/get-react-markup-data.js +0 -18
- package/src/helpers/render/index.js +0 -69
- package/src/helpers/render/render-app.js +0 -15
- package/src/helpers/saga/__fixtures__/do-safe-request.js +0 -49
- package/src/helpers/saga/cache-result.js +0 -77
- package/src/helpers/saga/create-store.js +0 -102
- package/src/helpers/saga/do-safe-request.js +0 -47
- package/src/helpers/saga/safe-request.js +0 -11
- package/src/helpers/saga/take-chain.js +0 -53
- package/src/helpers/tracer/create-child-tracing-middleware.js +0 -42
- package/src/helpers/tracer/index.js +0 -171
- package/src/helpers/utils/check-feature-by-segment.js +0 -32
- package/src/helpers/utils/format-object-keys.js +0 -23
- package/src/helpers/utils/get-ms-from-hrt.js +0 -16
- package/src/helpers/utils/is-match-pattern-list.js +0 -13
- package/src/helpers/utils/is-not-empty-array.js +0 -8
- package/src/helpers/utils/is-not-empty-string.js +0 -11
- package/src/helpers/utils/is-numeric.ts +0 -12
- package/src/helpers/utils/wrap-in-measure-event.js +0 -35
- package/src/logger/create-logger-middleware/index.js +0 -46
- package/src/logger/create-sentry-instance/index.js +0 -74
- package/src/logger/create-sentry-middleware/index.js +0 -16
- package/src/logger/handler-creators/index.js +0 -38
- package/src/logger/initialize-sentry-creator/index.js +0 -43
- package/src/logger/sentry-logger/index.js +0 -33
- package/src/module-federation/__example__/webpack-config.example.js +0 -64
- package/src/module-federation/enhanced-module-federation-plugin.js +0 -119
- package/src/module-federation/utils/index.js +0 -39
- package/src/observe-middleware/index.js +0 -70
- package/src/set-header-middleware/create.js +0 -17
|
@@ -1,51 +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.parseHttpHeaders = exports.getParams = void 0;
|
|
7
|
-
const get_1 = __importDefault(require("lodash/get"));
|
|
8
|
-
const isFunction_1 = __importDefault(require("lodash/isFunction"));
|
|
9
|
-
const container_1 = require("../../container");
|
|
10
|
-
/**
|
|
11
|
-
* Генерирует параметры приложения.
|
|
12
|
-
* @param {Object} request Запрос.
|
|
13
|
-
* @param {Object} config Конфиг приложения.
|
|
14
|
-
* @param {Function} getValue Генератор значения.
|
|
15
|
-
* @param {Function} modify Модификатор Значения.
|
|
16
|
-
* @param {Object} defaultValue Значение поумолчанию.
|
|
17
|
-
* @return {Object} Параметры приложения.
|
|
18
|
-
*/
|
|
19
|
-
const getParams = (request, config, getValue = () => { }, modify, defaultValue) => {
|
|
20
|
-
let result = getValue(request);
|
|
21
|
-
if (!result) {
|
|
22
|
-
result = defaultValue;
|
|
23
|
-
}
|
|
24
|
-
if (isFunction_1.default(modify)) {
|
|
25
|
-
result = modify(result, request, config);
|
|
26
|
-
}
|
|
27
|
-
return result;
|
|
28
|
-
};
|
|
29
|
-
exports.getParams = getParams;
|
|
30
|
-
/**
|
|
31
|
-
* Парсит заголовок запроса.
|
|
32
|
-
* @param {Object} request Запрос.
|
|
33
|
-
* @return {Object} Параметры.
|
|
34
|
-
*/
|
|
35
|
-
const parseHttpHeaders = request => {
|
|
36
|
-
/**
|
|
37
|
-
* Node.js переводит в ASCII.
|
|
38
|
-
* @see {https://github.com/nodejs/node/issues/17390}
|
|
39
|
-
*/
|
|
40
|
-
const params = Buffer.from(get_1.default(request, 'headers[simaland-params]', ''), 'binary').toString('utf8');
|
|
41
|
-
return params ? JSON.parse(params) : null;
|
|
42
|
-
};
|
|
43
|
-
exports.parseHttpHeaders = parseHttpHeaders;
|
|
44
|
-
exports.default = container_1.createService(exports.getParams, ({ request, config, getValue, modify, defaultValue, }) => [
|
|
45
|
-
request,
|
|
46
|
-
config,
|
|
47
|
-
getValue,
|
|
48
|
-
modify,
|
|
49
|
-
defaultValue,
|
|
50
|
-
]);
|
|
51
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/get-params/index.js"],"names":[],"mappings":";;;;;;AAAA,qDAA6B;AAC7B,mEAA2C;AAC3C,+CAAgD;AAEhD;;;;;;;;GAQG;AACI,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE;IACtF,IAAI,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,GAAG,YAAY,CAAC;KACvB;IACD,IAAI,oBAAU,CAAC,MAAM,CAAC,EAAE;QACtB,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;KAC1C;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AATW,QAAA,SAAS,aASpB;AAEF;;;;GAIG;AACI,MAAM,gBAAgB,GAAG,OAAO,CAAC,EAAE;IACxC;;;OAGG;IACH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CACxB,aAAG,CAAC,OAAO,EAAE,0BAA0B,EAAE,EAAE,CAAC,EAC5C,QAAQ,CACT,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnB,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5C,CAAC,CAAC;AAVW,QAAA,gBAAgB,oBAU3B;AAEF,kBAAe,yBAAa,CAC1B,iBAAS,EACT,CACE,EACE,OAAO,EACP,MAAM,EACN,QAAQ,EACR,MAAM,EACN,YAAY,GACb,EACD,EAAE,CAAC;IACH,OAAO;IACP,MAAM;IACN,QAAQ;IACR,MAAM;IACN,YAAY;CACb,CACF,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export function getXClientIp({ request }: Object): string;
|
|
2
|
-
export function getMethod({ request }: Object): string;
|
|
3
|
-
export function getStatus({ response }: Object): number;
|
|
4
|
-
export function getOriginalUrl({ request }: Object): number;
|
|
5
|
-
export function getCookie(request: Object): string;
|
|
@@ -1,49 +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.getCookie = exports.getOriginalUrl = exports.getStatus = exports.getMethod = exports.getXClientIp = void 0;
|
|
7
|
-
const net_1 = require("net");
|
|
8
|
-
const isFunction_1 = __importDefault(require("lodash/isFunction"));
|
|
9
|
-
/**
|
|
10
|
-
* Получает IP пользователя из заголовков запроса.
|
|
11
|
-
* @param {Object} request Запрос.
|
|
12
|
-
* @return {string} IP пользователя.
|
|
13
|
-
*/
|
|
14
|
-
const getXClientIp = ({ request }) => {
|
|
15
|
-
const ip = request.headers['x-client-ip']
|
|
16
|
-
|| request.headers['x-forwarded-for']
|
|
17
|
-
|| request.connection.remoteAddress;
|
|
18
|
-
return net_1.isIP(ip) ? ip : '';
|
|
19
|
-
};
|
|
20
|
-
exports.getXClientIp = getXClientIp;
|
|
21
|
-
/**
|
|
22
|
-
* Получает метод запроса из объекта запроса.
|
|
23
|
-
* @param {Object} request Запрос.
|
|
24
|
-
* @return {string} Метод запроса.
|
|
25
|
-
*/
|
|
26
|
-
const getMethod = ({ request }) => request.method;
|
|
27
|
-
exports.getMethod = getMethod;
|
|
28
|
-
/**
|
|
29
|
-
* Получает статус ответа из объекта ответа.
|
|
30
|
-
* @param {Object} response Ответ.
|
|
31
|
-
* @return {number} Статус ответа.
|
|
32
|
-
*/
|
|
33
|
-
const getStatus = ({ response }) => response.statusCode;
|
|
34
|
-
exports.getStatus = getStatus;
|
|
35
|
-
/**
|
|
36
|
-
* Получает оригинальный url из объекта запроса.
|
|
37
|
-
* @param {Object} request Запрос.
|
|
38
|
-
* @return {number} Url запроса.
|
|
39
|
-
*/
|
|
40
|
-
const getOriginalUrl = ({ request }) => request.originalUrl;
|
|
41
|
-
exports.getOriginalUrl = getOriginalUrl;
|
|
42
|
-
/**
|
|
43
|
-
* Получает куки из запроса.
|
|
44
|
-
* @param {Object} request Запрос.
|
|
45
|
-
* @return {string} Куки.
|
|
46
|
-
*/
|
|
47
|
-
const getCookie = request => (request && isFunction_1.default(request.get) && request.get('cookie')) || '';
|
|
48
|
-
exports.getCookie = getCookie;
|
|
49
|
-
//# sourceMappingURL=request-getters.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request-getters.js","sourceRoot":"","sources":["../../../src/helpers/http/request-getters.js"],"names":[],"mappings":";;;;;;AAAA,6BAA2B;AAC3B,mEAA2C;AAE3C;;;;GAIG;AACI,MAAM,YAAY,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IAC1C,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;WACpC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC;WAClC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;IACtC,OAAO,UAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5B,CAAC,CAAC;AALW,QAAA,YAAY,gBAKvB;AAEF;;;;GAIG;AACI,MAAM,SAAS,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;AAA5C,QAAA,SAAS,aAAmC;AAEzD;;;;GAIG;AACI,MAAM,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;AAAlD,QAAA,SAAS,aAAyC;AAE/D;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;AAAtD,QAAA,cAAc,kBAAwC;AAEnE;;;;GAIG;AACI,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,IAAI,oBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;AAA3F,QAAA,SAAS,aAAkF"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isOkStatus = exports.validateDeleteStatus = exports.validatePostStatus = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Валидация http статуса ответа на POST запрос.
|
|
6
|
-
* @param {number} status Статус http ответа.
|
|
7
|
-
* @return {boolean} Валидность.
|
|
8
|
-
*/
|
|
9
|
-
const validatePostStatus = status => status === 201;
|
|
10
|
-
exports.validatePostStatus = validatePostStatus;
|
|
11
|
-
/**
|
|
12
|
-
* Валидация http статуса ответа на DELETE запрос.
|
|
13
|
-
* @param {number} status Статус http ответа.
|
|
14
|
-
* @return {boolean} Валидность.
|
|
15
|
-
*/
|
|
16
|
-
const validateDeleteStatus = status => status === 204 || status === 200;
|
|
17
|
-
exports.validateDeleteStatus = validateDeleteStatus;
|
|
18
|
-
/**
|
|
19
|
-
* Валидация http статуса 200.
|
|
20
|
-
* @param {number} status Статус http ответа.
|
|
21
|
-
* @return {boolean} Валидность.
|
|
22
|
-
*/
|
|
23
|
-
const isOkStatus = status => status === 200;
|
|
24
|
-
exports.isOkStatus = isOkStatus;
|
|
25
|
-
//# sourceMappingURL=statuses-validator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"statuses-validator.js","sourceRoot":"","sources":["../../../src/helpers/http/statuses-validator.js"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACI,MAAM,kBAAkB,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,GAAG,CAAC;AAA9C,QAAA,kBAAkB,sBAA4B;AAE3D;;;;GAIG;AACI,MAAM,oBAAoB,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC;AAAlE,QAAA,oBAAoB,wBAA8C;AAE/E;;;;GAIG;AACI,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,GAAG,CAAC;AAAtC,QAAA,UAAU,cAA4B"}
|
|
@@ -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
|
-
const pino_1 = __importDefault(require("pino"));
|
|
7
|
-
const format_time_1 = __importDefault(require("../format-time"));
|
|
8
|
-
const isPlainObject_1 = __importDefault(require("lodash/isPlainObject"));
|
|
9
|
-
/**
|
|
10
|
-
* Модуль создающий экземпляр логгера.
|
|
11
|
-
* @param {Object} options Зависимости модуля.
|
|
12
|
-
* @return {Function} Функция, которая создает логгер.
|
|
13
|
-
*/
|
|
14
|
-
function createPinoInstance({ config } = {}) {
|
|
15
|
-
/**
|
|
16
|
-
* Функция, которая создает экземпляр логгера.
|
|
17
|
-
* @param {Object} param Параметры.
|
|
18
|
-
* @param {string|number} param.timestamp Время.
|
|
19
|
-
* @param {boolean} param.isProduction Является ли production-сборкой.
|
|
20
|
-
* @param {boolean} param.hasColorize Нужно ли выделять цветом.
|
|
21
|
-
* @return {Function} Экземпляр логгера.
|
|
22
|
-
*/
|
|
23
|
-
const loggerCreator = ({ timestamp, isProduction, hasColorize, }) => {
|
|
24
|
-
const logger = pino_1.default({
|
|
25
|
-
timestamp,
|
|
26
|
-
prettyPrint: hasColorize && { colorize: true },
|
|
27
|
-
useLevelLabels: true,
|
|
28
|
-
});
|
|
29
|
-
logger.extreme = isProduction;
|
|
30
|
-
return logger;
|
|
31
|
-
};
|
|
32
|
-
return loggerCreator({
|
|
33
|
-
timestamp: format_time_1.default,
|
|
34
|
-
isProduction: isPlainObject_1.default(config) ? config.isProduction : true,
|
|
35
|
-
hasColorize: isPlainObject_1.default(config) ? config.isDevelopment : false,
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
exports.default = createPinoInstance;
|
|
39
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/logger/create-pino-instance/index.js"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,iEAAwC;AACxC,yEAAiD;AAEjD;;;;GAIG;AACH,SAAwB,kBAAkB,CAAE,EAAE,MAAM,EAAE,GAAG,EAAE;IACzD;;;;;;;OAOG;IACH,MAAM,aAAa,GAAG,CACpB,EACE,SAAS,EACT,YAAY,EACZ,WAAW,GACZ,EACD,EAAE;QACF,MAAM,MAAM,GAAG,cAAI,CAAC;YAClB,SAAS;YACT,WAAW,EAAE,WAAW,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC9C,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC;QAE9B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,aAAa,CAAC;QACnB,SAAS,EAAE,qBAAU;QACrB,YAAY,EAAE,uBAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;QAChE,WAAW,EAAE,uBAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK;KAClE,CAAC,CAAC;AACL,CAAC;AA/BD,qCA+BC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
/**
|
|
4
|
-
* Форматирует дату.
|
|
5
|
-
* @return {string} Строка с датой в формате ISO.
|
|
6
|
-
*/
|
|
7
|
-
const formatTime = () => `,"time":"${new Date().toISOString()}"`;
|
|
8
|
-
exports.default = formatTime;
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/logger/format-time/index.js"],"names":[],"mappings":";;AAAA;;;GAGG;AACH,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC;AACjE,kBAAe,UAAU,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export function labelsResolver({ dependencies: { config }, request, response }: {
|
|
2
|
-
dependencies: {
|
|
3
|
-
config: Object;
|
|
4
|
-
};
|
|
5
|
-
request: import('http').IncomingMessage;
|
|
6
|
-
response: import('http').ServerResponse;
|
|
7
|
-
}): {
|
|
8
|
-
route: string;
|
|
9
|
-
place: string;
|
|
10
|
-
statusCode: number;
|
|
11
|
-
};
|
|
12
|
-
export function createResponseEventSubscriber(eventName: string): (arg0: {
|
|
13
|
-
response: import('http').ServerResponse;
|
|
14
|
-
callback: Function;
|
|
15
|
-
}) => import('http').ServerResponse;
|
|
16
|
-
export function renderStartSubscriber(arg0: {
|
|
17
|
-
response: import('http').ServerResponse;
|
|
18
|
-
callback: Function;
|
|
19
|
-
}): import('http').ServerResponse;
|
|
20
|
-
export function renderFinishSubscriber(arg0: {
|
|
21
|
-
response: import('http').ServerResponse;
|
|
22
|
-
callback: Function;
|
|
23
|
-
}): import('http').ServerResponse;
|
package/helpers/metrics/index.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.renderFinishSubscriber = exports.renderStartSubscriber = exports.createResponseEventSubscriber = exports.labelsResolver = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Формирует данные метрики из данных приложения, запроса и ответа.
|
|
6
|
-
* @param {Object} options Опции приложения.
|
|
7
|
-
* @param {Object} options.dependencies Зависимости сервиса сбора метрик.
|
|
8
|
-
* @param {Object} options.dependencies.config Конфигурация приложения.
|
|
9
|
-
* @param {import('http').IncomingMessage} options.request Запрос.
|
|
10
|
-
* @param {import('http').ServerResponse} options.response Ответ.
|
|
11
|
-
* @return {{route: string, place: string, statusCode: number}} Данные для отправки в метрику.
|
|
12
|
-
*/
|
|
13
|
-
const labelsResolver = ({ dependencies: { config }, request, response }) => ({
|
|
14
|
-
version: config.version || 'development',
|
|
15
|
-
route: request.baseUrl + request.path,
|
|
16
|
-
code: response.statusCode,
|
|
17
|
-
method: request.method,
|
|
18
|
-
});
|
|
19
|
-
exports.labelsResolver = labelsResolver;
|
|
20
|
-
/**
|
|
21
|
-
* Создаёт функцию, подписывающую обработчик на определённое событие ответа сервера.
|
|
22
|
-
* @param {string} eventName Название события.
|
|
23
|
-
* @return {function({response: import('http').ServerResponse, callback: Function}): import('http').ServerResponse}
|
|
24
|
-
* Функция-подписчик.
|
|
25
|
-
*/
|
|
26
|
-
const createResponseEventSubscriber = eventName => ({ response, callback }) => response.once(eventName, callback);
|
|
27
|
-
exports.createResponseEventSubscriber = createResponseEventSubscriber;
|
|
28
|
-
/**
|
|
29
|
-
* Подписывает функцию-обработчик на событие начала рендеринга.
|
|
30
|
-
* @param {import('http').ServerResponse} response Ответ.
|
|
31
|
-
* @param {Function} callback Обработчик.
|
|
32
|
-
* @return {import('http').ServerResponse} Ответ.
|
|
33
|
-
*/
|
|
34
|
-
exports.renderStartSubscriber = exports.createResponseEventSubscriber('render:start');
|
|
35
|
-
/**
|
|
36
|
-
* Подписывает функцию-обработчик на событие конца рендеринга.
|
|
37
|
-
* @param {import('http').ServerResponse} response Ответ.
|
|
38
|
-
* @param {Function} callback Обработчик.
|
|
39
|
-
* @return {import('http').ServerResponse} Ответ.
|
|
40
|
-
*/
|
|
41
|
-
exports.renderFinishSubscriber = exports.createResponseEventSubscriber('render:finish');
|
|
42
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/metrics/index.js"],"names":[],"mappings":";;;AAAA;;;;;;;;GAQG;AACI,MAAM,cAAc,GAAG,CAAC,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAClF,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,aAAa;IACxC,KAAK,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI;IACrC,IAAI,EAAE,QAAQ,CAAC,UAAU;IACzB,MAAM,EAAE,OAAO,CAAC,MAAM;CACvB,CAAC,CAAC;AALU,QAAA,cAAc,kBAKxB;AAEH;;;;;GAKG;AACI,MAAM,6BAA6B,GAAG,SAAS,CAAC,EAAE,CACvD,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AADpD,QAAA,6BAA6B,iCACuB;AAEjE;;;;;GAKG;AACU,QAAA,qBAAqB,GAAG,qCAA6B,CAAC,cAAc,CAAC,CAAC;AAEnF;;;;;GAKG;AACU,QAAA,sBAAsB,GAAG,qCAA6B,CAAC,eAAe,CAAC,CAAC"}
|
|
@@ -1,13 +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.createMeasureMiddleware = exports.PrometheusMetric = exports.PrometheusClient = void 0;
|
|
7
|
-
const prom_client_1 = __importDefault(require("prom-client"));
|
|
8
|
-
exports.PrometheusClient = prom_client_1.default;
|
|
9
|
-
const metric_adapter_js_1 = require("./metric-adapter.js");
|
|
10
|
-
Object.defineProperty(exports, "PrometheusMetric", { enumerable: true, get: function () { return metric_adapter_js_1.PrometheusMetric; } });
|
|
11
|
-
const measure_middleware_js_1 = require("./measure-middleware.js");
|
|
12
|
-
Object.defineProperty(exports, "createMeasureMiddleware", { enumerable: true, get: function () { return measure_middleware_js_1.createMeasureMiddleware; } });
|
|
13
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/prometheus/index.js"],"names":[],"mappings":";;;;;;AAAA,8DAA2C;AAKzC,2BALK,qBAAgB,CAKL;AAJlB,2DAAuD;AAKrD,iGALO,oCAAgB,OAKP;AAJlB,mEAAkE;AAKhE,wGALO,+CAAuB,OAKP"}
|
|
@@ -1,69 +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.createMeasureMiddleware = void 0;
|
|
7
|
-
const negate_1 = __importDefault(require("lodash/negate"));
|
|
8
|
-
const isFunction_1 = __importDefault(require("lodash/isFunction"));
|
|
9
|
-
const metric_adapter_js_1 = require("./metric-adapter.js");
|
|
10
|
-
const metrics_1 = require("../metrics");
|
|
11
|
-
const observe_middleware_1 = require("../../observe-middleware");
|
|
12
|
-
/**
|
|
13
|
-
* Возвращает функцию, создающую модуль для замера метрик запросов Express-приложения.
|
|
14
|
-
* @param {Object} dependencies Опции.
|
|
15
|
-
* @param {Function} dependencies.resolveLabels Функция, результат которой будет использован как аргумент setLabels.
|
|
16
|
-
* @param {Array} dependencies.startMetrics Список метрик, замеряемых при старте запроса.
|
|
17
|
-
* @param {Array} dependencies.finishMetrics Список метрик, замеряемых при отправке ответа.
|
|
18
|
-
* @return {Function} Функция, возвращающая промежуточный слой для использования в Express-приложении.
|
|
19
|
-
*/
|
|
20
|
-
const createMeasureMiddleware = (dependencies = {}) => {
|
|
21
|
-
const { resolveLabels = metrics_1.labelsResolver, startMetrics = [], finishMetrics = [], startSubscriber = observe_middleware_1.defaultStartSubscriber, finishSubscriber = observe_middleware_1.defaultFinishSubscriber, } = dependencies || {};
|
|
22
|
-
if (!isFunction_1.default(resolveLabels)) {
|
|
23
|
-
throw TypeError('First argument property "resolveLabels" must be a function');
|
|
24
|
-
}
|
|
25
|
-
if ([startMetrics, finishMetrics].some(negate_1.default(Array.isArray))) {
|
|
26
|
-
throw TypeError('First argument properties "startMetrics" and "finishMetrics" must be arrays');
|
|
27
|
-
}
|
|
28
|
-
if ([...startMetrics, ...finishMetrics].some(negate_1.default(metric_adapter_js_1.isPrometheusMetric))) {
|
|
29
|
-
throw TypeError('Every metric in "startMetrics" and "finishMetrics" must be instance of PrometheusMetric');
|
|
30
|
-
}
|
|
31
|
-
if (!isFunction_1.default(startSubscriber)) {
|
|
32
|
-
throw TypeError('First argument property "startSubscriber" must be a function');
|
|
33
|
-
}
|
|
34
|
-
if (!isFunction_1.default(finishSubscriber)) {
|
|
35
|
-
throw TypeError('First argument property "finishSubscriber" must be a function');
|
|
36
|
-
}
|
|
37
|
-
return observe_middleware_1.createObserveMiddleware({
|
|
38
|
-
onStart: (timestamp, request, response) => {
|
|
39
|
-
startMetrics.forEach(metric => {
|
|
40
|
-
metric
|
|
41
|
-
.setLabels(resolveLabels({
|
|
42
|
-
dependencies,
|
|
43
|
-
metric,
|
|
44
|
-
request,
|
|
45
|
-
response,
|
|
46
|
-
timestamp,
|
|
47
|
-
}))
|
|
48
|
-
.spot();
|
|
49
|
-
});
|
|
50
|
-
},
|
|
51
|
-
onFinish: (duration, request, response) => {
|
|
52
|
-
finishMetrics.forEach(metric => {
|
|
53
|
-
metric
|
|
54
|
-
.setLabels(resolveLabels({
|
|
55
|
-
dependencies,
|
|
56
|
-
duration,
|
|
57
|
-
metric,
|
|
58
|
-
request,
|
|
59
|
-
response,
|
|
60
|
-
}))
|
|
61
|
-
.spot(duration);
|
|
62
|
-
});
|
|
63
|
-
},
|
|
64
|
-
startSubscriber,
|
|
65
|
-
finishSubscriber,
|
|
66
|
-
});
|
|
67
|
-
};
|
|
68
|
-
exports.createMeasureMiddleware = createMeasureMiddleware;
|
|
69
|
-
//# sourceMappingURL=measure-middleware.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"measure-middleware.js","sourceRoot":"","sources":["../../../src/helpers/prometheus/measure-middleware.js"],"names":[],"mappings":";;;;;;AAAA,2DAAmC;AACnC,mEAA2C;AAC3C,2DAAyD;AACzD,wCAA4C;AAC5C,iEAAoH;AAEpH;;;;;;;GAOG;AACI,MAAM,uBAAuB,GAAG,CAAC,YAAY,GAAG,EAAE,EAAE,EAAE;IAC3D,MAAM,EACJ,aAAa,GAAG,wBAAc,EAC9B,YAAY,GAAG,EAAE,EACjB,aAAa,GAAG,EAAE,EAClB,eAAe,GAAG,2CAAsB,EACxC,gBAAgB,GAAG,4CAAuB,GAC3C,GAAG,YAAY,IAAI,EAAE,CAAC;IACvB,IAAI,CAAC,oBAAU,CAAC,aAAa,CAAC,EAAE;QAC9B,MAAM,SAAS,CAAC,4DAA4D,CAAC,CAAC;KAC/E;IAED,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;QAC7D,MAAM,SAAS,CAAC,6EAA6E,CAAC,CAAC;KAChG;IAED,IAAI,CAAC,GAAG,YAAY,EAAE,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAM,CAAC,sCAAkB,CAAC,CAAC,EAAE;QACxE,MAAM,SAAS,CAAC,yFAAyF,CAAC,CAAC;KAC5G;IAED,IAAI,CAAC,oBAAU,CAAC,eAAe,CAAC,EAAE;QAChC,MAAM,SAAS,CAAC,8DAA8D,CAAC,CAAC;KACjF;IAED,IAAI,CAAC,oBAAU,CAAC,gBAAgB,CAAC,EAAE;QACjC,MAAM,SAAS,CAAC,+DAA+D,CAAC,CAAC;KAClF;IAED,OAAO,4CAAuB,CAAC;QAC7B,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;YACxC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC5B,MAAM;qBACH,SAAS,CAAC,aAAa,CAAC;oBACvB,YAAY;oBACZ,MAAM;oBACN,OAAO;oBACP,QAAQ;oBACR,SAAS;iBACV,CAAC,CAAC;qBACF,IAAI,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;YACxC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC7B,MAAM;qBACH,SAAS,CAAC,aAAa,CAAC;oBACvB,YAAY;oBACZ,QAAQ;oBACR,MAAM;oBACN,OAAO;oBACP,QAAQ;iBACT,CAAC,CAAC;qBACF,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,eAAe;QACf,gBAAgB;KACjB,CAAC,CAAC;AACL,CAAC,CAAC;AA1DW,QAAA,uBAAuB,2BA0DlC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Список имен конструкторов из пакета "prom-client", пригодных для создания адаптеров.
|
|
3
|
-
* @type {Array<string>}
|
|
4
|
-
*/
|
|
5
|
-
export const availableMetricTypes: Array<string>;
|
|
6
|
-
/**
|
|
7
|
-
* Ключ свойства адаптера с оригинальным объектом метрики.
|
|
8
|
-
* @type {symbol}
|
|
9
|
-
*/
|
|
10
|
-
export const originalMetricKey: symbol;
|
|
11
|
-
export function getOriginalInstance(adapter: PrometheusMetric): Object;
|
|
12
|
-
export function isPrometheusMetric(value: any): boolean;
|
|
13
|
-
/**
|
|
14
|
-
* Класс объектов-адаптеров для классов метрик из пакета "prom-client".
|
|
15
|
-
*/
|
|
16
|
-
export class PrometheusMetric {
|
|
17
|
-
/**
|
|
18
|
-
* Инициализирует объект-адаптер метрики.
|
|
19
|
-
* @param {string} metricType Тип метрики, определяемый названием класса из пакета "prom-client".
|
|
20
|
-
* @param {Object} options Опции, передаваемые в конструктор метрики из пакета "prom-client".
|
|
21
|
-
*/
|
|
22
|
-
constructor(metricType?: string, options?: Object);
|
|
23
|
-
labels: {};
|
|
24
|
-
/**
|
|
25
|
-
* Устанавливает значения показателей по переданному объекту, где ключ - название показателя.
|
|
26
|
-
* @param {Object} labels Объект со значениями показателей по названиям.
|
|
27
|
-
* @return {PrometheusMetric} Экземпляр.
|
|
28
|
-
*/
|
|
29
|
-
setLabels(labels?: Object): PrometheusMetric;
|
|
30
|
-
/**
|
|
31
|
-
* Фиксирует показатель метрики в сервисе Prometheus.
|
|
32
|
-
* @param {*} value Значение фиксируемого показателя, игнорируется для типа "Counter".
|
|
33
|
-
* @return {PrometheusMetric} Экземпляр.
|
|
34
|
-
*/
|
|
35
|
-
spot(value: any): PrometheusMetric;
|
|
36
|
-
}
|
|
@@ -1,98 +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.PrometheusMetric = exports.isPrometheusMetric = exports.getOriginalInstance = exports.originalMetricKey = exports.availableMetricTypes = void 0;
|
|
7
|
-
const prom_client_1 = __importDefault(require("prom-client"));
|
|
8
|
-
const difference_1 = __importDefault(require("lodash/difference"));
|
|
9
|
-
/**
|
|
10
|
-
* Список имен конструкторов из пакета "prom-client", пригодных для создания адаптеров.
|
|
11
|
-
* @type {Array<string>}
|
|
12
|
-
*/
|
|
13
|
-
exports.availableMetricTypes = Object.freeze([
|
|
14
|
-
'Counter',
|
|
15
|
-
'Gauge',
|
|
16
|
-
'Histogram',
|
|
17
|
-
'Summary',
|
|
18
|
-
]);
|
|
19
|
-
/**
|
|
20
|
-
* Ключ свойства адаптера с оригинальным объектом метрики.
|
|
21
|
-
* @type {symbol}
|
|
22
|
-
*/
|
|
23
|
-
exports.originalMetricKey = Symbol('original-metric-key');
|
|
24
|
-
/**
|
|
25
|
-
* Возвращает оригинальный объект метрики из переданного адаптера.
|
|
26
|
-
* @param {PrometheusMetric} adapter Объект адаптера.
|
|
27
|
-
* @return {Object} Объект метрики.
|
|
28
|
-
*/
|
|
29
|
-
const getOriginalInstance = adapter => adapter
|
|
30
|
-
? adapter[exports.originalMetricKey]
|
|
31
|
-
: undefined;
|
|
32
|
-
exports.getOriginalInstance = getOriginalInstance;
|
|
33
|
-
/**
|
|
34
|
-
* Определяет, является ли переданное значение экземпляром класса PrometheusMetric.
|
|
35
|
-
* @param {*} value Проверяемое значение.
|
|
36
|
-
* @return {boolean} Переданное значение является экземпляром класса PrometheusMetric?
|
|
37
|
-
*/
|
|
38
|
-
const isPrometheusMetric = value => value instanceof PrometheusMetric;
|
|
39
|
-
exports.isPrometheusMetric = isPrometheusMetric;
|
|
40
|
-
/**
|
|
41
|
-
* Класс объектов-адаптеров для классов метрик из пакета "prom-client".
|
|
42
|
-
*/
|
|
43
|
-
class PrometheusMetric {
|
|
44
|
-
/**
|
|
45
|
-
* Инициализирует объект-адаптер метрики.
|
|
46
|
-
* @param {string} metricType Тип метрики, определяемый названием класса из пакета "prom-client".
|
|
47
|
-
* @param {Object} options Опции, передаваемые в конструктор метрики из пакета "prom-client".
|
|
48
|
-
*/
|
|
49
|
-
constructor(metricType = '', options = {}) {
|
|
50
|
-
this.labels = {};
|
|
51
|
-
if (!exports.availableMetricTypes.includes(metricType)) {
|
|
52
|
-
throw Error(`First argument must be one of available types: ${exports.availableMetricTypes.join(', ')}`);
|
|
53
|
-
}
|
|
54
|
-
Object.assign(this, Object.assign(Object.assign({}, options), { metricType }));
|
|
55
|
-
this[exports.originalMetricKey] = new prom_client_1.default[metricType](options);
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Устанавливает значения показателей по переданному объекту, где ключ - название показателя.
|
|
59
|
-
* @param {Object} labels Объект со значениями показателей по названиям.
|
|
60
|
-
* @return {PrometheusMetric} Экземпляр.
|
|
61
|
-
*/
|
|
62
|
-
setLabels(labels = {}) {
|
|
63
|
-
const newLabels = labels || {};
|
|
64
|
-
if (Array.isArray(this.labelNames)) {
|
|
65
|
-
if (difference_1.default(this.labelNames, Object.keys(newLabels)).length > 0) {
|
|
66
|
-
throw Error(`Labels count must be equal to labelNames count = ${this.labelNames.length}`);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
this.labels = newLabels;
|
|
70
|
-
return this;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Фиксирует показатель метрики в сервисе Prometheus.
|
|
74
|
-
* @param {*} value Значение фиксируемого показателя, игнорируется для типа "Counter".
|
|
75
|
-
* @return {PrometheusMetric} Экземпляр.
|
|
76
|
-
*/
|
|
77
|
-
spot(value) {
|
|
78
|
-
const instance = exports.getOriginalInstance(this);
|
|
79
|
-
switch (this.metricType) {
|
|
80
|
-
case 'Counter':
|
|
81
|
-
instance.inc(this.labels, 1);
|
|
82
|
-
break;
|
|
83
|
-
case 'Summary':
|
|
84
|
-
case 'Histogram':
|
|
85
|
-
instance.observe(this.labels, value);
|
|
86
|
-
break;
|
|
87
|
-
case 'Gauge': {
|
|
88
|
-
const isPositive = value > 0;
|
|
89
|
-
const methodName = isPositive ? 'inc' : 'dec';
|
|
90
|
-
instance[methodName](Math.abs(value));
|
|
91
|
-
break;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return this;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
exports.PrometheusMetric = PrometheusMetric;
|
|
98
|
-
//# sourceMappingURL=metric-adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metric-adapter.js","sourceRoot":"","sources":["../../../src/helpers/prometheus/metric-adapter.js"],"names":[],"mappings":";;;;;;AAAA,8DAA2C;AAC3C,mEAA2C;AAE3C;;;GAGG;AACU,QAAA,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,SAAS;IACT,OAAO;IACP,WAAW;IACX,SAAS;CACV,CAAC,CAAC;AAEH;;;GAGG;AACU,QAAA,iBAAiB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAE/D;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,OAAO,CAAC,EAAE,CAAC,OAAO;IACnD,CAAC,CAAC,OAAO,CAAC,yBAAiB,CAAC;IAC5B,CAAC,CAAC,SAAS,CAAC;AAFD,QAAA,mBAAmB,uBAElB;AAEd;;;;GAIG;AACI,MAAM,kBAAkB,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,YAAY,gBAAgB,CAAC;AAAhE,QAAA,kBAAkB,sBAA8C;AAE7E;;GAEG;AACH,MAAa,gBAAgB;IAG3B;;;;OAIG;IACH,YAAa,UAAU,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE;QAP1C,WAAM,GAAG,EAAE,CAAC;QAQV,IAAI,CAAC,4BAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC9C,MAAM,KAAK,CAAC,kDAAkD,4BAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAClG;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,kCAAO,OAAO,KAAE,UAAU,IAAG,CAAC;QAChD,IAAI,CAAC,yBAAiB,CAAC,GAAG,IAAI,qBAAgB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAE,MAAM,GAAG,EAAE;QACpB,MAAM,SAAS,GAAG,MAAM,IAAI,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAClC,IAAI,oBAAU,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClE,MAAM,KAAK,CAAC,oDAAoD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;aAC3F;SACF;QACD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAExB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAE,KAAK;QACT,MAAM,QAAQ,GAAG,2BAAmB,CAAC,IAAI,CAAC,CAAC;QAE3C,QAAQ,IAAI,CAAC,UAAU,EAAE;YACvB,KAAK,SAAS;gBACZ,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC7B,MAAM;YACR,KAAK,SAAS,CAAC;YACf,KAAK,WAAW;gBACd,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,OAAO,CAAC,CAAC;gBACZ,MAAM,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC;gBAC7B,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC9C,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtC,MAAM;aACP;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA3DD,4CA2DC"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface Props {
|
|
3
|
-
children: NonNullable<React.ReactNode> | null;
|
|
4
|
-
fallback: NonNullable<React.ReactNode> | null;
|
|
5
|
-
captureException?: (error: Error, errorInfo: React.ErrorInfo) => void;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Обработчик ошибок в React компонентах.
|
|
9
|
-
*/
|
|
10
|
-
export declare class ErrorBoundary extends React.Component<Props, {
|
|
11
|
-
hasError: boolean;
|
|
12
|
-
}> {
|
|
13
|
-
/**
|
|
14
|
-
* @param props Свойства компонента.
|
|
15
|
-
* @param props.children Дочерний компонент.
|
|
16
|
-
* @param props.fallback Запасной элемент, если возникла ошибка.
|
|
17
|
-
* @param props.captureException Функция для логирования ошибки.
|
|
18
|
-
*/
|
|
19
|
-
constructor(props: Props);
|
|
20
|
-
/** @inheritdoc */
|
|
21
|
-
static getDerivedStateFromError(): {
|
|
22
|
-
hasError: boolean;
|
|
23
|
-
};
|
|
24
|
-
/** @inheritdoc */
|
|
25
|
-
componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void;
|
|
26
|
-
/**
|
|
27
|
-
* Рендер.
|
|
28
|
-
* @return Дочерний элемент либо запасное значение.
|
|
29
|
-
*/
|
|
30
|
-
render(): {} | null;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Обертка над Suspense c перехватом ошибок.
|
|
34
|
-
* @param props Свойства компонента.
|
|
35
|
-
* @param props.children Дочерний компонент.
|
|
36
|
-
* @param props.fallback Запасной элемент, если возникла ошибка.
|
|
37
|
-
* @param props.captureException Функция для логирования ошибки.
|
|
38
|
-
* @return Элемент.
|
|
39
|
-
*/
|
|
40
|
-
export declare const SafeSuspense: ({ children, fallback, captureException, }: Props) => JSX.Element;
|
|
@@ -1,52 +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.SafeSuspense = exports.ErrorBoundary = void 0;
|
|
7
|
-
const react_1 = __importDefault(require("react"));
|
|
8
|
-
/**
|
|
9
|
-
* Обработчик ошибок в React компонентах.
|
|
10
|
-
*/
|
|
11
|
-
class ErrorBoundary extends react_1.default.Component {
|
|
12
|
-
/**
|
|
13
|
-
* @param props Свойства компонента.
|
|
14
|
-
* @param props.children Дочерний компонент.
|
|
15
|
-
* @param props.fallback Запасной элемент, если возникла ошибка.
|
|
16
|
-
* @param props.captureException Функция для логирования ошибки.
|
|
17
|
-
*/
|
|
18
|
-
constructor(props) {
|
|
19
|
-
super(props);
|
|
20
|
-
this.state = { hasError: false };
|
|
21
|
-
}
|
|
22
|
-
/** @inheritdoc */
|
|
23
|
-
static getDerivedStateFromError() {
|
|
24
|
-
return { hasError: true };
|
|
25
|
-
}
|
|
26
|
-
/** @inheritdoc */
|
|
27
|
-
componentDidCatch(error, errorInfo) {
|
|
28
|
-
const { captureException } = this.props;
|
|
29
|
-
captureException === null || captureException === void 0 ? void 0 : captureException(error, errorInfo);
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Рендер.
|
|
33
|
-
* @return Дочерний элемент либо запасное значение.
|
|
34
|
-
*/
|
|
35
|
-
render() {
|
|
36
|
-
const { children, fallback } = this.props;
|
|
37
|
-
return this.state.hasError ? fallback : children;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
exports.ErrorBoundary = ErrorBoundary;
|
|
41
|
-
/**
|
|
42
|
-
* Обертка над Suspense c перехватом ошибок.
|
|
43
|
-
* @param props Свойства компонента.
|
|
44
|
-
* @param props.children Дочерний компонент.
|
|
45
|
-
* @param props.fallback Запасной элемент, если возникла ошибка.
|
|
46
|
-
* @param props.captureException Функция для логирования ошибки.
|
|
47
|
-
* @return Элемент.
|
|
48
|
-
*/
|
|
49
|
-
const SafeSuspense = ({ children, fallback, captureException, }) => (react_1.default.createElement(react_1.default.Suspense, { fallback: fallback },
|
|
50
|
-
react_1.default.createElement(ErrorBoundary, { children: children, fallback: fallback, captureException: captureException })));
|
|
51
|
-
exports.SafeSuspense = SafeSuspense;
|
|
52
|
-
//# sourceMappingURL=index.js.map
|