@sima-land/isomorph 10.1.0 → 11.0.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cache/types.d.ts +7 -0
- package/cache/types.js +3 -0
- package/cache/types.js.map +1 -0
- package/config/base.d.ts +7 -0
- package/config/base.js +20 -0
- package/config/base.js.map +1 -0
- package/config/browser.d.ts +6 -0
- package/config/browser.js +22 -0
- package/config/browser.js.map +1 -0
- package/config/node.d.ts +6 -0
- package/config/node.js +24 -0
- package/config/node.js.map +1 -0
- package/config/types.d.ts +7 -0
- package/config/types.js +3 -0
- package/config/types.js.map +1 -0
- package/di/application.d.ts +6 -0
- package/di/application.js +71 -0
- package/di/application.js.map +1 -0
- package/di/container.d.ts +6 -0
- package/di/container.js +49 -0
- package/di/container.js.map +1 -0
- package/di/errors.d.ts +21 -0
- package/di/errors.js +33 -0
- package/di/errors.js.map +1 -0
- package/di/index.d.ts +6 -0
- package/di/index.js +16 -0
- package/di/index.js.map +1 -0
- package/di/preset.d.ts +9 -0
- package/di/preset.js +25 -0
- package/di/preset.js.map +1 -0
- package/di/token.d.ts +7 -0
- package/di/token.js +17 -0
- package/di/token.js.map +1 -0
- package/di/types.d.ts +32 -0
- package/di/types.js +3 -0
- package/di/types.js.map +1 -0
- package/error-tracker/types.d.ts +13 -0
- package/error-tracker/types.js +3 -0
- package/error-tracker/types.js.map +1 -0
- package/error-tracker/utils.d.ts +22 -0
- package/error-tracker/utils.js +30 -0
- package/error-tracker/utils.js.map +1 -0
- package/http-client/middleware/cookie.d.ts +19 -0
- package/http-client/middleware/cookie.js +62 -0
- package/http-client/middleware/cookie.js.map +1 -0
- package/http-client/middleware/logging.d.ts +15 -0
- package/http-client/middleware/logging.js +93 -0
- package/http-client/middleware/logging.js.map +1 -0
- package/http-client/middleware/tracing.d.ts +32 -0
- package/http-client/middleware/tracing.js +67 -0
- package/http-client/middleware/tracing.js.map +1 -0
- package/http-client/sauce/index.d.ts +27 -0
- package/http-client/sauce/index.js +33 -0
- package/http-client/sauce/index.js.map +1 -0
- package/http-client/types.d.ts +6 -0
- package/http-client/types.js +3 -0
- package/http-client/types.js.map +1 -0
- package/http-client/utils.d.ts +9 -0
- package/http-client/utils.js +20 -0
- package/http-client/utils.js.map +1 -0
- package/http-server/constants.d.ts +4 -0
- package/http-server/constants.js +8 -0
- package/http-server/constants.js.map +1 -0
- package/http-server/handler/health-check.d.ts +6 -0
- package/http-server/handler/health-check.js +15 -0
- package/http-server/handler/health-check.js.map +1 -0
- package/http-server/middleware/logging.d.ts +10 -0
- package/http-server/middleware/logging.js +31 -0
- package/http-server/middleware/logging.js.map +1 -0
- package/http-server/middleware/metrics.d.ts +23 -0
- package/http-server/middleware/metrics.js +60 -0
- package/http-server/middleware/metrics.js.map +1 -0
- package/http-server/middleware/tracing.d.ts +14 -0
- package/http-server/middleware/tracing.js +51 -0
- package/http-server/middleware/tracing.js.map +1 -0
- package/http-server/template/index.d.ts +1 -0
- package/http-server/template/index.js +36 -0
- package/http-server/template/index.js.map +1 -0
- package/http-server/types.d.ts +33 -0
- package/http-server/types.js +3 -0
- package/http-server/types.js.map +1 -0
- package/http-server/utils.d.ts +30 -0
- package/http-server/utils.js +100 -0
- package/http-server/utils.js.map +1 -0
- package/logger/handler/console.d.ts +8 -0
- package/logger/handler/console.js +43 -0
- package/logger/handler/console.js.map +1 -0
- package/logger/handler/sentry.d.ts +8 -0
- package/logger/handler/sentry.js +42 -0
- package/logger/handler/sentry.js.map +1 -0
- package/logger/index.d.ts +6 -0
- package/logger/index.js +31 -0
- package/logger/index.js.map +1 -0
- package/logger/types.d.ts +24 -0
- package/logger/types.js +3 -0
- package/logger/types.js.map +1 -0
- package/metrics/constants.d.ts +4 -0
- package/metrics/constants.js +8 -0
- package/metrics/constants.js.map +1 -0
- package/metrics/node.d.ts +18 -0
- package/metrics/node.js +74 -0
- package/metrics/node.js.map +1 -0
- package/package.json +46 -63
- package/preset/browser/index.d.ts +1 -0
- package/preset/browser/index.js +45 -0
- package/preset/browser/index.js.map +1 -0
- package/preset/node/index.d.ts +19 -0
- package/preset/node/index.js +127 -0
- package/preset/node/index.js.map +1 -0
- package/preset/node/response.d.ts +20 -0
- package/preset/node/response.js +82 -0
- package/preset/node/response.js.map +1 -0
- package/saga-runner/index.d.ts +8 -0
- package/saga-runner/index.js +79 -0
- package/saga-runner/index.js.map +1 -0
- package/saga-runner/types.d.ts +10 -0
- package/saga-runner/types.js +3 -0
- package/saga-runner/types.js.map +1 -0
- package/tokens.d.ts +48 -0
- package/tokens.js +50 -0
- package/tokens.js.map +1 -0
- package/tracing/index.d.ts +9 -0
- package/tracing/index.js +20 -0
- package/tracing/index.js.map +1 -0
- package/{browser → utils/browser}/analytics/data-layer.d.ts +0 -0
- package/{browser → utils/browser}/analytics/data-layer.js +1 -2
- package/utils/browser/analytics/data-layer.js.map +1 -0
- package/{browser → utils/browser}/analytics/oko.d.ts +0 -0
- package/{browser → utils/browser}/analytics/oko.js +6 -7
- package/utils/browser/analytics/oko.js.map +1 -0
- package/utils/browser/storage/index.d.ts +4 -0
- package/utils/browser/storage/index.js +63 -0
- package/utils/browser/storage/index.js.map +1 -0
- package/utils/number.d.ts +6 -0
- package/utils/number.js +13 -0
- package/utils/number.js.map +1 -0
- package/utils/react/error-handlers/index.d.ts +38 -0
- package/utils/react/error-handlers/index.js +48 -0
- package/utils/react/error-handlers/index.js.map +1 -0
- package/utils/redux/remote-data.d.ts +23 -0
- package/utils/redux/remote-data.js +28 -0
- package/utils/redux/remote-data.js.map +1 -0
- package/utils/redux-saga/take-chain.d.ts +24 -0
- package/utils/redux-saga/take-chain.js +56 -0
- package/utils/redux-saga/take-chain.js.map +1 -0
- package/utils/ssr/index.d.ts +30 -0
- package/utils/ssr/index.js +51 -0
- package/utils/ssr/index.js.map +1 -0
- package/utils/webpack/index.d.ts +23 -0
- package/utils/webpack/index.js +66 -0
- package/utils/webpack/index.js.map +1 -0
- package/utils/webpack/module-federation/index.d.ts +21 -0
- package/utils/webpack/module-federation/index.js +74 -0
- package/utils/webpack/module-federation/index.js.map +1 -0
- package/utils/webpack/module-federation/types.d.ts +26 -0
- package/utils/webpack/module-federation/types.js +3 -0
- package/utils/webpack/module-federation/types.js.map +1 -0
- package/utils/webpack/module-federation/utils.d.ts +15 -0
- package/utils/webpack/module-federation/utils.js +36 -0
- package/utils/webpack/module-federation/utils.js.map +1 -0
- package/browser/analytics/data-layer.js.map +0 -1
- package/browser/analytics/oko.js.map +0 -1
- package/cache/helpers.d.ts +0 -4
- package/cache/helpers.js +0 -39
- package/cache/helpers.js.map +0 -1
- package/cache/local-storage.d.ts +0 -34
- package/cache/local-storage.js +0 -90
- package/cache/local-storage.js.map +0 -1
- package/cache/redis.d.ts +0 -10
- package/cache/redis.js +0 -54
- package/cache/redis.js.map +0 -1
- package/cache/wrap-in-trace.d.ts +0 -8
- package/cache/wrap-in-trace.js +0 -68
- package/cache/wrap-in-trace.js.map +0 -1
- package/config/create.d.ts +0 -8
- package/config/create.js +0 -32
- package/config/create.js.map +0 -1
- package/config/helpers.d.ts +0 -11
- package/config/helpers.js +0 -71
- package/config/helpers.js.map +0 -1
- package/config/validate.d.ts +0 -18
- package/config/validate.js +0 -107
- package/config/validate.js.map +0 -1
- package/container/create-inject.d.ts +0 -7
- package/container/create-inject.js +0 -36
- package/container/create-inject.js.map +0 -1
- package/container/get-dependencies.d.ts +0 -13
- package/container/get-dependencies.js +0 -54
- package/container/get-dependencies.js.map +0 -1
- package/container/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/browser/analytics/data-layer.ts +0 -12
- package/src/browser/analytics/oko.ts +0 -42
- package/src/cache/helpers.js +0 -32
- package/src/cache/local-storage.ts +0 -92
- package/src/cache/redis.js +0 -79
- package/src/cache/wrap-in-trace.js +0 -57
- package/src/config/create.js +0 -33
- package/src/config/helpers.js +0 -71
- package/src/config/validate.js +0 -114
- package/src/container/create-inject.js +0 -32
- package/src/container/get-dependencies.js +0 -46
- package/src/container/index.js +0 -188
- package/src/container/is-container.js +0 -14
- package/src/container/service-not-found-error.js +0 -14
- package/src/create-proxy/create-proxy-middleware/index.js +0 -47
- package/src/create-proxy/index.js +0 -27
- package/src/create-response-sender/index.js +0 -48
- package/src/get-dynamic-data/index.js +0 -26
- package/src/graceful-shutdown/index.js +0 -97
- package/src/helpers/add-error-handling/index.js +0 -24
- package/src/helpers/api/create-enhancer.js +0 -52
- package/src/helpers/api/create-instance.js +0 -42
- package/src/helpers/api/middlewares/collect-cookie-middleware.js +0 -27
- package/src/helpers/api/middlewares/count-api-response-time.js +0 -31
- package/src/helpers/api/middlewares/error-handlers-middlewares.js +0 -124
- package/src/helpers/api/middlewares/helpers.js +0 -26
- package/src/helpers/api/middlewares/pass-headers-middleware.js +0 -19
- package/src/helpers/api/middlewares/prepare-request-headers.js +0 -18
- package/src/helpers/api/middlewares/set-http-agents-middleware.js +0 -22
- package/src/helpers/api/middlewares/stages-trace-middleware.js +0 -46
- package/src/helpers/api/middlewares/trace-request-middleware.ts +0 -86
- package/src/helpers/api/server-adapter/__fixtures__/fake-keys.js +0 -58
- package/src/helpers/api/server-adapter/constants.js +0 -12
- package/src/helpers/api/server-adapter/helpers.js +0 -244
- package/src/helpers/api/server-adapter/index.js +0 -155
- package/src/helpers/development/use-dot-env.js +0 -9
- package/src/helpers/get-params/index.js +0 -59
- package/src/helpers/http/request-getters.js +0 -42
- package/src/helpers/http/statuses-validator.js +0 -20
- package/src/helpers/logger/create-pino-instance/index.js +0 -41
- package/src/helpers/logger/format-time/index.js +0 -6
- package/src/helpers/metrics/index.js +0 -40
- package/src/helpers/prometheus/index.js +0 -9
- package/src/helpers/prometheus/measure-middleware.js +0 -73
- package/src/helpers/prometheus/metric-adapter.js +0 -99
- package/src/helpers/react/error-handlers/index.tsx +0 -68
- package/src/helpers/redux/constants.js +0 -10
- package/src/helpers/redux/create-compose-middleware.js +0 -24
- package/src/helpers/redux/get-dev-compose-creator.js +0 -9
- package/src/helpers/redux/prepare-on-ready.js +0 -16
- package/src/helpers/redux/remote-data.js +0 -124
- package/src/helpers/redux/selector/statuses.js +0 -30
- package/src/helpers/redux/wait-on-store-readiness.js +0 -40
- package/src/helpers/render/get-react-markup-data.js +0 -18
- package/src/helpers/render/index.js +0 -69
- package/src/helpers/render/render-app.js +0 -15
- package/src/helpers/saga/__fixtures__/do-safe-request.js +0 -49
- package/src/helpers/saga/cache-result.js +0 -77
- package/src/helpers/saga/create-store.js +0 -102
- package/src/helpers/saga/do-safe-request.js +0 -47
- package/src/helpers/saga/safe-request.js +0 -11
- package/src/helpers/saga/take-chain.js +0 -53
- package/src/helpers/tracer/create-child-tracing-middleware.js +0 -42
- package/src/helpers/tracer/index.js +0 -171
- package/src/helpers/utils/check-feature-by-segment.js +0 -32
- package/src/helpers/utils/format-object-keys.js +0 -23
- package/src/helpers/utils/get-ms-from-hrt.js +0 -16
- package/src/helpers/utils/is-match-pattern-list.js +0 -13
- package/src/helpers/utils/is-not-empty-array.js +0 -8
- package/src/helpers/utils/is-not-empty-string.js +0 -11
- package/src/helpers/utils/is-numeric.ts +0 -12
- package/src/helpers/utils/wrap-in-measure-event.js +0 -35
- package/src/logger/create-logger-middleware/index.js +0 -46
- package/src/logger/create-sentry-instance/index.js +0 -74
- package/src/logger/create-sentry-middleware/index.js +0 -16
- package/src/logger/handler-creators/index.js +0 -38
- package/src/logger/initialize-sentry-creator/index.js +0 -43
- package/src/logger/sentry-logger/index.js +0 -33
- package/src/module-federation/__example__/webpack-config.example.js +0 -64
- package/src/module-federation/enhanced-module-federation-plugin.js +0 -119
- package/src/module-federation/utils/index.js +0 -39
- package/src/observe-middleware/index.js +0 -70
- package/src/set-header-middleware/create.js +0 -17
package/config/create.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const isFunction_1 = __importDefault(require("lodash/isFunction"));
|
|
7
|
-
const isPlainObject_1 = __importDefault(require("lodash/isPlainObject"));
|
|
8
|
-
const format_object_keys_1 = __importDefault(require("../helpers/utils/format-object-keys"));
|
|
9
|
-
/**
|
|
10
|
-
* Собирает объект конфигурации из переданных параметров.
|
|
11
|
-
* @param {Object} data Объект с данными, которые нужно добавить в конфигурацию.
|
|
12
|
-
* @param {Object} base Базовый объект на основе которого строится конфигурация.
|
|
13
|
-
* @param {boolean} needFormatKeys Признак форматирования ключей объекта.
|
|
14
|
-
* @return {Object} Объект конфигурации.
|
|
15
|
-
*/
|
|
16
|
-
function createConfig(data = {}, base = Object.assign({}, process.env), needFormatKeys = true) {
|
|
17
|
-
if (!isPlainObject_1.default(data)) {
|
|
18
|
-
throw new TypeError('Параметр "data" должен быть чистым объектом');
|
|
19
|
-
}
|
|
20
|
-
if (!isPlainObject_1.default(base)) {
|
|
21
|
-
throw new TypeError('Параметр "base" должен быть чистым объектом');
|
|
22
|
-
}
|
|
23
|
-
return Object.entries(data).reduce((config, current) => {
|
|
24
|
-
const [key, value] = current;
|
|
25
|
-
if (!(key in config)) {
|
|
26
|
-
config[key] = isFunction_1.default(value) ? value(base) : value;
|
|
27
|
-
}
|
|
28
|
-
return config;
|
|
29
|
-
}, needFormatKeys ? format_object_keys_1.default(Object.assign({}, base)) : base);
|
|
30
|
-
}
|
|
31
|
-
exports.default = createConfig;
|
|
32
|
-
//# sourceMappingURL=create.js.map
|
package/config/create.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/config/create.js"],"names":[],"mappings":";;;;;AAAA,mEAA2C;AAC3C,yEAAiD;AACjD,6FAAmE;AAEnE;;;;;;GAMG;AACH,SAAwB,YAAY,CAClC,IAAI,GAAG,EAAE,EACT,IAAI,qBAAQ,OAAO,CAAC,GAAG,CAAE,EACzB,cAAc,GAAG,IAAI;IAErB,IAAI,CAAC,uBAAa,CAAC,IAAI,CAAC,EAAE;QACxB,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;KACpE;IAED,IAAI,CAAC,uBAAa,CAAC,IAAI,CAAC,EAAE;QACxB,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;KACpE;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QACrD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC;QAE7B,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE;YACpB,MAAM,CAAC,GAAG,CAAC,GAAG,oBAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SACvD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,4BAAgB,mBAAM,IAAI,EAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC;AArBD,+BAqBC"}
|
package/config/helpers.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export function defaultValidate(value: any): boolean;
|
|
2
|
-
export function getDefaultError(property: string): string;
|
|
3
|
-
export function getStringError(property: string, error: string): string;
|
|
4
|
-
export function throwError(errorText: string): never;
|
|
5
|
-
export function consoleError(errorText: string): void;
|
|
6
|
-
export function callError({ property, value, error, type, }: {
|
|
7
|
-
property: string;
|
|
8
|
-
value: any;
|
|
9
|
-
error?: string | Function | undefined;
|
|
10
|
-
type: 'error' | 'warning';
|
|
11
|
-
}): void;
|
package/config/helpers.js
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.callError = exports.consoleError = exports.throwError = exports.getStringError = exports.getDefaultError = exports.defaultValidate = void 0;
|
|
7
|
-
const isString_1 = __importDefault(require("lodash/isString"));
|
|
8
|
-
const isFunction_1 = __importDefault(require("lodash/isFunction"));
|
|
9
|
-
const validate_1 = require("./validate");
|
|
10
|
-
/**
|
|
11
|
-
* Станадртный валидатор, проверяет на непустую строку.
|
|
12
|
-
* @param {*} value Значение, которое нужно провалидировать.
|
|
13
|
-
* @return {boolean} Валидно ли значение.
|
|
14
|
-
*/
|
|
15
|
-
const defaultValidate = value => isString_1.default(value) && value.length > 0;
|
|
16
|
-
exports.defaultValidate = defaultValidate;
|
|
17
|
-
/**
|
|
18
|
-
* Возвращает текст ошибки про умолчанию.
|
|
19
|
-
* @param {string} property Свойство для которого получена ошибка.
|
|
20
|
-
* @return {string} Текст ошибки.
|
|
21
|
-
*/
|
|
22
|
-
const getDefaultError = property => `Ошибка конфигрурации приложения: Поле "${property}" заполнено некорректно`;
|
|
23
|
-
exports.getDefaultError = getDefaultError;
|
|
24
|
-
/**
|
|
25
|
-
* Возвращает текст ошибки для переданной строки ошибки.
|
|
26
|
-
* @param {string} property Свойство для которого получена ошибка.
|
|
27
|
-
* @param {string} error Текст ошибки.
|
|
28
|
-
* @return {string} Полный текст ошибки.
|
|
29
|
-
*/
|
|
30
|
-
const getStringError = (property, error) => `Ошибка конфигурации. Поле "${property}": ${error}`;
|
|
31
|
-
exports.getStringError = getStringError;
|
|
32
|
-
/**
|
|
33
|
-
* Выбрасывает ошибку.
|
|
34
|
-
* @param {string} errorText Текст ошибки.
|
|
35
|
-
*/
|
|
36
|
-
const throwError = errorText => {
|
|
37
|
-
throw new Error(errorText);
|
|
38
|
-
};
|
|
39
|
-
exports.throwError = throwError;
|
|
40
|
-
/**
|
|
41
|
-
* Выводит в лог ошибку.
|
|
42
|
-
* @param {string} errorText Текст ошибки.
|
|
43
|
-
*/
|
|
44
|
-
const consoleError = errorText => {
|
|
45
|
-
// eslint-disable-next-line no-console
|
|
46
|
-
console.error(errorText);
|
|
47
|
-
};
|
|
48
|
-
exports.consoleError = consoleError;
|
|
49
|
-
/**
|
|
50
|
-
* Вызывает ошибку.
|
|
51
|
-
* @param {Object} errorData Данные необходимые для вывода ошибки.
|
|
52
|
-
* @param {string} errorData.property Проверяемое свойство конфига.
|
|
53
|
-
* @param {*} errorData.value Проверяемое значение.
|
|
54
|
-
* @param {Function|string} [errorData.error] Либо функция, вызвающая ошибку, либо текст ошибки.
|
|
55
|
-
* @param {'error'|'warning'} errorData.type Тип валидации.
|
|
56
|
-
*/
|
|
57
|
-
const callError = ({ property, value, error, type, }) => {
|
|
58
|
-
if (isFunction_1.default(error)) {
|
|
59
|
-
error(property, value);
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
const errorText = isString_1.default(error)
|
|
63
|
-
? exports.getStringError(property, error)
|
|
64
|
-
: exports.getDefaultError(property);
|
|
65
|
-
type === validate_1.RULE_TYPES.error
|
|
66
|
-
? exports.throwError(errorText)
|
|
67
|
-
: exports.consoleError(errorText);
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
exports.callError = callError;
|
|
71
|
-
//# sourceMappingURL=helpers.js.map
|
package/config/helpers.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/config/helpers.js"],"names":[],"mappings":";;;;;;AAAA,+DAAuC;AACvC,mEAA2C;AAC3C,yCAAwC;AAExC;;;;GAIG;AACI,MAAM,eAAe,GAAG,KAAK,CAAC,EAAE,CAAC,kBAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAA/D,QAAA,eAAe,mBAAgD;AAE5E;;;;GAIG;AACI,MAAM,eAAe,GAAG,QAAQ,CAAC,EAAE,CACxC,0CAA0C,QAAQ,yBAAyB,CAAC;AADjE,QAAA,eAAe,mBACkD;AAE9E;;;;;GAKG;AACI,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAChD,8BAA8B,QAAQ,MAAM,KAAK,EAAE,CAAC;AADzC,QAAA,cAAc,kBAC2B;AAEtD;;;GAGG;AACI,MAAM,UAAU,GAAG,SAAS,CAAC,EAAE;IACpC,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB;AAEF;;;GAGG;AACI,MAAM,YAAY,GAAG,SAAS,CAAC,EAAE;IACtC,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC,CAAC;AAHW,QAAA,YAAY,gBAGvB;AAEF;;;;;;;GAOG;AACI,MAAM,SAAS,GAAG,CAAC,EACxB,QAAQ,EACR,KAAK,EACL,KAAK,EACL,IAAI,GACL,EAAE,EAAE;IACH,IAAI,oBAAU,CAAC,KAAK,CAAC,EAAE;QACrB,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;KACxB;SAAM;QACL,MAAM,SAAS,GAAG,kBAAQ,CAAC,KAAK,CAAC;YAC/B,CAAC,CAAC,sBAAc,CAAC,QAAQ,EAAE,KAAK,CAAC;YACjC,CAAC,CAAC,uBAAe,CAAC,QAAQ,CAAC,CAAC;QAE9B,IAAI,KAAK,qBAAU,CAAC,KAAK;YACvB,CAAC,CAAC,kBAAU,CAAC,SAAS,CAAC;YACvB,CAAC,CAAC,oBAAY,CAAC,SAAS,CAAC,CAAC;KAC7B;AACH,CAAC,CAAC;AAjBW,QAAA,SAAS,aAiBpB"}
|
package/config/validate.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export const RULE_TYPES: Readonly<{
|
|
2
|
-
error: string;
|
|
3
|
-
warning: string;
|
|
4
|
-
}>;
|
|
5
|
-
export function getValidatorsList(validation: Object | any[] | Function): any[];
|
|
6
|
-
export function checkValue(validate: Function, value: any): boolean;
|
|
7
|
-
export function validateValue(property: string, value: any, { validation, ...restRules }: {
|
|
8
|
-
validation: Object | any[] | Function;
|
|
9
|
-
}): void;
|
|
10
|
-
export function validateProperty(config: Object, property: string, rules: Object): void;
|
|
11
|
-
export default validateConfig;
|
|
12
|
-
/**
|
|
13
|
-
* Валидирует конфигурацию.
|
|
14
|
-
* @param {Object} config Конфигурация, которую нужно провалидировать.
|
|
15
|
-
* @param {Object} validationConfig Конфигурация валидатора.
|
|
16
|
-
* @return {Object} Конфигурация приложения.
|
|
17
|
-
*/
|
|
18
|
-
declare function validateConfig(config: Object, validationConfig: Object): Object;
|
package/config/validate.js
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
-
var t = {};
|
|
4
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
-
t[p] = s[p];
|
|
6
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
-
t[p[i]] = s[p[i]];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.validateProperty = exports.validateValue = exports.checkValue = exports.getValidatorsList = exports.RULE_TYPES = void 0;
|
|
18
|
-
const helpers_1 = require("./helpers");
|
|
19
|
-
const isFunction_1 = __importDefault(require("lodash/isFunction"));
|
|
20
|
-
const isPlainObject_1 = __importDefault(require("lodash/isPlainObject"));
|
|
21
|
-
exports.RULE_TYPES = Object.freeze({
|
|
22
|
-
error: 'error',
|
|
23
|
-
warning: 'warning',
|
|
24
|
-
});
|
|
25
|
-
/**
|
|
26
|
-
* Возвращает массив валидаторов.
|
|
27
|
-
* @param {Object|Array|Function} validation Функция-валидатор, либо объект-валидатор,
|
|
28
|
-
* либо массив объектов-валидаторов.
|
|
29
|
-
* @return {Array} Массив валидаторов.
|
|
30
|
-
*/
|
|
31
|
-
const getValidatorsList = validation => {
|
|
32
|
-
let result = validation;
|
|
33
|
-
if (isFunction_1.default(validation)) {
|
|
34
|
-
result = [{ validate: validation }];
|
|
35
|
-
}
|
|
36
|
-
else if (isPlainObject_1.default(validation)) {
|
|
37
|
-
result = [validation];
|
|
38
|
-
}
|
|
39
|
-
return result;
|
|
40
|
-
};
|
|
41
|
-
exports.getValidatorsList = getValidatorsList;
|
|
42
|
-
/**
|
|
43
|
-
* Проверяет значение на корректность.
|
|
44
|
-
* @param {Function} validate Функция-валидатор.
|
|
45
|
-
* @param {*} value Значение.
|
|
46
|
-
* @return {boolean} Валидно ли значение.
|
|
47
|
-
*/
|
|
48
|
-
const checkValue = (validate, value) => isFunction_1.default(validate)
|
|
49
|
-
? !validate(value)
|
|
50
|
-
: !helpers_1.defaultValidate(value);
|
|
51
|
-
exports.checkValue = checkValue;
|
|
52
|
-
/**
|
|
53
|
-
* Валидирует значение свойства конфигурации.
|
|
54
|
-
* @param {string} property Название свойства.
|
|
55
|
-
* @param {*} value Значение, которое нужно провалидировать.
|
|
56
|
-
* @param {Object} rules Правила валидации,.
|
|
57
|
-
* @param {Object|Array|Function} rules.validation Функция-валидатор, либо объект-валидатор,
|
|
58
|
-
* либо массив объектов-валидаторов.
|
|
59
|
-
*/
|
|
60
|
-
const validateValue = (property, value, _a) => {
|
|
61
|
-
var { validation = helpers_1.defaultValidate } = _a, restRules = __rest(_a, ["validation"]);
|
|
62
|
-
const validatorsList = exports.getValidatorsList(validation);
|
|
63
|
-
const failedValidator = validatorsList.find(({ validate }) => exports.checkValue(validate, value));
|
|
64
|
-
failedValidator && helpers_1.callError(Object.assign(Object.assign({ property,
|
|
65
|
-
value }, restRules), failedValidator));
|
|
66
|
-
};
|
|
67
|
-
exports.validateValue = validateValue;
|
|
68
|
-
/**
|
|
69
|
-
* Валидирует определенное свойство конфигурации.
|
|
70
|
-
* @param {Object} config Объект конфигурации.
|
|
71
|
-
* @param {string} property Название свойства.
|
|
72
|
-
* @param {Object} rules Объект с описанием правил валидидации свойство.
|
|
73
|
-
*/
|
|
74
|
-
const validateProperty = (config, property, rules) => {
|
|
75
|
-
const value = config[property];
|
|
76
|
-
const rulesList = Array.isArray(rules) ? rules : [rules];
|
|
77
|
-
if (value === undefined) {
|
|
78
|
-
const { error, type } = rules;
|
|
79
|
-
helpers_1.callError({ property, value, error, type });
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
rulesList.forEach(rule => {
|
|
83
|
-
exports.validateValue(property, value, rule);
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
exports.validateProperty = validateProperty;
|
|
88
|
-
/**
|
|
89
|
-
* Валидирует конфигурацию.
|
|
90
|
-
* @param {Object} config Конфигурация, которую нужно провалидировать.
|
|
91
|
-
* @param {Object} validationConfig Конфигурация валидатора.
|
|
92
|
-
* @return {Object} Конфигурация приложения.
|
|
93
|
-
*/
|
|
94
|
-
const validateConfig = (config, validationConfig) => {
|
|
95
|
-
if (!isPlainObject_1.default(config)) {
|
|
96
|
-
throw new TypeError('Конфигурация приложения должна быть чистым объектом');
|
|
97
|
-
}
|
|
98
|
-
if (!isPlainObject_1.default(validationConfig)) {
|
|
99
|
-
throw new TypeError('Конфигурация валидатора должна быть чистым объектом');
|
|
100
|
-
}
|
|
101
|
-
Object.entries(validationConfig).forEach(([property, rules]) => {
|
|
102
|
-
exports.validateProperty(config, property, rules);
|
|
103
|
-
});
|
|
104
|
-
return config;
|
|
105
|
-
};
|
|
106
|
-
exports.default = validateConfig;
|
|
107
|
-
//# sourceMappingURL=validate.js.map
|
package/config/validate.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/config/validate.js"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export default createInject;
|
|
2
|
-
/**
|
|
3
|
-
* Создаёт функцию для инъекции зависимостей из контейнера в функции.
|
|
4
|
-
* @param {Function} getContainer Функция для получения экземпляра контейнера.
|
|
5
|
-
* @return {Function} Функция для инъекции зависимостей из контейнера.
|
|
6
|
-
*/
|
|
7
|
-
declare function createInject(getContainer: Function): Function;
|
|
@@ -1,36 +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
|
-
const isFunction_1 = __importDefault(require("lodash/isFunction"));
|
|
16
|
-
const get_dependencies_1 = __importDefault(require("./get-dependencies"));
|
|
17
|
-
const is_container_1 = __importDefault(require("./is-container"));
|
|
18
|
-
/**
|
|
19
|
-
* Создаёт функцию для инъекции зависимостей из контейнера в функции.
|
|
20
|
-
* @param {Function} getContainer Функция для получения экземпляра контейнера.
|
|
21
|
-
* @return {Function} Функция для инъекции зависимостей из контейнера.
|
|
22
|
-
*/
|
|
23
|
-
const createInject = getContainer => ({ target, dependencies = [], registerArgs, }) => (...args) => __awaiter(void 0, void 0, void 0, function* () {
|
|
24
|
-
const container = getContainer();
|
|
25
|
-
// Если не получили контейнера, то выходим с ошибкой.
|
|
26
|
-
if (!is_container_1.default(container)) {
|
|
27
|
-
throw new TypeError('Полученный результат выполнения функции getContainer не реализует интерфейс контейнера.');
|
|
28
|
-
}
|
|
29
|
-
// Если требуется регистрируем аргументы функции как сервисы в контейнере.
|
|
30
|
-
if (isFunction_1.default(registerArgs)) {
|
|
31
|
-
registerArgs(container, ...args);
|
|
32
|
-
}
|
|
33
|
-
return target(...args, ...Object.values(yield get_dependencies_1.default(container, dependencies)));
|
|
34
|
-
});
|
|
35
|
-
exports.default = createInject;
|
|
36
|
-
//# sourceMappingURL=create-inject.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-inject.js","sourceRoot":"","sources":["../../src/container/create-inject.js"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,mEAA2C;AAC3C,0EAAiD;AACjD,kEAAyC;AAEzC;;;;GAIG;AACH,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,EACpC,MAAM,EACN,YAAY,GAAG,EAAE,EACjB,YAAY,GACb,EAAE,EAAE,CAAC,CAAO,GAAG,IAAI,EAAE,EAAE;IACtB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,qDAAqD;IACrD,IAAI,CAAC,sBAAW,CAAC,SAAS,CAAC,EAAE;QAC3B,MAAM,IAAI,SAAS,CAAC,yFAAyF,CAAC,CAAC;KAChH;IAED,0EAA0E;IAC1E,IAAI,oBAAU,CAAC,YAAY,CAAC,EAAE;QAC5B,YAAY,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;KAClC;IACD,OAAO,MAAM,CACX,GAAG,IAAI,EACP,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,0BAAe,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CACjE,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,kBAAe,YAAY,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export function isStaticDependency({ name, value }: {
|
|
2
|
-
name: string;
|
|
3
|
-
value: any;
|
|
4
|
-
}): boolean;
|
|
5
|
-
export default getDependencies;
|
|
6
|
-
/**
|
|
7
|
-
* Создает объект зависимостей на основе их названий.
|
|
8
|
-
* @param {Object} container Экземпляр контейнера в котором должен осуществляться поиск зависимостей.
|
|
9
|
-
* @param {Object} dependencies Список зависимостей.
|
|
10
|
-
* @param {string} serviceName Названия сервиса.
|
|
11
|
-
* @return {Object} Объект зависимостей.
|
|
12
|
-
*/
|
|
13
|
-
declare function getDependencies(container: Object, dependencies: Object | undefined, serviceName: string): Object;
|
|
@@ -1,54 +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.isStaticDependency = void 0;
|
|
16
|
-
const isString_1 = __importDefault(require("lodash/isString"));
|
|
17
|
-
const isPlainObject_1 = __importDefault(require("lodash/isPlainObject"));
|
|
18
|
-
/**
|
|
19
|
-
* Определяет, является ли зависимость статической, то есть не требующей инициализации.
|
|
20
|
-
* @param {Object} dependency Конфигурация зависимости.
|
|
21
|
-
* @param {string} dependency.name Название зависимости.
|
|
22
|
-
* @param {*} dependency.value Значение зависимости.
|
|
23
|
-
* @return {boolean} Является ли зависимость статической.
|
|
24
|
-
*/
|
|
25
|
-
const isStaticDependency = ({ name, value }) => typeof name === 'string'
|
|
26
|
-
&& typeof value !== 'undefined';
|
|
27
|
-
exports.isStaticDependency = isStaticDependency;
|
|
28
|
-
/**
|
|
29
|
-
* Создает объект зависимостей на основе их названий.
|
|
30
|
-
* @param {Object} container Экземпляр контейнера в котором должен осуществляться поиск зависимостей.
|
|
31
|
-
* @param {Object} dependencies Список зависимостей.
|
|
32
|
-
* @param {string} serviceName Названия сервиса.
|
|
33
|
-
* @return {Object} Объект зависимостей.
|
|
34
|
-
*/
|
|
35
|
-
const getDependencies = (container, dependencies = [], serviceName) => dependencies.reduce((prevPromise, dependency) => __awaiter(void 0, void 0, void 0, function* () {
|
|
36
|
-
const result = yield prevPromise;
|
|
37
|
-
if (isString_1.default(dependency)) {
|
|
38
|
-
result[dependency] = yield container.get(dependency, serviceName);
|
|
39
|
-
}
|
|
40
|
-
if (isPlainObject_1.default(dependency)) {
|
|
41
|
-
if (exports.isStaticDependency(dependency)) {
|
|
42
|
-
result[dependency.name] = dependency.value;
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
const [necessaryName, necessaryDepName] = Object.entries(dependency).shift() || [];
|
|
46
|
-
if (necessaryName && necessaryDepName) {
|
|
47
|
-
result[necessaryName] = yield container.get(necessaryDepName);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return result;
|
|
52
|
-
}), Promise.resolve({}));
|
|
53
|
-
exports.default = getDependencies;
|
|
54
|
-
//# sourceMappingURL=get-dependencies.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-dependencies.js","sourceRoot":"","sources":["../../src/container/get-dependencies.js"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+DAAuC;AACvC,yEAAiD;AAEjD;;;;;;GAMG;AACI,MAAM,kBAAkB,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CACpD,OAAO,IAAI,KAAK,QAAQ;OACrB,OAAO,KAAK,KAAK,WAAW,CAAC;AAFrB,QAAA,kBAAkB,sBAEG;AAElC;;;;;;GAMG;AACH,MAAM,eAAe,GAAG,CACtB,SAAS,EACT,YAAY,GAAG,EAAE,EACjB,WAAW,EACX,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAO,WAAW,EAAE,UAAU,EAAE,EAAE;IACzD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;IACjC,IAAI,kBAAQ,CAAC,UAAU,CAAC,EAAE;QACxB,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;KACnE;IAED,IAAI,uBAAa,CAAC,UAAU,CAAC,EAAE;QAC7B,IAAI,0BAAkB,CAAC,UAAU,CAAC,EAAE;YAClC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;SAC5C;aAAM;YACL,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;YACnF,IAAI,aAAa,IAAI,gBAAgB,EAAE;gBACrC,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;aAC/D;SACF;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAA,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAExB,kBAAe,eAAe,CAAC"}
|
package/container/index.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Функция создает IoC-контейнер.
|
|
3
|
-
* @param {Object} options Дополнительные опции для IoC-контейнера.
|
|
4
|
-
* @param {Array} options.services Массив сервисов, которые нужно зарегистрировать.
|
|
5
|
-
* @param {Object} options.parent Родительский контейнер.
|
|
6
|
-
* @return {Object} IoC Container.
|
|
7
|
-
* @throws {TypeError} Выдаст ошибку если параметр "services" не массив.
|
|
8
|
-
*/
|
|
9
|
-
export default function create({ services, parent }?: {
|
|
10
|
-
services: any[];
|
|
11
|
-
parent: Object;
|
|
12
|
-
}): Object;
|
|
13
|
-
export function createService(fn: Function, dependenciesToArgs: Function): Function;
|
|
14
|
-
export function createSingleton(options: Object): () => Object;
|
|
15
|
-
export function createFactory(options: Object): () => Object;
|
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"}
|