@sima-land/isomorph 11.0.0-alpha.7 → 11.0.0-alpha.71
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/README.md +26 -0
- package/dist/cjs/cache/index.js +6 -0
- package/dist/cjs/cache/index.js.map +1 -0
- package/dist/cjs/cache/types.js +6 -0
- package/dist/cjs/cache/types.js.map +1 -0
- package/dist/cjs/config/base.js +22 -0
- package/dist/cjs/config/base.js.map +1 -0
- package/dist/cjs/config/index.js +20 -0
- package/dist/cjs/config/index.js.map +1 -0
- package/dist/cjs/config/source.js +30 -0
- package/dist/cjs/config/source.js.map +1 -0
- package/dist/cjs/config/types.js +6 -0
- package/dist/cjs/config/types.js.map +1 -0
- package/dist/cjs/di/application.js +106 -0
- package/dist/cjs/di/application.js.map +1 -0
- package/dist/cjs/di/container.js +55 -0
- package/dist/cjs/di/container.js.map +1 -0
- package/dist/cjs/di/errors.js +65 -0
- package/dist/cjs/di/errors.js.map +1 -0
- package/dist/cjs/di/index.js +59 -0
- package/dist/cjs/di/index.js.map +1 -0
- package/dist/cjs/di/preset.js +32 -0
- package/dist/cjs/di/preset.js.map +1 -0
- package/dist/cjs/di/token.js +44 -0
- package/dist/cjs/di/token.js.map +1 -0
- package/dist/cjs/di/types.js +6 -0
- package/dist/cjs/di/types.js.map +1 -0
- package/dist/cjs/http/errors.js +55 -0
- package/dist/cjs/http/errors.js.map +1 -0
- package/dist/cjs/http/index.js +64 -0
- package/dist/cjs/http/index.js.map +1 -0
- package/dist/cjs/http/types.js +6 -0
- package/dist/cjs/http/types.js.map +1 -0
- package/dist/cjs/http/utils.js +168 -0
- package/dist/cjs/http/utils.js.map +1 -0
- package/dist/cjs/log/errors.js +35 -0
- package/dist/cjs/log/errors.js.map +1 -0
- package/dist/cjs/log/handler/pino.js +31 -0
- package/dist/cjs/log/handler/pino.js.map +1 -0
- package/dist/cjs/log/handler/sentry.js +53 -0
- package/dist/cjs/log/handler/sentry.js.map +1 -0
- package/dist/cjs/log/index.js +40 -0
- package/dist/cjs/log/index.js.map +1 -0
- package/dist/cjs/log/logger.js +35 -0
- package/dist/cjs/log/logger.js.map +1 -0
- package/dist/cjs/log/types.js +6 -0
- package/dist/cjs/log/types.js.map +1 -0
- package/dist/cjs/package.json +38 -0
- package/dist/cjs/preset/isomorphic/index.js +69 -0
- package/dist/cjs/preset/isomorphic/index.js.map +1 -0
- package/dist/cjs/preset/isomorphic/providers/abort-controller.js +14 -0
- package/dist/cjs/preset/isomorphic/providers/abort-controller.js.map +1 -0
- package/dist/cjs/preset/isomorphic/providers/axios-factory.js +24 -0
- package/dist/cjs/preset/isomorphic/providers/axios-factory.js.map +1 -0
- package/dist/cjs/preset/isomorphic/providers/axios-log-handler.js +18 -0
- package/dist/cjs/preset/isomorphic/providers/axios-log-handler.js.map +1 -0
- package/dist/cjs/preset/isomorphic/providers/base-config.js +18 -0
- package/dist/cjs/preset/isomorphic/providers/base-config.js.map +1 -0
- package/dist/cjs/preset/isomorphic/providers/fetch.js +18 -0
- package/dist/cjs/preset/isomorphic/providers/fetch.js.map +1 -0
- package/dist/cjs/preset/isomorphic/providers/redux-middleware-saga.js +26 -0
- package/dist/cjs/preset/isomorphic/providers/redux-middleware-saga.js.map +1 -0
- package/dist/cjs/preset/isomorphic/types.js +6 -0
- package/dist/cjs/preset/isomorphic/types.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/axios-logging.js +165 -0
- package/dist/cjs/preset/isomorphic/utils/axios-logging.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/disableable.js +32 -0
- package/dist/cjs/preset/isomorphic/utils/disableable.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/display-url.js +32 -0
- package/dist/cjs/preset/isomorphic/utils/display-url.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/fetch-logging.js +113 -0
- package/dist/cjs/preset/isomorphic/utils/fetch-logging.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/get-fetch-error-logging.js +21 -0
- package/dist/cjs/preset/isomorphic/utils/get-fetch-error-logging.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/get-fetch-extra-aborting.js +31 -0
- package/dist/cjs/preset/isomorphic/utils/get-fetch-extra-aborting.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/get-fetch-logging.js +25 -0
- package/dist/cjs/preset/isomorphic/utils/get-fetch-logging.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/http-api-host-pool.js +46 -0
- package/dist/cjs/preset/isomorphic/utils/http-api-host-pool.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/http-status.js +70 -0
- package/dist/cjs/preset/isomorphic/utils/http-status.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/saga-logging.js +54 -0
- package/dist/cjs/preset/isomorphic/utils/saga-logging.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/severity-from-status.js +30 -0
- package/dist/cjs/preset/isomorphic/utils/severity-from-status.js.map +1 -0
- package/dist/cjs/preset/node/index.js +121 -0
- package/dist/cjs/preset/node/index.js.map +1 -0
- package/dist/cjs/preset/node/providers/config-source.js +30 -0
- package/dist/cjs/preset/node/providers/config-source.js.map +1 -0
- package/dist/cjs/preset/node/providers/express-error-middleware.js +15 -0
- package/dist/cjs/preset/node/providers/express-error-middleware.js.map +1 -0
- package/dist/cjs/preset/node/providers/express-factory.js +16 -0
- package/dist/cjs/preset/node/providers/express-factory.js.map +1 -0
- package/dist/cjs/preset/node/providers/express-log-middleware.js +45 -0
- package/dist/cjs/preset/node/providers/express-log-middleware.js.map +1 -0
- package/dist/cjs/preset/node/providers/express-metrics-middleware.js +60 -0
- package/dist/cjs/preset/node/providers/express-metrics-middleware.js.map +1 -0
- package/dist/cjs/preset/node/providers/express-request-middleware.js +20 -0
- package/dist/cjs/preset/node/providers/express-request-middleware.js.map +1 -0
- package/dist/cjs/preset/node/providers/express-tracing-middleware.js +67 -0
- package/dist/cjs/preset/node/providers/express-tracing-middleware.js.map +1 -0
- package/dist/cjs/preset/node/providers/log-handler-pino.js +32 -0
- package/dist/cjs/preset/node/providers/log-handler-pino.js.map +1 -0
- package/dist/cjs/preset/node/providers/log-handler-sentry.js +35 -0
- package/dist/cjs/preset/node/providers/log-handler-sentry.js.map +1 -0
- package/dist/cjs/preset/node/providers/logger.js +23 -0
- package/dist/cjs/preset/node/providers/logger.js.map +1 -0
- package/dist/cjs/preset/node/providers/main-express-app.js +73 -0
- package/dist/cjs/preset/node/providers/main-express-app.js.map +1 -0
- package/dist/cjs/preset/node/providers/metrics-express-app.js +25 -0
- package/dist/cjs/preset/node/providers/metrics-express-app.js.map +1 -0
- package/dist/cjs/preset/node/providers/public-envs.js +22 -0
- package/dist/cjs/preset/node/providers/public-envs.js.map +1 -0
- package/dist/cjs/preset/node/providers/telemetry-tracer-provider.js +24 -0
- package/dist/cjs/preset/node/providers/telemetry-tracer-provider.js.map +1 -0
- package/dist/cjs/preset/node/providers/telemetry-tracer-resource.js +27 -0
- package/dist/cjs/preset/node/providers/telemetry-tracer-resource.js.map +1 -0
- package/dist/cjs/preset/node/providers/telemetry-tracer-span-exporter.js +28 -0
- package/dist/cjs/preset/node/providers/telemetry-tracer-span-exporter.js.map +1 -0
- package/dist/cjs/preset/node/providers/telemetry-tracer.js +18 -0
- package/dist/cjs/preset/node/providers/telemetry-tracer.js.map +1 -0
- package/dist/cjs/preset/node/types.js +6 -0
- package/dist/cjs/preset/node/types.js.map +1 -0
- package/dist/cjs/preset/node/utils/axios-tracing-middleware.js +66 -0
- package/dist/cjs/preset/node/utils/axios-tracing-middleware.js.map +1 -0
- package/dist/cjs/preset/node/utils/emitter-as-target.js +52 -0
- package/dist/cjs/preset/node/utils/emitter-as-target.js.map +1 -0
- package/dist/cjs/preset/node/utils/get-client-ip.js +18 -0
- package/dist/cjs/preset/node/utils/get-client-ip.js.map +1 -0
- package/dist/cjs/preset/node/utils/get-fetch-tracing.js +41 -0
- package/dist/cjs/preset/node/utils/get-fetch-tracing.js.map +1 -0
- package/dist/cjs/preset/node/utils/get-forwarded-headers.js +36 -0
- package/dist/cjs/preset/node/utils/get-forwarded-headers.js.map +1 -0
- package/dist/cjs/preset/node/utils/get-handler-metrics.js +43 -0
- package/dist/cjs/preset/node/utils/get-handler-metrics.js.map +1 -0
- package/dist/cjs/preset/node/utils/get-page-response-format.js +21 -0
- package/dist/cjs/preset/node/utils/get-page-response-format.js.map +1 -0
- package/dist/cjs/preset/node/utils/get-serve-measuring.js +57 -0
- package/dist/cjs/preset/node/utils/get-serve-measuring.js.map +1 -0
- package/dist/cjs/preset/node/utils/handler-provider.js +29 -0
- package/dist/cjs/preset/node/utils/handler-provider.js.map +1 -0
- package/dist/cjs/preset/node/utils/telemetry.js +23 -0
- package/dist/cjs/preset/node/utils/telemetry.js.map +1 -0
- package/dist/cjs/preset/node-handler/index.js +73 -0
- package/dist/cjs/preset/node-handler/index.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/accepts-type.js +17 -0
- package/dist/cjs/preset/node-handler/providers/accepts-type.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/axios-log-handler.js +25 -0
- package/dist/cjs/preset/node-handler/providers/axios-log-handler.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/axios-middleware.js +54 -0
- package/dist/cjs/preset/node-handler/providers/axios-middleware.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/fetch-middleware.js +35 -0
- package/dist/cjs/preset/node-handler/providers/fetch-middleware.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/handler-main.js +66 -0
- package/dist/cjs/preset/node-handler/providers/handler-main.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/response-events.js +18 -0
- package/dist/cjs/preset/node-handler/providers/response-events.js.map +1 -0
- package/dist/cjs/preset/node-handler/providers/specific-params.js +28 -0
- package/dist/cjs/preset/node-handler/providers/specific-params.js.map +1 -0
- package/dist/cjs/preset/server/constants.js +21 -0
- package/dist/cjs/preset/server/constants.js.map +1 -0
- package/dist/cjs/preset/server/index.js +95 -0
- package/dist/cjs/preset/server/index.js.map +1 -0
- package/dist/cjs/preset/server/providers/element-to-string.js +24 -0
- package/dist/cjs/preset/server/providers/element-to-string.js.map +1 -0
- package/dist/cjs/preset/server/providers/fetch-log-handler.js +23 -0
- package/dist/cjs/preset/server/providers/fetch-log-handler.js.map +1 -0
- package/dist/cjs/preset/server/providers/fetch-middleware.js +13 -0
- package/dist/cjs/preset/server/providers/fetch-middleware.js.map +1 -0
- package/dist/cjs/preset/server/providers/format-page-response.js +71 -0
- package/dist/cjs/preset/server/providers/format-page-response.js.map +1 -0
- package/dist/cjs/preset/server/providers/known-http-api-hosts.js +26 -0
- package/dist/cjs/preset/server/providers/known-http-api-hosts.js.map +1 -0
- package/dist/cjs/preset/server/providers/page-helmet.js +21 -0
- package/dist/cjs/preset/server/providers/page-helmet.js.map +1 -0
- package/dist/cjs/preset/server/providers/page-render.js +21 -0
- package/dist/cjs/preset/server/providers/page-render.js.map +1 -0
- package/dist/cjs/preset/server/providers/response-events.js +17 -0
- package/dist/cjs/preset/server/providers/response-events.js.map +1 -0
- package/dist/cjs/preset/server/providers/serve.js +48 -0
- package/dist/cjs/preset/server/providers/serve.js.map +1 -0
- package/dist/cjs/preset/server/providers/ssr-bridge-server-side.js +18 -0
- package/dist/cjs/preset/server/providers/ssr-bridge-server-side.js.map +1 -0
- package/dist/cjs/preset/server/types.js +6 -0
- package/dist/cjs/preset/server/types.js.map +1 -0
- package/dist/cjs/preset/server/utils/apply-server-middleware.js +22 -0
- package/dist/cjs/preset/server/utils/apply-server-middleware.js.map +1 -0
- package/dist/cjs/preset/server/utils/format-handler-error.js +40 -0
- package/dist/cjs/preset/server/utils/format-handler-error.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-client-ip.js +16 -0
- package/dist/cjs/preset/server/utils/get-client-ip.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-forwarded-headers.js +40 -0
- package/dist/cjs/preset/server/utils/get-forwarded-headers.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-health-check.js +22 -0
- package/dist/cjs/preset/server/utils/get-health-check.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-page-response-format.js +22 -0
- package/dist/cjs/preset/server/utils/get-page-response-format.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-serve-error-logging.js +36 -0
- package/dist/cjs/preset/server/utils/get-serve-error-logging.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-serve-logging.js +36 -0
- package/dist/cjs/preset/server/utils/get-serve-logging.js.map +1 -0
- package/dist/cjs/preset/server/utils/handler-provider.js +30 -0
- package/dist/cjs/preset/server/utils/handler-provider.js.map +1 -0
- package/dist/cjs/preset/server/utils/regular-helmet.js +68 -0
- package/dist/cjs/preset/server/utils/regular-helmet.js.map +1 -0
- package/dist/cjs/preset/server/utils/specific-extras.js +30 -0
- package/dist/cjs/preset/server/utils/specific-extras.js.map +1 -0
- package/dist/cjs/preset/web/index.js +46 -0
- package/dist/cjs/preset/web/index.js.map +1 -0
- package/dist/cjs/preset/web/providers/axios-middleware.js +19 -0
- package/dist/cjs/preset/web/providers/axios-middleware.js.map +1 -0
- package/dist/cjs/preset/web/providers/config-source.js +19 -0
- package/dist/cjs/preset/web/providers/config-source.js.map +1 -0
- package/dist/cjs/preset/web/providers/fetch-middleware.js +21 -0
- package/dist/cjs/preset/web/providers/fetch-middleware.js.map +1 -0
- package/dist/cjs/preset/web/providers/known-http-api-hosts.js +26 -0
- package/dist/cjs/preset/web/providers/known-http-api-hosts.js.map +1 -0
- package/dist/cjs/preset/web/providers/logger.js +51 -0
- package/dist/cjs/preset/web/providers/logger.js.map +1 -0
- package/dist/cjs/preset/web/providers/ssr-bridge-client-side.js +18 -0
- package/dist/cjs/preset/web/providers/ssr-bridge-client-side.js.map +1 -0
- package/dist/cjs/tokens.js +179 -0
- package/dist/cjs/tokens.js.map +1 -0
- package/dist/cjs/utils/axios/index.js +33 -0
- package/dist/cjs/utils/axios/index.js.map +1 -0
- package/dist/cjs/utils/axios/middleware/log.js +37 -0
- package/dist/cjs/utils/axios/middleware/log.js.map +1 -0
- package/dist/cjs/utils/axios/sauce/index.js +57 -0
- package/dist/cjs/utils/axios/sauce/index.js.map +1 -0
- package/dist/cjs/utils/axios/utils/index.js +30 -0
- package/dist/cjs/utils/axios/utils/index.js.map +1 -0
- package/dist/cjs/utils/express/handler/health-check.js +19 -0
- package/dist/cjs/utils/express/handler/health-check.js.map +1 -0
- package/dist/cjs/utils/express/index.js +20 -0
- package/dist/cjs/utils/express/index.js.map +1 -0
- package/dist/cjs/utils/express/utils/index.js +22 -0
- package/dist/cjs/utils/express/utils/index.js.map +1 -0
- package/dist/cjs/utils/function.js +44 -0
- package/dist/cjs/utils/function.js.map +1 -0
- package/dist/cjs/utils/index.js +27 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/{utils/number.js → dist/cjs/utils/math.js} +7 -5
- package/dist/cjs/utils/math.js.map +1 -0
- package/dist/cjs/utils/react/error-handlers/index.js +80 -0
- package/dist/cjs/utils/react/error-handlers/index.js.map +1 -0
- package/dist/cjs/utils/react/index.js +19 -0
- package/dist/cjs/utils/react/index.js.map +1 -0
- package/dist/cjs/utils/redux/index.js +19 -0
- package/dist/cjs/utils/redux/index.js.map +1 -0
- package/dist/cjs/utils/redux/remote-data.js +119 -0
- package/dist/cjs/utils/redux/remote-data.js.map +1 -0
- package/dist/cjs/utils/redux-saga/index.js +63 -0
- package/dist/cjs/utils/redux-saga/index.js.map +1 -0
- package/dist/cjs/utils/redux-saga/middleware.js +148 -0
- package/dist/cjs/utils/redux-saga/middleware.js.map +1 -0
- package/dist/cjs/utils/redux-saga/take-chain.js +66 -0
- package/dist/cjs/utils/redux-saga/take-chain.js.map +1 -0
- package/dist/cjs/utils/redux-saga/typed-effects.js +98 -0
- package/dist/cjs/utils/redux-saga/typed-effects.js.map +1 -0
- package/dist/cjs/utils/redux-saga/types.js +6 -0
- package/dist/cjs/utils/redux-saga/types.js.map +1 -0
- package/dist/cjs/utils/selectors/create-curried-selector.js +41 -0
- package/dist/cjs/utils/selectors/create-curried-selector.js.map +1 -0
- package/dist/cjs/utils/ssr/index.js +74 -0
- package/dist/cjs/utils/ssr/index.js.map +1 -0
- package/dist/cjs/utils/web/analytics/data-layer.js +20 -0
- package/dist/cjs/utils/web/analytics/data-layer.js.map +1 -0
- package/dist/cjs/utils/web/analytics/index.js +20 -0
- package/dist/cjs/utils/web/analytics/index.js.map +1 -0
- package/dist/cjs/utils/web/analytics/oko.js +20 -0
- package/dist/cjs/utils/web/analytics/oko.js.map +1 -0
- package/dist/cjs/utils/web/storage/index.js +74 -0
- package/dist/cjs/utils/web/storage/index.js.map +1 -0
- package/dist/cjs/utils/webpack/env/index.js +97 -0
- package/dist/cjs/utils/webpack/env/index.js.map +1 -0
- package/dist/cjs/utils/webpack/env/types.js +6 -0
- package/dist/cjs/utils/webpack/env/types.js.map +1 -0
- package/dist/cjs/utils/webpack/env/utils.js +55 -0
- package/dist/cjs/utils/webpack/env/utils.js.map +1 -0
- package/dist/cjs/utils/webpack/index.js +26 -0
- package/dist/cjs/utils/webpack/index.js.map +1 -0
- package/dist/cjs/utils/webpack/module-federation/index.js +109 -0
- package/dist/cjs/utils/webpack/module-federation/index.js.map +1 -0
- package/dist/cjs/utils/webpack/module-federation/types.js +6 -0
- package/dist/cjs/utils/webpack/module-federation/types.js.map +1 -0
- package/dist/cjs/utils/webpack/module-federation/utils.js +87 -0
- package/dist/cjs/utils/webpack/module-federation/utils.js.map +1 -0
- package/dist/esm/cache/index.js +2 -0
- package/dist/esm/cache/index.js.map +1 -0
- package/dist/esm/cache/types.js +2 -0
- package/dist/esm/cache/types.js.map +1 -0
- package/dist/esm/config/base.js +16 -0
- package/dist/esm/config/base.js.map +1 -0
- package/dist/esm/config/index.js +3 -0
- package/dist/esm/config/index.js.map +1 -0
- package/dist/esm/config/source.js +24 -0
- package/dist/esm/config/source.js.map +1 -0
- package/dist/esm/config/types.js +2 -0
- package/dist/esm/config/types.js.map +1 -0
- package/dist/esm/di/application.js +100 -0
- package/dist/esm/di/application.js.map +1 -0
- package/dist/esm/di/container.js +49 -0
- package/dist/esm/di/container.js.map +1 -0
- package/dist/esm/di/errors.js +56 -0
- package/dist/esm/di/errors.js.map +1 -0
- package/dist/esm/di/index.js +6 -0
- package/dist/esm/di/index.js.map +1 -0
- package/dist/esm/di/preset.js +26 -0
- package/dist/esm/di/preset.js.map +1 -0
- package/dist/esm/di/token.js +38 -0
- package/dist/esm/di/token.js.map +1 -0
- package/dist/esm/di/types.js +2 -0
- package/dist/esm/di/types.js.map +1 -0
- package/dist/esm/http/errors.js +47 -0
- package/dist/esm/http/errors.js.map +1 -0
- package/dist/esm/http/index.js +5 -0
- package/dist/esm/http/index.js.map +1 -0
- package/dist/esm/http/types.js +2 -0
- package/dist/esm/http/types.js.map +1 -0
- package/dist/esm/http/utils.js +160 -0
- package/dist/esm/http/utils.js.map +1 -0
- package/dist/esm/log/errors.js +27 -0
- package/dist/esm/log/errors.js.map +1 -0
- package/dist/esm/log/handler/pino.js +25 -0
- package/dist/esm/log/handler/pino.js.map +1 -0
- package/dist/esm/log/handler/sentry.js +47 -0
- package/dist/esm/log/handler/sentry.js.map +1 -0
- package/dist/esm/log/index.js +5 -0
- package/dist/esm/log/index.js.map +1 -0
- package/dist/esm/log/logger.js +29 -0
- package/dist/esm/log/logger.js.map +1 -0
- package/dist/esm/log/types.js +2 -0
- package/dist/esm/log/types.js.map +1 -0
- package/dist/esm/package.json +38 -0
- package/dist/esm/preset/isomorphic/index.js +11 -0
- package/dist/esm/preset/isomorphic/index.js.map +1 -0
- package/dist/esm/preset/isomorphic/providers/abort-controller.js +8 -0
- package/dist/esm/preset/isomorphic/providers/abort-controller.js.map +1 -0
- package/dist/esm/preset/isomorphic/providers/axios-factory.js +19 -0
- package/dist/esm/preset/isomorphic/providers/axios-factory.js.map +1 -0
- package/dist/esm/preset/isomorphic/providers/axios-log-handler.js +13 -0
- package/dist/esm/preset/isomorphic/providers/axios-log-handler.js.map +1 -0
- package/dist/esm/preset/isomorphic/providers/base-config.js +13 -0
- package/dist/esm/preset/isomorphic/providers/base-config.js.map +1 -0
- package/dist/esm/preset/isomorphic/providers/fetch.js +13 -0
- package/dist/esm/preset/isomorphic/providers/fetch.js.map +1 -0
- package/dist/esm/preset/isomorphic/providers/redux-middleware-saga.js +20 -0
- package/dist/esm/preset/isomorphic/providers/redux-middleware-saga.js.map +1 -0
- package/dist/esm/preset/isomorphic/types.js +2 -0
- package/dist/esm/preset/isomorphic/types.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/axios-logging.js +158 -0
- package/dist/esm/preset/isomorphic/utils/axios-logging.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/disableable.js +25 -0
- package/dist/esm/preset/isomorphic/utils/disableable.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/display-url.js +26 -0
- package/dist/esm/preset/isomorphic/utils/display-url.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/fetch-logging.js +107 -0
- package/dist/esm/preset/isomorphic/utils/fetch-logging.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/get-fetch-error-logging.js +16 -0
- package/dist/esm/preset/isomorphic/utils/get-fetch-error-logging.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/get-fetch-extra-aborting.js +25 -0
- package/dist/esm/preset/isomorphic/utils/get-fetch-extra-aborting.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/get-fetch-logging.js +20 -0
- package/dist/esm/preset/isomorphic/utils/get-fetch-logging.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/http-api-host-pool.js +39 -0
- package/dist/esm/preset/isomorphic/utils/http-api-host-pool.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/http-status.js +63 -0
- package/dist/esm/preset/isomorphic/utils/http-status.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/saga-logging.js +47 -0
- package/dist/esm/preset/isomorphic/utils/saga-logging.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/severity-from-status.js +24 -0
- package/dist/esm/preset/isomorphic/utils/severity-from-status.js.map +1 -0
- package/dist/esm/preset/node/index.js +91 -0
- package/dist/esm/preset/node/index.js.map +1 -0
- package/dist/esm/preset/node/providers/config-source.js +24 -0
- package/dist/esm/preset/node/providers/config-source.js.map +1 -0
- package/dist/esm/preset/node/providers/express-error-middleware.js +9 -0
- package/dist/esm/preset/node/providers/express-error-middleware.js.map +1 -0
- package/dist/esm/preset/node/providers/express-factory.js +10 -0
- package/dist/esm/preset/node/providers/express-factory.js.map +1 -0
- package/dist/esm/preset/node/providers/express-log-middleware.js +40 -0
- package/dist/esm/preset/node/providers/express-log-middleware.js.map +1 -0
- package/dist/esm/preset/node/providers/express-metrics-middleware.js +55 -0
- package/dist/esm/preset/node/providers/express-metrics-middleware.js.map +1 -0
- package/dist/esm/preset/node/providers/express-request-middleware.js +14 -0
- package/dist/esm/preset/node/providers/express-request-middleware.js.map +1 -0
- package/dist/esm/preset/node/providers/express-tracing-middleware.js +62 -0
- package/dist/esm/preset/node/providers/express-tracing-middleware.js.map +1 -0
- package/dist/esm/preset/node/providers/log-handler-pino.js +26 -0
- package/dist/esm/preset/node/providers/log-handler-pino.js.map +1 -0
- package/dist/esm/preset/node/providers/log-handler-sentry.js +30 -0
- package/dist/esm/preset/node/providers/log-handler-sentry.js.map +1 -0
- package/dist/esm/preset/node/providers/logger.js +18 -0
- package/dist/esm/preset/node/providers/logger.js.map +1 -0
- package/dist/esm/preset/node/providers/main-express-app.js +67 -0
- package/dist/esm/preset/node/providers/main-express-app.js.map +1 -0
- package/dist/esm/preset/node/providers/metrics-express-app.js +18 -0
- package/dist/esm/preset/node/providers/metrics-express-app.js.map +1 -0
- package/dist/esm/preset/node/providers/public-envs.js +16 -0
- package/dist/esm/preset/node/providers/public-envs.js.map +1 -0
- package/dist/esm/preset/node/providers/telemetry-tracer-provider.js +19 -0
- package/dist/esm/preset/node/providers/telemetry-tracer-provider.js.map +1 -0
- package/dist/esm/preset/node/providers/telemetry-tracer-resource.js +20 -0
- package/dist/esm/preset/node/providers/telemetry-tracer-resource.js.map +1 -0
- package/dist/esm/preset/node/providers/telemetry-tracer-span-exporter.js +22 -0
- package/dist/esm/preset/node/providers/telemetry-tracer-span-exporter.js.map +1 -0
- package/dist/esm/preset/node/providers/telemetry-tracer.js +13 -0
- package/dist/esm/preset/node/providers/telemetry-tracer.js.map +1 -0
- package/dist/esm/preset/node/types.js +2 -0
- package/dist/esm/preset/node/types.js.map +1 -0
- package/dist/esm/preset/node/utils/axios-tracing-middleware.js +60 -0
- package/dist/esm/preset/node/utils/axios-tracing-middleware.js.map +1 -0
- package/dist/esm/preset/node/utils/emitter-as-target.js +45 -0
- package/dist/esm/preset/node/utils/emitter-as-target.js.map +1 -0
- package/dist/esm/preset/node/utils/get-client-ip.js +12 -0
- package/dist/esm/preset/node/utils/get-client-ip.js.map +1 -0
- package/dist/esm/preset/node/utils/get-fetch-tracing.js +36 -0
- package/dist/esm/preset/node/utils/get-fetch-tracing.js.map +1 -0
- package/dist/esm/preset/node/utils/get-forwarded-headers.js +31 -0
- package/dist/esm/preset/node/utils/get-forwarded-headers.js.map +1 -0
- package/dist/esm/preset/node/utils/get-handler-metrics.js +35 -0
- package/dist/esm/preset/node/utils/get-handler-metrics.js.map +1 -0
- package/dist/esm/preset/node/utils/get-page-response-format.js +15 -0
- package/dist/esm/preset/node/utils/get-page-response-format.js.map +1 -0
- package/dist/esm/preset/node/utils/get-serve-measuring.js +52 -0
- package/dist/esm/preset/node/utils/get-serve-measuring.js.map +1 -0
- package/dist/esm/preset/node/utils/handler-provider.js +24 -0
- package/dist/esm/preset/node/utils/handler-provider.js.map +1 -0
- package/dist/esm/preset/node/utils/telemetry.js +18 -0
- package/dist/esm/preset/node/utils/telemetry.js.map +1 -0
- package/dist/esm/preset/node-handler/index.js +68 -0
- package/dist/esm/preset/node-handler/index.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/accepts-type.js +12 -0
- package/dist/esm/preset/node-handler/providers/accepts-type.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/axios-log-handler.js +20 -0
- package/dist/esm/preset/node-handler/providers/axios-log-handler.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/axios-middleware.js +49 -0
- package/dist/esm/preset/node-handler/providers/axios-middleware.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/fetch-middleware.js +30 -0
- package/dist/esm/preset/node-handler/providers/fetch-middleware.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/handler-main.js +58 -0
- package/dist/esm/preset/node-handler/providers/handler-main.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/response-events.js +13 -0
- package/dist/esm/preset/node-handler/providers/response-events.js.map +1 -0
- package/dist/esm/preset/node-handler/providers/specific-params.js +23 -0
- package/dist/esm/preset/node-handler/providers/specific-params.js.map +1 -0
- package/dist/esm/preset/server/constants.js +15 -0
- package/dist/esm/preset/server/constants.js.map +1 -0
- package/dist/esm/preset/server/index.js +14 -0
- package/dist/esm/preset/server/index.js.map +1 -0
- package/dist/esm/preset/server/providers/element-to-string.js +19 -0
- package/dist/esm/preset/server/providers/element-to-string.js.map +1 -0
- package/dist/esm/preset/server/providers/fetch-log-handler.js +18 -0
- package/dist/esm/preset/server/providers/fetch-log-handler.js.map +1 -0
- package/dist/esm/preset/server/providers/fetch-middleware.js +7 -0
- package/dist/esm/preset/server/providers/fetch-middleware.js.map +1 -0
- package/dist/esm/preset/server/providers/format-page-response.js +66 -0
- package/dist/esm/preset/server/providers/format-page-response.js.map +1 -0
- package/dist/esm/preset/server/providers/known-http-api-hosts.js +21 -0
- package/dist/esm/preset/server/providers/known-http-api-hosts.js.map +1 -0
- package/dist/esm/preset/server/providers/page-helmet.js +16 -0
- package/dist/esm/preset/server/providers/page-helmet.js.map +1 -0
- package/dist/esm/preset/server/providers/page-render.js +9 -0
- package/dist/esm/preset/server/providers/page-render.js.map +1 -0
- package/dist/esm/preset/server/providers/response-events.js +12 -0
- package/dist/esm/preset/server/providers/response-events.js.map +1 -0
- package/dist/esm/preset/server/providers/serve.js +42 -0
- package/dist/esm/preset/server/providers/serve.js.map +1 -0
- package/dist/esm/preset/server/providers/ssr-bridge-server-side.js +13 -0
- package/dist/esm/preset/server/providers/ssr-bridge-server-side.js.map +1 -0
- package/dist/esm/preset/server/types.js +2 -0
- package/dist/esm/preset/server/types.js.map +1 -0
- package/dist/esm/preset/server/utils/apply-server-middleware.js +16 -0
- package/dist/esm/preset/server/utils/apply-server-middleware.js.map +1 -0
- package/dist/esm/preset/server/utils/format-handler-error.js +34 -0
- package/dist/esm/preset/server/utils/format-handler-error.js.map +1 -0
- package/dist/esm/preset/server/utils/get-client-ip.js +10 -0
- package/dist/esm/preset/server/utils/get-client-ip.js.map +1 -0
- package/dist/esm/preset/server/utils/get-forwarded-headers.js +35 -0
- package/dist/esm/preset/server/utils/get-forwarded-headers.js.map +1 -0
- package/dist/esm/preset/server/utils/get-health-check.js +16 -0
- package/dist/esm/preset/server/utils/get-health-check.js.map +1 -0
- package/dist/esm/preset/server/utils/get-page-response-format.js +16 -0
- package/dist/esm/preset/server/utils/get-page-response-format.js.map +1 -0
- package/dist/esm/preset/server/utils/get-serve-error-logging.js +31 -0
- package/dist/esm/preset/server/utils/get-serve-error-logging.js.map +1 -0
- package/dist/esm/preset/server/utils/get-serve-logging.js +31 -0
- package/dist/esm/preset/server/utils/get-serve-logging.js.map +1 -0
- package/dist/esm/preset/server/utils/handler-provider.js +25 -0
- package/dist/esm/preset/server/utils/handler-provider.js.map +1 -0
- package/dist/esm/preset/server/utils/regular-helmet.js +53 -0
- package/dist/esm/preset/server/utils/regular-helmet.js.map +1 -0
- package/dist/esm/preset/server/utils/specific-extras.js +23 -0
- package/dist/esm/preset/server/utils/specific-extras.js.map +1 -0
- package/dist/esm/preset/web/index.js +41 -0
- package/dist/esm/preset/web/index.js.map +1 -0
- package/dist/esm/preset/web/providers/axios-middleware.js +14 -0
- package/dist/esm/preset/web/providers/axios-middleware.js.map +1 -0
- package/dist/esm/preset/web/providers/config-source.js +14 -0
- package/dist/esm/preset/web/providers/config-source.js.map +1 -0
- package/dist/esm/preset/web/providers/fetch-middleware.js +16 -0
- package/dist/esm/preset/web/providers/fetch-middleware.js.map +1 -0
- package/dist/esm/preset/web/providers/known-http-api-hosts.js +21 -0
- package/dist/esm/preset/web/providers/known-http-api-hosts.js.map +1 -0
- package/dist/esm/preset/web/providers/logger.js +46 -0
- package/dist/esm/preset/web/providers/logger.js.map +1 -0
- package/dist/esm/preset/web/providers/ssr-bridge-client-side.js +13 -0
- package/dist/esm/preset/web/providers/ssr-bridge-client-side.js.map +1 -0
- package/dist/esm/tokens.js +174 -0
- package/dist/esm/tokens.js.map +1 -0
- package/dist/esm/utils/axios/index.js +4 -0
- package/dist/esm/utils/axios/index.js.map +1 -0
- package/dist/esm/utils/axios/middleware/log.js +31 -0
- package/dist/esm/utils/axios/middleware/log.js.map +1 -0
- package/dist/esm/utils/axios/sauce/index.js +50 -0
- package/dist/esm/utils/axios/sauce/index.js.map +1 -0
- package/dist/esm/utils/axios/utils/index.js +24 -0
- package/dist/esm/utils/axios/utils/index.js.map +1 -0
- package/dist/esm/utils/express/handler/health-check.js +13 -0
- package/dist/esm/utils/express/handler/health-check.js.map +1 -0
- package/dist/esm/utils/express/index.js +3 -0
- package/dist/esm/utils/express/index.js.map +1 -0
- package/dist/esm/utils/express/utils/index.js +16 -0
- package/dist/esm/utils/express/utils/index.js.map +1 -0
- package/dist/esm/utils/function.js +38 -0
- package/dist/esm/utils/function.js.map +1 -0
- package/dist/esm/utils/index.js +4 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/math.js +9 -0
- package/dist/esm/utils/math.js.map +1 -0
- package/dist/esm/utils/react/error-handlers/index.js +69 -0
- package/dist/esm/utils/react/error-handlers/index.js.map +1 -0
- package/dist/esm/utils/react/index.js +3 -0
- package/dist/esm/utils/react/index.js.map +1 -0
- package/dist/esm/utils/redux/index.js +3 -0
- package/dist/esm/utils/redux/index.js.map +1 -0
- package/dist/esm/utils/redux/remote-data.js +110 -0
- package/dist/esm/utils/redux/remote-data.js.map +1 -0
- package/dist/esm/utils/redux-saga/index.js +4 -0
- package/dist/esm/utils/redux-saga/index.js.map +1 -0
- package/dist/esm/utils/redux-saga/middleware.js +143 -0
- package/dist/esm/utils/redux-saga/middleware.js.map +1 -0
- package/dist/esm/utils/redux-saga/take-chain.js +59 -0
- package/dist/esm/utils/redux-saga/take-chain.js.map +1 -0
- package/dist/esm/utils/redux-saga/typed-effects.js +87 -0
- package/dist/esm/utils/redux-saga/typed-effects.js.map +1 -0
- package/dist/esm/utils/redux-saga/types.js +2 -0
- package/dist/esm/utils/redux-saga/types.js.map +1 -0
- package/dist/esm/utils/selectors/create-curried-selector.js +35 -0
- package/dist/esm/utils/selectors/create-curried-selector.js.map +1 -0
- package/dist/esm/utils/ssr/index.js +67 -0
- package/dist/esm/utils/ssr/index.js.map +1 -0
- package/dist/esm/utils/web/analytics/data-layer.js +14 -0
- package/dist/esm/utils/web/analytics/data-layer.js.map +1 -0
- package/dist/esm/utils/web/analytics/index.js +3 -0
- package/dist/esm/utils/web/analytics/index.js.map +1 -0
- package/dist/esm/utils/web/analytics/oko.js +14 -0
- package/dist/esm/utils/web/analytics/oko.js.map +1 -0
- package/dist/esm/utils/web/storage/index.js +68 -0
- package/dist/esm/utils/web/storage/index.js.map +1 -0
- package/dist/esm/utils/webpack/env/index.js +90 -0
- package/dist/esm/utils/webpack/env/index.js.map +1 -0
- package/dist/esm/utils/webpack/env/types.js +2 -0
- package/dist/esm/utils/webpack/env/types.js.map +1 -0
- package/dist/esm/utils/webpack/env/utils.js +48 -0
- package/dist/esm/utils/webpack/env/utils.js.map +1 -0
- package/dist/esm/utils/webpack/index.js +3 -0
- package/dist/esm/utils/webpack/index.js.map +1 -0
- package/dist/esm/utils/webpack/module-federation/index.js +96 -0
- package/dist/esm/utils/webpack/module-federation/index.js.map +1 -0
- package/dist/esm/utils/webpack/module-federation/types.js +2 -0
- package/dist/esm/utils/webpack/module-federation/types.js.map +1 -0
- package/dist/esm/utils/webpack/module-federation/utils.js +80 -0
- package/dist/esm/utils/webpack/module-federation/utils.js.map +1 -0
- package/dist/types/cache/index.d.ts +2 -0
- package/dist/types/cache/index.d.ts.map +1 -0
- package/dist/types/cache/types.d.ts +31 -0
- package/dist/types/cache/types.d.ts.map +1 -0
- package/{config → dist/types/config}/base.d.ts +3 -2
- package/dist/types/config/base.d.ts.map +1 -0
- package/dist/types/config/index.d.ts +4 -0
- package/dist/types/config/index.d.ts.map +1 -0
- package/dist/types/config/source.d.ts +8 -0
- package/dist/types/config/source.d.ts.map +1 -0
- package/dist/types/config/types.d.ts +21 -0
- package/dist/types/config/types.d.ts.map +1 -0
- package/{di → dist/types/di}/application.d.ts +6 -1
- package/dist/types/di/application.d.ts.map +1 -0
- package/{di → dist/types/di}/container.d.ts +1 -0
- package/dist/types/di/container.d.ts.map +1 -0
- package/dist/types/di/errors.d.ts +36 -0
- package/dist/types/di/errors.d.ts.map +1 -0
- package/dist/types/di/index.d.ts +7 -0
- package/dist/types/di/index.d.ts.map +1 -0
- package/dist/types/di/preset.d.ts +10 -0
- package/dist/types/di/preset.d.ts.map +1 -0
- package/{di → dist/types/di}/token.d.ts +1 -0
- package/dist/types/di/token.d.ts.map +1 -0
- package/dist/types/di/types.d.ts +87 -0
- package/dist/types/di/types.d.ts.map +1 -0
- package/dist/types/http/errors.d.ts +33 -0
- package/dist/types/http/errors.d.ts.map +1 -0
- package/dist/types/http/index.d.ts +6 -0
- package/dist/types/http/index.d.ts.map +1 -0
- package/dist/types/http/types.d.ts +27 -0
- package/dist/types/http/types.d.ts.map +1 -0
- package/dist/types/http/utils.d.ts +52 -0
- package/dist/types/http/utils.d.ts.map +1 -0
- package/dist/types/log/errors.d.ts +24 -0
- package/dist/types/log/errors.d.ts.map +1 -0
- package/dist/types/log/handler/pino.d.ts +9 -0
- package/dist/types/log/handler/pino.d.ts.map +1 -0
- package/dist/types/log/handler/sentry.d.ts +12 -0
- package/dist/types/log/handler/sentry.d.ts.map +1 -0
- package/dist/types/log/index.d.ts +6 -0
- package/dist/types/log/index.d.ts.map +1 -0
- package/{logger/index.d.ts → dist/types/log/logger.d.ts} +1 -0
- package/dist/types/log/logger.d.ts.map +1 -0
- package/dist/types/log/types.d.ts +65 -0
- package/dist/types/log/types.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/index.d.ts +11 -0
- package/dist/types/preset/isomorphic/index.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/providers/abort-controller.d.ts +6 -0
- package/dist/types/preset/isomorphic/providers/abort-controller.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/providers/axios-factory.d.ts +9 -0
- package/dist/types/preset/isomorphic/providers/axios-factory.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/providers/axios-log-handler.d.ts +9 -0
- package/dist/types/preset/isomorphic/providers/axios-log-handler.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/providers/base-config.d.ts +9 -0
- package/dist/types/preset/isomorphic/providers/base-config.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/providers/fetch.d.ts +8 -0
- package/dist/types/preset/isomorphic/providers/fetch.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/providers/redux-middleware-saga.d.ts +9 -0
- package/dist/types/preset/isomorphic/providers/redux-middleware-saga.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/types.d.ts +35 -0
- package/dist/types/preset/isomorphic/types.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/axios-logging.d.ts +34 -0
- package/dist/types/preset/isomorphic/utils/axios-logging.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/disableable.d.ts +18 -0
- package/dist/types/preset/isomorphic/utils/disableable.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/display-url.d.ts +9 -0
- package/dist/types/preset/isomorphic/utils/display-url.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/fetch-logging.d.ts +18 -0
- package/dist/types/preset/isomorphic/utils/fetch-logging.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/get-fetch-error-logging.d.ts +8 -0
- package/dist/types/preset/isomorphic/utils/get-fetch-error-logging.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/get-fetch-extra-aborting.d.ts +9 -0
- package/dist/types/preset/isomorphic/utils/get-fetch-extra-aborting.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/get-fetch-logging.d.ts +9 -0
- package/dist/types/preset/isomorphic/utils/get-fetch-logging.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/http-api-host-pool.d.ts +24 -0
- package/dist/types/preset/isomorphic/utils/http-api-host-pool.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/http-status.d.ts +29 -0
- package/dist/types/preset/isomorphic/utils/http-status.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/saga-logging.d.ts +30 -0
- package/dist/types/preset/isomorphic/utils/saga-logging.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/utils/severity-from-status.d.ts +8 -0
- package/dist/types/preset/isomorphic/utils/severity-from-status.d.ts.map +1 -0
- package/dist/types/preset/node/index.d.ts +14 -0
- package/dist/types/preset/node/index.d.ts.map +1 -0
- package/dist/types/preset/node/providers/config-source.d.ts +7 -0
- package/dist/types/preset/node/providers/config-source.d.ts.map +1 -0
- package/dist/types/preset/node/providers/express-error-middleware.d.ts +7 -0
- package/dist/types/preset/node/providers/express-error-middleware.d.ts.map +1 -0
- package/dist/types/preset/node/providers/express-factory.d.ts +7 -0
- package/dist/types/preset/node/providers/express-factory.d.ts.map +1 -0
- package/dist/types/preset/node/providers/express-log-middleware.d.ts +9 -0
- package/dist/types/preset/node/providers/express-log-middleware.d.ts.map +1 -0
- package/dist/types/preset/node/providers/express-metrics-middleware.d.ts +9 -0
- package/dist/types/preset/node/providers/express-metrics-middleware.d.ts.map +1 -0
- package/dist/types/preset/node/providers/express-request-middleware.d.ts +7 -0
- package/dist/types/preset/node/providers/express-request-middleware.d.ts.map +1 -0
- package/dist/types/preset/node/providers/express-tracing-middleware.d.ts +9 -0
- package/dist/types/preset/node/providers/express-tracing-middleware.d.ts.map +1 -0
- package/dist/types/preset/node/providers/log-handler-pino.d.ts +9 -0
- package/dist/types/preset/node/providers/log-handler-pino.d.ts.map +1 -0
- package/dist/types/preset/node/providers/log-handler-sentry.d.ts +9 -0
- package/dist/types/preset/node/providers/log-handler-sentry.d.ts.map +1 -0
- package/dist/types/preset/node/providers/logger.d.ts +9 -0
- package/dist/types/preset/node/providers/logger.d.ts.map +1 -0
- package/dist/types/preset/node/providers/main-express-app.d.ts +9 -0
- package/dist/types/preset/node/providers/main-express-app.d.ts.map +1 -0
- package/dist/types/preset/node/providers/metrics-express-app.d.ts +7 -0
- package/dist/types/preset/node/providers/metrics-express-app.d.ts.map +1 -0
- package/dist/types/preset/node/providers/public-envs.d.ts +6 -0
- package/dist/types/preset/node/providers/public-envs.d.ts.map +1 -0
- package/dist/types/preset/node/providers/telemetry-tracer-provider.d.ts +9 -0
- package/dist/types/preset/node/providers/telemetry-tracer-provider.d.ts.map +1 -0
- package/dist/types/preset/node/providers/telemetry-tracer-resource.d.ts +9 -0
- package/dist/types/preset/node/providers/telemetry-tracer-resource.d.ts.map +1 -0
- package/dist/types/preset/node/providers/telemetry-tracer-span-exporter.d.ts +9 -0
- package/dist/types/preset/node/providers/telemetry-tracer-span-exporter.d.ts.map +1 -0
- package/dist/types/preset/node/providers/telemetry-tracer.d.ts +9 -0
- package/dist/types/preset/node/providers/telemetry-tracer.d.ts.map +1 -0
- package/dist/types/preset/node/types.d.ts +12 -0
- package/dist/types/preset/node/types.d.ts.map +1 -0
- package/dist/types/preset/node/utils/axios-tracing-middleware.d.ts +21 -0
- package/dist/types/preset/node/utils/axios-tracing-middleware.d.ts.map +1 -0
- package/dist/types/preset/node/utils/emitter-as-target.d.ts +16 -0
- package/dist/types/preset/node/utils/emitter-as-target.d.ts.map +1 -0
- package/dist/types/preset/node/utils/get-client-ip.d.ts +8 -0
- package/dist/types/preset/node/utils/get-client-ip.d.ts.map +1 -0
- package/dist/types/preset/node/utils/get-fetch-tracing.d.ts +10 -0
- package/dist/types/preset/node/utils/get-fetch-tracing.d.ts.map +1 -0
- package/{http-client/utils.d.ts → dist/types/preset/node/utils/get-forwarded-headers.d.ts} +4 -3
- package/dist/types/preset/node/utils/get-forwarded-headers.d.ts.map +1 -0
- package/dist/types/preset/node/utils/get-handler-metrics.d.ts +15 -0
- package/dist/types/preset/node/utils/get-handler-metrics.d.ts.map +1 -0
- package/dist/types/preset/node/utils/get-page-response-format.d.ts +10 -0
- package/dist/types/preset/node/utils/get-page-response-format.d.ts.map +1 -0
- package/dist/types/preset/node/utils/get-serve-measuring.d.ts +9 -0
- package/dist/types/preset/node/utils/get-serve-measuring.d.ts.map +1 -0
- package/dist/types/preset/node/utils/handler-provider.d.ts +9 -0
- package/dist/types/preset/node/utils/handler-provider.d.ts.map +1 -0
- package/dist/types/preset/node/utils/telemetry.d.ts +8 -0
- package/dist/types/preset/node/utils/telemetry.d.ts.map +1 -0
- package/dist/types/preset/node-handler/index.d.ts +10 -0
- package/dist/types/preset/node-handler/index.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/accepts-type.d.ts +13 -0
- package/dist/types/preset/node-handler/providers/accepts-type.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/axios-log-handler.d.ts +9 -0
- package/dist/types/preset/node-handler/providers/axios-log-handler.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/axios-middleware.d.ts +9 -0
- package/dist/types/preset/node-handler/providers/axios-middleware.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/fetch-middleware.d.ts +9 -0
- package/dist/types/preset/node-handler/providers/fetch-middleware.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/handler-main.d.ts +9 -0
- package/dist/types/preset/node-handler/providers/handler-main.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/response-events.d.ts +8 -0
- package/dist/types/preset/node-handler/providers/response-events.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/specific-params.d.ts +8 -0
- package/dist/types/preset/node-handler/providers/specific-params.d.ts.map +1 -0
- package/dist/types/preset/server/constants.d.ts +13 -0
- package/dist/types/preset/server/constants.d.ts.map +1 -0
- package/dist/types/preset/server/index.d.ts +13 -0
- package/dist/types/preset/server/index.d.ts.map +1 -0
- package/dist/types/preset/server/providers/element-to-string.d.ts +9 -0
- package/dist/types/preset/server/providers/element-to-string.d.ts.map +1 -0
- package/dist/types/preset/server/providers/fetch-log-handler.d.ts +9 -0
- package/dist/types/preset/server/providers/fetch-log-handler.d.ts.map +1 -0
- package/dist/types/preset/server/providers/fetch-middleware.d.ts +3 -0
- package/dist/types/preset/server/providers/fetch-middleware.d.ts.map +1 -0
- package/dist/types/preset/server/providers/format-page-response.d.ts +10 -0
- package/dist/types/preset/server/providers/format-page-response.d.ts.map +1 -0
- package/dist/types/preset/server/providers/known-http-api-hosts.d.ts +10 -0
- package/dist/types/preset/server/providers/known-http-api-hosts.d.ts.map +1 -0
- package/dist/types/preset/server/providers/page-helmet.d.ts +11 -0
- package/dist/types/preset/server/providers/page-helmet.d.ts.map +1 -0
- package/dist/types/preset/server/providers/page-render.d.ts +6 -0
- package/dist/types/preset/server/providers/page-render.d.ts.map +1 -0
- package/dist/types/preset/server/providers/response-events.d.ts +8 -0
- package/dist/types/preset/server/providers/response-events.d.ts.map +1 -0
- package/dist/types/preset/server/providers/serve.d.ts +4 -0
- package/dist/types/preset/server/providers/serve.d.ts.map +1 -0
- package/dist/types/preset/server/providers/ssr-bridge-server-side.d.ts +9 -0
- package/dist/types/preset/server/providers/ssr-bridge-server-side.d.ts.map +1 -0
- package/dist/types/preset/server/types.d.ts +33 -0
- package/dist/types/preset/server/types.d.ts.map +1 -0
- package/dist/types/preset/server/utils/apply-server-middleware.d.ts +8 -0
- package/dist/types/preset/server/utils/apply-server-middleware.d.ts.map +1 -0
- package/dist/types/preset/server/utils/format-handler-error.d.ts +18 -0
- package/dist/types/preset/server/utils/format-handler-error.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-client-ip.d.ts +7 -0
- package/dist/types/preset/server/utils/get-client-ip.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-forwarded-headers.d.ts +9 -0
- package/dist/types/preset/server/utils/get-forwarded-headers.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-health-check.d.ts +8 -0
- package/dist/types/preset/server/utils/get-health-check.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-page-response-format.d.ts +10 -0
- package/dist/types/preset/server/utils/get-page-response-format.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-serve-error-logging.d.ts +9 -0
- package/dist/types/preset/server/utils/get-serve-error-logging.d.ts.map +1 -0
- package/dist/types/preset/server/utils/get-serve-logging.d.ts +9 -0
- package/dist/types/preset/server/utils/get-serve-logging.d.ts.map +1 -0
- package/dist/types/preset/server/utils/handler-provider.d.ts +11 -0
- package/dist/types/preset/server/utils/handler-provider.d.ts.map +1 -0
- package/dist/types/preset/server/utils/regular-helmet.d.ts +15 -0
- package/dist/types/preset/server/utils/regular-helmet.d.ts.map +1 -0
- package/dist/types/preset/server/utils/specific-extras.d.ts +18 -0
- package/dist/types/preset/server/utils/specific-extras.d.ts.map +1 -0
- package/dist/types/preset/web/index.d.ts +9 -0
- package/dist/types/preset/web/index.d.ts.map +1 -0
- package/dist/types/preset/web/providers/axios-middleware.d.ts +9 -0
- package/dist/types/preset/web/providers/axios-middleware.d.ts.map +1 -0
- package/dist/types/preset/web/providers/config-source.d.ts +7 -0
- package/dist/types/preset/web/providers/config-source.d.ts.map +1 -0
- package/dist/types/preset/web/providers/fetch-middleware.d.ts +8 -0
- package/dist/types/preset/web/providers/fetch-middleware.d.ts.map +1 -0
- package/dist/types/preset/web/providers/known-http-api-hosts.d.ts +10 -0
- package/dist/types/preset/web/providers/known-http-api-hosts.d.ts.map +1 -0
- package/dist/types/preset/web/providers/logger.d.ts +9 -0
- package/dist/types/preset/web/providers/logger.d.ts.map +1 -0
- package/dist/types/preset/web/providers/ssr-bridge-client-side.d.ts +9 -0
- package/dist/types/preset/web/providers/ssr-bridge-client-side.d.ts.map +1 -0
- package/dist/types/tokens.d.ts +193 -0
- package/dist/types/tokens.d.ts.map +1 -0
- package/dist/types/utils/axios/index.d.ts +4 -0
- package/dist/types/utils/axios/index.d.ts.map +1 -0
- package/dist/types/utils/axios/middleware/log.d.ts +28 -0
- package/dist/types/utils/axios/middleware/log.d.ts.map +1 -0
- package/dist/types/utils/axios/sauce/index.d.ts +43 -0
- package/dist/types/utils/axios/sauce/index.d.ts.map +1 -0
- package/dist/types/utils/axios/utils/index.d.ts +10 -0
- package/dist/types/utils/axios/utils/index.d.ts.map +1 -0
- package/dist/types/utils/express/handler/health-check.d.ts +7 -0
- package/dist/types/utils/express/handler/health-check.d.ts.map +1 -0
- package/dist/types/utils/express/index.d.ts +3 -0
- package/dist/types/utils/express/index.d.ts.map +1 -0
- package/dist/types/utils/express/utils/index.d.ts +8 -0
- package/dist/types/utils/express/utils/index.d.ts.map +1 -0
- package/dist/types/utils/function.d.ts +29 -0
- package/dist/types/utils/function.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +4 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/{utils/number.d.ts → dist/types/utils/math.d.ts} +1 -0
- package/dist/types/utils/math.d.ts.map +1 -0
- package/dist/types/utils/react/error-handlers/index.d.ts +42 -0
- package/dist/types/utils/react/error-handlers/index.d.ts.map +1 -0
- package/dist/types/utils/react/index.d.ts +3 -0
- package/dist/types/utils/react/index.d.ts.map +1 -0
- package/dist/types/utils/redux/index.d.ts +4 -0
- package/dist/types/utils/redux/index.d.ts.map +1 -0
- package/dist/types/utils/redux/remote-data.d.ts +96 -0
- package/dist/types/utils/redux/remote-data.d.ts.map +1 -0
- package/dist/types/utils/redux-saga/index.d.ts +5 -0
- package/dist/types/utils/redux-saga/index.d.ts.map +1 -0
- package/dist/types/utils/redux-saga/middleware.d.ts +9 -0
- package/dist/types/utils/redux-saga/middleware.d.ts.map +1 -0
- package/{utils → dist/types/utils}/redux-saga/take-chain.d.ts +3 -0
- package/dist/types/utils/redux-saga/take-chain.d.ts.map +1 -0
- package/dist/types/utils/redux-saga/typed-effects.d.ts +101 -0
- package/dist/types/utils/redux-saga/typed-effects.d.ts.map +1 -0
- package/dist/types/utils/redux-saga/types.d.ts +37 -0
- package/dist/types/utils/redux-saga/types.d.ts.map +1 -0
- package/dist/types/utils/selectors/create-curried-selector.d.ts +22 -0
- package/dist/types/utils/selectors/create-curried-selector.d.ts.map +1 -0
- package/dist/types/utils/ssr/index.d.ts +43 -0
- package/dist/types/utils/ssr/index.d.ts.map +1 -0
- package/dist/types/utils/web/analytics/data-layer.d.ts +6 -0
- package/dist/types/utils/web/analytics/data-layer.d.ts.map +1 -0
- package/dist/types/utils/web/analytics/index.d.ts +3 -0
- package/dist/types/utils/web/analytics/index.d.ts.map +1 -0
- package/dist/types/utils/web/analytics/oko.d.ts +7 -0
- package/dist/types/utils/web/analytics/oko.d.ts.map +1 -0
- package/dist/types/utils/web/storage/index.d.ts +13 -0
- package/dist/types/utils/web/storage/index.d.ts.map +1 -0
- package/dist/types/utils/webpack/env/index.d.ts +20 -0
- package/dist/types/utils/webpack/env/index.d.ts.map +1 -0
- package/dist/types/utils/webpack/env/types.d.ts +12 -0
- package/dist/types/utils/webpack/env/types.d.ts.map +1 -0
- package/dist/types/utils/webpack/env/utils.d.ts +16 -0
- package/dist/types/utils/webpack/env/utils.d.ts.map +1 -0
- package/dist/types/utils/webpack/index.d.ts +5 -0
- package/dist/types/utils/webpack/index.d.ts.map +1 -0
- package/{utils → dist/types/utils}/webpack/module-federation/index.d.ts +10 -3
- package/dist/types/utils/webpack/module-federation/index.d.ts.map +1 -0
- package/{utils → dist/types/utils}/webpack/module-federation/types.d.ts +12 -3
- package/dist/types/utils/webpack/module-federation/types.d.ts.map +1 -0
- package/{utils → dist/types/utils}/webpack/module-federation/utils.d.ts +7 -0
- package/dist/types/utils/webpack/module-federation/utils.d.ts.map +1 -0
- package/package.json +267 -52
- package/cache/types.d.ts +0 -7
- package/cache/types.js +0 -3
- package/cache/types.js.map +0 -1
- package/config/base.js +0 -20
- package/config/base.js.map +0 -1
- package/config/browser.d.ts +0 -6
- package/config/browser.js +0 -13
- package/config/browser.js.map +0 -1
- package/config/node.d.ts +0 -6
- package/config/node.js +0 -19
- package/config/node.js.map +0 -1
- package/config/types.d.ts +0 -7
- package/config/types.js +0 -3
- package/config/types.js.map +0 -1
- package/config/utils.d.ts +0 -5
- package/config/utils.js +0 -12
- package/config/utils.js.map +0 -1
- package/di/application.js +0 -71
- package/di/application.js.map +0 -1
- package/di/container.js +0 -49
- package/di/container.js.map +0 -1
- package/di/errors.d.ts +0 -21
- package/di/errors.js +0 -33
- package/di/errors.js.map +0 -1
- package/di/index.d.ts +0 -6
- package/di/index.js +0 -16
- package/di/index.js.map +0 -1
- package/di/preset.d.ts +0 -9
- package/di/preset.js +0 -25
- package/di/preset.js.map +0 -1
- package/di/token.js +0 -17
- package/di/token.js.map +0 -1
- package/di/types.d.ts +0 -32
- package/di/types.js +0 -3
- package/di/types.js.map +0 -1
- package/error-tracker/browser.d.ts +0 -8
- package/error-tracker/browser.js +0 -40
- package/error-tracker/browser.js.map +0 -1
- package/error-tracker/node.d.ts +0 -8
- package/error-tracker/node.js +0 -40
- package/error-tracker/node.js.map +0 -1
- package/error-tracker/types.d.ts +0 -19
- package/error-tracker/types.js +0 -3
- package/error-tracker/types.js.map +0 -1
- package/error-tracker/utils.d.ts +0 -22
- package/error-tracker/utils.js +0 -31
- package/error-tracker/utils.js.map +0 -1
- package/http-client/middleware/cookie.d.ts +0 -19
- package/http-client/middleware/cookie.js +0 -62
- package/http-client/middleware/cookie.js.map +0 -1
- package/http-client/middleware/logging.d.ts +0 -15
- package/http-client/middleware/logging.js +0 -91
- package/http-client/middleware/logging.js.map +0 -1
- package/http-client/middleware/tracing.d.ts +0 -32
- package/http-client/middleware/tracing.js +0 -67
- package/http-client/middleware/tracing.js.map +0 -1
- package/http-client/sauce/index.d.ts +0 -27
- package/http-client/sauce/index.js +0 -33
- package/http-client/sauce/index.js.map +0 -1
- package/http-client/types.d.ts +0 -6
- package/http-client/types.js +0 -3
- package/http-client/types.js.map +0 -1
- package/http-client/utils.js +0 -20
- package/http-client/utils.js.map +0 -1
- package/http-server/constants.d.ts +0 -4
- package/http-server/constants.js +0 -8
- package/http-server/constants.js.map +0 -1
- package/http-server/handler/health-check.d.ts +0 -6
- package/http-server/handler/health-check.js +0 -15
- package/http-server/handler/health-check.js.map +0 -1
- package/http-server/middleware/logging.d.ts +0 -10
- package/http-server/middleware/logging.js +0 -31
- package/http-server/middleware/logging.js.map +0 -1
- package/http-server/middleware/metrics.d.ts +0 -23
- package/http-server/middleware/metrics.js +0 -60
- package/http-server/middleware/metrics.js.map +0 -1
- package/http-server/middleware/tracing.d.ts +0 -14
- package/http-server/middleware/tracing.js +0 -51
- package/http-server/middleware/tracing.js.map +0 -1
- package/http-server/template/index.d.ts +0 -1
- package/http-server/template/index.js +0 -36
- package/http-server/template/index.js.map +0 -1
- package/http-server/types.d.ts +0 -33
- package/http-server/types.js +0 -3
- package/http-server/types.js.map +0 -1
- package/http-server/utils.d.ts +0 -30
- package/http-server/utils.js +0 -100
- package/http-server/utils.js.map +0 -1
- package/logger/handler/console.d.ts +0 -8
- package/logger/handler/console.js +0 -36
- package/logger/handler/console.js.map +0 -1
- package/logger/handler/sentry.d.ts +0 -8
- package/logger/handler/sentry.js +0 -44
- package/logger/handler/sentry.js.map +0 -1
- package/logger/index.js +0 -31
- package/logger/index.js.map +0 -1
- package/logger/types.d.ts +0 -24
- package/logger/types.js +0 -3
- package/logger/types.js.map +0 -1
- package/metrics/constants.d.ts +0 -4
- package/metrics/constants.js +0 -8
- package/metrics/constants.js.map +0 -1
- package/metrics/node.d.ts +0 -18
- package/metrics/node.js +0 -74
- package/metrics/node.js.map +0 -1
- package/preset/browser/index.d.ts +0 -1
- package/preset/browser/index.js +0 -46
- package/preset/browser/index.js.map +0 -1
- package/preset/node/index.d.ts +0 -19
- package/preset/node/index.js +0 -122
- package/preset/node/index.js.map +0 -1
- package/preset/node/response.d.ts +0 -20
- package/preset/node/response.js +0 -82
- package/preset/node/response.js.map +0 -1
- package/saga-runner/index.d.ts +0 -8
- package/saga-runner/index.js +0 -79
- package/saga-runner/index.js.map +0 -1
- package/saga-runner/types.d.ts +0 -10
- package/saga-runner/types.js +0 -3
- package/saga-runner/types.js.map +0 -1
- package/tokens.d.ts +0 -48
- package/tokens.js +0 -50
- package/tokens.js.map +0 -1
- package/tracing/utils.d.ts +0 -9
- package/tracing/utils.js +0 -22
- package/tracing/utils.js.map +0 -1
- package/utils/browser/analytics/data-layer.d.ts +0 -5
- package/utils/browser/analytics/data-layer.js +0 -15
- package/utils/browser/analytics/data-layer.js.map +0 -1
- package/utils/browser/analytics/oko.d.ts +0 -12
- package/utils/browser/analytics/oko.js +0 -39
- package/utils/browser/analytics/oko.js.map +0 -1
- package/utils/browser/storage/index.d.ts +0 -4
- package/utils/browser/storage/index.js +0 -63
- package/utils/browser/storage/index.js.map +0 -1
- package/utils/number.js.map +0 -1
- package/utils/react/error-handlers/index.d.ts +0 -38
- package/utils/react/error-handlers/index.js +0 -48
- package/utils/react/error-handlers/index.js.map +0 -1
- package/utils/redux/remote-data.d.ts +0 -23
- package/utils/redux/remote-data.js +0 -28
- package/utils/redux/remote-data.js.map +0 -1
- package/utils/redux-saga/take-chain.js +0 -56
- package/utils/redux-saga/take-chain.js.map +0 -1
- package/utils/ssr/index.d.ts +0 -30
- package/utils/ssr/index.js +0 -51
- package/utils/ssr/index.js.map +0 -1
- package/utils/webpack/module-federation/index.js +0 -74
- package/utils/webpack/module-federation/index.js.map +0 -1
- package/utils/webpack/module-federation/types.js +0 -3
- package/utils/webpack/module-federation/types.js.map +0 -1
- package/utils/webpack/module-federation/utils.js +0 -36
- package/utils/webpack/module-federation/utils.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["createConfigSource","createBaseConfig"],"sources":["../../../src/config/index.ts"],"sourcesContent":["export type { ConfigSource, BaseConfig } from './types';\nexport { createConfigSource } from './source';\nexport { createBaseConfig } from './base';\n"],"mappings":"AACA,SAASA,kBAAkB,QAAQ,aAAU;AAC7C,SAASC,gBAAgB,QAAQ,WAAQ","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Env } from '@humanwhocodes/env';
|
|
2
|
+
/**
|
|
3
|
+
* Возвращает новый источник конфигурации.
|
|
4
|
+
* @param dictionary Опции.
|
|
5
|
+
* @return Источник.
|
|
6
|
+
*/
|
|
7
|
+
export function createConfigSource(dictionary) {
|
|
8
|
+
const source = {};
|
|
9
|
+
|
|
10
|
+
// берем все переменные из предоставленной среды
|
|
11
|
+
Object.assign(source, dictionary);
|
|
12
|
+
|
|
13
|
+
// докидываем зашиваемые переменные окружения
|
|
14
|
+
if (typeof __ISOMORPH_ENV__ !== 'undefined') {
|
|
15
|
+
Object.assign(source, __ISOMORPH_ENV__);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// докидываем публичные переменные сервиса из глобального окружения
|
|
19
|
+
if (source.APP_NAME && typeof globalThis[`${source.APP_NAME}__envs`] !== 'undefined') {
|
|
20
|
+
Object.assign(source, globalThis[`${source.APP_NAME}__envs`]);
|
|
21
|
+
}
|
|
22
|
+
return new Env(source);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source.js","names":["Env","createConfigSource","dictionary","source","Object","assign","__ISOMORPH_ENV__","APP_NAME","globalThis"],"sources":["../../../src/config/source.ts"],"sourcesContent":["import type { ConfigSource, Dictionary } from './types';\nimport { Env } from '@humanwhocodes/env';\n\ndeclare const __ISOMORPH_ENV__: unknown;\n\n/**\n * Возвращает новый источник конфигурации.\n * @param dictionary Опции.\n * @return Источник.\n */\nexport function createConfigSource(dictionary: Dictionary): ConfigSource {\n const source: Dictionary = {};\n\n // берем все переменные из предоставленной среды\n Object.assign(source, dictionary);\n\n // докидываем зашиваемые переменные окружения\n if (typeof __ISOMORPH_ENV__ !== 'undefined') {\n Object.assign(source, __ISOMORPH_ENV__);\n }\n\n // докидываем публичные переменные сервиса из глобального окружения\n if (source.APP_NAME && typeof (globalThis as any)[`${source.APP_NAME}__envs`] !== 'undefined') {\n Object.assign(source, (globalThis as any)[`${source.APP_NAME}__envs`]);\n }\n\n return new Env(source);\n}\n"],"mappings":"AACA,SAASA,GAAG,QAAQ,oBAAoB;AAIxC;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAACC,UAAsB,EAAgB;EACvE,MAAMC,MAAkB,GAAG,CAAC,CAAC;;EAE7B;EACAC,MAAM,CAACC,MAAM,CAACF,MAAM,EAAED,UAAU,CAAC;;EAEjC;EACA,IAAI,OAAOI,gBAAgB,KAAK,WAAW,EAAE;IAC3CF,MAAM,CAACC,MAAM,CAACF,MAAM,EAAEG,gBAAgB,CAAC;EACzC;;EAEA;EACA,IAAIH,MAAM,CAACI,QAAQ,IAAI,OAAQC,UAAU,CAAS,GAAGL,MAAM,CAACI,QAAQ,QAAQ,CAAC,KAAK,WAAW,EAAE;IAC7FH,MAAM,CAACC,MAAM,CAACF,MAAM,EAAGK,UAAU,CAAS,GAAGL,MAAM,CAACI,QAAQ,QAAQ,CAAC,CAAC;EACxE;EAEA,OAAO,IAAIP,GAAG,CAACG,MAAM,CAAC;AACxB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/config/types.ts"],"sourcesContent":["import type { Env } from '@humanwhocodes/env';\n\n/** Источник конфигурации. */\nexport type ConfigSource = Env;\n\n/**\n * Базовая информация о приложении, необходимая в большинстве мест.\n */\nexport interface BaseConfig {\n /** Строка, характеризующая среду выполнения, например \"production\". */\n env: string;\n\n /** Имя приложения. */\n appName: string;\n\n /** Версия приложения. */\n appVersion: string;\n}\n\n/**\n * Словарь.\n */\nexport interface Dictionary {\n readonly [key: string]: string | undefined;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/* eslint-disable jsdoc/require-jsdoc */
|
|
2
|
+
|
|
3
|
+
import { AlreadyBoundError, CircularDependencyError, NothingBoundError } from "./errors.js";
|
|
4
|
+
import { createToken } from "./token.js";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Токен, с помощью которого можно достать из приложения само приложение.
|
|
8
|
+
*/
|
|
9
|
+
export const CURRENT_APP = createToken('application/self');
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Реализация Application.
|
|
13
|
+
*/
|
|
14
|
+
class ApplicationImplementation {
|
|
15
|
+
/** Родительское приложение. */
|
|
16
|
+
|
|
17
|
+
/** Зарегистрированные пресеты. */
|
|
18
|
+
|
|
19
|
+
/** Зарегистрированные провайдеры. */
|
|
20
|
+
|
|
21
|
+
/** Инициализированные компоненты (синглтоны). */
|
|
22
|
+
|
|
23
|
+
/** Инициализировано ли приложение. */
|
|
24
|
+
|
|
25
|
+
constructor() {
|
|
26
|
+
this.providers = new Map();
|
|
27
|
+
this.components = new Map();
|
|
28
|
+
this.presets = [];
|
|
29
|
+
this.initialized = false;
|
|
30
|
+
}
|
|
31
|
+
toString() {
|
|
32
|
+
return 'Application';
|
|
33
|
+
}
|
|
34
|
+
bind(token) {
|
|
35
|
+
if (this.providers.has(token._key)) {
|
|
36
|
+
throw new AlreadyBoundError(token, this.toString());
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
toValue: value => {
|
|
40
|
+
this.providers.set(token._key, () => value);
|
|
41
|
+
},
|
|
42
|
+
toProvider: provider => {
|
|
43
|
+
this.providers.set(token._key, provider);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
get(token) {
|
|
48
|
+
return this.resolve(token, []);
|
|
49
|
+
}
|
|
50
|
+
resolve(token, chain) {
|
|
51
|
+
if (!this.initialized) {
|
|
52
|
+
this.bind(CURRENT_APP).toValue(this);
|
|
53
|
+
for (const preset of this.presets) {
|
|
54
|
+
preset.apply(this);
|
|
55
|
+
}
|
|
56
|
+
this.initialized = true;
|
|
57
|
+
}
|
|
58
|
+
const nextChain = () => [...chain, token];
|
|
59
|
+
if (chain.includes(token)) {
|
|
60
|
+
throw new CircularDependencyError(nextChain(), this.toString());
|
|
61
|
+
}
|
|
62
|
+
if (this.components.has(token._key)) {
|
|
63
|
+
return this.components.get(token._key);
|
|
64
|
+
}
|
|
65
|
+
if (this.providers.has(token._key)) {
|
|
66
|
+
const provider = this.providers.get(token._key);
|
|
67
|
+
const component = provider(otherToken => this.resolve(otherToken, nextChain()));
|
|
68
|
+
|
|
69
|
+
// ВАЖНО: всегда как singleton
|
|
70
|
+
this.components.set(token._key, component);
|
|
71
|
+
return component;
|
|
72
|
+
}
|
|
73
|
+
if (this.parent) {
|
|
74
|
+
// ВАЖНО: передаём именно chain а не nextChain()
|
|
75
|
+
return this.parent.resolve(token, chain);
|
|
76
|
+
}
|
|
77
|
+
throw new NothingBoundError(token, this.toString());
|
|
78
|
+
}
|
|
79
|
+
attach(parent) {
|
|
80
|
+
if (this.parent) {
|
|
81
|
+
throw new Error('Cannot reattach application');
|
|
82
|
+
}
|
|
83
|
+
this.parent = parent;
|
|
84
|
+
}
|
|
85
|
+
preset(preset) {
|
|
86
|
+
this.presets.push(preset);
|
|
87
|
+
}
|
|
88
|
+
invoke(tokens, fn) {
|
|
89
|
+
fn(...tokens.map(token => this.get(token)));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Возвращает новое DI-приложение.
|
|
95
|
+
* @return DI-приложение.
|
|
96
|
+
*/
|
|
97
|
+
export function createApplication() {
|
|
98
|
+
return new ApplicationImplementation();
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=application.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"application.js","names":["AlreadyBoundError","CircularDependencyError","NothingBoundError","createToken","CURRENT_APP","ApplicationImplementation","constructor","providers","Map","components","presets","initialized","toString","bind","token","has","_key","toValue","value","set","toProvider","provider","get","resolve","chain","preset","apply","nextChain","includes","component","otherToken","parent","attach","Error","push","invoke","tokens","fn","map","createApplication"],"sources":["../../../src/di/application.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport type { Application, Provider, Token, Binding, ExtractType, Preset } from './types';\nimport { AlreadyBoundError, CircularDependencyError, NothingBoundError } from './errors';\nimport { createToken } from './token';\n\n/**\n * Токен, с помощью которого можно достать из приложения само приложение.\n */\nexport const CURRENT_APP = createToken<Application>('application/self');\n\n/**\n * Реализация Application.\n */\nclass ApplicationImplementation implements Application {\n /** Родительское приложение. */\n private parent?: ApplicationImplementation;\n\n /** Зарегистрированные пресеты. */\n private presets: Preset[];\n\n /** Зарегистрированные провайдеры. */\n private providers: Map<symbol, Provider<unknown>>;\n\n /** Инициализированные компоненты (синглтоны). */\n private components: Map<symbol, unknown>;\n\n /** Инициализировано ли приложение. */\n private initialized: boolean;\n\n constructor() {\n this.providers = new Map();\n this.components = new Map();\n this.presets = [];\n this.initialized = false;\n }\n\n toString() {\n return 'Application';\n }\n\n bind<T>(token: Token<T>): Binding<T> {\n if (this.providers.has(token._key)) {\n throw new AlreadyBoundError(token, this.toString());\n }\n\n return {\n toValue: value => {\n this.providers.set(token._key, () => value);\n },\n toProvider: provider => {\n this.providers.set(token._key, provider);\n },\n };\n }\n\n get<T>(token: Token<T>): T {\n return this.resolve(token, []);\n }\n\n protected resolve<T>(token: Token<T>, chain: Token<any>[]): T {\n if (!this.initialized) {\n this.bind(CURRENT_APP).toValue(this);\n\n for (const preset of this.presets) {\n preset.apply(this);\n }\n\n this.initialized = true;\n }\n\n const nextChain = () => [...chain, token];\n\n if (chain.includes(token)) {\n throw new CircularDependencyError(nextChain(), this.toString());\n }\n\n if (this.components.has(token._key)) {\n return this.components.get(token._key) as T;\n }\n\n if (this.providers.has(token._key)) {\n const provider = this.providers.get(token._key) as Provider<T>;\n\n const component = provider(otherToken => this.resolve(otherToken, nextChain()));\n\n // ВАЖНО: всегда как singleton\n this.components.set(token._key, component);\n\n return component as T;\n }\n\n if (this.parent) {\n // ВАЖНО: передаём именно chain а не nextChain()\n return this.parent.resolve(token, chain);\n }\n\n throw new NothingBoundError(token, this.toString());\n }\n\n attach(parent: ApplicationImplementation): void {\n if (this.parent) {\n throw new Error('Cannot reattach application');\n }\n\n this.parent = parent;\n }\n\n preset(preset: Preset): void {\n this.presets.push(preset);\n }\n\n invoke<Tokens extends readonly Token<any>[]>(\n tokens: [...Tokens],\n fn: (...args: ExtractType<Tokens>) => void,\n ): void {\n fn(...(tokens.map(token => this.get(token)) as any));\n }\n}\n\n/**\n * Возвращает новое DI-приложение.\n * @return DI-приложение.\n */\nexport function createApplication(): Application {\n return new ApplicationImplementation();\n}\n"],"mappings":"AAAA;;AAEA,SAASA,iBAAiB,EAAEC,uBAAuB,EAAEC,iBAAiB,QAAQ,aAAU;AACxF,SAASC,WAAW,QAAQ,YAAS;;AAErC;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAGD,WAAW,CAAc,kBAAkB,CAAC;;AAEvE;AACA;AACA;AACA,MAAME,yBAAyB,CAAwB;EACrD;;EAGA;;EAGA;;EAGA;;EAGA;;EAGAC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,SAAS,GAAG,IAAIC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAACC,UAAU,GAAG,IAAID,GAAG,CAAC,CAAC;IAC3B,IAAI,CAACE,OAAO,GAAG,EAAE;IACjB,IAAI,CAACC,WAAW,GAAG,KAAK;EAC1B;EAEAC,QAAQA,CAAA,EAAG;IACT,OAAO,aAAa;EACtB;EAEAC,IAAIA,CAAIC,KAAe,EAAc;IACnC,IAAI,IAAI,CAACP,SAAS,CAACQ,GAAG,CAACD,KAAK,CAACE,IAAI,CAAC,EAAE;MAClC,MAAM,IAAIhB,iBAAiB,CAACc,KAAK,EAAE,IAAI,CAACF,QAAQ,CAAC,CAAC,CAAC;IACrD;IAEA,OAAO;MACLK,OAAO,EAAEC,KAAK,IAAI;QAChB,IAAI,CAACX,SAAS,CAACY,GAAG,CAACL,KAAK,CAACE,IAAI,EAAE,MAAME,KAAK,CAAC;MAC7C,CAAC;MACDE,UAAU,EAAEC,QAAQ,IAAI;QACtB,IAAI,CAACd,SAAS,CAACY,GAAG,CAACL,KAAK,CAACE,IAAI,EAAEK,QAAQ,CAAC;MAC1C;IACF,CAAC;EACH;EAEAC,GAAGA,CAAIR,KAAe,EAAK;IACzB,OAAO,IAAI,CAACS,OAAO,CAACT,KAAK,EAAE,EAAE,CAAC;EAChC;EAEUS,OAAOA,CAAIT,KAAe,EAAEU,KAAmB,EAAK;IAC5D,IAAI,CAAC,IAAI,CAACb,WAAW,EAAE;MACrB,IAAI,CAACE,IAAI,CAACT,WAAW,CAAC,CAACa,OAAO,CAAC,IAAI,CAAC;MAEpC,KAAK,MAAMQ,MAAM,IAAI,IAAI,CAACf,OAAO,EAAE;QACjCe,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC;MACpB;MAEA,IAAI,CAACf,WAAW,GAAG,IAAI;IACzB;IAEA,MAAMgB,SAAS,GAAGA,CAAA,KAAM,CAAC,GAAGH,KAAK,EAAEV,KAAK,CAAC;IAEzC,IAAIU,KAAK,CAACI,QAAQ,CAACd,KAAK,CAAC,EAAE;MACzB,MAAM,IAAIb,uBAAuB,CAAC0B,SAAS,CAAC,CAAC,EAAE,IAAI,CAACf,QAAQ,CAAC,CAAC,CAAC;IACjE;IAEA,IAAI,IAAI,CAACH,UAAU,CAACM,GAAG,CAACD,KAAK,CAACE,IAAI,CAAC,EAAE;MACnC,OAAO,IAAI,CAACP,UAAU,CAACa,GAAG,CAACR,KAAK,CAACE,IAAI,CAAC;IACxC;IAEA,IAAI,IAAI,CAACT,SAAS,CAACQ,GAAG,CAACD,KAAK,CAACE,IAAI,CAAC,EAAE;MAClC,MAAMK,QAAQ,GAAG,IAAI,CAACd,SAAS,CAACe,GAAG,CAACR,KAAK,CAACE,IAAI,CAAgB;MAE9D,MAAMa,SAAS,GAAGR,QAAQ,CAACS,UAAU,IAAI,IAAI,CAACP,OAAO,CAACO,UAAU,EAAEH,SAAS,CAAC,CAAC,CAAC,CAAC;;MAE/E;MACA,IAAI,CAAClB,UAAU,CAACU,GAAG,CAACL,KAAK,CAACE,IAAI,EAAEa,SAAS,CAAC;MAE1C,OAAOA,SAAS;IAClB;IAEA,IAAI,IAAI,CAACE,MAAM,EAAE;MACf;MACA,OAAO,IAAI,CAACA,MAAM,CAACR,OAAO,CAACT,KAAK,EAAEU,KAAK,CAAC;IAC1C;IAEA,MAAM,IAAItB,iBAAiB,CAACY,KAAK,EAAE,IAAI,CAACF,QAAQ,CAAC,CAAC,CAAC;EACrD;EAEAoB,MAAMA,CAACD,MAAiC,EAAQ;IAC9C,IAAI,IAAI,CAACA,MAAM,EAAE;MACf,MAAM,IAAIE,KAAK,CAAC,6BAA6B,CAAC;IAChD;IAEA,IAAI,CAACF,MAAM,GAAGA,MAAM;EACtB;EAEAN,MAAMA,CAACA,MAAc,EAAQ;IAC3B,IAAI,CAACf,OAAO,CAACwB,IAAI,CAACT,MAAM,CAAC;EAC3B;EAEAU,MAAMA,CACJC,MAAmB,EACnBC,EAA0C,EACpC;IACNA,EAAE,CAAC,GAAID,MAAM,CAACE,GAAG,CAACxB,KAAK,IAAI,IAAI,CAACQ,GAAG,CAACR,KAAK,CAAC,CAAS,CAAC;EACtD;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASyB,iBAAiBA,CAAA,EAAgB;EAC/C,OAAO,IAAIlC,yBAAyB,CAAC,CAAC;AACxC","ignoreList":[]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/* eslint-disable jsdoc/require-jsdoc */
|
|
2
|
+
|
|
3
|
+
import { AlreadyBoundError, CircularDependencyError, NothingBoundError } from "./errors.js";
|
|
4
|
+
class ContainerImplementation {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.cache = new Map();
|
|
7
|
+
this.registry = new Map();
|
|
8
|
+
}
|
|
9
|
+
set(token, provider) {
|
|
10
|
+
if (this.registry.has(token._key)) {
|
|
11
|
+
throw new AlreadyBoundError(token);
|
|
12
|
+
}
|
|
13
|
+
this.registry.set(token._key, provider);
|
|
14
|
+
}
|
|
15
|
+
get(token) {
|
|
16
|
+
return this.resolve(token, []);
|
|
17
|
+
}
|
|
18
|
+
resolve(token, chain) {
|
|
19
|
+
if (chain.includes(token)) {
|
|
20
|
+
throw new CircularDependencyError([...chain, token]);
|
|
21
|
+
} else {
|
|
22
|
+
chain.push(token);
|
|
23
|
+
}
|
|
24
|
+
if (this.cache.has(token._key)) {
|
|
25
|
+
return this.cache.get(token._key);
|
|
26
|
+
} else if (this.registry.has(token._key)) {
|
|
27
|
+
const provider = this.registry.get(token._key);
|
|
28
|
+
if (typeof provider !== 'function') {
|
|
29
|
+
throw new Error('Provider is not a function');
|
|
30
|
+
}
|
|
31
|
+
const value = provider(otherToken => this.resolve(otherToken, chain));
|
|
32
|
+
|
|
33
|
+
// всегда как singleton
|
|
34
|
+
this.cache.set(token._key, value);
|
|
35
|
+
return value;
|
|
36
|
+
} else {
|
|
37
|
+
throw new NothingBoundError(token);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Возвращает новый DI-контейнер.
|
|
44
|
+
* @return DI-контейнер.
|
|
45
|
+
*/
|
|
46
|
+
export function createContainer() {
|
|
47
|
+
return new ContainerImplementation();
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.js","names":["AlreadyBoundError","CircularDependencyError","NothingBoundError","ContainerImplementation","constructor","cache","Map","registry","set","token","provider","has","_key","get","resolve","chain","includes","push","Error","value","otherToken","createContainer"],"sources":["../../../src/di/container.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport type { Container, Provider, Token } from './types';\nimport { AlreadyBoundError, CircularDependencyError, NothingBoundError } from './errors';\n\nclass ContainerImplementation implements Container {\n cache: Map<symbol, any>;\n registry: Map<symbol, Provider<any>>;\n\n constructor() {\n this.cache = new Map<symbol, any>();\n this.registry = new Map<symbol, Provider<any>>();\n }\n\n set<T>(token: Token<T>, provider: Provider<T>): void {\n if (this.registry.has(token._key)) {\n throw new AlreadyBoundError(token);\n }\n\n this.registry.set(token._key, provider);\n }\n\n get<T>(token: Token<T>): T {\n return this.resolve(token, []);\n }\n\n private resolve<T>(token: Token<T>, chain: Token<any>[]): T {\n if (chain.includes(token)) {\n throw new CircularDependencyError([...chain, token]);\n } else {\n chain.push(token);\n }\n\n if (this.cache.has(token._key)) {\n return this.cache.get(token._key);\n } else if (this.registry.has(token._key)) {\n const provider = this.registry.get(token._key);\n\n if (typeof provider !== 'function') {\n throw new Error('Provider is not a function');\n }\n\n const value = provider(otherToken => this.resolve(otherToken, chain));\n\n // всегда как singleton\n this.cache.set(token._key, value);\n\n return value;\n } else {\n throw new NothingBoundError(token);\n }\n }\n}\n\n/**\n * Возвращает новый DI-контейнер.\n * @return DI-контейнер.\n */\nexport function createContainer(): Container {\n return new ContainerImplementation();\n}\n"],"mappings":"AAAA;;AAEA,SAASA,iBAAiB,EAAEC,uBAAuB,EAAEC,iBAAiB,QAAQ,aAAU;AAExF,MAAMC,uBAAuB,CAAsB;EAIjDC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,KAAK,GAAG,IAAIC,GAAG,CAAc,CAAC;IACnC,IAAI,CAACC,QAAQ,GAAG,IAAID,GAAG,CAAwB,CAAC;EAClD;EAEAE,GAAGA,CAAIC,KAAe,EAAEC,QAAqB,EAAQ;IACnD,IAAI,IAAI,CAACH,QAAQ,CAACI,GAAG,CAACF,KAAK,CAACG,IAAI,CAAC,EAAE;MACjC,MAAM,IAAIZ,iBAAiB,CAACS,KAAK,CAAC;IACpC;IAEA,IAAI,CAACF,QAAQ,CAACC,GAAG,CAACC,KAAK,CAACG,IAAI,EAAEF,QAAQ,CAAC;EACzC;EAEAG,GAAGA,CAAIJ,KAAe,EAAK;IACzB,OAAO,IAAI,CAACK,OAAO,CAACL,KAAK,EAAE,EAAE,CAAC;EAChC;EAEQK,OAAOA,CAAIL,KAAe,EAAEM,KAAmB,EAAK;IAC1D,IAAIA,KAAK,CAACC,QAAQ,CAACP,KAAK,CAAC,EAAE;MACzB,MAAM,IAAIR,uBAAuB,CAAC,CAAC,GAAGc,KAAK,EAAEN,KAAK,CAAC,CAAC;IACtD,CAAC,MAAM;MACLM,KAAK,CAACE,IAAI,CAACR,KAAK,CAAC;IACnB;IAEA,IAAI,IAAI,CAACJ,KAAK,CAACM,GAAG,CAACF,KAAK,CAACG,IAAI,CAAC,EAAE;MAC9B,OAAO,IAAI,CAACP,KAAK,CAACQ,GAAG,CAACJ,KAAK,CAACG,IAAI,CAAC;IACnC,CAAC,MAAM,IAAI,IAAI,CAACL,QAAQ,CAACI,GAAG,CAACF,KAAK,CAACG,IAAI,CAAC,EAAE;MACxC,MAAMF,QAAQ,GAAG,IAAI,CAACH,QAAQ,CAACM,GAAG,CAACJ,KAAK,CAACG,IAAI,CAAC;MAE9C,IAAI,OAAOF,QAAQ,KAAK,UAAU,EAAE;QAClC,MAAM,IAAIQ,KAAK,CAAC,4BAA4B,CAAC;MAC/C;MAEA,MAAMC,KAAK,GAAGT,QAAQ,CAACU,UAAU,IAAI,IAAI,CAACN,OAAO,CAACM,UAAU,EAAEL,KAAK,CAAC,CAAC;;MAErE;MACA,IAAI,CAACV,KAAK,CAACG,GAAG,CAACC,KAAK,CAACG,IAAI,EAAEO,KAAK,CAAC;MAEjC,OAAOA,KAAK;IACd,CAAC,MAAM;MACL,MAAM,IAAIjB,iBAAiB,CAACO,KAAK,CAAC;IACpC;EACF;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASY,eAAeA,CAAA,EAAc;EAC3C,OAAO,IAAIlB,uBAAuB,CAAC,CAAC;AACtC","ignoreList":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ошибка, сообщающая, что в контейнере нет сервиса по заданному ключу.
|
|
3
|
+
*/
|
|
4
|
+
export class NothingBoundError extends Error {
|
|
5
|
+
/**
|
|
6
|
+
* Конструктор.
|
|
7
|
+
* @param token Токен.
|
|
8
|
+
* @param containerName Имя контейнера.
|
|
9
|
+
*/
|
|
10
|
+
constructor(token, containerName) {
|
|
11
|
+
super(`Nothing bound to ${String(token)} in ${display(containerName)}`);
|
|
12
|
+
this.name = 'NothingBoundError';
|
|
13
|
+
this.token = token;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Ошибка, сообщающая, что в контейнере уже зарегистрирован компонент под таким токеном.
|
|
19
|
+
*/
|
|
20
|
+
export class AlreadyBoundError extends Error {
|
|
21
|
+
/**
|
|
22
|
+
* Конструктор.
|
|
23
|
+
* @param token Токен.
|
|
24
|
+
* @param containerName Имя контейнера.
|
|
25
|
+
*/
|
|
26
|
+
constructor(token, containerName) {
|
|
27
|
+
super(`Cannot rebind token in ${display(containerName)}, already bound: ${String(token)}`);
|
|
28
|
+
this.name = 'AlreadyBoundError';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Ошибка, сообщающая, что обнаружена циклическая зависимость.
|
|
34
|
+
*/
|
|
35
|
+
export class CircularDependencyError extends Error {
|
|
36
|
+
/**
|
|
37
|
+
* Конструктор.
|
|
38
|
+
* @param trace Список токенов, в котором обнаружен цикл.
|
|
39
|
+
* @param containerName Имя контейнера.
|
|
40
|
+
*/
|
|
41
|
+
constructor(trace, containerName) {
|
|
42
|
+
const names = trace.map(String).join(' >> ');
|
|
43
|
+
super(`Circular dependency found in ${display(containerName)}, trace: ${names}`);
|
|
44
|
+
this.name = 'CircularDependencyError';
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Вернёт переданное имя контейнера или заглушку.
|
|
50
|
+
* @param containerName Имя.
|
|
51
|
+
* @return Имя или заглушка.
|
|
52
|
+
*/
|
|
53
|
+
function display(containerName) {
|
|
54
|
+
return containerName ?? '[unknown container]';
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","names":["NothingBoundError","Error","constructor","token","containerName","String","display","name","AlreadyBoundError","CircularDependencyError","trace","names","map","join"],"sources":["../../../src/di/errors.ts"],"sourcesContent":["import type { Token } from './types';\n\n/**\n * Ошибка, сообщающая, что в контейнере нет сервиса по заданному ключу.\n */\nexport class NothingBoundError extends Error {\n readonly token: Token<unknown>;\n\n /**\n * Конструктор.\n * @param token Токен.\n * @param containerName Имя контейнера.\n */\n constructor(token: Token<unknown>, containerName?: string) {\n super(`Nothing bound to ${String(token)} in ${display(containerName)}`);\n this.name = 'NothingBoundError';\n this.token = token;\n }\n}\n\n/**\n * Ошибка, сообщающая, что в контейнере уже зарегистрирован компонент под таким токеном.\n */\nexport class AlreadyBoundError extends Error {\n /**\n * Конструктор.\n * @param token Токен.\n * @param containerName Имя контейнера.\n */\n constructor(token: Token<unknown>, containerName?: string) {\n super(`Cannot rebind token in ${display(containerName)}, already bound: ${String(token)}`);\n this.name = 'AlreadyBoundError';\n }\n}\n\n/**\n * Ошибка, сообщающая, что обнаружена циклическая зависимость.\n */\nexport class CircularDependencyError extends Error {\n /**\n * Конструктор.\n * @param trace Список токенов, в котором обнаружен цикл.\n * @param containerName Имя контейнера.\n */\n constructor(trace: Token<unknown>[], containerName?: string) {\n const names = trace.map(String).join(' >> ');\n super(`Circular dependency found in ${display(containerName)}, trace: ${names}`);\n this.name = 'CircularDependencyError';\n }\n}\n\n/**\n * Вернёт переданное имя контейнера или заглушку.\n * @param containerName Имя.\n * @return Имя или заглушка.\n */\nfunction display(containerName?: string) {\n return containerName ?? '[unknown container]';\n}\n"],"mappings":"AAEA;AACA;AACA;AACA,OAAO,MAAMA,iBAAiB,SAASC,KAAK,CAAC;EAG3C;AACF;AACA;AACA;AACA;EACEC,WAAWA,CAACC,KAAqB,EAAEC,aAAsB,EAAE;IACzD,KAAK,CAAC,oBAAoBC,MAAM,CAACF,KAAK,CAAC,OAAOG,OAAO,CAACF,aAAa,CAAC,EAAE,CAAC;IACvE,IAAI,CAACG,IAAI,GAAG,mBAAmB;IAC/B,IAAI,CAACJ,KAAK,GAAGA,KAAK;EACpB;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMK,iBAAiB,SAASP,KAAK,CAAC;EAC3C;AACF;AACA;AACA;AACA;EACEC,WAAWA,CAACC,KAAqB,EAAEC,aAAsB,EAAE;IACzD,KAAK,CAAC,0BAA0BE,OAAO,CAACF,aAAa,CAAC,oBAAoBC,MAAM,CAACF,KAAK,CAAC,EAAE,CAAC;IAC1F,IAAI,CAACI,IAAI,GAAG,mBAAmB;EACjC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAME,uBAAuB,SAASR,KAAK,CAAC;EACjD;AACF;AACA;AACA;AACA;EACEC,WAAWA,CAACQ,KAAuB,EAAEN,aAAsB,EAAE;IAC3D,MAAMO,KAAK,GAAGD,KAAK,CAACE,GAAG,CAACP,MAAM,CAAC,CAACQ,IAAI,CAAC,MAAM,CAAC;IAC5C,KAAK,CAAC,gCAAgCP,OAAO,CAACF,aAAa,CAAC,YAAYO,KAAK,EAAE,CAAC;IAChF,IAAI,CAACJ,IAAI,GAAG,yBAAyB;EACvC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASD,OAAOA,CAACF,aAAsB,EAAE;EACvC,OAAOA,aAAa,IAAI,qBAAqB;AAC/C","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { NothingBoundError, CircularDependencyError, AlreadyBoundError } from "./errors.js";
|
|
2
|
+
export { createToken } from "./token.js";
|
|
3
|
+
export { createContainer } from "./container.js";
|
|
4
|
+
export { createPreset } from "./preset.js";
|
|
5
|
+
export { createApplication, CURRENT_APP } from "./application.js";
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["NothingBoundError","CircularDependencyError","AlreadyBoundError","createToken","createContainer","createPreset","createApplication","CURRENT_APP"],"sources":["../../../src/di/index.ts"],"sourcesContent":["export type { Token, Resolve, Provider, Container, Application, Preset } from './types';\nexport { NothingBoundError, CircularDependencyError, AlreadyBoundError } from './errors';\nexport { createToken } from './token';\nexport { createContainer } from './container';\nexport { createPreset } from './preset';\nexport { createApplication, CURRENT_APP } from './application';\n"],"mappings":"AACA,SAASA,iBAAiB,EAAEC,uBAAuB,EAAEC,iBAAiB,QAAQ,aAAU;AACxF,SAASC,WAAW,QAAQ,YAAS;AACrC,SAASC,eAAe,QAAQ,gBAAa;AAC7C,SAASC,YAAY,QAAQ,aAAU;AACvC,SAASC,iBAAiB,EAAEC,WAAW,QAAQ,kBAAe","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/* eslint-disable jsdoc/require-jsdoc */
|
|
2
|
+
|
|
3
|
+
class PresetImplementation {
|
|
4
|
+
constructor(defaults) {
|
|
5
|
+
this.registry = new Map(defaults);
|
|
6
|
+
}
|
|
7
|
+
set(token, provider) {
|
|
8
|
+
this.registry.set(token, provider);
|
|
9
|
+
return this;
|
|
10
|
+
}
|
|
11
|
+
apply(app) {
|
|
12
|
+
for (const [token, provider] of this.registry) {
|
|
13
|
+
app.bind(token).toProvider(provider);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Возвращает новый "preset" для DI-приложения - набор предустановленных компонентов которые можно переопределять.
|
|
20
|
+
* @param defaults Предустановленные зависимости.
|
|
21
|
+
* @return Preset.
|
|
22
|
+
*/
|
|
23
|
+
export function createPreset(defaults) {
|
|
24
|
+
return new PresetImplementation(defaults);
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=preset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preset.js","names":["PresetImplementation","constructor","defaults","registry","Map","set","token","provider","apply","app","bind","toProvider","createPreset"],"sources":["../../../src/di/preset.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport type { Application, Provider, Token, Preset } from './types';\n\ntype PresetEntry<T = any> = [Token<T>, Provider<T>];\n\nclass PresetImplementation implements Preset {\n private registry: Map<Token<any>, Provider<any>>;\n\n constructor(defaults?: Iterable<PresetEntry>) {\n this.registry = new Map<Token<any>, Provider<any>>(defaults);\n }\n\n set<T>(token: Token<T>, provider: Provider<T>): this {\n this.registry.set(token, provider);\n return this;\n }\n\n apply(app: Application): void {\n for (const [token, provider] of this.registry) {\n app.bind(token).toProvider(provider);\n }\n }\n}\n\n/**\n * Возвращает новый \"preset\" для DI-приложения - набор предустановленных компонентов которые можно переопределять.\n * @param defaults Предустановленные зависимости.\n * @return Preset.\n */\nexport function createPreset(defaults?: PresetEntry[]): Preset {\n return new PresetImplementation(defaults);\n}\n"],"mappings":"AAAA;;AAKA,MAAMA,oBAAoB,CAAmB;EAG3CC,WAAWA,CAACC,QAAgC,EAAE;IAC5C,IAAI,CAACC,QAAQ,GAAG,IAAIC,GAAG,CAA4BF,QAAQ,CAAC;EAC9D;EAEAG,GAAGA,CAAIC,KAAe,EAAEC,QAAqB,EAAQ;IACnD,IAAI,CAACJ,QAAQ,CAACE,GAAG,CAACC,KAAK,EAAEC,QAAQ,CAAC;IAClC,OAAO,IAAI;EACb;EAEAC,KAAKA,CAACC,GAAgB,EAAQ;IAC5B,KAAK,MAAM,CAACH,KAAK,EAAEC,QAAQ,CAAC,IAAI,IAAI,CAACJ,QAAQ,EAAE;MAC7CM,GAAG,CAACC,IAAI,CAACJ,KAAK,CAAC,CAACK,UAAU,CAACJ,QAAQ,CAAC;IACtC;EACF;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,YAAYA,CAACV,QAAwB,EAAU;EAC7D,OAAO,IAAIF,oBAAoB,CAACE,QAAQ,CAAC;AAC3C","ignoreList":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Реализация токена.
|
|
3
|
+
*/
|
|
4
|
+
class TokenImplementation {
|
|
5
|
+
/**
|
|
6
|
+
* Конструктор.
|
|
7
|
+
* @param name Имя для отладки.
|
|
8
|
+
*/
|
|
9
|
+
constructor(name) {
|
|
10
|
+
this._key = Symbol(name);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Получив реестр вернет из него нужный компонент.
|
|
15
|
+
* @param registry Реестр.
|
|
16
|
+
* @return Компонент.
|
|
17
|
+
*/
|
|
18
|
+
_resolve(registry) {
|
|
19
|
+
return registry.get(this._key);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @inheritdoc
|
|
24
|
+
*/
|
|
25
|
+
toString() {
|
|
26
|
+
return `Token(${this._key.description ?? 'unknown'})`;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Возвращает новый токен.
|
|
32
|
+
* @param name Имя токена для отладки в случае ошибок.
|
|
33
|
+
* @return Токен.
|
|
34
|
+
*/
|
|
35
|
+
export function createToken(name) {
|
|
36
|
+
return new TokenImplementation(name);
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.js","names":["TokenImplementation","constructor","name","_key","Symbol","_resolve","registry","get","toString","description","createToken"],"sources":["../../../src/di/token.ts"],"sourcesContent":["import { Token } from './types';\n\n/**\n * Реализация токена.\n */\nclass TokenImplementation<T = never> implements Token<T> {\n readonly _key: symbol;\n\n /**\n * Конструктор.\n * @param name Имя для отладки.\n */\n constructor(name?: string) {\n this._key = Symbol(name);\n }\n\n /**\n * Получив реестр вернет из него нужный компонент.\n * @param registry Реестр.\n * @return Компонент.\n */\n _resolve(registry: Map<symbol, any>): T {\n return registry.get(this._key);\n }\n\n /**\n * @inheritdoc\n */\n toString(): string {\n return `Token(${this._key.description ?? 'unknown'})`;\n }\n}\n\n/**\n * Возвращает новый токен.\n * @param name Имя токена для отладки в случае ошибок.\n * @return Токен.\n */\nexport function createToken<T = never>(name?: string): Token<T> {\n return new TokenImplementation(name);\n}\n"],"mappings":"AAEA;AACA;AACA;AACA,MAAMA,mBAAmB,CAAgC;EAGvD;AACF;AACA;AACA;EACEC,WAAWA,CAACC,IAAa,EAAE;IACzB,IAAI,CAACC,IAAI,GAAGC,MAAM,CAACF,IAAI,CAAC;EAC1B;;EAEA;AACF;AACA;AACA;AACA;EACEG,QAAQA,CAACC,QAA0B,EAAK;IACtC,OAAOA,QAAQ,CAACC,GAAG,CAAC,IAAI,CAACJ,IAAI,CAAC;EAChC;;EAEA;AACF;AACA;EACEK,QAAQA,CAAA,EAAW;IACjB,OAAO,SAAS,IAAI,CAACL,IAAI,CAACM,WAAW,IAAI,SAAS,GAAG;EACvD;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAAYR,IAAa,EAAY;EAC9D,OAAO,IAAIF,mBAAmB,CAACE,IAAI,CAAC;AACtC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/di/types.ts"],"sourcesContent":["/**\n * Токен - ключ который можно использовать для привязки реализации и получения компонента из контейнера.\n * За токеном можно закрепить интерфейс. В дальнейшем это поможет нне ошибиться при привязке реализации.\n */\nexport interface Token<T> {\n readonly _key: symbol;\n readonly _resolve: (registry: Map<symbol, any>) => T;\n}\n\n/**\n * Резолвер. Получив токен вернет реализацию интерфейса, который за ним закреплён.\n */\nexport interface Resolve {\n <T>(token: Token<T>): T;\n}\n\n/**\n * Провайдер - функция, которая, получив резолвер, должна вернуть реализацию интерфейса.\n */\nexport interface Provider<T> {\n (resolve: Resolve): T;\n}\n\n/**\n * DI-контейнер.\n * Позволяет зарегистрировать за токеном компонент в виде функции-провайдера и в дальнейшем получить его по токену.\n */\nexport interface Container {\n /**\n * Регистрирует провайдер.\n */\n set: <T = never>(token: Token<T>, provider: Provider<T>) => void;\n\n get: Resolve;\n}\n\n/**\n * Интерфейс привязки компонента к токену.\n */\nexport interface Binding<T> {\n /**\n * Привязывает к токену конкретное \"статическое\" значение.\n */\n toValue: (value: T) => void;\n\n /**\n * Привязывает к токену функцию-провайдер.\n */\n toProvider: (provider: Provider<T>) => void;\n}\n\n/** @internal */\nexport type ExtractType<T extends readonly Token<any>[]> = {\n [index in keyof T]: T[index] extends T[number] ? ReturnType<T[index]['_resolve']> : never;\n};\n\n/**\n * DI-Приложение. Расширенная версия DI-контейнера.\n * Позволяет применять пресеты, задавать \"родительские\" приложения, вызывать callback-функции с инъекцией компонентов.\n */\nexport interface Application {\n /**\n * Добавляет пресет к приложению. Пресет будет применен в момент первой попытки получить компонент или вызвать функцию.\n */\n preset(preset: Preset): void;\n\n /**\n * Получив приложение, пометит его как \"родительское\".\n * При попытке достать компонент, в случае если его нет в текущем приложении, будет произведена попытка найти его в \"родительском\".\n */\n attach(parent: Application): void;\n\n /**\n * Аналог метода set у Container. Получив токен вернет интерфейс привязки реализации.\n * @param token Токен.\n */\n bind<T>(token: Token<T>): Binding<T>;\n\n /**\n * Получив токен, вернет его реализацию если она была зарегистрирована.\n * @param token Токен.\n */\n get<T>(token: Token<T>): T;\n\n /**\n * Получив список токенов и callback-функцию, вызовет функцию с компонентами по соответствующим токенам.\n */\n invoke<Tokens extends readonly Token<any>[]>(\n tokens: [...Tokens],\n fn: (...args: ExtractType<Tokens>) => void,\n ): void;\n}\n\n/**\n * Пресет - набор провайдеров (с возможностью их добавлять/переопределять) который можно применить к DI-приложению.\n */\nexport interface Preset {\n /** Добавляет провайдер в пресет. */\n set: <T>(token: Token<T>, provider: Provider<T>) => this;\n\n /** Применяет пресет к переданному приложению. */\n apply: (app: Application) => void;\n\n // @todo preventExtensions()\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ошибка валидации статуса ответа.
|
|
3
|
+
* @todo Переименовать в HttpStatusValidationError?
|
|
4
|
+
*/
|
|
5
|
+
export class StatusError extends Error {
|
|
6
|
+
/**
|
|
7
|
+
* @param response Ответ.
|
|
8
|
+
*/
|
|
9
|
+
constructor(response) {
|
|
10
|
+
super(`HTTP Request failed with status ${response.status}`);
|
|
11
|
+
this.name = 'StatusError';
|
|
12
|
+
this.response = response;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Определяет, является ли переданное значение ошибкой валидации статуса.
|
|
17
|
+
* @param value Значение.
|
|
18
|
+
* @return Результат.
|
|
19
|
+
*/
|
|
20
|
+
static is(value) {
|
|
21
|
+
return value?.name === 'StatusError';
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Ошибка в процессе формирования ответа.
|
|
27
|
+
*/
|
|
28
|
+
export class ResponseError extends Error {
|
|
29
|
+
/**
|
|
30
|
+
* @param message Сообщение.
|
|
31
|
+
* @param statusCodeOrInit Код ответа.
|
|
32
|
+
*/
|
|
33
|
+
constructor(message, statusCodeOrInit = 500) {
|
|
34
|
+
super(message);
|
|
35
|
+
this.name = 'ResponseError';
|
|
36
|
+
if (typeof statusCodeOrInit === 'number') {
|
|
37
|
+
this.logLevel = 'error';
|
|
38
|
+
this.statusCode = statusCodeOrInit;
|
|
39
|
+
this.redirectLocation = null;
|
|
40
|
+
} else {
|
|
41
|
+
this.logLevel = statusCodeOrInit.logLevel ?? 'error';
|
|
42
|
+
this.statusCode = statusCodeOrInit.statusCode ?? 500;
|
|
43
|
+
this.redirectLocation = statusCodeOrInit.redirectLocation ?? null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","names":["StatusError","Error","constructor","response","status","name","is","value","ResponseError","message","statusCodeOrInit","logLevel","statusCode","redirectLocation"],"sources":["../../../src/http/errors.ts"],"sourcesContent":["import type { LogLevel } from '../log';\nimport type { ResponseErrorInit } from './types';\n\n/**\n * Ошибка валидации статуса ответа.\n * @todo Переименовать в HttpStatusValidationError?\n */\nexport class StatusError extends Error {\n readonly response: Response;\n\n /**\n * @param response Ответ.\n */\n constructor(response: Response) {\n super(`HTTP Request failed with status ${response.status}`);\n this.name = 'StatusError';\n this.response = response;\n }\n\n /**\n * Определяет, является ли переданное значение ошибкой валидации статуса.\n * @param value Значение.\n * @return Результат.\n */\n static is(value: unknown): value is StatusError {\n return (value as any)?.name === 'StatusError';\n }\n}\n\n/**\n * Ошибка в процессе формирования ответа.\n */\nexport class ResponseError extends Error {\n logLevel: LogLevel | null;\n statusCode: number;\n redirectLocation: string | null;\n\n /**\n * @param message Сообщение.\n * @param statusCodeOrInit Код ответа.\n */\n constructor(message: string, statusCodeOrInit: number | ResponseErrorInit = 500) {\n super(message);\n this.name = 'ResponseError';\n\n if (typeof statusCodeOrInit === 'number') {\n this.logLevel = 'error';\n this.statusCode = statusCodeOrInit;\n this.redirectLocation = null;\n } else {\n this.logLevel = statusCodeOrInit.logLevel ?? 'error';\n this.statusCode = statusCodeOrInit.statusCode ?? 500;\n this.redirectLocation = statusCodeOrInit.redirectLocation ?? null;\n }\n }\n}\n"],"mappings":"AAGA;AACA;AACA;AACA;AACA,OAAO,MAAMA,WAAW,SAASC,KAAK,CAAC;EAGrC;AACF;AACA;EACEC,WAAWA,CAACC,QAAkB,EAAE;IAC9B,KAAK,CAAC,mCAAmCA,QAAQ,CAACC,MAAM,EAAE,CAAC;IAC3D,IAAI,CAACC,IAAI,GAAG,aAAa;IACzB,IAAI,CAACF,QAAQ,GAAGA,QAAQ;EAC1B;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOG,EAAEA,CAACC,KAAc,EAAwB;IAC9C,OAAQA,KAAK,EAAUF,IAAI,KAAK,aAAa;EAC/C;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMG,aAAa,SAASP,KAAK,CAAC;EAKvC;AACF;AACA;AACA;EACEC,WAAWA,CAACO,OAAe,EAAEC,gBAA4C,GAAG,GAAG,EAAE;IAC/E,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACJ,IAAI,GAAG,eAAe;IAE3B,IAAI,OAAOK,gBAAgB,KAAK,QAAQ,EAAE;MACxC,IAAI,CAACC,QAAQ,GAAG,OAAO;MACvB,IAAI,CAACC,UAAU,GAAGF,gBAAgB;MAClC,IAAI,CAACG,gBAAgB,GAAG,IAAI;IAC9B,CAAC,MAAM;MACL,IAAI,CAACF,QAAQ,GAAGD,gBAAgB,CAACC,QAAQ,IAAI,OAAO;MACpD,IAAI,CAACC,UAAU,GAAGF,gBAAgB,CAACE,UAAU,IAAI,GAAG;MACpD,IAAI,CAACC,gBAAgB,GAAGH,gBAAgB,CAACG,gBAAgB,IAAI,IAAI;IACnE;EACF;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { configureFetch, applyMiddleware } from '@krutoo/fetch-tools';
|
|
2
|
+
export { log, proxy, defaultHeaders, validateStatus } from '@krutoo/fetch-tools/middleware';
|
|
3
|
+
export { StatusError, ResponseError } from "./errors.js";
|
|
4
|
+
export { FetchUtil } from "./utils.js";
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["configureFetch","applyMiddleware","log","proxy","defaultHeaders","validateStatus","StatusError","ResponseError","FetchUtil"],"sources":["../../../src/http/index.ts"],"sourcesContent":["export type {\n Handler,\n Enhancer,\n Middleware,\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\n ProxyOptions,\n EitherResponse,\n ResponseDone,\n ResponseFail,\n ResponseErrorInit,\n} from './types';\nexport { configureFetch, applyMiddleware } from '@krutoo/fetch-tools';\nexport { log, proxy, defaultHeaders, validateStatus } from '@krutoo/fetch-tools/middleware';\nexport { StatusError, ResponseError } from './errors';\nexport { FetchUtil } from './utils';\n"],"mappings":"AAeA,SAASA,cAAc,EAAEC,eAAe,QAAQ,qBAAqB;AACrE,SAASC,GAAG,EAAEC,KAAK,EAAEC,cAAc,EAAEC,cAAc,QAAQ,gCAAgC;AAC3F,SAASC,WAAW,EAAEC,aAAa,QAAQ,aAAU;AACrD,SAASC,SAAS,QAAQ,YAAS","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/http/types.ts"],"sourcesContent":["import type { LogLevel } from '../log';\n\nexport type { Handler, Enhancer, Middleware } from '@krutoo/fetch-tools';\n\nexport type {\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\n ProxyOptions,\n} from '@krutoo/fetch-tools/middleware';\n\nexport type URLSearchParamsInit = Record<string, string | number | boolean | undefined | null>;\n\nexport interface ResponseDone<T = unknown> {\n ok: true;\n data: T;\n error: null;\n status: number;\n statusText: string;\n headers: Headers;\n}\n\nexport interface ResponseFail<T = unknown> {\n ok: false;\n data?: T;\n error: unknown;\n status?: number;\n statusText?: string;\n headers?: Headers;\n}\n\nexport type EitherResponse<T> = ResponseDone<T> | ResponseFail<T>;\n\nexport interface ResponseErrorInit {\n statusCode?: number;\n redirectLocation?: string;\n logLevel?: LogLevel | null;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Утилиты для работы с URL, URLSearchParams, Headers, Request, Response.
|
|
3
|
+
*/
|
|
4
|
+
export const FetchUtil = {
|
|
5
|
+
/**
|
|
6
|
+
* Получив параметры применит их к переданному URL.
|
|
7
|
+
* @param url URL.
|
|
8
|
+
* @param params Параметры.
|
|
9
|
+
*/
|
|
10
|
+
setParams(url, params) {
|
|
11
|
+
for (const [paramName, paramValue] of Object.entries(params)) {
|
|
12
|
+
if (paramValue === null) {
|
|
13
|
+
url.searchParams.delete(paramName);
|
|
14
|
+
continue;
|
|
15
|
+
}
|
|
16
|
+
if (paramValue !== undefined) {
|
|
17
|
+
url.searchParams.set(paramName, String(paramValue));
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
// @todo resetPrams?
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Получив URL и параметры вернет новый URL с примененными параметрами.
|
|
26
|
+
* @param url URL.
|
|
27
|
+
* @param params Параметры.
|
|
28
|
+
* @return URL.
|
|
29
|
+
*/
|
|
30
|
+
withParams(url, params) {
|
|
31
|
+
const resultUrl = new URL(url);
|
|
32
|
+
FetchUtil.setParams(resultUrl, params);
|
|
33
|
+
return resultUrl;
|
|
34
|
+
},
|
|
35
|
+
/**
|
|
36
|
+
* Получив URL вернет его копию но без параметров.
|
|
37
|
+
* @param url URL.
|
|
38
|
+
* @return URL.
|
|
39
|
+
*/
|
|
40
|
+
withoutParams(url) {
|
|
41
|
+
const resultUrl = new URL(url);
|
|
42
|
+
resultUrl.search = '';
|
|
43
|
+
return resultUrl;
|
|
44
|
+
},
|
|
45
|
+
/**
|
|
46
|
+
* Возвращает кортеж обработчиков для Promise из fetch.
|
|
47
|
+
* Полученный Promise никогда не уйдет в состояние rejected.
|
|
48
|
+
* @param options Опции.
|
|
49
|
+
* @return Кортеж.
|
|
50
|
+
*/
|
|
51
|
+
eitherResponse({
|
|
52
|
+
parseBody = response => response.json()
|
|
53
|
+
} = {}) {
|
|
54
|
+
/** @inheritdoc */
|
|
55
|
+
const parse = async response => {
|
|
56
|
+
try {
|
|
57
|
+
return await parseBody(response);
|
|
58
|
+
} catch {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
return [
|
|
63
|
+
// then
|
|
64
|
+
async response => {
|
|
65
|
+
if (!response.ok) {
|
|
66
|
+
return {
|
|
67
|
+
ok: false,
|
|
68
|
+
data: await parse(response),
|
|
69
|
+
error: new Error(`Request failed with status code ${response.status}`),
|
|
70
|
+
status: response.status,
|
|
71
|
+
statusText: response.statusText,
|
|
72
|
+
headers: response.headers
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
ok: true,
|
|
77
|
+
data: await parse(response),
|
|
78
|
+
error: null,
|
|
79
|
+
status: response.status,
|
|
80
|
+
statusText: response.statusText,
|
|
81
|
+
headers: response.headers
|
|
82
|
+
};
|
|
83
|
+
},
|
|
84
|
+
// catch
|
|
85
|
+
async error => ({
|
|
86
|
+
ok: false,
|
|
87
|
+
error
|
|
88
|
+
})];
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Проверяет, является ли переданное значение ошибкой.
|
|
94
|
+
* @param value Значение.
|
|
95
|
+
* @return Является ли значение ошибкой.
|
|
96
|
+
*/
|
|
97
|
+
function isError(value) {
|
|
98
|
+
return Object.prototype.toString.call(value) === '[object Error]';
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// Основано на исходном коде пакета https://github.com/sindresorhus/is-network-error
|
|
102
|
+
const networkErrorMessages = new Set(['network error',
|
|
103
|
+
// Chrome
|
|
104
|
+
'Failed to fetch',
|
|
105
|
+
// Chrome
|
|
106
|
+
'NetworkError when attempting to fetch resource.',
|
|
107
|
+
// Firefox
|
|
108
|
+
'The Internet connection appears to be offline.',
|
|
109
|
+
// Safari 16
|
|
110
|
+
'Load failed',
|
|
111
|
+
// Safari 17+
|
|
112
|
+
'Network request failed',
|
|
113
|
+
// `cross-fetch`
|
|
114
|
+
'fetch failed',
|
|
115
|
+
// Undici (Node.js)
|
|
116
|
+
'terminated',
|
|
117
|
+
// Undici (Node.js)
|
|
118
|
+
|
|
119
|
+
// дальше идут наши наработки (основано на данных из Sentry)
|
|
120
|
+
'Network Error' // Safari 17.4
|
|
121
|
+
]);
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Проверяет, является ли переданное значение ошибкой сети.
|
|
125
|
+
* Основано на исходном коде пакета https://github.com/sindresorhus/is-network-error.
|
|
126
|
+
* Нет возможности использовать пакет is-network-error по причине того что он - ESM only.
|
|
127
|
+
* @param value Проверяемое значение.
|
|
128
|
+
* @return Является ли значение TypeError о том что произошла ошибка сети.
|
|
129
|
+
*/
|
|
130
|
+
export function isNetworkError(value) {
|
|
131
|
+
const isValid = isError(value) && value.name === 'TypeError' && typeof value.message === 'string';
|
|
132
|
+
if (!isValid) {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
const {
|
|
136
|
+
message,
|
|
137
|
+
stack
|
|
138
|
+
} = value;
|
|
139
|
+
|
|
140
|
+
// ВАЖНО: в Safari 17+ ошибки имеют определенное сообщение и не имеют свойства stack
|
|
141
|
+
if (message === 'Load failed' || message.startsWith('Load failed (') && message.endsWith(')')) {
|
|
142
|
+
return stack === undefined || '__sentry_captured__' in value;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// Chrome
|
|
146
|
+
if (message === 'Failed to fetch' || message.startsWith('Failed to fetch (') && message.endsWith(')')) {
|
|
147
|
+
return true;
|
|
148
|
+
}
|
|
149
|
+
return networkErrorMessages.has(value.message);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Проверяет является ли переданное значение ошибкой обрывания с помощью AbortController.
|
|
154
|
+
* @param value Проверяемое значение.
|
|
155
|
+
* @return Является ли значение ошибкой обрывания.
|
|
156
|
+
*/
|
|
157
|
+
export function isAbortError(value) {
|
|
158
|
+
return typeof value === 'object' && value !== null && value.name === 'AbortError';
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=utils.js.map
|