@sima-land/isomorph 9.0.7 → 11.0.0-alpha.0
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/LICENSE +201 -0
- package/dist/cache/types.d.ts +7 -0
- package/dist/cache/types.js +3 -0
- package/dist/cache/types.js.map +1 -0
- package/dist/config/browser.d.ts +6 -0
- package/dist/config/browser.js +13 -0
- package/dist/config/browser.js.map +1 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/index.js +20 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/node.d.ts +6 -0
- package/dist/config/node.js +19 -0
- package/dist/config/node.js.map +1 -0
- package/dist/config/types.d.ts +7 -0
- package/dist/config/types.js +3 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/utils.d.ts +5 -0
- package/dist/config/utils.js +12 -0
- package/dist/config/utils.js.map +1 -0
- package/dist/container/application.d.ts +25 -0
- package/dist/container/application.js +63 -0
- package/dist/container/application.js.map +1 -0
- package/dist/container/index.d.ts +18 -0
- package/dist/container/index.js +74 -0
- package/dist/container/index.js.map +1 -0
- package/dist/container/types.d.ts +14 -0
- package/dist/container/types.js +3 -0
- package/dist/container/types.js.map +1 -0
- package/dist/error-tracker/browser.d.ts +8 -0
- package/dist/error-tracker/browser.js +40 -0
- package/dist/error-tracker/browser.js.map +1 -0
- package/dist/error-tracker/node.d.ts +8 -0
- package/dist/error-tracker/node.js +40 -0
- package/dist/error-tracker/node.js.map +1 -0
- package/dist/error-tracker/types.d.ts +18 -0
- package/dist/error-tracker/types.js +3 -0
- package/dist/error-tracker/types.js.map +1 -0
- package/dist/error-tracker/utils.d.ts +12 -0
- package/dist/error-tracker/utils.js +19 -0
- package/dist/error-tracker/utils.js.map +1 -0
- package/dist/http-client/middleware/cookie.d.ts +19 -0
- package/dist/http-client/middleware/cookie.js +62 -0
- package/dist/http-client/middleware/cookie.js.map +1 -0
- package/dist/http-client/middleware/tracing.d.ts +32 -0
- package/dist/http-client/middleware/tracing.js +67 -0
- package/dist/http-client/middleware/tracing.js.map +1 -0
- package/dist/http-client/types.d.ts +6 -0
- package/dist/http-client/types.js +3 -0
- package/dist/http-client/types.js.map +1 -0
- package/dist/http-client/utils.d.ts +36 -0
- package/dist/http-client/utils.js +49 -0
- package/dist/http-client/utils.js.map +1 -0
- package/dist/http-server/constants.d.ts +4 -0
- package/dist/http-server/constants.js +8 -0
- package/dist/http-server/constants.js.map +1 -0
- package/dist/http-server/handler/health-check.d.ts +6 -0
- package/dist/http-server/handler/health-check.js +15 -0
- package/dist/http-server/handler/health-check.js.map +1 -0
- package/dist/http-server/middleware/logging.d.ts +10 -0
- package/dist/http-server/middleware/logging.js +31 -0
- package/dist/http-server/middleware/logging.js.map +1 -0
- package/dist/http-server/middleware/metrics.d.ts +23 -0
- package/dist/http-server/middleware/metrics.js +60 -0
- package/dist/http-server/middleware/metrics.js.map +1 -0
- package/dist/http-server/middleware/tracing.d.ts +8 -0
- package/dist/http-server/middleware/tracing.js +32 -0
- package/dist/http-server/middleware/tracing.js.map +1 -0
- package/dist/http-server/types.d.ts +25 -0
- package/dist/http-server/types.js +3 -0
- package/dist/http-server/types.js.map +1 -0
- package/dist/http-server/utils.d.ts +26 -0
- package/dist/http-server/utils.js +88 -0
- package/dist/http-server/utils.js.map +1 -0
- package/dist/logger/handler/console.d.ts +8 -0
- package/dist/logger/handler/console.js +36 -0
- package/dist/logger/handler/console.js.map +1 -0
- package/dist/logger/handler/sentry.d.ts +8 -0
- package/dist/logger/handler/sentry.js +36 -0
- package/dist/logger/handler/sentry.js.map +1 -0
- package/dist/logger/index.d.ts +6 -0
- package/dist/logger/index.js +31 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/logger/types.d.ts +24 -0
- package/dist/logger/types.js +3 -0
- package/dist/logger/types.js.map +1 -0
- package/dist/metrics/constants.d.ts +4 -0
- package/dist/metrics/constants.js +8 -0
- package/dist/metrics/constants.js.map +1 -0
- package/dist/metrics/node.d.ts +18 -0
- package/dist/metrics/node.js +74 -0
- package/dist/metrics/node.js.map +1 -0
- package/dist/preset/index.d.ts +7 -0
- package/dist/preset/index.js +23 -0
- package/dist/preset/index.js.map +1 -0
- package/dist/preset/node/index.d.ts +15 -0
- package/dist/preset/node/index.js +90 -0
- package/dist/preset/node/index.js.map +1 -0
- package/dist/preset/node/response.d.ts +12 -0
- package/dist/preset/node/response.js +52 -0
- package/dist/preset/node/response.js.map +1 -0
- package/dist/preset/types.d.ts +7 -0
- package/dist/preset/types.js +3 -0
- package/dist/preset/types.js.map +1 -0
- package/dist/saga-runner/index.d.ts +8 -0
- package/dist/saga-runner/index.js +77 -0
- package/dist/saga-runner/index.js.map +1 -0
- package/dist/saga-runner/types.d.ts +10 -0
- package/dist/saga-runner/types.js +3 -0
- package/dist/saga-runner/types.js.map +1 -0
- package/dist/tokens.d.ts +40 -0
- package/dist/tokens.js +43 -0
- package/dist/tokens.js.map +1 -0
- package/dist/tracer/node.d.ts +10 -0
- package/dist/tracer/node.js +38 -0
- package/dist/tracer/node.js.map +1 -0
- package/dist/tracer/types.d.ts +2 -0
- package/dist/tracer/types.js +3 -0
- package/dist/tracer/types.js.map +1 -0
- package/dist/utils/browser/analytics/data-layer.d.ts +5 -0
- package/dist/utils/browser/analytics/data-layer.js +15 -0
- package/dist/utils/browser/analytics/data-layer.js.map +1 -0
- package/{helpers/analytics/index.d.ts → dist/utils/browser/analytics/oko.d.ts} +1 -6
- package/{helpers/analytics/index.js → dist/utils/browser/analytics/oko.js} +11 -20
- package/dist/utils/browser/analytics/oko.js.map +1 -0
- package/dist/utils/browser/storage/index.d.ts +4 -0
- package/dist/utils/browser/storage/index.js +63 -0
- package/dist/utils/browser/storage/index.js.map +1 -0
- package/dist/utils/number.d.ts +6 -0
- package/dist/utils/number.js +13 -0
- package/dist/utils/number.js.map +1 -0
- package/dist/utils/react/error-handlers/index.d.ts +38 -0
- package/dist/utils/react/error-handlers/index.js +47 -0
- package/dist/utils/react/error-handlers/index.js.map +1 -0
- package/dist/utils/redux/remote-data.d.ts +23 -0
- package/dist/utils/redux/remote-data.js +28 -0
- package/dist/utils/redux/remote-data.js.map +1 -0
- package/dist/utils/redux-saga/take-chain.d.ts +24 -0
- package/dist/utils/redux-saga/take-chain.js +56 -0
- package/dist/utils/redux-saga/take-chain.js.map +1 -0
- package/dist/utils/webpack/module-federation/index.d.ts +21 -0
- package/dist/utils/webpack/module-federation/index.js +74 -0
- package/dist/utils/webpack/module-federation/index.js.map +1 -0
- package/dist/utils/webpack/module-federation/types.d.ts +26 -0
- package/dist/utils/webpack/module-federation/types.js +3 -0
- package/dist/utils/webpack/module-federation/types.js.map +1 -0
- package/dist/utils/webpack/module-federation/utils.d.ts +15 -0
- package/dist/utils/webpack/module-federation/utils.js +36 -0
- package/dist/utils/webpack/module-federation/utils.js.map +1 -0
- package/package.json +50 -68
- package/readme.md +23 -0
- package/src/cache/types.ts +7 -0
- package/src/config/browser.ts +10 -0
- package/src/config/index.ts +18 -0
- package/src/config/node.ts +18 -0
- package/src/config/types.ts +9 -0
- package/src/config/utils.ts +7 -0
- package/src/container/application.ts +91 -0
- package/src/container/index.ts +79 -0
- package/src/container/types.ts +17 -0
- package/src/error-tracker/browser.ts +14 -0
- package/src/error-tracker/node.ts +14 -0
- package/src/error-tracker/types.ts +22 -0
- package/src/error-tracker/utils.ts +18 -0
- package/src/http-client/middleware/cookie.ts +73 -0
- package/src/{helpers/api/middlewares/trace-request-middleware.ts → http-client/middleware/tracing.ts} +28 -35
- package/src/http-client/types.ts +8 -0
- package/src/http-client/utils.ts +76 -0
- package/src/http-server/constants.ts +4 -0
- package/src/http-server/handler/health-check.ts +13 -0
- package/src/http-server/middleware/logging.ts +34 -0
- package/src/http-server/middleware/metrics.ts +87 -0
- package/src/http-server/middleware/tracing.ts +35 -0
- package/src/http-server/types.ts +29 -0
- package/src/http-server/utils.ts +105 -0
- package/src/logger/handler/console.ts +35 -0
- package/src/logger/handler/sentry.ts +38 -0
- package/src/logger/index.ts +31 -0
- package/src/logger/types.ts +28 -0
- package/src/metrics/constants.ts +4 -0
- package/src/metrics/node.ts +54 -0
- package/src/preset/index.ts +24 -0
- package/src/preset/node/index.ts +101 -0
- package/src/preset/node/response.ts +57 -0
- package/src/preset/types.ts +9 -0
- package/src/saga-runner/index.ts +59 -0
- package/src/saga-runner/types.ts +13 -0
- package/src/tokens.ts +54 -0
- package/src/tracer/node.ts +40 -0
- package/src/tracer/types.ts +3 -0
- package/src/utils/browser/analytics/__test__/data-layer.test.ts +50 -0
- package/src/utils/browser/analytics/__test__/oko.test.tsx +143 -0
- package/src/utils/browser/analytics/data-layer.ts +12 -0
- package/src/{helpers/analytics/index.ts → utils/browser/analytics/oko.ts} +10 -15
- package/src/utils/browser/storage/index.ts +75 -0
- package/src/utils/number.ts +8 -0
- package/src/utils/react/error-handlers/__test__/__snapshots__/index.test.tsx.snap +27 -0
- package/src/utils/react/error-handlers/__test__/index.test.tsx +64 -0
- package/src/utils/react/error-handlers/index.tsx +62 -0
- package/src/utils/redux/__test__/remote-data.test.ts +50 -0
- package/src/utils/redux/remote-data.ts +34 -0
- package/src/utils/redux-saga/__test__/take-chain.test.ts +141 -0
- package/src/utils/redux-saga/take-chain.ts +65 -0
- package/src/utils/webpack/module-federation/__test__/index.test.ts +246 -0
- package/src/utils/webpack/module-federation/index.ts +92 -0
- package/src/utils/webpack/module-federation/types.ts +44 -0
- package/src/utils/webpack/module-federation/utils.ts +43 -0
- 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/index.d.ts +0 -15
- package/container/index.js +0 -175
- package/container/index.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/analytics/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 -51
- package/module-federation/__example__/webpack-config.example.js.map +0 -1
- package/module-federation/enhanced-module-federation-plugin.d.ts +0 -46
- package/module-federation/enhanced-module-federation-plugin.js +0 -72
- package/module-federation/enhanced-module-federation-plugin.js.map +0 -1
- package/module-federation/utils/index.d.ts +0 -8
- package/module-federation/utils/index.js +0 -28
- 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/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/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 -57
- package/src/module-federation/enhanced-module-federation-plugin.js +0 -92
- package/src/module-federation/utils/index.js +0 -32
- package/src/observe-middleware/index.js +0 -70
- package/src/set-header-middleware/create.js +0 -17
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.provideMain = exports.provideRender = exports.provideSagaRunner = exports.PresetResponse = void 0;
|
|
4
|
+
const tokens_1 = require("../../tokens");
|
|
5
|
+
const __1 = require("..");
|
|
6
|
+
const server_1 = require("react-dom/server");
|
|
7
|
+
const saga_runner_1 = require("../../saga-runner");
|
|
8
|
+
const constants_1 = require("../../http-server/constants");
|
|
9
|
+
const utils_1 = require("../../http-server/utils");
|
|
10
|
+
/**
|
|
11
|
+
* Возвращает preset с зависимостями по умолчанию для работы в рамках ответа на http-запрос.
|
|
12
|
+
* @return Preset.
|
|
13
|
+
*/
|
|
14
|
+
function PresetResponse() {
|
|
15
|
+
return (0, __1.createPreset)([
|
|
16
|
+
[tokens_1.KnownToken.Response.sagaRunner, exports.provideSagaRunner],
|
|
17
|
+
[tokens_1.KnownToken.Response.render, exports.provideRender],
|
|
18
|
+
[tokens_1.KnownToken.Response.main, exports.provideMain],
|
|
19
|
+
]);
|
|
20
|
+
}
|
|
21
|
+
exports.PresetResponse = PresetResponse;
|
|
22
|
+
const provideSagaRunner = resolve => {
|
|
23
|
+
const logger = resolve(tokens_1.KnownToken.logger);
|
|
24
|
+
return (0, saga_runner_1.createSagaRunner)(logger);
|
|
25
|
+
};
|
|
26
|
+
exports.provideSagaRunner = provideSagaRunner;
|
|
27
|
+
const provideRender = resolve => {
|
|
28
|
+
const { res } = resolve(tokens_1.KnownToken.Response.context);
|
|
29
|
+
return function render(element) {
|
|
30
|
+
res.emit(constants_1.RESPONSE_EVENT.renderStart);
|
|
31
|
+
const result = (0, server_1.renderToString)(element);
|
|
32
|
+
res.emit(constants_1.RESPONSE_EVENT.renderFinish);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
exports.provideRender = provideRender;
|
|
37
|
+
const provideMain = resolve => {
|
|
38
|
+
const context = resolve(tokens_1.KnownToken.Response.context);
|
|
39
|
+
const assets = resolve(tokens_1.KnownToken.Response.assets);
|
|
40
|
+
const prepare = resolve(tokens_1.KnownToken.Response.prepare);
|
|
41
|
+
const render = resolve(tokens_1.KnownToken.Response.render);
|
|
42
|
+
return async function main() {
|
|
43
|
+
utils_1.PageResponse.create()
|
|
44
|
+
.markup(await render(await prepare()))
|
|
45
|
+
.script(assets.js)
|
|
46
|
+
.style(assets.css)
|
|
47
|
+
.format(utils_1.PageResponse.defineFormat(context.req))
|
|
48
|
+
.send(context.res);
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
exports.provideMain = provideMain;
|
|
52
|
+
//# sourceMappingURL=response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/preset/node/response.ts"],"names":[],"mappings":";;;AAIA,yCAA0C;AAC1C,0BAAkC;AAClC,6CAAkD;AAClD,mDAAqD;AACrD,2DAA6D;AAC7D,mDAAuD;AAEvD;;;GAGG;AACH,SAAgB,cAAc;IAC5B,OAAO,IAAA,gBAAY,EAAC;QAClB,CAAC,mBAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,yBAAiB,CAAC;QACnD,CAAC,mBAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,qBAAa,CAAC;QAC3C,CAAC,mBAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,mBAAW,CAAC;KACxC,CAAC,CAAC;AACL,CAAC;AAND,wCAMC;AAEM,MAAM,iBAAiB,GAAyB,OAAO,CAAC,EAAE;IAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,IAAA,8BAAgB,EAAC,MAAM,CAAC,CAAC;AAClC,CAAC,CAAC;AAHW,QAAA,iBAAiB,qBAG5B;AAEK,MAAM,aAAa,GAA4D,OAAO,CAAC,EAAE;IAC9F,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,mBAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAErD,OAAO,SAAS,MAAM,CAAC,OAAoB;QACzC,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,WAAW,CAAC,CAAC;QAErC,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,OAAO,CAAC,CAAC;QAEvC,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,YAAY,CAAC,CAAC;QAEtC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,aAAa,iBAYxB;AAEK,MAAM,WAAW,GAAyB,OAAO,CAAC,EAAE;IACzD,MAAM,OAAO,GAAG,OAAO,CAAC,mBAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,mBAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEnD,OAAO,KAAK,UAAU,IAAI;QACxB,oBAAY,CAAC,MAAM,EAAE;aAClB,MAAM,CAAC,MAAM,MAAM,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;aACrC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;aACjB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;aACjB,MAAM,CAAC,oBAAY,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;aAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,WAAW,eActB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Application } from '../container/application';
|
|
2
|
+
import type { Token, Provider } from '../container/types';
|
|
3
|
+
export declare type PresetEntry<T = any> = [Token<T>, Provider<T>];
|
|
4
|
+
export interface Preset {
|
|
5
|
+
override: <T>(token: Token<T>, provider: Provider<T>) => void;
|
|
6
|
+
apply: (application: Application) => void;
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/preset/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.createSagaRunner = void 0;
|
|
27
|
+
const redux_saga_1 = __importStar(require("redux-saga"));
|
|
28
|
+
const utils_1 = require("../error-tracker/utils");
|
|
29
|
+
/**
|
|
30
|
+
* Возвращает новый runner для redux-saga.
|
|
31
|
+
* @param logger Logger.
|
|
32
|
+
* @return Runner.
|
|
33
|
+
*/
|
|
34
|
+
function createSagaRunner(logger) {
|
|
35
|
+
const middleware = (0, redux_saga_1.default)({
|
|
36
|
+
onError: (error, { sagaStack }) => {
|
|
37
|
+
logger.error(new utils_1.SentryError(error.message, {
|
|
38
|
+
extra: { key: 'Saga stack', data: sagaStack },
|
|
39
|
+
}));
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
return {
|
|
43
|
+
middleware,
|
|
44
|
+
// eslint-disable-next-line require-jsdoc, jsdoc/require-jsdoc
|
|
45
|
+
prepare(store, { timeout } = {}) {
|
|
46
|
+
return {
|
|
47
|
+
// eslint-disable-next-line require-jsdoc, jsdoc/require-jsdoc
|
|
48
|
+
async run(saga, ...args) {
|
|
49
|
+
let ready = false;
|
|
50
|
+
await Promise.race([
|
|
51
|
+
// ждем пока сага выполнится
|
|
52
|
+
middleware
|
|
53
|
+
.run(saga, ...args)
|
|
54
|
+
.toPromise()
|
|
55
|
+
.then(() => {
|
|
56
|
+
ready = true;
|
|
57
|
+
}),
|
|
58
|
+
// если сага не выполнилась за положенное время - прерываем
|
|
59
|
+
typeof timeout === 'number' &&
|
|
60
|
+
Number.isFinite(timeout) &&
|
|
61
|
+
new Promise(resolve => {
|
|
62
|
+
setTimeout(() => {
|
|
63
|
+
if (!ready) {
|
|
64
|
+
logger.error(Error('Сага прервана по таймауту'));
|
|
65
|
+
store.dispatch(redux_saga_1.END);
|
|
66
|
+
}
|
|
67
|
+
resolve();
|
|
68
|
+
}, timeout);
|
|
69
|
+
}),
|
|
70
|
+
]);
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
exports.createSagaRunner = createSagaRunner;
|
|
77
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/saga-runner/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,yDAA6D;AAC7D,kDAAqD;AAErD;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,MAAc;IAC7C,MAAM,UAAU,GAAG,IAAA,oBAAoB,EAAC;QACtC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;YAChC,MAAM,CAAC,KAAK,CACV,IAAI,mBAAW,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC7B,KAAK,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9C,CAAC,CACH,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,OAAO;QACL,UAAU;QAEV,8DAA8D;QAC9D,OAAO,CAAC,KAAY,EAAE,EAAE,OAAO,KAA2B,EAAE;YAC1D,OAAO;gBACL,8DAA8D;gBAC9D,KAAK,CAAC,GAAG,CAAiB,IAAO,EAAE,GAAG,IAAmB;oBACvD,IAAI,KAAK,GAAG,KAAK,CAAC;oBAElB,MAAM,OAAO,CAAC,IAAI,CAAC;wBACjB,4BAA4B;wBAC5B,UAAU;6BACP,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;6BAClB,SAAS,EAAE;6BACX,IAAI,CAAC,GAAG,EAAE;4BACT,KAAK,GAAG,IAAI,CAAC;wBACf,CAAC,CAAC;wBAEJ,2DAA2D;wBAC3D,OAAO,OAAO,KAAK,QAAQ;4BACzB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;4BACxB,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;gCAC1B,UAAU,CAAC,GAAG,EAAE;oCACd,IAAI,CAAC,KAAK,EAAE;wCACV,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;wCACjD,KAAK,CAAC,QAAQ,CAAC,gBAAG,CAAC,CAAC;qCACrB;oCACD,OAAO,EAAE,CAAC;gCACZ,CAAC,EAAE,OAAO,CAAC,CAAC;4BACd,CAAC,CAAC;qBACL,CAAC,CAAC;gBACL,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AA/CD,4CA+CC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Saga, SagaMiddleware } from 'redux-saga';
|
|
2
|
+
import type { Store } from '@reduxjs/toolkit';
|
|
3
|
+
export interface SagaRunner {
|
|
4
|
+
middleware: SagaMiddleware<any>;
|
|
5
|
+
prepare: (store: Store, options?: {
|
|
6
|
+
timeout?: number;
|
|
7
|
+
}) => {
|
|
8
|
+
run: <S extends Saga>(saga: S, ...args: Parameters<S>) => Promise<void>;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/saga-runner/types.ts"],"names":[],"mappings":""}
|
package/dist/tokens.d.ts
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { Application } from 'express';
|
|
3
|
+
import type { DefaultMiddleware, PageAssets, ResponseContext } from './http-server/types';
|
|
4
|
+
import type { SagaRunner } from './saga-runner/types';
|
|
5
|
+
import type { Logger } from './logger/types';
|
|
6
|
+
import type { HttpClientFactory } from './http-client/types';
|
|
7
|
+
import type { BaseConfig } from './config/types';
|
|
8
|
+
import type { Tracer } from './tracer/types';
|
|
9
|
+
import type { Cache } from './cache/types';
|
|
10
|
+
export declare const KnownToken: {
|
|
11
|
+
readonly Config: {
|
|
12
|
+
readonly source: import("./container/types").Token<import("@humanwhocodes/env").Env>;
|
|
13
|
+
readonly base: import("./container/types").Token<BaseConfig>;
|
|
14
|
+
};
|
|
15
|
+
readonly cache: import("./container/types").Token<Cache>;
|
|
16
|
+
readonly logger: import("./container/types").Token<Logger>;
|
|
17
|
+
readonly tracer: import("./container/types").Token<Tracer>;
|
|
18
|
+
readonly Metrics: {
|
|
19
|
+
readonly httpApp: import("./container/types").Token<Application>;
|
|
20
|
+
};
|
|
21
|
+
readonly Http: {
|
|
22
|
+
readonly Client: {
|
|
23
|
+
readonly factory: import("./container/types").Token<HttpClientFactory>;
|
|
24
|
+
};
|
|
25
|
+
readonly Server: {
|
|
26
|
+
readonly factory: import("./container/types").Token<() => Application>;
|
|
27
|
+
readonly Defaults: {
|
|
28
|
+
readonly middleware: import("./container/types").Token<DefaultMiddleware>;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
readonly Response: {
|
|
33
|
+
readonly context: import("./container/types").Token<ResponseContext>;
|
|
34
|
+
readonly assets: import("./container/types").Token<PageAssets>;
|
|
35
|
+
readonly prepare: import("./container/types").Token<() => JSX.Element | Promise<JSX.Element>>;
|
|
36
|
+
readonly render: import("./container/types").Token<(element: JSX.Element) => string | Promise<string>>;
|
|
37
|
+
readonly main: import("./container/types").Token<() => void>;
|
|
38
|
+
readonly sagaRunner: import("./container/types").Token<SagaRunner>;
|
|
39
|
+
};
|
|
40
|
+
};
|
package/dist/tokens.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KnownToken = void 0;
|
|
4
|
+
const container_1 = require("./container");
|
|
5
|
+
exports.KnownToken = {
|
|
6
|
+
// config
|
|
7
|
+
Config: {
|
|
8
|
+
source: (0, container_1.createToken)('config.source'),
|
|
9
|
+
base: (0, container_1.createToken)('config.base'),
|
|
10
|
+
},
|
|
11
|
+
// cache
|
|
12
|
+
cache: (0, container_1.createToken)('cache'),
|
|
13
|
+
// logging
|
|
14
|
+
logger: (0, container_1.createToken)('logger'),
|
|
15
|
+
// tracing
|
|
16
|
+
tracer: (0, container_1.createToken)('tracer'),
|
|
17
|
+
// metrics
|
|
18
|
+
Metrics: {
|
|
19
|
+
httpApp: (0, container_1.createToken)('metrics.http-app'),
|
|
20
|
+
},
|
|
21
|
+
// http
|
|
22
|
+
Http: {
|
|
23
|
+
Client: {
|
|
24
|
+
factory: (0, container_1.createToken)('http.client.factory'),
|
|
25
|
+
},
|
|
26
|
+
Server: {
|
|
27
|
+
factory: (0, container_1.createToken)('http.server.factory'),
|
|
28
|
+
Defaults: {
|
|
29
|
+
middleware: (0, container_1.createToken)('http.server.defaults.middleware'),
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
// scope: page response
|
|
34
|
+
Response: {
|
|
35
|
+
context: (0, container_1.createToken)('response/context'),
|
|
36
|
+
assets: (0, container_1.createToken)('response/assets'),
|
|
37
|
+
prepare: (0, container_1.createToken)('response/prepare'),
|
|
38
|
+
render: (0, container_1.createToken)('response/render'),
|
|
39
|
+
main: (0, container_1.createToken)('response/main'),
|
|
40
|
+
sagaRunner: (0, container_1.createToken)('response/saga-runner'),
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":";;;AAAA,2CAA0C;AAU7B,QAAA,UAAU,GAAG;IACxB,SAAS;IACT,MAAM,EAAE;QACN,MAAM,EAAE,IAAA,uBAAW,EAAe,eAAe,CAAC;QAClD,IAAI,EAAE,IAAA,uBAAW,EAAa,aAAa,CAAC;KAC7C;IAED,QAAQ;IACR,KAAK,EAAE,IAAA,uBAAW,EAAQ,OAAO,CAAC;IAElC,UAAU;IACV,MAAM,EAAE,IAAA,uBAAW,EAAS,QAAQ,CAAC;IAErC,UAAU;IACV,MAAM,EAAE,IAAA,uBAAW,EAAS,QAAQ,CAAC;IAErC,UAAU;IACV,OAAO,EAAE;QACP,OAAO,EAAE,IAAA,uBAAW,EAAc,kBAAkB,CAAC;KACtD;IAED,OAAO;IACP,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,OAAO,EAAE,IAAA,uBAAW,EAAoB,qBAAqB,CAAC;SAC/D;QACD,MAAM,EAAE;YACN,OAAO,EAAE,IAAA,uBAAW,EAAoB,qBAAqB,CAAC;YAC9D,QAAQ,EAAE;gBACR,UAAU,EAAE,IAAA,uBAAW,EAAoB,iCAAiC,CAAC;aAC9E;SACF;KACF;IAED,uBAAuB;IACvB,QAAQ,EAAE;QACR,OAAO,EAAE,IAAA,uBAAW,EAAkB,kBAAkB,CAAC;QACzD,MAAM,EAAE,IAAA,uBAAW,EAAa,iBAAiB,CAAC;QAClD,OAAO,EAAE,IAAA,uBAAW,EAA2C,kBAAkB,CAAC;QAClF,MAAM,EAAE,IAAA,uBAAW,EAAqD,iBAAiB,CAAC;QAC1F,IAAI,EAAE,IAAA,uBAAW,EAAa,eAAe,CAAC;QAC9C,UAAU,EAAE,IAAA,uBAAW,EAAa,sBAAsB,CAAC;KAC5D;CACO,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Tracer } from './types';
|
|
2
|
+
import type { BaseConfig } from '../config/types';
|
|
3
|
+
import { SpanExporter } from '@opentelemetry/tracing';
|
|
4
|
+
/**
|
|
5
|
+
* Возвращает новый tracer - объект для трассировки стадий различных процессов.
|
|
6
|
+
* @param config Конфиг.
|
|
7
|
+
* @param exporter Экспортер данных трассировки.
|
|
8
|
+
* @return Tracer.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createTracer(config: BaseConfig, exporter: SpanExporter): Tracer;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createTracer = void 0;
|
|
4
|
+
const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
|
|
5
|
+
const tracing_1 = require("@opentelemetry/tracing");
|
|
6
|
+
const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
|
|
7
|
+
const instrumentation_1 = require("@opentelemetry/instrumentation");
|
|
8
|
+
const instrumentation_express_1 = require("@opentelemetry/instrumentation-express");
|
|
9
|
+
const instrumentation_http_1 = require("@opentelemetry/instrumentation-http");
|
|
10
|
+
const resources_1 = require("@opentelemetry/resources");
|
|
11
|
+
const propagator_jaeger_1 = require("@opentelemetry/propagator-jaeger");
|
|
12
|
+
/**
|
|
13
|
+
* Возвращает новый tracer - объект для трассировки стадий различных процессов.
|
|
14
|
+
* @param config Конфиг.
|
|
15
|
+
* @param exporter Экспортер данных трассировки.
|
|
16
|
+
* @return Tracer.
|
|
17
|
+
*/
|
|
18
|
+
function createTracer(config, exporter) {
|
|
19
|
+
// @todo доделать по инструкции: https://selvaganesh93.medium.com/tracing-node-js-application-with-opentelemetry-jaeger-ui-9523c0ac8453
|
|
20
|
+
const provider = new sdk_trace_node_1.NodeTracerProvider({
|
|
21
|
+
resource: new resources_1.Resource({
|
|
22
|
+
[semantic_conventions_1.SemanticResourceAttributes.SERVICE_NAME]: config.appName,
|
|
23
|
+
[semantic_conventions_1.SemanticResourceAttributes.SERVICE_VERSION]: config.appVersion,
|
|
24
|
+
[semantic_conventions_1.SemanticResourceAttributes.DEPLOYMENT_ENVIRONMENT]: config.env,
|
|
25
|
+
}),
|
|
26
|
+
});
|
|
27
|
+
// @todo выяснить, почему не сходятся типы и приходится оставлять as any
|
|
28
|
+
provider.addSpanProcessor(new tracing_1.BatchSpanProcessor(exporter));
|
|
29
|
+
provider.register({
|
|
30
|
+
propagator: new propagator_jaeger_1.JaegerPropagator(),
|
|
31
|
+
});
|
|
32
|
+
(0, instrumentation_1.registerInstrumentations)({
|
|
33
|
+
instrumentations: [new instrumentation_express_1.ExpressInstrumentation(), new instrumentation_http_1.HttpInstrumentation()],
|
|
34
|
+
});
|
|
35
|
+
return provider.getTracer(config.appName, config.appVersion);
|
|
36
|
+
}
|
|
37
|
+
exports.createTracer = createTracer;
|
|
38
|
+
//# sourceMappingURL=node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/tracer/node.ts"],"names":[],"mappings":";;;AAEA,kEAAmE;AACnE,oDAA0E;AAC1E,8EAAiF;AACjF,oEAA0E;AAC1E,oFAAgF;AAChF,8EAA0E;AAC1E,wDAAoD;AACpD,wEAAoE;AAEpE;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,MAAkB,EAAE,QAAsB;IACrE,uIAAuI;IACvI,MAAM,QAAQ,GAAG,IAAI,mCAAkB,CAAC;QACtC,QAAQ,EAAE,IAAI,oBAAQ,CAAC;YACrB,CAAC,iDAA0B,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,OAAO;YACzD,CAAC,iDAA0B,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,UAAU;YAC/D,CAAC,iDAA0B,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC,GAAG;SAChE,CAAC;KACH,CAAC,CAAC;IAEH,wEAAwE;IACxE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,4BAAkB,CAAC,QAAQ,CAAQ,CAAC,CAAC;IAEnE,QAAQ,CAAC,QAAQ,CAAC;QAChB,UAAU,EAAE,IAAI,oCAAgB,EAAE;KACnC,CAAC,CAAC;IAEH,IAAA,0CAAwB,EAAC;QACvB,gBAAgB,EAAE,CAAC,IAAI,gDAAsB,EAAE,EAAE,IAAI,0CAAmB,EAAE,CAAC;KAC5E,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AAC/D,CAAC;AAtBD,oCAsBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tracer/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dataLayerPush = void 0;
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
5
|
+
/**
|
|
6
|
+
* Отправка аналитики в око.
|
|
7
|
+
* @param eventData Данные события для отправки.
|
|
8
|
+
*/
|
|
9
|
+
const dataLayerPush = (eventData) => {
|
|
10
|
+
const win = window;
|
|
11
|
+
// копируем объект так как window.dataLayer.push может менять аргумент в процессе работы
|
|
12
|
+
(0, lodash_1.isFunction)(win.dataLayer?.push) && win.dataLayer.push({ ...eventData });
|
|
13
|
+
};
|
|
14
|
+
exports.dataLayerPush = dataLayerPush;
|
|
15
|
+
//# sourceMappingURL=data-layer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-layer.js","sourceRoot":"","sources":["../../../../src/utils/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,IAAA,mBAAU,EAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;AAC1E,CAAC,CAAC;AALW,QAAA,aAAa,iBAKxB"}
|
|
@@ -4,14 +4,9 @@ export declare type OkoEvent = Record<string, any>;
|
|
|
4
4
|
* @param eventData Данные события для отправки.
|
|
5
5
|
*/
|
|
6
6
|
export declare const okoPush: (eventData: OkoEvent) => void;
|
|
7
|
-
/**
|
|
8
|
-
* Эффект для отправки события в ОКО.
|
|
9
|
-
* @param data Данные события для отправки в ОКО.
|
|
10
|
-
*/
|
|
11
|
-
export declare function sendAnalytics(data: OkoEvent): Generator<import("redux-saga/effects").CallEffect<void>, void, unknown>;
|
|
12
7
|
/**
|
|
13
8
|
* Хук, возвращающий функцию, которая отправит аналитику в ОКО.
|
|
14
9
|
* @param data Данные события для отправки в ОКО.
|
|
15
10
|
* @return Функция.
|
|
16
11
|
*/
|
|
17
|
-
export declare const
|
|
12
|
+
export declare const useOkoPush: (data: OkoEvent) => () => void;
|
|
@@ -1,42 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.useOkoPush = exports.okoPush = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
|
-
const effects_1 = require("redux-saga/effects");
|
|
6
5
|
const lodash_1 = require("lodash");
|
|
7
6
|
/**
|
|
8
7
|
* Отправка аналитики в око.
|
|
9
8
|
* @param eventData Данные события для отправки.
|
|
10
9
|
*/
|
|
11
10
|
const okoPush = (eventData) => {
|
|
12
|
-
|
|
11
|
+
const win = window;
|
|
13
12
|
// копируем объект так как window.oko.push меняет свой аргумент в процессе выполнения
|
|
14
|
-
lodash_1.isFunction(
|
|
13
|
+
(0, lodash_1.isFunction)(win.oko?.push) && win.oko.push({ ...eventData });
|
|
15
14
|
};
|
|
16
15
|
exports.okoPush = okoPush;
|
|
17
|
-
/**
|
|
18
|
-
* Эффект для отправки события в ОКО.
|
|
19
|
-
* @param data Данные события для отправки в ОКО.
|
|
20
|
-
*/
|
|
21
|
-
function* sendAnalytics(data) {
|
|
22
|
-
yield effects_1.call(exports.okoPush, data);
|
|
23
|
-
}
|
|
24
|
-
exports.sendAnalytics = sendAnalytics;
|
|
25
16
|
/**
|
|
26
17
|
* Хук, возвращающий функцию, которая отправит аналитику в ОКО.
|
|
27
18
|
* @param data Данные события для отправки в ОКО.
|
|
28
19
|
* @return Функция.
|
|
29
20
|
*/
|
|
30
|
-
const
|
|
31
|
-
const dataRef = react_1.useRef();
|
|
32
|
-
const fnRef = react_1.useRef();
|
|
21
|
+
const useOkoPush = (data) => {
|
|
22
|
+
const dataRef = (0, react_1.useRef)();
|
|
23
|
+
const fnRef = (0, react_1.useRef)();
|
|
33
24
|
if (!dataRef.current) {
|
|
34
|
-
dataRef.current =
|
|
25
|
+
dataRef.current = { ...data };
|
|
35
26
|
}
|
|
36
27
|
if (!fnRef.current) {
|
|
37
|
-
fnRef.current = () => exports.okoPush(dataRef.current);
|
|
28
|
+
fnRef.current = () => (0, exports.okoPush)(dataRef.current);
|
|
38
29
|
}
|
|
39
|
-
if (!lodash_1.isEqual(data, dataRef.current)) {
|
|
30
|
+
if (!(0, lodash_1.isEqual)(data, dataRef.current)) {
|
|
40
31
|
throw Error([
|
|
41
32
|
'useAnalytics: Данные для аналитики изменились.',
|
|
42
33
|
'Если необходимо использовать динамические данные, вынесите логику из React-компонента.',
|
|
@@ -44,5 +35,5 @@ const useAnalytics = (data) => {
|
|
|
44
35
|
}
|
|
45
36
|
return fnRef.current;
|
|
46
37
|
};
|
|
47
|
-
exports.
|
|
48
|
-
//# sourceMappingURL=
|
|
38
|
+
exports.useOkoPush = useOkoPush;
|
|
39
|
+
//# sourceMappingURL=oko.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oko.js","sourceRoot":"","sources":["../../../../src/utils/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,IAAA,mBAAU,EAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;AAC9D,CAAC,CAAC;AALW,QAAA,OAAO,WAKlB;AAEF;;;;GAIG;AACI,MAAM,UAAU,GAAG,CAAC,IAAc,EAAE,EAAE;IAC3C,MAAM,OAAO,GAAG,IAAA,cAAM,GAAY,CAAC;IACnC,MAAM,KAAK,GAAG,IAAA,cAAM,GAAc,CAAC;IAEnC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;QACpB,OAAO,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;KAC/B;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAClB,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAA,eAAO,EAAC,OAAO,CAAC,OAAmB,CAAC,CAAC;KAC5D;IAED,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;QACnC,MAAM,KAAK,CACT;YACE,gDAAgD;YAChD,wFAAwF;SACzF,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;KACH;IAED,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC,CAAC;AAtBW,QAAA,UAAU,cAsBrB"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.createStorageUtils = void 0;
|
|
5
|
+
function createStorageUtils(getStorage) {
|
|
6
|
+
function isAvailable() {
|
|
7
|
+
try {
|
|
8
|
+
const testKey = `local_storage_test_key::${Date.now()}`;
|
|
9
|
+
getStorage().setItem(testKey, testKey);
|
|
10
|
+
getStorage().removeItem(testKey);
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function clear() {
|
|
18
|
+
if (isAvailable()) {
|
|
19
|
+
getStorage().clear();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function getItem(name) {
|
|
23
|
+
if (isAvailable()) {
|
|
24
|
+
return getStorage().getItem(name);
|
|
25
|
+
}
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
function key(index) {
|
|
29
|
+
if (isAvailable()) {
|
|
30
|
+
return getStorage().key(index);
|
|
31
|
+
}
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
function removeItem(name) {
|
|
35
|
+
if (isAvailable()) {
|
|
36
|
+
getStorage().removeItem(name);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function setItem(name, value) {
|
|
40
|
+
if (isAvailable()) {
|
|
41
|
+
getStorage().setItem(name, value);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function length() {
|
|
45
|
+
if (isAvailable()) {
|
|
46
|
+
return getStorage().length;
|
|
47
|
+
}
|
|
48
|
+
return 0;
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
isAvailable,
|
|
52
|
+
clear,
|
|
53
|
+
getItem,
|
|
54
|
+
key,
|
|
55
|
+
removeItem,
|
|
56
|
+
setItem,
|
|
57
|
+
get length() {
|
|
58
|
+
return length();
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
exports.createStorageUtils = createStorageUtils;
|
|
63
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/browser/storage/index.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;AAOvD,SAAgB,kBAAkB,CAAC,UAAyB;IAC1D,SAAS,WAAW;QAClB,IAAI;YACF,MAAM,OAAO,GAAG,2BAA2B,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAExD,UAAU,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACvC,UAAU,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEjC,OAAO,IAAI,CAAC;SACb;QAAC,MAAM;YACN,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,SAAS,KAAK;QACZ,IAAI,WAAW,EAAE,EAAE;YACjB,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC;SACtB;IACH,CAAC;IAED,SAAS,OAAO,CAAC,IAAY;QAC3B,IAAI,WAAW,EAAE,EAAE;YACjB,OAAO,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACnC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,GAAG,CAAC,KAAa;QACxB,IAAI,WAAW,EAAE,EAAE;YACjB,OAAO,UAAU,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAChC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,UAAU,CAAC,IAAY;QAC9B,IAAI,WAAW,EAAE,EAAE;YACjB,UAAU,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC/B;IACH,CAAC;IAED,SAAS,OAAO,CAAC,IAAY,EAAE,KAAa;QAC1C,IAAI,WAAW,EAAE,EAAE;YACjB,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACnC;IACH,CAAC;IAED,SAAS,MAAM;QACb,IAAI,WAAW,EAAE,EAAE;YACjB,OAAO,UAAU,EAAE,CAAC,MAAM,CAAC;SAC5B;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO;QACL,WAAW;QAEX,KAAK;QACL,OAAO;QACP,GAAG;QACH,UAAU;QACV,OAAO;QACP,IAAI,MAAM;YACR,OAAO,MAAM,EAAE,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAnED,gDAmEC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toMilliseconds = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Переводит наносекунды в миллисекунды.
|
|
6
|
+
* @param nanoseconds Наносекунды.
|
|
7
|
+
* @return Миллисекунды.
|
|
8
|
+
*/
|
|
9
|
+
function toMilliseconds(nanoseconds) {
|
|
10
|
+
return Number(nanoseconds / 1000000n);
|
|
11
|
+
}
|
|
12
|
+
exports.toMilliseconds = toMilliseconds;
|
|
13
|
+
//# sourceMappingURL=number.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number.js","sourceRoot":"","sources":["../../src/utils/number.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,SAAgB,cAAc,CAAC,WAAmB;IAChD,OAAO,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAC;AACxC,CAAC;AAFD,wCAEC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface Props {
|
|
3
|
+
/** Дочерний компонент. */
|
|
4
|
+
children: NonNullable<React.ReactNode> | null;
|
|
5
|
+
/** Запасной элемент, если возникла ошибка. */
|
|
6
|
+
fallback: NonNullable<React.ReactNode> | null;
|
|
7
|
+
/** Функция для логирования ошибки. */
|
|
8
|
+
onError?: (error: Error, errorInfo: React.ErrorInfo) => void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Обработчик ошибок в React-компонентах.
|
|
12
|
+
*/
|
|
13
|
+
export declare class ErrorBoundary extends React.Component<Props, {
|
|
14
|
+
hasError: boolean;
|
|
15
|
+
}> {
|
|
16
|
+
/**
|
|
17
|
+
* @param props Свойства.
|
|
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
|
+
* @todo Возможно этот компонент не нужен...
|
|
35
|
+
* @param props Свойства.
|
|
36
|
+
* @return Элемент.
|
|
37
|
+
*/
|
|
38
|
+
export declare const SafeSuspense: ({ children, fallback, onError }: Props) => JSX.Element;
|
|
@@ -0,0 +1,47 @@
|
|
|
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
|
+
*/
|
|
15
|
+
constructor(props) {
|
|
16
|
+
super(props);
|
|
17
|
+
this.state = { hasError: false };
|
|
18
|
+
}
|
|
19
|
+
/** @inheritdoc */
|
|
20
|
+
static getDerivedStateFromError() {
|
|
21
|
+
return { hasError: true };
|
|
22
|
+
}
|
|
23
|
+
/** @inheritdoc */
|
|
24
|
+
componentDidCatch(error, errorInfo) {
|
|
25
|
+
const { onError } = this.props;
|
|
26
|
+
onError?.(error, errorInfo);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Рендер.
|
|
30
|
+
* @return Дочерний элемент либо запасное значение.
|
|
31
|
+
*/
|
|
32
|
+
render() {
|
|
33
|
+
const { children, fallback } = this.props;
|
|
34
|
+
return this.state.hasError ? fallback : children;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.ErrorBoundary = ErrorBoundary;
|
|
38
|
+
/**
|
|
39
|
+
* Обертка над Suspense c перехватом ошибок.
|
|
40
|
+
* @todo Возможно этот компонент не нужен...
|
|
41
|
+
* @param props Свойства.
|
|
42
|
+
* @return Элемент.
|
|
43
|
+
*/
|
|
44
|
+
const SafeSuspense = ({ children, fallback, onError }) => (react_1.default.createElement(react_1.default.Suspense, { fallback: fallback },
|
|
45
|
+
react_1.default.createElement(ErrorBoundary, { fallback: fallback, onError: onError }, children)));
|
|
46
|
+
exports.SafeSuspense = SafeSuspense;
|
|
47
|
+
//# sourceMappingURL=index.js.map
|