@sima-land/isomorph 10.1.0 → 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/{browser → dist/utils/browser}/analytics/data-layer.d.ts +0 -0
- package/{browser → dist/utils/browser}/analytics/data-layer.js +1 -2
- package/dist/utils/browser/analytics/data-layer.js.map +1 -0
- package/{browser → dist/utils/browser}/analytics/oko.d.ts +0 -0
- package/{browser → dist/utils/browser}/analytics/oko.js +6 -7
- 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 +49 -63
- 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/{browser → utils/browser}/analytics/data-layer.ts +0 -0
- package/src/{browser → utils/browser}/analytics/oko.ts +6 -4
- 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/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/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/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/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 -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
package/container/index.js
DELETED
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.createFactory = exports.createSingleton = exports.createService = void 0;
|
|
16
|
-
const isString_1 = __importDefault(require("lodash/isString"));
|
|
17
|
-
const isFunction_1 = __importDefault(require("lodash/isFunction"));
|
|
18
|
-
const service_not_found_error_1 = __importDefault(require("./service-not-found-error"));
|
|
19
|
-
const get_dependencies_1 = __importDefault(require("./get-dependencies"));
|
|
20
|
-
const is_container_1 = __importDefault(require("./is-container"));
|
|
21
|
-
const is_not_empty_string_1 = __importDefault(require("../helpers/utils/is-not-empty-string"));
|
|
22
|
-
/**
|
|
23
|
-
* Оборачивает функцию для использования в контейнере.
|
|
24
|
-
* @param {Function} fn Функция, которую необходимо обернуть.
|
|
25
|
-
* @param {Function} dependenciesToArgs Функция для преобразования зависимостей сервиса в аргументы функции.
|
|
26
|
-
* @return {Function} Функция-сервис, для использования в контейнере.
|
|
27
|
-
*/
|
|
28
|
-
const createService = (fn, dependenciesToArgs) => (dependencies, ...args) => fn(...dependenciesToArgs(dependencies), ...args);
|
|
29
|
-
exports.createService = createService;
|
|
30
|
-
/**
|
|
31
|
-
* Создаёт функцию для получения синглтона контейнера с заданными параметрами.
|
|
32
|
-
* @param {Object} options Опции для создания контейнера.
|
|
33
|
-
* @return {function(): Object} Функция для получения контейнера-синглтона.
|
|
34
|
-
*/
|
|
35
|
-
const createSingleton = options => {
|
|
36
|
-
let container;
|
|
37
|
-
return () => {
|
|
38
|
-
if (!container) {
|
|
39
|
-
container = create(options);
|
|
40
|
-
}
|
|
41
|
-
return container;
|
|
42
|
-
};
|
|
43
|
-
};
|
|
44
|
-
exports.createSingleton = createSingleton;
|
|
45
|
-
/**
|
|
46
|
-
* Создаёт функцию-фабрику для создания нового экземпляра контейнера при её вызове.
|
|
47
|
-
* @param {Object} options Опции для создания контейнера.
|
|
48
|
-
* @return {function(): Object} Функция-фабрика для получения экземпляра контейнера с заданными параметрами.
|
|
49
|
-
*/
|
|
50
|
-
const createFactory = options => () => create(options);
|
|
51
|
-
exports.createFactory = createFactory;
|
|
52
|
-
/**
|
|
53
|
-
* Реализует наследование контейнера от другого контейнера.
|
|
54
|
-
* @param {Object} container Дочерний контейнер.
|
|
55
|
-
* @param {Object} parentContainer Родительский контейнер.
|
|
56
|
-
* @return {Object} Контейнер с поиском зависимости в родителе.
|
|
57
|
-
*/
|
|
58
|
-
const inherit = (container, parentContainer) => {
|
|
59
|
-
let result = container;
|
|
60
|
-
if (is_container_1.default(parentContainer)) {
|
|
61
|
-
result = Object.assign(Object.assign({}, container), {
|
|
62
|
-
/**
|
|
63
|
-
* Оборачивает получение зависимости для добавления поиска в родительском контейнере.
|
|
64
|
-
* @param {string} name Название зависимости.
|
|
65
|
-
* @return {*} Зависимость.
|
|
66
|
-
* @throws {TypeError} Выдаст ошибку если параметр "name" не строка.
|
|
67
|
-
* @throws {Error} Выдаст ошибку если параметр "name" не строка или пустая строка.
|
|
68
|
-
* @throws {ServiceNotFoundError} Выдаст ошибку при попытке вызвать незарегистрированный сервис.
|
|
69
|
-
*/
|
|
70
|
-
get(name) {
|
|
71
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
-
let dependency;
|
|
73
|
-
try {
|
|
74
|
-
dependency = yield container.get(name);
|
|
75
|
-
}
|
|
76
|
-
catch (e) {
|
|
77
|
-
if (e instanceof service_not_found_error_1.default) {
|
|
78
|
-
dependency = yield parentContainer.get(name);
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
throw e;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
return dependency;
|
|
85
|
-
});
|
|
86
|
-
} });
|
|
87
|
-
}
|
|
88
|
-
return result;
|
|
89
|
-
};
|
|
90
|
-
/**
|
|
91
|
-
* Функция создает IoC-контейнер.
|
|
92
|
-
* @param {Object} options Дополнительные опции для IoC-контейнера.
|
|
93
|
-
* @param {Array} options.services Массив сервисов, которые нужно зарегистрировать.
|
|
94
|
-
* @param {Object} options.parent Родительский контейнер.
|
|
95
|
-
* @return {Object} IoC Container.
|
|
96
|
-
* @throws {TypeError} Выдаст ошибку если параметр "services" не массив.
|
|
97
|
-
*/
|
|
98
|
-
function create({ services = [], parent = null } = {}) {
|
|
99
|
-
if (!Array.isArray(services)) {
|
|
100
|
-
throw new TypeError('Параметр "services" должен быть массивом');
|
|
101
|
-
}
|
|
102
|
-
const registry = {};
|
|
103
|
-
const container = inherit({
|
|
104
|
-
/**
|
|
105
|
-
* Добавляет зависимость в список зависимостей.
|
|
106
|
-
* @param {Object} options Опции необходимые для добавления зависимости.
|
|
107
|
-
* @param {string} options.name Название зависимости.
|
|
108
|
-
* @param {Function} options.singleton Функция-синглтон.
|
|
109
|
-
* @param {Function} options.factory Функция-конструктор.
|
|
110
|
-
* @param {*} options.value Переданная зависимость.
|
|
111
|
-
* @param {Array} options.dependencies Массив зависимостей.
|
|
112
|
-
* @throws {Error} Выдаст ошибку если параметр "name" не строка или пустая строка.
|
|
113
|
-
* @throws {Error} Выдаст ошибку если не передан ни один из параметров "factory", "singleton" или "value".
|
|
114
|
-
*/
|
|
115
|
-
set({ name, singleton, factory, value, dependencies = [] } = {}) {
|
|
116
|
-
if (!isString_1.default(name) || name === '') {
|
|
117
|
-
throw new Error('Параметр "name" должен быть непустой строкой');
|
|
118
|
-
}
|
|
119
|
-
if (factory !== undefined && !isFunction_1.default(factory)) {
|
|
120
|
-
throw new TypeError('Параметр "factory" должен быть функцией');
|
|
121
|
-
}
|
|
122
|
-
if (singleton !== undefined && !isFunction_1.default(singleton)) {
|
|
123
|
-
throw new TypeError('Параметр "singleton" должен быть функцией');
|
|
124
|
-
}
|
|
125
|
-
if (factory === undefined && value === undefined && singleton === undefined) {
|
|
126
|
-
throw Error(`Сервис ${name} не зарегистрирован,
|
|
127
|
-
так как обязательно должен быть передан один из параметров "factory", "singleton" или "value"`);
|
|
128
|
-
}
|
|
129
|
-
registry[name] = {
|
|
130
|
-
name,
|
|
131
|
-
singleton,
|
|
132
|
-
factory,
|
|
133
|
-
dependencies,
|
|
134
|
-
value,
|
|
135
|
-
};
|
|
136
|
-
},
|
|
137
|
-
/**
|
|
138
|
-
* Получает зависимость по ее названию.
|
|
139
|
-
* @param {string} name Название зависимости.
|
|
140
|
-
* @param {string} serviceName Название сервиса.
|
|
141
|
-
* @return {*} Зависимость.
|
|
142
|
-
* @throws {TypeError} Выдаст ошибку если параметр "name" не строка.
|
|
143
|
-
* @throws {Error} Выдаст ошибку если параметр "name" не строка или пустая строка.
|
|
144
|
-
* @throws {ServiceNotFoundError} Выдаст ошибку при попытке вызвать незарегистрированный сервис.
|
|
145
|
-
*/
|
|
146
|
-
get(name, serviceName = '') {
|
|
147
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
148
|
-
if (!isString_1.default(name) || name === '') {
|
|
149
|
-
throw new Error('Параметр "name" должен быть непустой строкой');
|
|
150
|
-
}
|
|
151
|
-
const service = registry[name];
|
|
152
|
-
let dependency;
|
|
153
|
-
if (!service) {
|
|
154
|
-
throw new service_not_found_error_1.default(is_not_empty_string_1.default(serviceName)
|
|
155
|
-
? `Не найдена зависимость "${name}" в цепочке вызовов "${serviceName}"`
|
|
156
|
-
: `Сервис "${name}" не зарегистрирован`);
|
|
157
|
-
}
|
|
158
|
-
if (service.singleton && !service.value) {
|
|
159
|
-
service.value = yield service.singleton(Object.assign({}, yield get_dependencies_1.default(container, service.dependencies, `${serviceName}/${name}`)));
|
|
160
|
-
}
|
|
161
|
-
if (service.value !== undefined) {
|
|
162
|
-
dependency = service.value;
|
|
163
|
-
}
|
|
164
|
-
if (service.factory) {
|
|
165
|
-
dependency = yield service.factory(Object.assign({}, yield get_dependencies_1.default(container, service.dependencies, `${serviceName}/${name}`)));
|
|
166
|
-
}
|
|
167
|
-
return dependency;
|
|
168
|
-
});
|
|
169
|
-
},
|
|
170
|
-
}, parent);
|
|
171
|
-
services.forEach(service => container.set(service));
|
|
172
|
-
return container;
|
|
173
|
-
}
|
|
174
|
-
exports.default = create;
|
|
175
|
-
//# sourceMappingURL=index.js.map
|
package/container/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/container/index.js"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export default isContainer;
|
|
2
|
-
/**
|
|
3
|
-
* Проверяет является ли переданный экземпляр контейнером.
|
|
4
|
-
* @param {*} instance Предполагаемый экземпляр контейнера.
|
|
5
|
-
* @return {boolean} Является ли переданный экземпляр контейнером.
|
|
6
|
-
*/
|
|
7
|
-
declare function isContainer(instance: any): boolean;
|
|
@@ -1,17 +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 isPlainObject_1 = __importDefault(require("lodash/isPlainObject"));
|
|
7
|
-
const isFunction_1 = __importDefault(require("lodash/isFunction"));
|
|
8
|
-
/**
|
|
9
|
-
* Проверяет является ли переданный экземпляр контейнером.
|
|
10
|
-
* @param {*} instance Предполагаемый экземпляр контейнера.
|
|
11
|
-
* @return {boolean} Является ли переданный экземпляр контейнером.
|
|
12
|
-
*/
|
|
13
|
-
const isContainer = instance => isPlainObject_1.default(instance)
|
|
14
|
-
&& isFunction_1.default(instance.get)
|
|
15
|
-
&& isFunction_1.default(instance.set);
|
|
16
|
-
exports.default = isContainer;
|
|
17
|
-
//# sourceMappingURL=is-container.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"is-container.js","sourceRoot":"","sources":["../../src/container/is-container.js"],"names":[],"mappings":";;;;;AAAA,yEAAiD;AACjD,mEAA2C;AAE3C;;;;GAIG;AACH,MAAM,WAAW,GAAG,QAAQ,CAAC,EAAE,CAC7B,uBAAa,CAAC,QAAQ,CAAC;OACpB,oBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;OACxB,oBAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAE9B,kBAAe,WAAW,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
/**
|
|
4
|
-
* Ошибка поиска сервиса в контейнере.
|
|
5
|
-
*/
|
|
6
|
-
class ServiceNotFoundError extends Error {
|
|
7
|
-
/**
|
|
8
|
-
* Конструктор.
|
|
9
|
-
* @param {...*} args Аргументы.
|
|
10
|
-
*/
|
|
11
|
-
constructor(...args) {
|
|
12
|
-
super(...args);
|
|
13
|
-
this.name = this.constructor.name;
|
|
14
|
-
Error.captureStackTrace && Error.captureStackTrace(this, this.constructor);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
exports.default = ServiceNotFoundError;
|
|
18
|
-
//# sourceMappingURL=service-not-found-error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service-not-found-error.js","sourceRoot":"","sources":["../../src/container/service-not-found-error.js"],"names":[],"mappings":";;AAAA;;GAEG;AACH,MAAqB,oBAAqB,SAAQ,KAAK;IACrD;;;OAGG;IACH,YAAa,GAAG,IAAI;QAClB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7E,CAAC;CACF;AAVD,uCAUC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Функция создающая обработчик запроса.
|
|
3
|
-
* @param {string} header Отслеживаемый заголовок.
|
|
4
|
-
* @param {Array} map Массив обработчика.
|
|
5
|
-
* @param {Object} config Конфигурация приложения.
|
|
6
|
-
* @param {Object} proxyOptions Пользовательская конфигурация прокси.
|
|
7
|
-
* @return {Function} Функция, обрабатывающая запрос.
|
|
8
|
-
*/
|
|
9
|
-
export default function createProxyMiddleware(header: string, map: any[], config: Object, proxyOptions?: Object): Function;
|
|
10
|
-
export function getRequestPathResolver(path: string): Function;
|
|
11
|
-
/**
|
|
12
|
-
* Получает path из url без слэша в конце.
|
|
13
|
-
* @param {string} url Url.
|
|
14
|
-
* @return {string} Path или пустую строку.
|
|
15
|
-
*/
|
|
16
|
-
export const getUrlPath: (urlString: string, parseQueryString: boolean, slashesDenoteHost?: boolean | undefined) => string | null;
|
|
@@ -1,47 +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.getUrlPath = exports.getRequestPathResolver = void 0;
|
|
7
|
-
const get_1 = __importDefault(require("lodash/get"));
|
|
8
|
-
const pipe_1 = __importDefault(require("lodash/fp/pipe"));
|
|
9
|
-
const isFunction_1 = __importDefault(require("lodash/isFunction"));
|
|
10
|
-
const express_http_proxy_1 = __importDefault(require("express-http-proxy"));
|
|
11
|
-
const urlApi = require('url');
|
|
12
|
-
/**
|
|
13
|
-
* Получает обработчик с прокинутым path из config url.
|
|
14
|
-
* @param {string} path Часть пути после хоста.
|
|
15
|
-
* @return {Function} Обработчик для передачи URL запроса из оригинальной версии с клиента в проксирующий запрос.
|
|
16
|
-
*/
|
|
17
|
-
const getRequestPathResolver = path => request => request && path + request.originalUrl;
|
|
18
|
-
exports.getRequestPathResolver = getRequestPathResolver;
|
|
19
|
-
/**
|
|
20
|
-
* Функция создающая обработчик запроса.
|
|
21
|
-
* @param {string} header Отслеживаемый заголовок.
|
|
22
|
-
* @param {Array} map Массив обработчика.
|
|
23
|
-
* @param {Object} config Конфигурация приложения.
|
|
24
|
-
* @param {Object} proxyOptions Пользовательская конфигурация прокси.
|
|
25
|
-
* @return {Function} Функция, обрабатывающая запрос.
|
|
26
|
-
*/
|
|
27
|
-
function createProxyMiddleware(header, map, config, proxyOptions = {}) {
|
|
28
|
-
return (req, res, next) => {
|
|
29
|
-
const headerType = get_1.default(req, `headers['${header.toLowerCase()}']`, null);
|
|
30
|
-
const getUrl = headerType ? map[headerType] : null;
|
|
31
|
-
const proxyInstance = isFunction_1.default(getUrl) ? express_http_proxy_1.default(getUrl(config), Object.assign({ proxyReqPathResolver: exports.getRequestPathResolver(exports.getUrlPath(getUrl(config))) }, proxyOptions)) : null;
|
|
32
|
-
if (proxyInstance) {
|
|
33
|
-
proxyInstance(req, res, next);
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
next();
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
exports.default = createProxyMiddleware;
|
|
41
|
-
/**
|
|
42
|
-
* Получает path из url без слэша в конце.
|
|
43
|
-
* @param {string} url Url.
|
|
44
|
-
* @return {string} Path или пустую строку.
|
|
45
|
-
*/
|
|
46
|
-
exports.getUrlPath = pipe_1.default(urlApi.parse, url => url.path && url.path.replace(/\/$/, ''));
|
|
47
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/create-proxy/create-proxy-middleware/index.js"],"names":[],"mappings":";;;;;;AAAA,qDAA6B;AAC7B,0DAAkC;AAClC,mEAA2C;AAC3C,4EAA8C;AAE9C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAE9B;;;;GAIG;AACI,MAAM,sBAAsB,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,IAAI,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;AAAlF,QAAA,sBAAsB,0BAA4D;AAE/F;;;;;;;GAOG;AACH,SAAwB,qBAAqB,CAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,GAAG,EAAE;IACnF,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,MAAM,UAAU,GAAG,aAAG,CAAC,GAAG,EAAE,YAAY,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,MAAM,aAAa,GAAG,oBAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,4BAAY,CAAC,MAAM,CAAC,MAAM,CAAC,kBACpE,oBAAoB,EAAE,8BAAsB,CAAC,kBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAK,YAAY,EACzF,CAAC,CAAC,CAAC,IAAI,CAAC;QAEV,IAAI,aAAa,EAAE;YACjB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;SAC/B;aAAM;YACL,IAAI,EAAE,CAAC;SACR;IACH,CAAC,CAAC;AACJ,CAAC;AAdD,wCAcC;AAED;;;;GAIG;AACU,QAAA,UAAU,GAAG,cAAI,CAC5B,MAAM,CAAC,KAAK,EACZ,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAC/C,CAAC"}
|
package/create-proxy/index.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Конструктор сервиса проксирования.
|
|
3
|
-
* @param {Object} param Параметры.
|
|
4
|
-
* @param {Object} param.config Конфигурация приложения.
|
|
5
|
-
* @param {Object} param.config.proxy Конфигурация прокси.
|
|
6
|
-
* @return {Function} Функция-конструктор.
|
|
7
|
-
*/
|
|
8
|
-
export default function createProxy({ config, config: { proxy, }, }: {
|
|
9
|
-
config: {
|
|
10
|
-
proxy: Object;
|
|
11
|
-
};
|
|
12
|
-
}): Function;
|
package/create-proxy/index.js
DELETED
|
@@ -1,25 +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 create_proxy_middleware_1 = __importDefault(require("./create-proxy-middleware"));
|
|
7
|
-
/**
|
|
8
|
-
* Конструктор сервиса проксирования.
|
|
9
|
-
* @param {Object} param Параметры.
|
|
10
|
-
* @param {Object} param.config Конфигурация приложения.
|
|
11
|
-
* @param {Object} param.config.proxy Конфигурация прокси.
|
|
12
|
-
* @return {Function} Функция-конструктор.
|
|
13
|
-
*/
|
|
14
|
-
function createProxy({ config, config: { proxy, }, }) {
|
|
15
|
-
return app => {
|
|
16
|
-
if (!Array.isArray(proxy)) {
|
|
17
|
-
throw TypeError('Параметр proxy должен быть массивом');
|
|
18
|
-
}
|
|
19
|
-
proxy.forEach(({ url, header, map, proxyOptions }) => {
|
|
20
|
-
app.use(url, create_proxy_middleware_1.default(header, map, config, proxyOptions));
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
exports.default = createProxy;
|
|
25
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/create-proxy/index.js"],"names":[],"mappings":";;;;;AAAA,wFAA8D;AAE9D;;;;;;GAMG;AACH,SAAwB,WAAW,CACjC,EACE,MAAM,EACN,MAAM,EAAE,EACN,KAAK,GACN,GACF;IAED,OAAO,GAAG,CAAC,EAAE;QACX,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,MAAM,SAAS,CAAC,qCAAqC,CAAC,CAAC;SACxD;QAED,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE;YACnD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,iCAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAjBD,8BAiBC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Возвращает функцию ответа на запрос, подходящую для текущего окружения.
|
|
3
|
-
* @param {Object} dependencies Зависимости.
|
|
4
|
-
* @param {boolean} dependencies.config.isProduction Флаг production среды.
|
|
5
|
-
* @param {Object} dependencies.response Объект ответа.
|
|
6
|
-
* @return {Function} Функция ответа на запрос.
|
|
7
|
-
*/
|
|
8
|
-
export default function createResponseSender({ config: { isProduction }, response }: Object): Function;
|
|
@@ -1,42 +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 propOr_1 = __importDefault(require("lodash/fp/propOr"));
|
|
7
|
-
const getDataLayer = propOr_1.default({}, ['app', 'dataLayer']);
|
|
8
|
-
/**
|
|
9
|
-
* Возвращает функцию ответа на запрос, подходящую для текущего окружения.
|
|
10
|
-
* @param {Object} dependencies Зависимости.
|
|
11
|
-
* @param {boolean} dependencies.config.isProduction Флаг production среды.
|
|
12
|
-
* @param {Object} dependencies.response Объект ответа.
|
|
13
|
-
* @return {Function} Функция ответа на запрос.
|
|
14
|
-
*/
|
|
15
|
-
function createResponseSender({ config: { isProduction }, response }) {
|
|
16
|
-
/**
|
|
17
|
-
* Функция ответа на запрос в формате HTML.
|
|
18
|
-
* @param {Object} options Опции.
|
|
19
|
-
* @param {string} options.markup Разметка.
|
|
20
|
-
*/
|
|
21
|
-
const htmlSender = ({ markup }) => { response.send(markup); };
|
|
22
|
-
/**
|
|
23
|
-
* Функция ответа на запрос в формате JSON.
|
|
24
|
-
* @param {Object} options Опции.
|
|
25
|
-
* @param {string} options.markup Разметка.
|
|
26
|
-
* @param {{css: string, js: string, criticalJs: string[]}} options.assets Ссылки на ресурсы приложения.
|
|
27
|
-
* @param {Object} options.store Стор приложения.
|
|
28
|
-
*/
|
|
29
|
-
const jsonSender = ({ markup, assets: { css, js, criticalJs, }, store, }) => {
|
|
30
|
-
const payload = {
|
|
31
|
-
markup,
|
|
32
|
-
bundle_css: css || '',
|
|
33
|
-
bundle_js: js || '',
|
|
34
|
-
critical_js: criticalJs || [],
|
|
35
|
-
meta: getDataLayer(store.getState()),
|
|
36
|
-
};
|
|
37
|
-
response.json(payload);
|
|
38
|
-
};
|
|
39
|
-
return isProduction ? jsonSender : htmlSender;
|
|
40
|
-
}
|
|
41
|
-
exports.default = createResponseSender;
|
|
42
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/create-response-sender/index.js"],"names":[],"mappings":";;;;;AAAA,8DAAsC;AAEtC,MAAM,YAAY,GAAG,gBAAM,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;AAEtD;;;;;;GAMG;AACH,SAAwB,oBAAoB,CAAE,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE;IAClF;;;;OAIG;IACH,MAAM,UAAU,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9D;;;;;;OAMG;IACH,MAAM,UAAU,GAAG,CAAC,EAClB,MAAM,EACN,MAAM,EAAE,EACN,GAAG,EACH,EAAE,EACF,UAAU,GACX,EACD,KAAK,GACN,EAAE,EAAE;QACH,MAAM,OAAO,GAAG;YACd,MAAM;YACN,UAAU,EAAE,GAAG,IAAI,EAAE;YACrB,SAAS,EAAE,EAAE,IAAI,EAAE;YACnB,WAAW,EAAE,UAAU,IAAI,EAAE;YAC7B,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SACrC,CAAC;QAEF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;AAChD,CAAC;AApCD,uCAoCC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDynamicData = exports.getApiLogData = void 0;
|
|
4
|
-
const request_getters_1 = require("../helpers/http/request-getters");
|
|
5
|
-
/**
|
|
6
|
-
* Получает данные API для логирования.
|
|
7
|
-
* @param {Object} params Входные параметры.
|
|
8
|
-
* @param {Object} params.response Ответ.
|
|
9
|
-
* @param {string} params.timeDataKey Поле в response.local, из которого следует запрашивать log data.
|
|
10
|
-
* @return {number} Статус ответа.
|
|
11
|
-
*/
|
|
12
|
-
const getApiLogData = ({ response, timeDataKey }) => response.locals[timeDataKey] || {};
|
|
13
|
-
exports.getApiLogData = getApiLogData;
|
|
14
|
-
/**
|
|
15
|
-
* Возвращает динамически получаемые данные.
|
|
16
|
-
* @param {Object} dependencies Зависимости.
|
|
17
|
-
* @param {Object} dependencies.config Конфигурация.
|
|
18
|
-
* @param {string} dependencies.timeDataKey Поле в response.local, из которого следует запрашивать log data.
|
|
19
|
-
* @return {Object} Объект с данными.
|
|
20
|
-
*/
|
|
21
|
-
const getDynamicData = ({ config, timeDataKey = 'logData' }) => (request, response) => (Object.assign(Object.assign({ remote_ip: request_getters_1.getXClientIp({ request }), method: request_getters_1.getMethod({ request }), status: request_getters_1.getStatus({ response }), route: request_getters_1.getOriginalUrl({ request }) }, exports.getApiLogData({ response, timeDataKey })), { version: config.version }));
|
|
22
|
-
exports.getDynamicData = getDynamicData;
|
|
23
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/get-dynamic-data/index.js"],"names":[],"mappings":";;;AAAA,qEAAqG;AAErG;;;;;;GAMG;AACI,MAAM,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AAAlF,QAAA,aAAa,iBAAqE;AAE/F;;;;;;GAMG;AACI,MAAM,cAAc,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,+BAC5F,SAAS,EAAE,8BAAY,CAAC,EAAE,OAAO,EAAE,CAAC,EACpC,MAAM,EAAE,2BAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAC9B,MAAM,EAAE,2BAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,EAC/B,KAAK,EAAE,gCAAc,CAAC,EAAE,OAAO,EAAE,CAAC,IAC/B,qBAAa,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,KAC3C,OAAO,EAAE,MAAM,CAAC,OAAO,IACvB,CAAC;AAPU,QAAA,cAAc,kBAOxB"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Время ожидания до принудительного завершения процесса приложения по умолчанию.
|
|
3
|
-
* @type {number}
|
|
4
|
-
*/
|
|
5
|
-
export const defaultExitTimeout: number;
|
|
6
|
-
export function decorateGracefulShutdown(server: import('http').Server, options?: {
|
|
7
|
-
onSuccess?: Function | undefined;
|
|
8
|
-
onError?: Function | undefined;
|
|
9
|
-
timeout?: number | undefined;
|
|
10
|
-
} | undefined): void;
|
|
11
|
-
export function createShutdownHandler(server: import('http').Server, { onError, onSuccess, timeout, }?: {
|
|
12
|
-
onSuccess?: Function | undefined;
|
|
13
|
-
onError?: Function | undefined;
|
|
14
|
-
timeout?: number | undefined;
|
|
15
|
-
} | undefined): Function;
|
|
16
|
-
export function createCloseHandler(exitCode?: number | undefined, onClose?: Function | undefined): Function;
|
|
17
|
-
export function onExitHandlerCreator({ logger, config, message }: {
|
|
18
|
-
logger: Object;
|
|
19
|
-
config?: Object | undefined;
|
|
20
|
-
message: string;
|
|
21
|
-
}): Function;
|
|
22
|
-
export function gracefulShutdownCreator({ onExitError: onError, onExitSuccess: onSuccess, processExitTimeout: timeout, }: {
|
|
23
|
-
onExitError: Function;
|
|
24
|
-
onExitSuccess: Function;
|
|
25
|
-
processExitTimeout: number;
|
|
26
|
-
}): Function;
|
|
@@ -1,87 +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.gracefulShutdownCreator = exports.onExitHandlerCreator = exports.createCloseHandler = exports.createShutdownHandler = exports.decorateGracefulShutdown = exports.defaultExitTimeout = void 0;
|
|
7
|
-
const isFunction_1 = __importDefault(require("lodash/isFunction"));
|
|
8
|
-
const is_numeric_1 = __importDefault(require("../helpers/utils/is-numeric"));
|
|
9
|
-
/**
|
|
10
|
-
* Время ожидания до принудительного завершения процесса приложения по умолчанию.
|
|
11
|
-
* @type {number}
|
|
12
|
-
*/
|
|
13
|
-
exports.defaultExitTimeout = 20000;
|
|
14
|
-
/**
|
|
15
|
-
* Декорирует http-сервер, добавляя остановку при завершении процесса node-приложения.
|
|
16
|
-
* @param {import('http').Server} server Экземпляр класса http.Server.
|
|
17
|
-
* @param {Object} [options] Экземпляр класса http.Server.
|
|
18
|
-
* @param {Function} [options.onSuccess] Будет вызвана перед завершением процесса в случае успешного завершения.
|
|
19
|
-
* @param {Function} [options.onError] Будет вызвана перед принудительным завершением процесса.
|
|
20
|
-
* @param {number} [options.timeout=20000] Время ожидания остановки, после которого выполнится принудительная остановка.
|
|
21
|
-
*/
|
|
22
|
-
const decorateGracefulShutdown = (server, options) => {
|
|
23
|
-
const handleShutdown = exports.createShutdownHandler(server, options);
|
|
24
|
-
// e.g. kill
|
|
25
|
-
process.on('SIGTERM', handleShutdown);
|
|
26
|
-
// e.g. Ctrl + C
|
|
27
|
-
process.on('SIGINT', handleShutdown);
|
|
28
|
-
};
|
|
29
|
-
exports.decorateGracefulShutdown = decorateGracefulShutdown;
|
|
30
|
-
/**
|
|
31
|
-
* Возвращает функцию, которая запускает остановку http-сервера и завершает процесс приложения принудительно.
|
|
32
|
-
* @param {import('http').Server} server Экземпляр класса http.Server.
|
|
33
|
-
* @param {Object} [options] Экземпляр класса http.Server.
|
|
34
|
-
* @param {Function} [options.onSuccess] Будет вызвана перед завершением процесса.
|
|
35
|
-
* @param {Function} [options.onError] Будет вызвана перед завершением процесса.
|
|
36
|
-
* @param {number} [options.timeout=20000] Время ожидания остановки, после которого выполнится принудительная остановка.
|
|
37
|
-
* @return {Function} Функция, запускающая остановку http-сервера и завершающая процесс приложения принудительно.
|
|
38
|
-
*/
|
|
39
|
-
const createShutdownHandler = (server, { onError, onSuccess, timeout = exports.defaultExitTimeout, } = {}) => {
|
|
40
|
-
const validTimeout = is_numeric_1.default(timeout)
|
|
41
|
-
? Number(timeout)
|
|
42
|
-
: exports.defaultExitTimeout;
|
|
43
|
-
return () => {
|
|
44
|
-
server.close(exports.createCloseHandler(0, onSuccess));
|
|
45
|
-
setTimeout(exports.createCloseHandler(1, onError), validTimeout); // принудительное завершение
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
|
-
exports.createShutdownHandler = createShutdownHandler;
|
|
49
|
-
/**
|
|
50
|
-
* Возвращает функцию, которая завершает процесс node-приложения с определенным кодом.
|
|
51
|
-
* @param {number} [exitCode=0] Код завершения процесса.
|
|
52
|
-
* @param {Function} [onClose] Функция, которая будет вызвана перед завершением процесса.
|
|
53
|
-
* @return {Function} Функция завершения процесса.
|
|
54
|
-
*/
|
|
55
|
-
const createCloseHandler = (exitCode = 0, onClose) => () => {
|
|
56
|
-
isFunction_1.default(onClose) && onClose(exitCode);
|
|
57
|
-
process.exit(exitCode);
|
|
58
|
-
};
|
|
59
|
-
exports.createCloseHandler = createCloseHandler;
|
|
60
|
-
/**
|
|
61
|
-
* Создаёт обработчики событий завершения приложения.
|
|
62
|
-
* @param {Object} options Опции.
|
|
63
|
-
* @param {Object} options.logger Логгер.
|
|
64
|
-
* @param {Object} [options.config] Конфигурация приложения.
|
|
65
|
-
* @param {string} options.message Сообщение, которое будет залоггировано в консоль.
|
|
66
|
-
* @return {Function} Обработчик завершения приложения.
|
|
67
|
-
*/
|
|
68
|
-
const onExitHandlerCreator = ({ logger, config, message }) => () => {
|
|
69
|
-
const { isDevelopment = true } = config || {};
|
|
70
|
-
isDevelopment && logger.info(message);
|
|
71
|
-
};
|
|
72
|
-
exports.onExitHandlerCreator = onExitHandlerCreator;
|
|
73
|
-
/**
|
|
74
|
-
* Сервис для реализации лёгкого завершения приложения.
|
|
75
|
-
* @param {Object} options Опции.
|
|
76
|
-
* @param {Function} options.onExitError Обработчик завершения с ошибкой.
|
|
77
|
-
* @param {Function} options.onExitSuccess Обработчик успешного завершения.
|
|
78
|
-
* @param {number} options.processExitTimeout Максимальное время, отведённое приложению на завершение.
|
|
79
|
-
* @return {Function} Функция, реализующая лёгкое завершение приложения.
|
|
80
|
-
*/
|
|
81
|
-
const gracefulShutdownCreator = ({ onExitError: onError, onExitSuccess: onSuccess, processExitTimeout: timeout, }) => server => exports.decorateGracefulShutdown(server, {
|
|
82
|
-
onError,
|
|
83
|
-
onSuccess,
|
|
84
|
-
timeout,
|
|
85
|
-
});
|
|
86
|
-
exports.gracefulShutdownCreator = gracefulShutdownCreator;
|
|
87
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/graceful-shutdown/index.js"],"names":[],"mappings":";;;;;;AAAA,mEAA2C;AAC3C,6EAAoD;AAEpD;;;GAGG;AACU,QAAA,kBAAkB,GAAG,KAAK,CAAC;AAExC;;;;;;;GAOG;AACI,MAAM,wBAAwB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IAC1D,MAAM,cAAc,GAAG,6BAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE9D,YAAY;IACZ,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAEtC,gBAAgB;IAChB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AACvC,CAAC,CAAC;AARW,QAAA,wBAAwB,4BAQnC;AAEF;;;;;;;;GAQG;AACI,MAAM,qBAAqB,GAAG,CACnC,MAAM,EACN,EACE,OAAO,EACP,SAAS,EACT,OAAO,GAAG,0BAAkB,GAC7B,GAAG,EAAE,EACN,EAAE;IACF,MAAM,YAAY,GAAG,oBAAS,CAAC,OAAO,CAAC;QACrC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACjB,CAAC,CAAC,0BAAkB,CAAC;IAEvB,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,KAAK,CAAC,0BAAkB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAC/C,UAAU,CAAC,0BAAkB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,4BAA4B;IACxF,CAAC,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,qBAAqB,yBAgBhC;AAEF;;;;;GAKG;AACI,MAAM,kBAAkB,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,EAAE;IAChE,oBAAU,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC,CAAC;AAHW,QAAA,kBAAkB,sBAG7B;AAEF;;;;;;;GAOG;AACI,MAAM,oBAAoB,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE;IACxE,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IAC9C,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC,CAAC;AAHW,QAAA,oBAAoB,wBAG/B;AAEF;;;;;;;GAOG;AACI,MAAM,uBAAuB,GAAG,CACrC,EACE,WAAW,EAAE,OAAO,EACpB,aAAa,EAAE,SAAS,EACxB,kBAAkB,EAAE,OAAO,GAC5B,EACD,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,gCAAwB,CAAC,MAAM,EAAE;IAC9C,OAAO;IACP,SAAS;IACT,OAAO;CACR,CAAC,CAAC;AAVU,QAAA,uBAAuB,2BAUjC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export function addErrorHandling(handler: Function, errorHandler?: Function | undefined): Function;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.addErrorHandling = void 0;
|
|
16
|
-
const isFunction_1 = __importDefault(require("lodash/isFunction"));
|
|
17
|
-
/**
|
|
18
|
-
* Возвращает функцию с обработкой ошибки обработчика роута Express.
|
|
19
|
-
* @param {Function} handler Обработчик роута Express.
|
|
20
|
-
* @param {Function} [errorHandler] Обработчик ошибки роута Express.
|
|
21
|
-
* @return {Function} Обработчик роута обернутого для отлова ошибок.
|
|
22
|
-
*/
|
|
23
|
-
const addErrorHandling = (handler, errorHandler) => {
|
|
24
|
-
if (!isFunction_1.default(handler)) {
|
|
25
|
-
throw new Error('Аргумент "handler" должен быть функцией.');
|
|
26
|
-
}
|
|
27
|
-
return (request, response, next, ...args) => __awaiter(void 0, void 0, void 0, function* () {
|
|
28
|
-
try {
|
|
29
|
-
yield handler(request, response, next, ...args);
|
|
30
|
-
}
|
|
31
|
-
catch (err) {
|
|
32
|
-
if (isFunction_1.default(errorHandler)) {
|
|
33
|
-
yield errorHandler(err, request, response, next, ...args);
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
yield next(err);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
};
|
|
41
|
-
exports.addErrorHandling = addErrorHandling;
|
|
42
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/add-error-handling/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mEAA2C;AAE3C;;;;;GAKG;AACI,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE;IACxD,IAAI,CAAC,oBAAU,CAAC,OAAO,CAAC,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC7D;IACD,OAAO,CAAO,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE;QAChD,IAAI;YACF,MAAM,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;SACjD;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,oBAAU,CAAC,YAAY,CAAC,EAAE;gBAC5B,MAAM,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;aAC3D;iBAAM;gBACL,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;aACjB;SACF;IACH,CAAC,CAAA,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,gBAAgB,oBAe3B"}
|