@sima-land/isomorph 11.0.0-alpha.44 → 11.0.0-alpha.46
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/README.md +1 -0
- package/dist/cjs/di/application.js +3 -3
- package/dist/cjs/di/application.js.map +1 -1
- package/dist/cjs/http/errors.js +11 -3
- package/dist/cjs/http/errors.js.map +1 -1
- package/dist/cjs/http/index.js +7 -0
- package/dist/cjs/http/index.js.map +1 -1
- package/dist/cjs/http/types.js.map +1 -1
- package/dist/cjs/http/utils.js +80 -0
- package/dist/cjs/http/utils.js.map +1 -0
- package/dist/cjs/package.json +8 -6
- package/dist/cjs/preset/bun/index.js +79 -0
- package/dist/cjs/preset/bun/index.js.map +1 -0
- package/dist/cjs/preset/bun/providers/config-source.js +13 -0
- package/dist/cjs/preset/bun/providers/config-source.js.map +1 -0
- package/dist/cjs/preset/bun/providers/fetch-middleware.js +13 -0
- package/dist/cjs/preset/bun/providers/fetch-middleware.js.map +1 -0
- package/dist/cjs/preset/bun/providers/log-handler-sentry.js +24 -0
- package/dist/cjs/preset/bun/providers/log-handler-sentry.js.map +1 -0
- package/dist/cjs/preset/bun/providers/logger.js +18 -0
- package/dist/cjs/preset/bun/providers/logger.js.map +1 -0
- package/dist/cjs/preset/bun/providers/serve-metrics.js +25 -0
- package/dist/cjs/preset/bun/providers/serve-metrics.js.map +1 -0
- package/dist/cjs/preset/bun/providers/serve-middleware.js +29 -0
- package/dist/cjs/preset/bun/providers/serve-middleware.js.map +1 -0
- package/dist/cjs/preset/bun/providers/serve.js +33 -0
- package/dist/cjs/preset/bun/providers/serve.js.map +1 -0
- package/dist/cjs/preset/bun/providers/service-routes.js +16 -0
- package/dist/cjs/preset/bun/providers/service-routes.js.map +1 -0
- package/dist/cjs/preset/bun/utils/get-stats-handler.js +30 -0
- package/dist/cjs/preset/bun/utils/get-stats-handler.js.map +1 -0
- package/dist/cjs/preset/bun-handler/index.js +64 -0
- package/dist/cjs/preset/bun-handler/index.js.map +1 -0
- package/dist/cjs/preset/bun-handler/providers/accept-type.js +24 -0
- package/dist/cjs/preset/bun-handler/providers/accept-type.js.map +1 -0
- package/dist/cjs/preset/bun-handler/providers/cookie-store.js +15 -0
- package/dist/cjs/preset/bun-handler/providers/cookie-store.js.map +1 -0
- package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js +30 -0
- package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js.map +1 -0
- package/dist/cjs/preset/bun-handler/providers/handler-main.js +73 -0
- package/dist/cjs/preset/bun-handler/providers/handler-main.js.map +1 -0
- package/dist/cjs/preset/bun-handler/providers/specific-params.js +19 -0
- package/dist/cjs/preset/bun-handler/providers/specific-params.js.map +1 -0
- package/dist/cjs/preset/isomorphic/index.js +63 -0
- package/dist/cjs/preset/isomorphic/index.js.map +1 -1
- 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.map +1 -1
- package/dist/cjs/preset/isomorphic/utils/axios-logging.js +147 -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 +84 -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/hide-first-id.js +20 -0
- package/dist/cjs/preset/isomorphic/utils/hide-first-id.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 +93 -7
- package/dist/cjs/preset/node/index.js.map +1 -1
- package/dist/cjs/preset/node/providers/config-source.js +29 -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 +15 -0
- package/dist/cjs/preset/node/providers/express-request-middleware.js.map +1 -0
- package/dist/cjs/preset/node/providers/express-tracing-middleware.js +56 -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 +31 -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/metrics-http-app.js +26 -0
- package/dist/cjs/preset/node/providers/metrics-http-app.js.map +1 -0
- package/dist/cjs/preset/node/providers/span-exporter.js +21 -0
- package/dist/cjs/preset/node/providers/span-exporter.js.map +1 -0
- package/dist/cjs/preset/node/providers/tracer-provider-resource.js +26 -0
- package/dist/cjs/preset/node/providers/tracer-provider-resource.js.map +1 -0
- package/dist/cjs/preset/node/providers/tracer-provider.js +27 -0
- package/dist/cjs/preset/node/providers/tracer-provider.js.map +1 -0
- package/dist/cjs/preset/node/providers/tracer.js +18 -0
- package/dist/cjs/preset/node/providers/tracer.js.map +1 -0
- package/dist/cjs/preset/node/types.js.map +1 -1
- package/dist/cjs/preset/node/{node/utils/http-client/index.js → utils/axios-tracing-middleware.js} +11 -52
- 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/{node/utils/http-server/index.js → utils/get-client-ip.js} +2 -2
- package/dist/cjs/preset/node/utils/get-client-ip.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-page-response-format.js +20 -0
- package/dist/cjs/preset/node/utils/get-page-response-format.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-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/cookie-store.js +18 -0
- package/dist/cjs/preset/node-handler/providers/cookie-store.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/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 +24 -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/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-fetch-tracing.js +46 -0
- package/dist/cjs/preset/server/utils/get-fetch-tracing.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-handler-metrics.js +43 -0
- package/dist/cjs/preset/server/utils/get-handler-metrics.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 +21 -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 +37 -0
- package/dist/cjs/preset/server/utils/get-serve-logging.js.map +1 -0
- package/dist/cjs/preset/server/utils/get-serve-measuring.js +57 -0
- package/dist/cjs/preset/server/utils/get-serve-measuring.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/{node/handler/utils/index.js → server/utils/regular-helmet.js} +2 -66
- 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 +22 -10
- package/dist/cjs/preset/web/index.js.map +1 -1
- 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 +24 -0
- package/dist/cjs/preset/web/providers/known-http-api-hosts.js.map +1 -0
- package/dist/cjs/preset/web/providers/logger.js +47 -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 +111 -30
- package/dist/cjs/tokens.js.map +1 -1
- package/dist/cjs/utils/express/utils/index.js.map +1 -1
- package/dist/esm/di/application.js +3 -3
- package/dist/esm/di/application.js.map +1 -1
- package/dist/esm/http/errors.js +11 -3
- package/dist/esm/http/errors.js.map +1 -1
- package/dist/esm/http/index.js +1 -0
- package/dist/esm/http/index.js.map +1 -1
- package/dist/esm/http/types.js.map +1 -1
- package/dist/esm/http/utils.js +74 -0
- package/dist/esm/http/utils.js.map +1 -0
- package/dist/esm/package.json +8 -6
- package/dist/esm/preset/bun/index.js +62 -0
- package/dist/esm/preset/bun/index.js.map +1 -0
- package/dist/esm/preset/bun/providers/config-source.js +6 -0
- package/dist/esm/preset/bun/providers/config-source.js.map +1 -0
- package/dist/esm/preset/bun/providers/fetch-middleware.js +7 -0
- package/dist/esm/preset/bun/providers/fetch-middleware.js.map +1 -0
- package/dist/esm/preset/bun/providers/log-handler-sentry.js +18 -0
- package/dist/esm/preset/bun/providers/log-handler-sentry.js.map +1 -0
- package/dist/esm/preset/bun/providers/logger.js +12 -0
- package/dist/esm/preset/bun/providers/logger.js.map +1 -0
- package/dist/esm/preset/bun/providers/serve-metrics.js +18 -0
- package/dist/esm/preset/bun/providers/serve-metrics.js.map +1 -0
- package/dist/esm/preset/bun/providers/serve-middleware.js +23 -0
- package/dist/esm/preset/bun/providers/serve-middleware.js.map +1 -0
- package/dist/esm/preset/bun/providers/serve.js +27 -0
- package/dist/esm/preset/bun/providers/serve.js.map +1 -0
- package/dist/esm/preset/bun/providers/service-routes.js +10 -0
- package/dist/esm/preset/bun/providers/service-routes.js.map +1 -0
- package/dist/esm/preset/bun/utils/get-stats-handler.js +22 -0
- package/dist/esm/preset/bun/utils/get-stats-handler.js.map +1 -0
- package/dist/esm/preset/bun-handler/index.js +58 -0
- package/dist/esm/preset/bun-handler/index.js.map +1 -0
- package/dist/esm/preset/bun-handler/providers/accept-type.js +18 -0
- package/dist/esm/preset/bun-handler/providers/accept-type.js.map +1 -0
- package/dist/esm/preset/bun-handler/providers/cookie-store.js +9 -0
- package/dist/esm/preset/bun-handler/providers/cookie-store.js.map +1 -0
- package/dist/esm/preset/bun-handler/providers/fetch-middleware.js +24 -0
- package/dist/esm/preset/bun-handler/providers/fetch-middleware.js.map +1 -0
- package/dist/esm/preset/bun-handler/providers/handler-main.js +64 -0
- package/dist/esm/preset/bun-handler/providers/handler-main.js.map +1 -0
- package/dist/esm/preset/bun-handler/providers/specific-params.js +13 -0
- package/dist/esm/preset/bun-handler/providers/specific-params.js.map +1 -0
- package/dist/esm/preset/isomorphic/index.js +10 -1
- package/dist/esm/preset/isomorphic/index.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/preset/isomorphic/utils/axios-logging.js +140 -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 +78 -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/hide-first-id.js +14 -0
- package/dist/esm/preset/isomorphic/utils/hide-first-id.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 +82 -2
- package/dist/esm/preset/node/index.js.map +1 -1
- package/dist/esm/preset/node/providers/config-source.js +23 -0
- package/dist/esm/preset/node/providers/config-source.js.map +1 -0
- package/dist/esm/preset/node/providers/express-error-middleware.js +10 -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 +10 -0
- package/dist/esm/preset/node/providers/express-request-middleware.js.map +1 -0
- package/dist/esm/preset/node/providers/express-tracing-middleware.js +51 -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 +24 -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/metrics-http-app.js +18 -0
- package/dist/esm/preset/node/providers/metrics-http-app.js.map +1 -0
- package/dist/esm/preset/node/providers/span-exporter.js +16 -0
- package/dist/esm/preset/node/providers/span-exporter.js.map +1 -0
- package/dist/esm/preset/node/providers/tracer-provider-resource.js +20 -0
- package/dist/esm/preset/node/providers/tracer-provider-resource.js.map +1 -0
- package/dist/esm/preset/node/providers/tracer-provider.js +22 -0
- package/dist/esm/preset/node/providers/tracer-provider.js.map +1 -0
- package/dist/esm/preset/node/providers/tracer.js +13 -0
- package/dist/esm/preset/node/providers/tracer.js.map +1 -0
- package/dist/esm/preset/node/types.js.map +1 -1
- package/dist/esm/preset/node/{node/utils/http-client/index.js → utils/axios-tracing-middleware.js} +8 -47
- 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/{node/utils/http-server/index.js → utils/get-client-ip.js} +2 -2
- package/dist/esm/preset/node/utils/get-client-ip.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-page-response-format.js +14 -0
- package/dist/esm/preset/node/utils/get-page-response-format.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-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/cookie-store.js +13 -0
- package/dist/esm/preset/node-handler/providers/cookie-store.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/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 +19 -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/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-fetch-tracing.js +41 -0
- package/dist/esm/preset/server/utils/get-fetch-tracing.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-handler-metrics.js +35 -0
- package/dist/esm/preset/server/utils/get-handler-metrics.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 +15 -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 +32 -0
- package/dist/esm/preset/server/utils/get-serve-logging.js.map +1 -0
- package/dist/esm/preset/server/utils/get-serve-measuring.js +52 -0
- package/dist/esm/preset/server/utils/get-serve-measuring.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/{node/handler/utils/index.js → server/utils/regular-helmet.js} +2 -62
- 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 +18 -6
- package/dist/esm/preset/web/index.js.map +1 -1
- 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 +19 -0
- package/dist/esm/preset/web/providers/known-http-api-hosts.js.map +1 -0
- package/dist/esm/preset/web/providers/logger.js +42 -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 +111 -30
- package/dist/esm/tokens.js.map +1 -1
- package/dist/esm/utils/express/utils/index.js.map +1 -1
- package/dist/types/http/errors.d.ts +6 -2
- package/dist/types/http/errors.d.ts.map +1 -1
- package/dist/types/http/index.d.ts +2 -1
- package/dist/types/http/index.d.ts.map +1 -1
- package/dist/types/http/types.d.ts +22 -0
- package/dist/types/http/types.d.ts.map +1 -1
- package/dist/types/http/utils.d.ts +32 -0
- package/dist/types/http/utils.d.ts.map +1 -0
- package/dist/types/preset/bun/index.d.ts +10 -0
- package/dist/types/preset/bun/index.d.ts.map +1 -0
- package/dist/types/preset/bun/providers/config-source.d.ts +3 -0
- package/dist/types/preset/bun/providers/config-source.d.ts.map +1 -0
- package/dist/types/preset/bun/providers/fetch-middleware.d.ts +3 -0
- package/dist/types/preset/bun/providers/fetch-middleware.d.ts.map +1 -0
- package/dist/types/preset/bun/providers/log-handler-sentry.d.ts +3 -0
- package/dist/types/preset/bun/providers/log-handler-sentry.d.ts.map +1 -0
- package/dist/types/preset/bun/providers/logger.d.ts +4 -0
- package/dist/types/preset/bun/providers/logger.d.ts.map +1 -0
- package/dist/types/preset/bun/providers/serve-metrics.d.ts +3 -0
- package/dist/types/preset/bun/providers/serve-metrics.d.ts.map +1 -0
- package/dist/types/preset/bun/providers/serve-middleware.d.ts +4 -0
- package/dist/types/preset/bun/providers/serve-middleware.d.ts.map +1 -0
- package/dist/types/preset/bun/providers/serve.d.ts +4 -0
- package/dist/types/preset/bun/providers/serve.d.ts.map +1 -0
- package/dist/types/preset/bun/providers/service-routes.d.ts +3 -0
- package/dist/types/preset/bun/providers/service-routes.d.ts.map +1 -0
- package/dist/types/preset/bun/utils/get-stats-handler.d.ts +7 -0
- package/dist/types/preset/bun/utils/get-stats-handler.d.ts.map +1 -0
- package/dist/types/preset/bun-handler/index.d.ts +9 -0
- package/dist/types/preset/bun-handler/index.d.ts.map +1 -0
- package/dist/types/preset/bun-handler/providers/accept-type.d.ts +11 -0
- package/dist/types/preset/bun-handler/providers/accept-type.d.ts.map +1 -0
- package/dist/types/preset/bun-handler/providers/cookie-store.d.ts +4 -0
- package/dist/types/preset/bun-handler/providers/cookie-store.d.ts.map +1 -0
- package/dist/types/preset/bun-handler/providers/fetch-middleware.d.ts +4 -0
- package/dist/types/preset/bun-handler/providers/fetch-middleware.d.ts.map +1 -0
- package/dist/types/preset/bun-handler/providers/handler-main.d.ts +3 -0
- package/dist/types/preset/bun-handler/providers/handler-main.d.ts.map +1 -0
- package/dist/types/preset/bun-handler/providers/specific-params.d.ts +3 -0
- package/dist/types/preset/bun-handler/providers/specific-params.d.ts.map +1 -0
- package/dist/types/preset/isomorphic/index.d.ts +9 -0
- package/dist/types/preset/isomorphic/index.d.ts.map +1 -1
- 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 +1 -1
- package/dist/types/preset/isomorphic/types.d.ts.map +1 -1
- 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/hide-first-id.d.ts +11 -0
- package/dist/types/preset/isomorphic/utils/hide-first-id.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 +12 -3
- package/dist/types/preset/node/index.d.ts.map +1 -1
- 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/metrics-http-app.d.ts +7 -0
- package/dist/types/preset/node/providers/metrics-http-app.d.ts.map +1 -0
- package/dist/types/preset/node/providers/span-exporter.d.ts +9 -0
- package/dist/types/preset/node/providers/span-exporter.d.ts.map +1 -0
- package/dist/types/preset/node/providers/tracer-provider-resource.d.ts +9 -0
- package/dist/types/preset/node/providers/tracer-provider-resource.d.ts.map +1 -0
- package/dist/types/preset/node/providers/tracer-provider.d.ts +9 -0
- package/dist/types/preset/node/providers/tracer-provider.d.ts.map +1 -0
- package/dist/types/preset/node/providers/tracer.d.ts +9 -0
- package/dist/types/preset/node/providers/tracer.d.ts.map +1 -0
- package/dist/types/preset/node/types.d.ts +4 -4
- package/dist/types/preset/node/types.d.ts.map +1 -1
- package/dist/types/preset/node/utils/axios-tracing-middleware.d.ts +23 -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 +18 -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-forwarded-headers.d.ts +10 -0
- package/dist/types/preset/node/utils/get-forwarded-headers.d.ts.map +1 -0
- package/dist/types/preset/node/utils/get-page-response-format.d.ts +9 -0
- package/dist/types/preset/node/utils/get-page-response-format.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/handler → node-handler}/index.d.ts +2 -3
- 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/cookie-store.d.ts +9 -0
- package/dist/types/preset/node-handler/providers/cookie-store.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/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/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 +28 -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-fetch-tracing.d.ts +10 -0
- package/dist/types/preset/server/utils/get-fetch-tracing.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-handler-metrics.d.ts +15 -0
- package/dist/types/preset/server/utils/get-handler-metrics.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 +9 -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/get-serve-measuring.d.ts +9 -0
- package/dist/types/preset/server/utils/get-serve-measuring.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.map +1 -1
- package/dist/types/preset/web/providers/axios-middleware.d.ts +8 -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 +124 -27
- package/dist/types/tokens.d.ts.map +1 -1
- package/dist/types/utils/express/utils/index.d.ts.map +1 -1
- package/package.json +100 -123
- package/dist/cjs/preset/isomorphic/constants.js +0 -14
- package/dist/cjs/preset/isomorphic/constants.js.map +0 -1
- package/dist/cjs/preset/isomorphic/providers/index.js +0 -42
- package/dist/cjs/preset/isomorphic/providers/index.js.map +0 -1
- package/dist/cjs/preset/isomorphic/utils/index.js +0 -322
- package/dist/cjs/preset/isomorphic/utils/index.js.map +0 -1
- package/dist/cjs/preset/node/handler/index.js +0 -52
- package/dist/cjs/preset/node/handler/index.js.map +0 -1
- package/dist/cjs/preset/node/handler/providers/index.js +0 -212
- package/dist/cjs/preset/node/handler/providers/index.js.map +0 -1
- package/dist/cjs/preset/node/handler/utils/index.js.map +0 -1
- package/dist/cjs/preset/node/node/index.js +0 -61
- package/dist/cjs/preset/node/node/index.js.map +0 -1
- package/dist/cjs/preset/node/node/providers/index.js +0 -403
- package/dist/cjs/preset/node/node/providers/index.js.map +0 -1
- package/dist/cjs/preset/node/node/utils/http-client/index.js.map +0 -1
- package/dist/cjs/preset/node/node/utils/http-server/index.js.map +0 -1
- package/dist/cjs/preset/node/node/utils/index.js +0 -20
- package/dist/cjs/preset/node/node/utils/index.js.map +0 -1
- package/dist/cjs/preset/web/providers/index.js +0 -94
- package/dist/cjs/preset/web/providers/index.js.map +0 -1
- package/dist/esm/preset/isomorphic/constants.js +0 -8
- package/dist/esm/preset/isomorphic/constants.js.map +0 -1
- package/dist/esm/preset/isomorphic/providers/index.js +0 -35
- package/dist/esm/preset/isomorphic/providers/index.js.map +0 -1
- package/dist/esm/preset/isomorphic/utils/index.js +0 -309
- package/dist/esm/preset/isomorphic/utils/index.js.map +0 -1
- package/dist/esm/preset/node/handler/index.js +0 -42
- package/dist/esm/preset/node/handler/index.js.map +0 -1
- package/dist/esm/preset/node/handler/providers/index.js +0 -194
- package/dist/esm/preset/node/handler/providers/index.js.map +0 -1
- package/dist/esm/preset/node/handler/utils/index.js.map +0 -1
- package/dist/esm/preset/node/node/index.js +0 -56
- package/dist/esm/preset/node/node/index.js.map +0 -1
- package/dist/esm/preset/node/node/providers/index.js +0 -378
- package/dist/esm/preset/node/node/providers/index.js.map +0 -1
- package/dist/esm/preset/node/node/utils/http-client/index.js.map +0 -1
- package/dist/esm/preset/node/node/utils/http-server/index.js.map +0 -1
- package/dist/esm/preset/node/node/utils/index.js +0 -3
- package/dist/esm/preset/node/node/utils/index.js.map +0 -1
- package/dist/esm/preset/web/providers/index.js +0 -85
- package/dist/esm/preset/web/providers/index.js.map +0 -1
- package/dist/types/preset/isomorphic/constants.d.ts +0 -8
- package/dist/types/preset/isomorphic/constants.d.ts.map +0 -1
- package/dist/types/preset/isomorphic/providers/index.d.ts +0 -23
- package/dist/types/preset/isomorphic/providers/index.d.ts.map +0 -1
- package/dist/types/preset/isomorphic/utils/index.d.ts +0 -119
- package/dist/types/preset/isomorphic/utils/index.d.ts.map +0 -1
- package/dist/types/preset/node/handler/index.d.ts.map +0 -1
- package/dist/types/preset/node/handler/providers/index.d.ts +0 -36
- package/dist/types/preset/node/handler/providers/index.d.ts.map +0 -1
- package/dist/types/preset/node/handler/utils/index.d.ts +0 -47
- package/dist/types/preset/node/handler/utils/index.d.ts.map +0 -1
- package/dist/types/preset/node/node/index.d.ts +0 -9
- package/dist/types/preset/node/node/index.d.ts.map +0 -1
- package/dist/types/preset/node/node/providers/index.d.ts +0 -113
- package/dist/types/preset/node/node/providers/index.d.ts.map +0 -1
- package/dist/types/preset/node/node/utils/http-client/index.d.ts +0 -42
- package/dist/types/preset/node/node/utils/http-client/index.d.ts.map +0 -1
- package/dist/types/preset/node/node/utils/http-server/index.d.ts +0 -8
- package/dist/types/preset/node/node/utils/http-server/index.d.ts.map +0 -1
- package/dist/types/preset/node/node/utils/index.d.ts +0 -3
- package/dist/types/preset/node/node/utils/index.d.ts.map +0 -1
- package/dist/types/preset/web/providers/index.d.ts +0 -36
- package/dist/types/preset/web/providers/index.d.ts.map +0 -1
- package/src/cache/index.ts +0 -1
- package/src/cache/types.ts +0 -34
- package/src/config/base.ts +0 -18
- package/src/config/index.ts +0 -3
- package/src/config/source.ts +0 -23
- package/src/config/types.ts +0 -25
- package/src/di/__test__/application.test.ts +0 -258
- package/src/di/__test__/container.test.ts +0 -103
- package/src/di/__test__/errors.test.ts +0 -56
- package/src/di/__test__/preset.test.ts +0 -23
- package/src/di/__test__/token.test.ts +0 -25
- package/src/di/application.ts +0 -126
- package/src/di/container.ts +0 -60
- package/src/di/errors.ts +0 -59
- package/src/di/index.ts +0 -6
- package/src/di/preset.ts +0 -32
- package/src/di/token.ts +0 -41
- package/src/di/types.ts +0 -105
- package/src/http/__test__/errors.test.ts +0 -35
- package/src/http/errors.ts +0 -42
- package/src/http/index.ts +0 -14
- package/src/http/types.ts +0 -8
- package/src/log/__test__/errors.test.ts +0 -13
- package/src/log/__test__/logger.test.ts +0 -24
- package/src/log/errors.ts +0 -33
- package/src/log/handler/pino.ts +0 -27
- package/src/log/handler/sentry.ts +0 -57
- package/src/log/index.ts +0 -12
- package/src/log/logger.ts +0 -30
- package/src/log/types.ts +0 -76
- package/src/preset/isomorphic/constants.ts +0 -7
- package/src/preset/isomorphic/index.ts +0 -7
- package/src/preset/isomorphic/providers/index.ts +0 -40
- package/src/preset/isomorphic/types.ts +0 -37
- package/src/preset/isomorphic/utils/__test__/index.test.ts +0 -541
- package/src/preset/isomorphic/utils/index.ts +0 -349
- package/src/preset/node/handler/index.ts +0 -46
- package/src/preset/node/handler/providers/index.tsx +0 -214
- package/src/preset/node/handler/utils/index.tsx +0 -110
- package/src/preset/node/index.ts +0 -3
- package/src/preset/node/node/index.ts +0 -73
- package/src/preset/node/node/providers/index.ts +0 -434
- package/src/preset/node/node/utils/http-client/__test__/index.test.ts +0 -232
- package/src/preset/node/node/utils/http-client/index.ts +0 -129
- package/src/preset/node/node/utils/http-server/index.ts +0 -17
- package/src/preset/node/node/utils/index.ts +0 -2
- package/src/preset/node/types.ts +0 -10
- package/src/preset/web/index.ts +0 -40
- package/src/preset/web/providers/index.ts +0 -108
- package/src/tokens.ts +0 -108
- package/src/utils/axios/index.ts +0 -12
- package/src/utils/axios/middleware/__test__/cookie.test.ts +0 -94
- package/src/utils/axios/middleware/__test__/log.test.ts +0 -121
- package/src/utils/axios/middleware/cookie.ts +0 -26
- package/src/utils/axios/middleware/log.ts +0 -52
- package/src/utils/axios/sauce/index.ts +0 -76
- package/src/utils/axios/utils/__test__/index.test.ts +0 -89
- package/src/utils/axios/utils/index.ts +0 -26
- package/src/utils/express/handler/health-check.ts +0 -13
- package/src/utils/express/index.ts +0 -2
- package/src/utils/express/utils/index.ts +0 -18
- package/src/utils/function.ts +0 -57
- package/src/utils/index.ts +0 -2
- package/src/utils/math.ts +0 -8
- package/src/utils/react/error-handlers/__test__/__snapshots__/index.test.tsx.snap +0 -27
- package/src/utils/react/error-handlers/__test__/index.test.tsx +0 -63
- package/src/utils/react/error-handlers/index.tsx +0 -68
- package/src/utils/react/index.ts +0 -3
- package/src/utils/redux/__test__/remote-data.test.ts +0 -172
- package/src/utils/redux/index.ts +0 -4
- package/src/utils/redux/remote-data.ts +0 -138
- package/src/utils/redux-saga/__test__/take-chain.test.ts +0 -141
- package/src/utils/redux-saga/index.ts +0 -3
- package/src/utils/redux-saga/middleware.ts +0 -168
- package/src/utils/redux-saga/take-chain.ts +0 -67
- package/src/utils/redux-saga/types.ts +0 -43
- package/src/utils/ssr/index.tsx +0 -78
- package/src/utils/web/analytics/__test__/data-layer.test.ts +0 -50
- package/src/utils/web/analytics/__test__/oko.test.ts +0 -50
- package/src/utils/web/analytics/data-layer.ts +0 -12
- package/src/utils/web/analytics/index.ts +0 -2
- package/src/utils/web/analytics/oko.ts +0 -14
- package/src/utils/web/storage/index.ts +0 -83
- package/src/utils/webpack/env/index.ts +0 -91
- package/src/utils/webpack/env/types.ts +0 -14
- package/src/utils/webpack/env/utils.ts +0 -53
- package/src/utils/webpack/index.ts +0 -7
- package/src/utils/webpack/module-federation/__test__/__snapshots__/utils.test.ts.snap +0 -124
- package/src/utils/webpack/module-federation/__test__/index.test.ts +0 -311
- package/src/utils/webpack/module-federation/__test__/utils.test.ts +0 -28
- package/src/utils/webpack/module-federation/index.ts +0 -102
- package/src/utils/webpack/module-federation/types.ts +0 -54
- package/src/utils/webpack/module-federation/utils.ts +0 -104
package/dist/cjs/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","names":["_di","require","KnownToken","exports","Config","source","createToken","base","cache","logger","sagaMiddleware","Tracing","tracer","spanExporter","tracerProvider","tracerProviderResource","Metrics","httpApp","Http","Api","knownHosts","Client","factory","Middleware","Log","handler","Server","Handlers","healthCheck","request","log","tracing","metrics","error","Handler","main","context","Request","specificParams","Response","specificExtras","Page","assets","helmet","render","SsrBridge","clientSide","serverSide"],"sources":["../../src/tokens.ts"],"sourcesContent":["import { createToken } from './di';\n\n// ВАЖНО: чтобы токенами можно было пользоваться независимо от среды исполнения - импортировать надо только типы\nimport type * as express from 'express';\nimport type { ConfigSource, BaseConfig } from './config/types';\nimport type { Logger } from './log/types';\nimport type { Cache } from './cache/types';\nimport type { LogMiddlewareHandlerInit } from './utils/axios/middleware/log';\nimport type { SagaExtendedMiddleware } from './utils/redux-saga';\nimport type { BridgeClientSide, BridgeServerSide } from './utils/ssr';\nimport type { Tracer } from '@opentelemetry/api';\nimport type { BasicTracerProvider, SpanExporter } from '@opentelemetry/sdk-trace-base';\nimport type { Resource } from '@opentelemetry/resources';\nimport type { ElementType, ReactNode } from 'react';\nimport type { KnownHttpApiKey, PageAssets, StrictMap } from './preset/isomorphic/types';\nimport type { HandlerContext } from './preset/node/types';\nimport type { SpecificExtras } from './preset/node/handler/utils';\nimport type { CreateAxiosDefaults } from 'axios';\nimport type { AxiosInstanceWrapper } from 'middleware-axios';\n\nexport const KnownToken = {\n // config\n Config: {\n source: createToken<ConfigSource>('config/source'),\n base: createToken<BaseConfig>('config/base'),\n },\n\n // cache\n cache: createToken<Cache>('cache'),\n\n // log\n logger: createToken<Logger>('logger'),\n\n // saga runner\n // @todo переименовать в Redux.Middleware.saga?\n sagaMiddleware: createToken<SagaExtendedMiddleware>('saga-middleware'),\n\n // tracing\n Tracing: {\n tracer: createToken<Tracer>('tracing/tracer'),\n spanExporter: createToken<SpanExporter>('tracing/span-exporter'),\n tracerProvider: createToken<BasicTracerProvider>('tracing/tracer-provider'),\n\n // @todo перенести в KnownToken.Telemetry.Resource?\n tracerProviderResource: createToken<Resource>('tracing/resource'),\n },\n\n // metrics\n Metrics: {\n httpApp: createToken<express.Application>('metrics/http-app'),\n },\n\n // http\n Http: {\n Api: {\n knownHosts: createToken<StrictMap<KnownHttpApiKey>>('http/api/known-hosts'),\n },\n\n // @todo переименовать в Axios?\n Client: {\n factory:\n createToken<(config?: CreateAxiosDefaults) => AxiosInstanceWrapper>('client/factory'),\n Middleware: {\n Log: {\n handler: createToken<LogMiddlewareHandlerInit>('log/handler'),\n },\n },\n },\n\n // @todo переименовать в Express?\n Server: {\n factory: createToken<() => express.Application>('server/factory'),\n Handlers: {\n healthCheck: createToken<express.Handler>('handler/health-check'),\n },\n Middleware: {\n request: createToken<express.Handler>('middleware/request'),\n log: createToken<express.Handler>('middleware/log'),\n tracing: createToken<express.Handler>('middleware/tracing'),\n metrics: createToken<express.Handler>('middleware/metrics'),\n error: createToken<express.ErrorRequestHandler>('middleware/error'),\n },\n },\n\n // @todo переименовать в ExpressHandler?\n Handler: {\n main: createToken<() => void>('handler/main'),\n context: createToken<HandlerContext>('handler/context'),\n Request: {\n specificParams: createToken<Record<string, unknown>>('request/specific-params'),\n },\n Response: {\n specificExtras: createToken<SpecificExtras>('response/specific-extras'),\n },\n Page: {\n assets: createToken<PageAssets | (() => PageAssets | Promise<PageAssets>)>('page/assets'),\n helmet: createToken<ElementType<{ children: ReactNode }>>('page/helmet'),\n render: createToken<() => JSX.Element | Promise<JSX.Element>>('page/render'),\n },\n },\n },\n\n // SSR\n SsrBridge: {\n clientSide: createToken<BridgeClientSide<unknown>>('ssr-bridge/client-side'),\n serverSide: createToken<BridgeServerSide>('ssr-bridge/server-side'),\n },\n} as const;\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAEA;;AAkBO,MAAMC,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG;EACxB;EACAE,MAAM,EAAE;IACNC,MAAM,EAAE,IAAAC,eAAW,EAAe,eAAe,CAAC;IAClDC,IAAI,EAAE,IAAAD,eAAW,EAAa,aAAa;EAC7C,CAAC;EAED;EACAE,KAAK,EAAE,IAAAF,eAAW,EAAQ,OAAO,CAAC;EAElC;EACAG,MAAM,EAAE,IAAAH,eAAW,EAAS,QAAQ,CAAC;EAErC;EACA;EACAI,cAAc,EAAE,IAAAJ,eAAW,EAAyB,iBAAiB,CAAC;EAEtE;EACAK,OAAO,EAAE;IACPC,MAAM,EAAE,IAAAN,eAAW,EAAS,gBAAgB,CAAC;IAC7CO,YAAY,EAAE,IAAAP,eAAW,EAAe,uBAAuB,CAAC;IAChEQ,cAAc,EAAE,IAAAR,eAAW,EAAsB,yBAAyB,CAAC;IAE3E;IACAS,sBAAsB,EAAE,IAAAT,eAAW,EAAW,kBAAkB;EAClE,CAAC;EAED;EACAU,OAAO,EAAE;IACPC,OAAO,EAAE,IAAAX,eAAW,EAAsB,kBAAkB;EAC9D,CAAC;EAED;EACAY,IAAI,EAAE;IACJC,GAAG,EAAE;MACHC,UAAU,EAAE,IAAAd,eAAW,EAA6B,sBAAsB;IAC5E,CAAC;IAED;IACAe,MAAM,EAAE;MACNC,OAAO,EACL,IAAAhB,eAAW,EAAyD,gBAAgB,CAAC;MACvFiB,UAAU,EAAE;QACVC,GAAG,EAAE;UACHC,OAAO,EAAE,IAAAnB,eAAW,EAA2B,aAAa;QAC9D;MACF;IACF,CAAC;IAED;IACAoB,MAAM,EAAE;MACNJ,OAAO,EAAE,IAAAhB,eAAW,EAA4B,gBAAgB,CAAC;MACjEqB,QAAQ,EAAE;QACRC,WAAW,EAAE,IAAAtB,eAAW,EAAkB,sBAAsB;MAClE,CAAC;MACDiB,UAAU,EAAE;QACVM,OAAO,EAAE,IAAAvB,eAAW,EAAkB,oBAAoB,CAAC;QAC3DwB,GAAG,EAAE,IAAAxB,eAAW,EAAkB,gBAAgB,CAAC;QACnDyB,OAAO,EAAE,IAAAzB,eAAW,EAAkB,oBAAoB,CAAC;QAC3D0B,OAAO,EAAE,IAAA1B,eAAW,EAAkB,oBAAoB,CAAC;QAC3D2B,KAAK,EAAE,IAAA3B,eAAW,EAA8B,kBAAkB;MACpE;IACF,CAAC;IAED;IACA4B,OAAO,EAAE;MACPC,IAAI,EAAE,IAAA7B,eAAW,EAAa,cAAc,CAAC;MAC7C8B,OAAO,EAAE,IAAA9B,eAAW,EAAiB,iBAAiB,CAAC;MACvD+B,OAAO,EAAE;QACPC,cAAc,EAAE,IAAAhC,eAAW,EAA0B,yBAAyB;MAChF,CAAC;MACDiC,QAAQ,EAAE;QACRC,cAAc,EAAE,IAAAlC,eAAW,EAAiB,0BAA0B;MACxE,CAAC;MACDmC,IAAI,EAAE;QACJC,MAAM,EAAE,IAAApC,eAAW,EAAwD,aAAa,CAAC;QACzFqC,MAAM,EAAE,IAAArC,eAAW,EAAuC,aAAa,CAAC;QACxEsC,MAAM,EAAE,IAAAtC,eAAW,EAA2C,aAAa;MAC7E;IACF;EACF,CAAC;EAED;EACAuC,SAAS,EAAE;IACTC,UAAU,EAAE,IAAAxC,eAAW,EAA4B,wBAAwB,CAAC;IAC5EyC,UAAU,EAAE,IAAAzC,eAAW,EAAmB,wBAAwB;EACpE;AACF,CAAU"}
|
|
1
|
+
{"version":3,"file":"tokens.js","names":["_di","require","KnownToken","exports","Config","source","createToken","base","cache","logger","Tracing","tracer","spanExporter","tracerProvider","tracerProviderResource","Metrics","httpApp","httpHandler","Http","Api","knownHosts","fetch","Fetch","abortController","cookieStore","middleware","Middleware","Log","handler","serve","Serve","routes","serviceRoutes","Handler","main","context","Request","acceptType","specificParams","Response","events","specificExtras","Page","render","assets","helmet","elementToString","formatResponse","Axios","factory","Express","Handlers","healthCheck","request","log","tracing","metrics","error","ExpressHandler","Redux","saga","SsrBridge","clientSide","serverSide"],"sources":["../../src/tokens.ts"],"sourcesContent":["import { createToken } from './di';\n\n// ВАЖНО: чтобы токенами можно было пользоваться независимо от среды исполнения - импортировать надо только типы\nimport type * as express from 'express';\nimport type { ConfigSource, BaseConfig } from './config/types';\nimport type { Logger } from './log/types';\nimport type { Cache } from './cache/types';\nimport type { LogMiddlewareHandlerInit } from './utils/axios/middleware/log';\nimport type { SagaMiddleware } from 'redux-saga';\nimport type { BridgeClientSide, BridgeServerSide } from './utils/ssr';\nimport type { Tracer } from '@opentelemetry/api';\nimport type { BasicTracerProvider, SpanExporter } from '@opentelemetry/sdk-trace-base';\nimport type { Resource } from '@opentelemetry/resources';\nimport type { ElementType, ReactNode, JSX } from 'react';\nimport type { KnownHttpApiKey, PageAssets } from './preset/isomorphic/types';\nimport type { ExpressHandlerContext } from './preset/node/types';\nimport type { SpecificExtras } from './preset/server/utils/specific-extras';\nimport type { CreateAxiosDefaults } from 'axios';\nimport type { AxiosInstanceWrapper, Middleware as AxiosMiddleware } from 'middleware-axios';\nimport type { CookieStore, Handler, LogHandler, LogHandlerFactory, Middleware } from './http';\nimport type { HttpApiHostPool } from './preset/isomorphic/utils/http-api-host-pool';\nimport type {\n ServerHandlerContext,\n ServerHandler,\n ServerMiddleware,\n PageResponseFormatter,\n RenderToString,\n} from './preset/server/types';\n\n/**\n * Токены компонентов.\n * Данные токены используются в DI-пресетах, доступных из пакета.\n */\nexport const KnownToken = {\n /** Токены компонентов конфигурации приложения. */\n Config: {\n /** Токен \"источника конфигурации\". */\n source: createToken<ConfigSource>('config/source'),\n\n /** Токен базовой конфигурации. */\n base: createToken<BaseConfig>('config/base'),\n },\n\n /** Токен компонента кеша. */\n cache: createToken<Cache>('cache'),\n\n /** Токен компонента логгера. */\n logger: createToken<Logger>('logger'),\n\n /** Токены компонентов трассировки и телеметрии. */\n Tracing: {\n tracer: createToken<Tracer>('tracing/tracer'),\n spanExporter: createToken<SpanExporter>('tracing/span-exporter'),\n tracerProvider: createToken<BasicTracerProvider>('tracing/tracer-provider'),\n\n // @todo перенести в KnownToken.Telemetry.Resource?\n tracerProviderResource: createToken<Resource>('tracing/resource'),\n },\n\n /** Токены компонентов сбора метрик. */\n Metrics: {\n httpApp: createToken<express.Application>('metrics/http-app'),\n httpHandler: createToken<Handler>('metrics/http-handler'),\n },\n\n /** Токены компонентов для работы по HTTP. */\n Http: {\n /** Токены компонентов API. */\n Api: {\n /** Токен пула хостов известных HTTP API. */\n knownHosts: createToken<HttpApiHostPool<KnownHttpApiKey>>('http/api/known-hosts'),\n },\n\n /** Токен функции fetch. */\n fetch: createToken<typeof fetch>('fetch'),\n\n /** Токены компонентов формирующих работу функции fetch. */\n Fetch: {\n /** Токен AbortController для функции fetch. */\n abortController: createToken<AbortController>('fetch/abort-controller'),\n\n /** Токен хранилища cookie. */\n cookieStore: createToken<CookieStore>('fetch/cookie-store'),\n\n /** Токен списка промежуточных слоев для функции fetch. */\n middleware: createToken<Middleware[]>('fetch/middleware'),\n\n /** Токены компонентов промежуточных слоев для функции fetch. */\n Middleware: {\n /** Токены компонентов промежуточного слоя логирования. */\n Log: {\n /** Токены обработчика логирования работы функции fetch. */\n handler: createToken<LogHandler | LogHandlerFactory>('fetch/middleware/log/handler'),\n },\n },\n },\n\n /** Токен функции обработки входящего HTTP-запроса. */\n serve: createToken<Handler>('serve'),\n\n /** Токены компонентов функции обработки входящего HTTP-запроса. */\n Serve: {\n /** Токен списка маршрутов. */\n routes: createToken<Array<[string, ServerHandler]>>('serve/routes'),\n\n /** Токен списка \"служебных\" маршрутов. К \"служебным\" маршрутам не применяются промежуточные слои. */\n serviceRoutes: createToken<Array<[string, ServerHandler]>>('serve/service-routes'),\n\n /** Токен списка промежуточных слоев обработки входящего HTTP-запроса. */\n middleware: createToken<ServerMiddleware[]>('serve/middleware'),\n },\n\n /** Токены компонентов обработчиков входящих HTTP-запросов. */\n Handler: {\n /** Токен главной функции (точки входа) обработчика. */\n main: createToken<ServerHandler>('handler/main'),\n\n /** Токен \"контекста\" обработчика. Контекст содержит объект запроса а также реализует EventTarget. */\n context: createToken<ServerHandlerContext & { request: Request }>('handler/context'),\n\n /** Токен компонентов входящего запроса. */\n Request: {\n /** Токен функции которая определяет возможные типы ответа и их приоритет. */\n acceptType: createToken<(types: string[]) => string | string[] | false>('handler/accepts'),\n\n /** Токен \"специфичных\" параметров запроса. В зависимости от реализации определит параметры на основе объекта запроса. */\n specificParams: createToken<Record<string, unknown>>('request/specific-params'),\n },\n\n /** Токены компонентов исходящего ответа. */\n Response: {\n /** Токен объекта для подписки на события и вызова событий ответа. */\n events: createToken<EventTarget>('response/events'),\n\n /** Токен \"специфичных\" дополнительных данных. В зависимости от реализации сформирует дополнительные данные ответа. */\n specificExtras: createToken<SpecificExtras>('response/specific-extras'),\n },\n\n /** Токены компонентов HTML-документа, формируемого в рамках обработчика. */\n Page: {\n /** Токен рендер-функции. */\n render: createToken<() => JSX.Element | Promise<JSX.Element>>('page/render'),\n\n /** Токен ассетов HTML-документа. */\n assets: createToken<PageAssets | (() => PageAssets | Promise<PageAssets>)>('page/assets'),\n\n /** Токен \"шлема\". Шлем - UI-компонент, внутри которого будет выведен результат render-функции. */\n helmet: createToken<ElementType<{ children: ReactNode }>>('page/helmet'),\n\n /** Токен функции, получающей jsx и возвращающей строку. */\n elementToString: createToken<RenderToString>('page/element-to-string'),\n\n /** Токен функции, которая вернёт данные для ответа. */\n formatResponse: createToken<PageResponseFormatter>('page/format-response'),\n },\n },\n },\n\n /** Токены компонентов для работы с библиотекой axios. */\n Axios: {\n /** Токен фабрики экземпляров axios. Фабрика вернет расширенный экземпляр с возможностью применять промежуточные слои. */\n factory: createToken<(config?: CreateAxiosDefaults) => AxiosInstanceWrapper>('axios/factory'),\n\n /** Токен промежуточных слоев. */\n middleware: createToken<AxiosMiddleware<any>[]>('axios/middleware'),\n\n /** Токен компонентов промежуточных слоев. */\n Middleware: {\n /** Токен компонентов слоя логирования. */\n Log: {\n /** Токен обработчика логирования. */\n handler: createToken<LogMiddlewareHandlerInit>('axios/middleware/log/handler'),\n },\n },\n },\n\n /** Токены компонентов для работы с библиотекой express. */\n Express: {\n /** Токен фабрики express-приложений. */\n factory: createToken<() => express.Application>('express/factory'),\n\n /** Токен express-обработчиков. */\n Handlers: {\n /** Токен обработчика \"health check\". */\n healthCheck: createToken<express.Handler>('express/handler/health-check'),\n },\n\n /** Токены промежуточных слоев express-приложения. */\n Middleware: {\n request: createToken<express.Handler>('express/middleware/request'),\n log: createToken<express.Handler>('express/middleware/log'),\n tracing: createToken<express.Handler>('express/middleware/tracing'),\n metrics: createToken<express.Handler>('express/middleware/metrics'),\n error: createToken<express.ErrorRequestHandler>('express/middleware/error'),\n },\n },\n\n /** Токены компонентов express-обработчика. */\n ExpressHandler: {\n /** Токен главной функции (точки входа) обработчика. */\n main: createToken<express.Handler>('express-handler/main'),\n\n /** Токен \"контекста\" обработчика. Контекст содержит все аргументы, доступные обработчику (req, res, next). */\n context: createToken<ExpressHandlerContext>('express-handler/context'),\n },\n\n /** Токены компонентов для работы с библиотекой redux. */\n Redux: {\n /** Токены компонентов промежуточных слоев. */\n Middleware: {\n /** Токен промежуточного слоя redux-saga. */\n saga: createToken<SagaMiddleware>('saga-middleware'),\n },\n },\n\n /** Токены компонентов передачи данных страницы между клиентом и сервером. */\n SsrBridge: {\n /** Токены компонента \"клиентской стороны\". */\n clientSide: createToken<BridgeClientSide<unknown>>('ssr-bridge/client-side'),\n\n /** Токены компонента \"серверной стороны\". */\n serverSide: createToken<BridgeServerSide>('ssr-bridge/server-side'),\n },\n} as const;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["composeMiddleware","list","reduce","a","b","req","res","next","err"],"sources":["../../../../../src/utils/express/utils/index.ts"],"sourcesContent":["import type { Handler } from 'express';\n\n/**\n * Объединяет промежуточные слои в один.\n * @param list Промежуточные слои.\n * @return Промежуточный слой.\n */\nexport function composeMiddleware(list: Handler[]) {\n return list.reduce((a, b) => (req, res, next) => {\n a(req, res, err => {\n if (err) {\n return next(err);\n }\n\n b(req, res, next);\n });\n });\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASA,iBAAiBA,CAACC,IAAe,
|
|
1
|
+
{"version":3,"file":"index.js","names":["composeMiddleware","list","reduce","a","b","req","res","next","err"],"sources":["../../../../../src/utils/express/utils/index.ts"],"sourcesContent":["import type { Handler } from 'express';\n\n/**\n * Объединяет промежуточные слои в один.\n * @param list Промежуточные слои.\n * @return Промежуточный слой.\n */\nexport function composeMiddleware(list: Handler[]): Handler {\n return list.reduce((a, b) => (req, res, next) => {\n a(req, res, err => {\n if (err) {\n return next(err);\n }\n\n b(req, res, next);\n });\n });\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASA,iBAAiBA,CAACC,IAAe,EAAW;EAC1D,OAAOA,IAAI,CAACC,MAAM,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK,CAACC,GAAG,EAAEC,GAAG,EAAEC,IAAI,KAAK;IAC/CJ,CAAC,CAACE,GAAG,EAAEC,GAAG,EAAEE,GAAG,IAAI;MACjB,IAAIA,GAAG,EAAE;QACP,OAAOD,IAAI,CAACC,GAAG,CAAC;MAClB;MAEAJ,CAAC,CAACC,GAAG,EAAEC,GAAG,EAAEC,IAAI,CAAC;IACnB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ"}
|
|
@@ -45,6 +45,9 @@ class ApplicationImplementation {
|
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
47
|
get(token) {
|
|
48
|
+
return this.resolve(token, []);
|
|
49
|
+
}
|
|
50
|
+
resolve(token, chain) {
|
|
48
51
|
if (!this.initialized) {
|
|
49
52
|
this.bind(CURRENT_APP).toValue(this);
|
|
50
53
|
for (const preset of this.presets) {
|
|
@@ -52,9 +55,6 @@ class ApplicationImplementation {
|
|
|
52
55
|
}
|
|
53
56
|
this.initialized = true;
|
|
54
57
|
}
|
|
55
|
-
return this.resolve(token, []);
|
|
56
|
-
}
|
|
57
|
-
resolve(token, chain) {
|
|
58
58
|
const nextChain = () => [...chain, token];
|
|
59
59
|
if (chain.includes(token)) {
|
|
60
60
|
throw new CircularDependencyError(nextChain(), this.toString());
|
|
@@ -1 +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","
|
|
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 require-jsdoc, 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":"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"}
|
package/dist/esm/http/errors.js
CHANGED
|
@@ -28,12 +28,20 @@ export class StatusError extends Error {
|
|
|
28
28
|
export class ResponseError extends Error {
|
|
29
29
|
/**
|
|
30
30
|
* @param message Сообщение.
|
|
31
|
-
* @param
|
|
31
|
+
* @param statusCodeOrInit Код ответа.
|
|
32
32
|
*/
|
|
33
|
-
constructor(message,
|
|
33
|
+
constructor(message, statusCodeOrInit = 500) {
|
|
34
34
|
super(message);
|
|
35
35
|
this.name = 'ResponseError';
|
|
36
|
-
|
|
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
|
+
}
|
|
37
45
|
}
|
|
38
46
|
}
|
|
39
47
|
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","names":["StatusError","Error","constructor","response","status","name","is","value","ResponseError","message","statusCode"],"sources":["../../../src/http/errors.ts"],"sourcesContent":["/**\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 statusCode: number;\n\n /**\n * @param message Сообщение.\n * @param
|
|
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,CAAE,mCAAkCA,QAAQ,CAACC,MAAO,EAAC,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"}
|
package/dist/esm/http/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { configureFetch, applyMiddleware, createCookieStore } from '@krutoo/fetch-tools';
|
|
2
2
|
export { log, cookie, defaultHeaders, validateStatus } from '@krutoo/fetch-tools/middleware';
|
|
3
3
|
export { StatusError, ResponseError } from "./errors.js";
|
|
4
|
+
export { FetchUtil } from "./utils.js";
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["configureFetch","applyMiddleware","createCookieStore","log","cookie","defaultHeaders","validateStatus","StatusError","ResponseError"],"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 CookieStore,\n} from './types';\nexport { configureFetch, applyMiddleware, createCookieStore } from '@krutoo/fetch-tools';\nexport { log, cookie, defaultHeaders, validateStatus } from '@krutoo/fetch-tools/middleware';\nexport { StatusError, ResponseError } from './errors';\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["configureFetch","applyMiddleware","createCookieStore","log","cookie","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 CookieStore,\n EitherResponse,\n ResponseDone,\n ResponseFail,\n ResponseErrorInit,\n} from './types';\nexport { configureFetch, applyMiddleware, createCookieStore } from '@krutoo/fetch-tools';\nexport { log, cookie, defaultHeaders, validateStatus } from '@krutoo/fetch-tools/middleware';\nexport { StatusError, ResponseError } from './errors';\nexport { FetchUtil } from './utils';\n"],"mappings":"AAeA,SAASA,cAAc,EAAEC,eAAe,EAAEC,iBAAiB,QAAQ,qBAAqB;AACxF,SAASC,GAAG,EAAEC,MAAM,EAAEC,cAAc,EAAEC,cAAc,QAAQ,gCAAgC;AAC5F,SAASC,WAAW,EAAEC,aAAa,QAAQ,aAAU;AACrD,SAASC,SAAS,QAAQ,YAAS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/http/types.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/http/types.ts"],"sourcesContent":["import type { LogLevel } from '../log';\n\nexport type { Handler, Enhancer, Middleware, CookieStore } from '@krutoo/fetch-tools';\n\nexport type {\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\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}\n\nexport interface ResponseFail<T = unknown> {\n ok: false;\n data?: T;\n error: unknown;\n status?: number;\n statusText?: string;\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":""}
|
|
@@ -0,0 +1,74 @@
|
|
|
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
|
+
* @return Кортеж.
|
|
49
|
+
*/
|
|
50
|
+
eitherResponse() {
|
|
51
|
+
return [response => {
|
|
52
|
+
if (response.ok) {
|
|
53
|
+
return response.json().then(data => ({
|
|
54
|
+
ok: true,
|
|
55
|
+
data: data,
|
|
56
|
+
error: null,
|
|
57
|
+
status: response.status,
|
|
58
|
+
statusText: response.statusText
|
|
59
|
+
}));
|
|
60
|
+
} else {
|
|
61
|
+
return Promise.resolve({
|
|
62
|
+
ok: false,
|
|
63
|
+
error: `Request failed with status ${response.status}`,
|
|
64
|
+
status: response.status,
|
|
65
|
+
statusText: response.statusText
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}, error => Promise.resolve({
|
|
69
|
+
ok: false,
|
|
70
|
+
error
|
|
71
|
+
})];
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","names":["FetchUtil","setParams","url","params","paramName","paramValue","Object","entries","searchParams","delete","undefined","set","String","withParams","resultUrl","URL","withoutParams","search","eitherResponse","response","ok","json","then","data","error","status","statusText","Promise","resolve"],"sources":["../../../src/http/utils.ts"],"sourcesContent":["import type { URLSearchParamsInit, ResponseDone, ResponseFail } from './types';\n\n/**\n * Утилиты для работы с URL, URLSearchParams, Headers, Request, Response.\n */\nexport const FetchUtil = {\n /**\n * Получив параметры применит их к переданному URL.\n * @param url URL.\n * @param params Параметры.\n */\n setParams(url: URL, params: URLSearchParamsInit): void {\n for (const [paramName, paramValue] of Object.entries(params)) {\n if (paramValue === null) {\n url.searchParams.delete(paramName);\n continue;\n }\n\n if (paramValue !== undefined) {\n url.searchParams.set(paramName, String(paramValue));\n continue;\n }\n }\n },\n\n // @todo resetPrams?\n\n /**\n * Получив URL и параметры вернет новый URL с примененными параметрами.\n * @param url URL.\n * @param params Параметры.\n * @return URL.\n */\n withParams(url: string | URL, params: URLSearchParamsInit): URL {\n const resultUrl = new URL(url);\n\n FetchUtil.setParams(resultUrl, params);\n\n return resultUrl;\n },\n\n /**\n * Получив URL вернет его копию но без параметров.\n * @param url URL.\n * @return URL.\n */\n withoutParams(url: string | URL): URL {\n const resultUrl = new URL(url);\n\n resultUrl.search = '';\n\n return resultUrl;\n },\n\n /**\n * Возвращает кортеж обработчиков для Promise из fetch.\n * Полученный Promise никогда не уйдет в состояние rejected.\n * @return Кортеж.\n */\n eitherResponse<T = unknown>() {\n return [\n (response: Response): Promise<ResponseDone<T> | ResponseFail<T>> => {\n if (response.ok) {\n return response.json().then(data => ({\n ok: true,\n data: data as T,\n error: null,\n status: response.status,\n statusText: response.statusText,\n }));\n } else {\n return Promise.resolve({\n ok: false,\n error: `Request failed with status ${response.status}`,\n status: response.status,\n statusText: response.statusText,\n });\n }\n },\n (error: unknown): Promise<ResponseFail<T>> =>\n Promise.resolve({\n ok: false,\n error,\n }),\n ] as const;\n },\n} as const;\n"],"mappings":"AAEA;AACA;AACA;AACA,OAAO,MAAMA,SAAS,GAAG;EACvB;AACF;AACA;AACA;AACA;EACEC,SAASA,CAACC,GAAQ,EAAEC,MAA2B,EAAQ;IACrD,KAAK,MAAM,CAACC,SAAS,EAAEC,UAAU,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,MAAM,CAAC,EAAE;MAC5D,IAAIE,UAAU,KAAK,IAAI,EAAE;QACvBH,GAAG,CAACM,YAAY,CAACC,MAAM,CAACL,SAAS,CAAC;QAClC;MACF;MAEA,IAAIC,UAAU,KAAKK,SAAS,EAAE;QAC5BR,GAAG,CAACM,YAAY,CAACG,GAAG,CAACP,SAAS,EAAEQ,MAAM,CAACP,UAAU,CAAC,CAAC;QACnD;MACF;IACF;EACF,CAAC;EAED;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEQ,UAAUA,CAACX,GAAiB,EAAEC,MAA2B,EAAO;IAC9D,MAAMW,SAAS,GAAG,IAAIC,GAAG,CAACb,GAAG,CAAC;IAE9BF,SAAS,CAACC,SAAS,CAACa,SAAS,EAAEX,MAAM,CAAC;IAEtC,OAAOW,SAAS;EAClB,CAAC;EAED;AACF;AACA;AACA;AACA;EACEE,aAAaA,CAACd,GAAiB,EAAO;IACpC,MAAMY,SAAS,GAAG,IAAIC,GAAG,CAACb,GAAG,CAAC;IAE9BY,SAAS,CAACG,MAAM,GAAG,EAAE;IAErB,OAAOH,SAAS;EAClB,CAAC;EAED;AACF;AACA;AACA;AACA;EACEI,cAAcA,CAAA,EAAgB;IAC5B,OAAO,CACJC,QAAkB,IAAiD;MAClE,IAAIA,QAAQ,CAACC,EAAE,EAAE;QACf,OAAOD,QAAQ,CAACE,IAAI,CAAC,CAAC,CAACC,IAAI,CAACC,IAAI,KAAK;UACnCH,EAAE,EAAE,IAAI;UACRG,IAAI,EAAEA,IAAS;UACfC,KAAK,EAAE,IAAI;UACXC,MAAM,EAAEN,QAAQ,CAACM,MAAM;UACvBC,UAAU,EAAEP,QAAQ,CAACO;QACvB,CAAC,CAAC,CAAC;MACL,CAAC,MAAM;QACL,OAAOC,OAAO,CAACC,OAAO,CAAC;UACrBR,EAAE,EAAE,KAAK;UACTI,KAAK,EAAG,8BAA6BL,QAAQ,CAACM,MAAO,EAAC;UACtDA,MAAM,EAAEN,QAAQ,CAACM,MAAM;UACvBC,UAAU,EAAEP,QAAQ,CAACO;QACvB,CAAC,CAAC;MACJ;IACF,CAAC,EACAF,KAAc,IACbG,OAAO,CAACC,OAAO,CAAC;MACdR,EAAE,EAAE,KAAK;MACTI;IACF,CAAC,CAAC,CACL;EACH;AACF,CAAU"}
|
package/dist/esm/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@sima-land/isomorph",
|
|
4
|
-
"version": "11.0.0-alpha.
|
|
4
|
+
"version": "11.0.0-alpha.46",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@humanwhocodes/env": "^2.2.2",
|
|
7
|
-
"@krutoo/fetch-tools": "^0.0.
|
|
7
|
+
"@krutoo/fetch-tools": "^0.0.12",
|
|
8
8
|
"@opentelemetry/api": "^1.4.1",
|
|
9
9
|
"@opentelemetry/exporter-prometheus": "^0.38.0",
|
|
10
10
|
"@opentelemetry/exporter-trace-otlp-http": "^0.39.1",
|
|
@@ -14,12 +14,14 @@
|
|
|
14
14
|
"@opentelemetry/sdk-trace-base": "^1.12.0",
|
|
15
15
|
"@opentelemetry/sdk-trace-node": "^1.12.0",
|
|
16
16
|
"@opentelemetry/semantic-conventions": "^1.12.0",
|
|
17
|
-
"@sentry/browser": "^7.
|
|
18
|
-
"@sentry/
|
|
17
|
+
"@sentry/browser": "^7.81.0",
|
|
18
|
+
"@sentry/bun": "^7.81.0",
|
|
19
|
+
"@sentry/node": "^7.81.0",
|
|
20
|
+
"accepts": "^1.3.8",
|
|
19
21
|
"dotenv": "^16.3.1",
|
|
20
22
|
"express": "^4.18.2",
|
|
21
23
|
"jsesc": "^3.0.2",
|
|
22
|
-
"middleware-axios": "^2.1.
|
|
24
|
+
"middleware-axios": "^2.1.6",
|
|
23
25
|
"pino": "^8.14.1",
|
|
24
26
|
"pino-pretty": "^9.1.1",
|
|
25
27
|
"prom-client": "^14.2.0",
|
|
@@ -27,7 +29,7 @@
|
|
|
27
29
|
},
|
|
28
30
|
"peerDependencies": {
|
|
29
31
|
"@reduxjs/toolkit": "^1.9.5",
|
|
30
|
-
"axios": "^1.
|
|
32
|
+
"axios": "^1.6.7",
|
|
31
33
|
"react": "^17.0 || ^18.0",
|
|
32
34
|
"react-dom": "^17.0 || ^18.0",
|
|
33
35
|
"react-redux": "^8.0.5",
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { createPreset } from "./../../di/index.js";
|
|
2
|
+
import { KnownToken } from "../../tokens.js";
|
|
3
|
+
import { provideBaseConfig } from "../isomorphic/providers/base-config.js";
|
|
4
|
+
import { provideFetch } from "../isomorphic/providers/fetch.js";
|
|
5
|
+
import { provideKnownHttpApiHosts } from "../server/providers/known-http-api-hosts.js";
|
|
6
|
+
import { provideSsrBridgeServerSide } from "../server/providers/ssr-bridge-server-side.js";
|
|
7
|
+
import { provideConfigSource } from "./providers/config-source.js";
|
|
8
|
+
import { provideLogger } from "./providers/logger.js";
|
|
9
|
+
import { provideServe } from "./providers/serve.js";
|
|
10
|
+
import { provideServeMetrics } from "./providers/serve-metrics.js";
|
|
11
|
+
import { provideFetchMiddleware } from "./providers/fetch-middleware.js";
|
|
12
|
+
import { provideServiceRoutes } from "./providers/service-routes.js";
|
|
13
|
+
import { provideServeMiddleware } from "./providers/serve-middleware.js";
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Возвращает preset с зависимостями для запуска приложения в Bun.
|
|
17
|
+
* @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.
|
|
18
|
+
* @return Preset.
|
|
19
|
+
*/
|
|
20
|
+
export function PresetBun(customize) {
|
|
21
|
+
// @todo возможно стоит переименовать в PresetServer (так как в теории это можно использовать не только в Bun но и в Deno, Node.js)
|
|
22
|
+
const preset = createPreset();
|
|
23
|
+
|
|
24
|
+
// config
|
|
25
|
+
preset.set(KnownToken.Config.source, provideConfigSource);
|
|
26
|
+
preset.set(KnownToken.Config.base, provideBaseConfig);
|
|
27
|
+
|
|
28
|
+
// log
|
|
29
|
+
preset.set(KnownToken.logger, provideLogger);
|
|
30
|
+
|
|
31
|
+
// tracing
|
|
32
|
+
// @todo
|
|
33
|
+
|
|
34
|
+
// metrics
|
|
35
|
+
preset.set(KnownToken.Metrics.httpHandler, provideServeMetrics);
|
|
36
|
+
|
|
37
|
+
// http fetch
|
|
38
|
+
preset.set(KnownToken.Http.fetch, provideFetch);
|
|
39
|
+
preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);
|
|
40
|
+
|
|
41
|
+
// http serve
|
|
42
|
+
preset.set(KnownToken.Http.serve, provideServe);
|
|
43
|
+
preset.set(KnownToken.Http.Serve.serviceRoutes, provideServiceRoutes);
|
|
44
|
+
preset.set(KnownToken.Http.Serve.middleware, provideServeMiddleware);
|
|
45
|
+
|
|
46
|
+
// http api
|
|
47
|
+
preset.set(KnownToken.Http.Api.knownHosts, provideKnownHttpApiHosts);
|
|
48
|
+
|
|
49
|
+
// ssr bridge
|
|
50
|
+
preset.set(KnownToken.SsrBridge.serverSide, provideSsrBridgeServerSide);
|
|
51
|
+
if (customize) {
|
|
52
|
+
customize({
|
|
53
|
+
override: preset.set.bind(preset)
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
return preset;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// доступные утилиты
|
|
60
|
+
export { HandlerProvider } from "../server/utils/handler-provider.js";
|
|
61
|
+
export { getStatsHandler } from "./utils/get-stats-handler.js";
|
|
62
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["createPreset","KnownToken","provideBaseConfig","provideFetch","provideKnownHttpApiHosts","provideSsrBridgeServerSide","provideConfigSource","provideLogger","provideServe","provideServeMetrics","provideFetchMiddleware","provideServiceRoutes","provideServeMiddleware","PresetBun","customize","preset","set","Config","source","base","logger","Metrics","httpHandler","Http","fetch","Fetch","middleware","serve","Serve","serviceRoutes","Api","knownHosts","SsrBridge","serverSide","override","bind","HandlerProvider","getStatsHandler"],"sources":["../../../../src/preset/bun/index.ts"],"sourcesContent":["import { createPreset } from '../../di';\nimport { KnownToken } from '../../tokens';\nimport { PresetTuner } from '../isomorphic';\nimport { provideBaseConfig } from '../isomorphic/providers/base-config';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideKnownHttpApiHosts } from '../server/providers/known-http-api-hosts';\nimport { provideSsrBridgeServerSide } from '../server/providers/ssr-bridge-server-side';\nimport { provideConfigSource } from './providers/config-source';\nimport { provideLogger } from './providers/logger';\nimport { provideServe } from './providers/serve';\nimport { provideServeMetrics } from './providers/serve-metrics';\nimport { provideFetchMiddleware } from './providers/fetch-middleware';\nimport { provideServiceRoutes } from './providers/service-routes';\nimport { provideServeMiddleware } from './providers/serve-middleware';\n\n/**\n * Возвращает preset с зависимостями для запуска приложения в Bun.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @return Preset.\n */\nexport function PresetBun(customize?: PresetTuner) {\n // @todo возможно стоит переименовать в PresetServer (так как в теории это можно использовать не только в Bun но и в Deno, Node.js)\n const preset = createPreset();\n\n // config\n preset.set(KnownToken.Config.source, provideConfigSource);\n preset.set(KnownToken.Config.base, provideBaseConfig);\n\n // log\n preset.set(KnownToken.logger, provideLogger);\n\n // tracing\n // @todo\n\n // metrics\n preset.set(KnownToken.Metrics.httpHandler, provideServeMetrics);\n\n // http fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);\n\n // http serve\n preset.set(KnownToken.Http.serve, provideServe);\n preset.set(KnownToken.Http.Serve.serviceRoutes, provideServiceRoutes);\n preset.set(KnownToken.Http.Serve.middleware, provideServeMiddleware);\n\n // http api\n preset.set(KnownToken.Http.Api.knownHosts, provideKnownHttpApiHosts);\n\n // ssr bridge\n preset.set(KnownToken.SsrBridge.serverSide, provideSsrBridgeServerSide);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n\n// доступные утилиты\nexport { HandlerProvider } from '../server/utils/handler-provider';\nexport { getStatsHandler } from './utils/get-stats-handler';\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,qBAAU;AACvC,SAASC,UAAU,QAAQ,iBAAc;AAEzC,SAASC,iBAAiB,QAAQ,wCAAqC;AACvE,SAASC,YAAY,QAAQ,kCAA+B;AAC5D,SAASC,wBAAwB,QAAQ,6CAA0C;AACnF,SAASC,0BAA0B,QAAQ,+CAA4C;AACvF,SAASC,mBAAmB,QAAQ,8BAA2B;AAC/D,SAASC,aAAa,QAAQ,uBAAoB;AAClD,SAASC,YAAY,QAAQ,sBAAmB;AAChD,SAASC,mBAAmB,QAAQ,8BAA2B;AAC/D,SAASC,sBAAsB,QAAQ,iCAA8B;AACrE,SAASC,oBAAoB,QAAQ,+BAA4B;AACjE,SAASC,sBAAsB,QAAQ,iCAA8B;;AAErE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAACC,SAAuB,EAAE;EACjD;EACA,MAAMC,MAAM,GAAGf,YAAY,CAAC,CAAC;;EAE7B;EACAe,MAAM,CAACC,GAAG,CAACf,UAAU,CAACgB,MAAM,CAACC,MAAM,EAAEZ,mBAAmB,CAAC;EACzDS,MAAM,CAACC,GAAG,CAACf,UAAU,CAACgB,MAAM,CAACE,IAAI,EAAEjB,iBAAiB,CAAC;;EAErD;EACAa,MAAM,CAACC,GAAG,CAACf,UAAU,CAACmB,MAAM,EAAEb,aAAa,CAAC;;EAE5C;EACA;;EAEA;EACAQ,MAAM,CAACC,GAAG,CAACf,UAAU,CAACoB,OAAO,CAACC,WAAW,EAAEb,mBAAmB,CAAC;;EAE/D;EACAM,MAAM,CAACC,GAAG,CAACf,UAAU,CAACsB,IAAI,CAACC,KAAK,EAAErB,YAAY,CAAC;EAC/CY,MAAM,CAACC,GAAG,CAACf,UAAU,CAACsB,IAAI,CAACE,KAAK,CAACC,UAAU,EAAEhB,sBAAsB,CAAC;;EAEpE;EACAK,MAAM,CAACC,GAAG,CAACf,UAAU,CAACsB,IAAI,CAACI,KAAK,EAAEnB,YAAY,CAAC;EAC/CO,MAAM,CAACC,GAAG,CAACf,UAAU,CAACsB,IAAI,CAACK,KAAK,CAACC,aAAa,EAAElB,oBAAoB,CAAC;EACrEI,MAAM,CAACC,GAAG,CAACf,UAAU,CAACsB,IAAI,CAACK,KAAK,CAACF,UAAU,EAAEd,sBAAsB,CAAC;;EAEpE;EACAG,MAAM,CAACC,GAAG,CAACf,UAAU,CAACsB,IAAI,CAACO,GAAG,CAACC,UAAU,EAAE3B,wBAAwB,CAAC;;EAEpE;EACAW,MAAM,CAACC,GAAG,CAACf,UAAU,CAAC+B,SAAS,CAACC,UAAU,EAAE5B,0BAA0B,CAAC;EAEvE,IAAIS,SAAS,EAAE;IACbA,SAAS,CAAC;MAAEoB,QAAQ,EAAEnB,MAAM,CAACC,GAAG,CAACmB,IAAI,CAACpB,MAAM;IAAE,CAAC,CAAC;EAClD;EAEA,OAAOA,MAAM;AACf;;AAEA;AACA,SAASqB,eAAe,QAAQ,qCAAkC;AAClE,SAASC,eAAe,QAAQ,8BAA2B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-source.js","names":["createConfigSource","provideConfigSource","Bun","env"],"sources":["../../../../../src/preset/bun/providers/config-source.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { ConfigSource, createConfigSource } from '../../../config';\n\nexport function provideConfigSource(): ConfigSource {\n return createConfigSource(Bun.env);\n}\n"],"mappings":"AAAA;AACA,SAAuBA,kBAAkB,QAAQ,4BAAiB;AAElE,OAAO,SAASC,mBAAmBA,CAAA,EAAiB;EAClD,OAAOD,kBAAkB,CAACE,GAAG,CAACC,GAAG,CAAC;AACpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-middleware.js","names":["provideFetchMiddleware"],"sources":["../../../../../src/preset/bun/providers/fetch-middleware.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Middleware } from '../../../http';\n\nexport function provideFetchMiddleware(): Middleware[] {\n // @todo добавить логирование ошибок?\n return [];\n}\n"],"mappings":"AAAA;;AAGA,OAAO,SAASA,sBAAsBA,CAAA,EAAiB;EACrD;EACA,OAAO,EAAE;AACX"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
|
|
2
|
+
|
|
3
|
+
import { KnownToken } from "../../../tokens.js";
|
|
4
|
+
import { getCurrentHub, init } from '@sentry/bun';
|
|
5
|
+
import { createSentryHandler } from "../../../log/handler/sentry.js";
|
|
6
|
+
export function provideLogHandlerSentry(resolve) {
|
|
7
|
+
const source = resolve(KnownToken.Config.source);
|
|
8
|
+
init({
|
|
9
|
+
dsn: source.require('SENTRY_DSN'),
|
|
10
|
+
release: source.require('SENTRY_RELEASE'),
|
|
11
|
+
environment: source.require('SENTRY_ENVIRONMENT')
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
// ВАЖНО: передаем функцию чтобы брать текущий hub в момент вызова метода logger'а
|
|
15
|
+
// это нужно чтобы хлебные крошки в ошибках Sentry группировались по запросам
|
|
16
|
+
return createSentryHandler(getCurrentHub);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=log-handler-sentry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-handler-sentry.js","names":["KnownToken","getCurrentHub","init","createSentryHandler","provideLogHandlerSentry","resolve","source","Config","dsn","require","release","environment"],"sources":["../../../../../src/preset/bun/providers/log-handler-sentry.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { getCurrentHub, init } from '@sentry/bun';\nimport { createSentryHandler } from '../../../log/handler/sentry';\n\nexport function provideLogHandlerSentry(resolve: Resolve) {\n const source = resolve(KnownToken.Config.source);\n\n init({\n dsn: source.require('SENTRY_DSN'),\n release: source.require('SENTRY_RELEASE'),\n environment: source.require('SENTRY_ENVIRONMENT'),\n });\n\n // ВАЖНО: передаем функцию чтобы брать текущий hub в момент вызова метода logger'а\n // это нужно чтобы хлебные крошки в ошибках Sentry группировались по запросам\n return createSentryHandler(getCurrentHub);\n}\n"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,aAAa,EAAEC,IAAI,QAAQ,aAAa;AACjD,SAASC,mBAAmB,QAAQ,gCAA6B;AAEjE,OAAO,SAASC,uBAAuBA,CAACC,OAAgB,EAAE;EACxD,MAAMC,MAAM,GAAGD,OAAO,CAACL,UAAU,CAACO,MAAM,CAACD,MAAM,CAAC;EAEhDJ,IAAI,CAAC;IACHM,GAAG,EAAEF,MAAM,CAACG,OAAO,CAAC,YAAY,CAAC;IACjCC,OAAO,EAAEJ,MAAM,CAACG,OAAO,CAAC,gBAAgB,CAAC;IACzCE,WAAW,EAAEL,MAAM,CAACG,OAAO,CAAC,oBAAoB;EAClD,CAAC,CAAC;;EAEF;EACA;EACA,OAAON,mBAAmB,CAACF,aAAa,CAAC;AAC3C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
|
|
2
|
+
|
|
3
|
+
import { createLogger } from "./../../../log/index.js";
|
|
4
|
+
import { provideLogHandlerPino } from "../../node/providers/log-handler-pino.js";
|
|
5
|
+
import { provideLogHandlerSentry } from "./log-handler-sentry.js";
|
|
6
|
+
export function provideLogger(resolve) {
|
|
7
|
+
const logger = createLogger();
|
|
8
|
+
logger.subscribe(provideLogHandlerPino(resolve));
|
|
9
|
+
logger.subscribe(provideLogHandlerSentry(resolve));
|
|
10
|
+
return logger;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","names":["createLogger","provideLogHandlerPino","provideLogHandlerSentry","provideLogger","resolve","logger","subscribe"],"sources":["../../../../../src/preset/bun/providers/logger.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { Logger, createLogger } from '../../../log';\nimport { provideLogHandlerPino } from '../../node/providers/log-handler-pino';\nimport { provideLogHandlerSentry } from './log-handler-sentry';\n\nexport function provideLogger(resolve: Resolve): Logger {\n const logger = createLogger();\n\n logger.subscribe(provideLogHandlerPino(resolve));\n logger.subscribe(provideLogHandlerSentry(resolve));\n\n return logger;\n}\n"],"mappings":"AAAA;;AAEA,SAAiBA,YAAY,QAAQ,yBAAc;AACnD,SAASC,qBAAqB,QAAQ,0CAAuC;AAC7E,SAASC,uBAAuB,QAAQ,yBAAsB;AAE9D,OAAO,SAASC,aAAaA,CAACC,OAAgB,EAAU;EACtD,MAAMC,MAAM,GAAGL,YAAY,CAAC,CAAC;EAE7BK,MAAM,CAACC,SAAS,CAACL,qBAAqB,CAACG,OAAO,CAAC,CAAC;EAChDC,MAAM,CAACC,SAAS,CAACJ,uBAAuB,CAACE,OAAO,CAAC,CAAC;EAElD,OAAOC,MAAM;AACf"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
|
|
2
|
+
|
|
3
|
+
import { route, router } from '@krutoo/fetch-tools';
|
|
4
|
+
import PromClient from 'prom-client';
|
|
5
|
+
export function provideServeMetrics() {
|
|
6
|
+
// @todo задействовать когда Bun реализует pref_hooks.monitorEventLoopDelay (https://github.com/siimon/prom-client/issues/570)
|
|
7
|
+
// PromClient.collectDefaultMetrics();
|
|
8
|
+
|
|
9
|
+
return router(route.get('/', async () => {
|
|
10
|
+
const metrics = await PromClient.register.metrics();
|
|
11
|
+
const headers = new Headers();
|
|
12
|
+
headers.set('Content-Type', PromClient.register.contentType);
|
|
13
|
+
return new Response(metrics, {
|
|
14
|
+
headers
|
|
15
|
+
});
|
|
16
|
+
}));
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=serve-metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve-metrics.js","names":["route","router","PromClient","provideServeMetrics","get","metrics","register","headers","Headers","set","contentType","Response"],"sources":["../../../../../src/preset/bun/providers/serve-metrics.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Handler } from '../../../http';\nimport { route, router } from '@krutoo/fetch-tools';\nimport PromClient from 'prom-client';\n\nexport function provideServeMetrics(): Handler {\n // @todo задействовать когда Bun реализует pref_hooks.monitorEventLoopDelay (https://github.com/siimon/prom-client/issues/570)\n // PromClient.collectDefaultMetrics();\n\n return router(\n route.get('/', async () => {\n const metrics = await PromClient.register.metrics();\n const headers = new Headers();\n\n headers.set('Content-Type', PromClient.register.contentType);\n\n return new Response(metrics, { headers });\n }),\n );\n}\n"],"mappings":"AAAA;;AAEA,SAASA,KAAK,EAAEC,MAAM,QAAQ,qBAAqB;AACnD,OAAOC,UAAU,MAAM,aAAa;AAEpC,OAAO,SAASC,mBAAmBA,CAAA,EAAY;EAC7C;EACA;;EAEA,OAAOF,MAAM,CACXD,KAAK,CAACI,GAAG,CAAC,GAAG,EAAE,YAAY;IACzB,MAAMC,OAAO,GAAG,MAAMH,UAAU,CAACI,QAAQ,CAACD,OAAO,CAAC,CAAC;IACnD,MAAME,OAAO,GAAG,IAAIC,OAAO,CAAC,CAAC;IAE7BD,OAAO,CAACE,GAAG,CAAC,cAAc,EAAEP,UAAU,CAACI,QAAQ,CAACI,WAAW,CAAC;IAE5D,OAAO,IAAIC,QAAQ,CAACN,OAAO,EAAE;MAAEE;IAAQ,CAAC,CAAC;EAC3C,CAAC,CACH,CAAC;AACH"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
|
|
2
|
+
|
|
3
|
+
import { KnownToken } from "../../../tokens.js";
|
|
4
|
+
import { runWithAsyncContext } from '@sentry/bun';
|
|
5
|
+
import { getServeLogging } from "../../server/utils/get-serve-logging.js";
|
|
6
|
+
import { getServeErrorLogging } from "../../server/utils/get-serve-error-logging.js";
|
|
7
|
+
import { getServeMeasuring } from "../../server/utils/get-serve-measuring.js";
|
|
8
|
+
export function provideServeMiddleware(resolve) {
|
|
9
|
+
const config = resolve(KnownToken.Config.base);
|
|
10
|
+
const logger = resolve(KnownToken.logger);
|
|
11
|
+
return [
|
|
12
|
+
// ВАЖНО: изолируем хлебные крошки чтобы они группировались по входящим запросам
|
|
13
|
+
(request, next) => runWithAsyncContext(async () => next(request)),
|
|
14
|
+
// ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше
|
|
15
|
+
getServeErrorLogging(logger),
|
|
16
|
+
// @todo tracing
|
|
17
|
+
|
|
18
|
+
// метрики
|
|
19
|
+
getServeMeasuring(config),
|
|
20
|
+
// ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные
|
|
21
|
+
getServeLogging(logger)];
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=serve-middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve-middleware.js","names":["KnownToken","runWithAsyncContext","getServeLogging","getServeErrorLogging","getServeMeasuring","provideServeMiddleware","resolve","config","Config","base","logger","request","next"],"sources":["../../../../../src/preset/bun/providers/serve-middleware.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { runWithAsyncContext } from '@sentry/bun';\nimport { ServerMiddleware } from '../../server/types';\nimport { getServeLogging } from '../../server/utils/get-serve-logging';\nimport { getServeErrorLogging } from '../../server/utils/get-serve-error-logging';\nimport { getServeMeasuring } from '../../server/utils/get-serve-measuring';\n\nexport function provideServeMiddleware(resolve: Resolve): ServerMiddleware[] {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n\n return [\n // ВАЖНО: изолируем хлебные крошки чтобы они группировались по входящим запросам\n (request, next) => runWithAsyncContext(async () => next(request)),\n\n // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше\n getServeErrorLogging(logger),\n\n // @todo tracing\n\n // метрики\n getServeMeasuring(config),\n\n // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные\n getServeLogging(logger),\n ];\n}\n"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,mBAAmB,QAAQ,aAAa;AAEjD,SAASC,eAAe,QAAQ,yCAAsC;AACtE,SAASC,oBAAoB,QAAQ,+CAA4C;AACjF,SAASC,iBAAiB,QAAQ,2CAAwC;AAE1E,OAAO,SAASC,sBAAsBA,CAACC,OAAgB,EAAsB;EAC3E,MAAMC,MAAM,GAAGD,OAAO,CAACN,UAAU,CAACQ,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,MAAM,GAAGJ,OAAO,CAACN,UAAU,CAACU,MAAM,CAAC;EAEzC,OAAO;EACL;EACA,CAACC,OAAO,EAAEC,IAAI,KAAKX,mBAAmB,CAAC,YAAYW,IAAI,CAACD,OAAO,CAAC,CAAC;EAEjE;EACAR,oBAAoB,CAACO,MAAM,CAAC;EAE5B;;EAEA;EACAN,iBAAiB,CAACG,MAAM,CAAC;EAEzB;EACAL,eAAe,CAACQ,MAAM,CAAC,CACxB;AACH"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
|
|
2
|
+
|
|
3
|
+
import { KnownToken } from "../../../tokens.js";
|
|
4
|
+
import { route, router } from '@krutoo/fetch-tools';
|
|
5
|
+
import { applyServerMiddleware } from "../../server/utils/apply-server-middleware.js";
|
|
6
|
+
export function provideServe(resolve) {
|
|
7
|
+
const middleware = resolve(KnownToken.Http.Serve.middleware);
|
|
8
|
+
const routes = resolve(KnownToken.Http.Serve.routes);
|
|
9
|
+
const serviceRoutes = resolve(KnownToken.Http.Serve.serviceRoutes);
|
|
10
|
+
const enhance = applyServerMiddleware(...middleware);
|
|
11
|
+
return router(
|
|
12
|
+
// маршруты с промежуточными слоями
|
|
13
|
+
...routes.map(([pattern, handler]) => {
|
|
14
|
+
const enhancedHandler = enhance(handler);
|
|
15
|
+
return route.get(pattern, request => enhancedHandler(request, {
|
|
16
|
+
events: new EventTarget()
|
|
17
|
+
}));
|
|
18
|
+
}),
|
|
19
|
+
// @todo вместо routes обрабатывать pageRoutes с помощью route.get() из новой версии fetch-tools (для явности)
|
|
20
|
+
// @todo также добавить apiRoutes и обрабатывать их с помощью с помощью route()?
|
|
21
|
+
|
|
22
|
+
// служебные маршруты (без промежуточных слоев)
|
|
23
|
+
...serviceRoutes.map(([pattern, handler]) => route(pattern, request => handler(request, {
|
|
24
|
+
events: new EventTarget()
|
|
25
|
+
}))));
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=serve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve.js","names":["KnownToken","route","router","applyServerMiddleware","provideServe","resolve","middleware","Http","Serve","routes","serviceRoutes","enhance","map","pattern","handler","enhancedHandler","get","request","events","EventTarget"],"sources":["../../../../../src/preset/bun/providers/serve.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { Handler } from '../../../http';\nimport { route, router } from '@krutoo/fetch-tools';\nimport { applyServerMiddleware } from '../../server/utils/apply-server-middleware';\n\nexport function provideServe(resolve: Resolve): Handler {\n const middleware = resolve(KnownToken.Http.Serve.middleware);\n const routes = resolve(KnownToken.Http.Serve.routes);\n const serviceRoutes = resolve(KnownToken.Http.Serve.serviceRoutes);\n\n const enhance = applyServerMiddleware(...middleware);\n\n return router(\n // маршруты с промежуточными слоями\n ...routes.map(([pattern, handler]) => {\n const enhancedHandler = enhance(handler);\n\n return route.get(pattern, request => enhancedHandler(request, { events: new EventTarget() }));\n }),\n\n // @todo вместо routes обрабатывать pageRoutes с помощью route.get() из новой версии fetch-tools (для явности)\n // @todo также добавить apiRoutes и обрабатывать их с помощью с помощью route()?\n\n // служебные маршруты (без промежуточных слоев)\n ...serviceRoutes.map(([pattern, handler]) =>\n route(pattern, request => handler(request, { events: new EventTarget() })),\n ),\n );\n}\n"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAE5C,SAASC,KAAK,EAAEC,MAAM,QAAQ,qBAAqB;AACnD,SAASC,qBAAqB,QAAQ,+CAA4C;AAElF,OAAO,SAASC,YAAYA,CAACC,OAAgB,EAAW;EACtD,MAAMC,UAAU,GAAGD,OAAO,CAACL,UAAU,CAACO,IAAI,CAACC,KAAK,CAACF,UAAU,CAAC;EAC5D,MAAMG,MAAM,GAAGJ,OAAO,CAACL,UAAU,CAACO,IAAI,CAACC,KAAK,CAACC,MAAM,CAAC;EACpD,MAAMC,aAAa,GAAGL,OAAO,CAACL,UAAU,CAACO,IAAI,CAACC,KAAK,CAACE,aAAa,CAAC;EAElE,MAAMC,OAAO,GAAGR,qBAAqB,CAAC,GAAGG,UAAU,CAAC;EAEpD,OAAOJ,MAAM;EACX;EACA,GAAGO,MAAM,CAACG,GAAG,CAAC,CAAC,CAACC,OAAO,EAAEC,OAAO,CAAC,KAAK;IACpC,MAAMC,eAAe,GAAGJ,OAAO,CAACG,OAAO,CAAC;IAExC,OAAOb,KAAK,CAACe,GAAG,CAACH,OAAO,EAAEI,OAAO,IAAIF,eAAe,CAACE,OAAO,EAAE;MAAEC,MAAM,EAAE,IAAIC,WAAW,CAAC;IAAE,CAAC,CAAC,CAAC;EAC/F,CAAC,CAAC;EAEF;EACA;;EAEA;EACA,GAAGT,aAAa,CAACE,GAAG,CAAC,CAAC,CAACC,OAAO,EAAEC,OAAO,CAAC,KACtCb,KAAK,CAACY,OAAO,EAAEI,OAAO,IAAIH,OAAO,CAACG,OAAO,EAAE;IAAEC,MAAM,EAAE,IAAIC,WAAW,CAAC;EAAE,CAAC,CAAC,CAC3E,CACF,CAAC;AACH"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
|
|
2
|
+
|
|
3
|
+
import { getStatsHandler } from "../utils/get-stats-handler.js";
|
|
4
|
+
import { getHealthCheck } from "../../server/utils/get-health-check.js";
|
|
5
|
+
export function provideServiceRoutes() {
|
|
6
|
+
return [
|
|
7
|
+
// служебные маршруты (без промежуточных слоев)
|
|
8
|
+
['/healthcheck', getHealthCheck()], ['/stats', getStatsHandler()]];
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=service-routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-routes.js","names":["getStatsHandler","getHealthCheck","provideServiceRoutes"],"sources":["../../../../../src/preset/bun/providers/service-routes.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { ServerHandler } from '../../server/types';\nimport { getStatsHandler } from '../utils/get-stats-handler';\nimport { getHealthCheck } from '../../server/utils/get-health-check';\n\nexport function provideServiceRoutes(): Array<[string, ServerHandler]> {\n return [\n // служебные маршруты (без промежуточных слоев)\n ['/healthcheck', getHealthCheck()],\n ['/stats', getStatsHandler()],\n ];\n}\n"],"mappings":"AAAA;;AAEA,SAASA,eAAe,QAAQ,+BAA4B;AAC5D,SAASC,cAAc,QAAQ,wCAAqC;AAEpE,OAAO,SAASC,oBAAoBA,CAAA,EAAmC;EACrE,OAAO;EACL;EACA,CAAC,cAAc,EAAED,cAAc,CAAC,CAAC,CAAC,EAClC,CAAC,QAAQ,EAAED,eAAe,CAAC,CAAC,CAAC,CAC9B;AACH"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ВАЖНО: временная экспериментальная утилита, скорее всего будет удалена в будущем.
|
|
3
|
+
* @inheritdoc
|
|
4
|
+
*/
|
|
5
|
+
export function getStatsHandler() {
|
|
6
|
+
/** @inheritdoc */
|
|
7
|
+
const getHeapStats = async () => {
|
|
8
|
+
// ВАЖНО: должны быть именно кавычки "'" по причине https://github.com/web-infra-dev/rspack/issues/5938#issuecomment-2000393152
|
|
9
|
+
const jsc = await import( /* webpackIgnore: true */
|
|
10
|
+
'bun:jsc');
|
|
11
|
+
return jsc.heapStats();
|
|
12
|
+
};
|
|
13
|
+
return async () => {
|
|
14
|
+
const stats = await getHeapStats();
|
|
15
|
+
return new Response(JSON.stringify(stats, null, 2), {
|
|
16
|
+
headers: {
|
|
17
|
+
'content-type': 'application/json'
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=get-stats-handler.js.map
|