@sima-land/isomorph 11.0.0-alpha.36 → 11.0.0-alpha.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +25 -0
- package/dist/cjs/cache/index.js +6 -0
- package/dist/cjs/cache/index.js.map +1 -0
- package/dist/cjs/cache/types.js +6 -0
- package/dist/cjs/cache/types.js.map +1 -0
- package/dist/cjs/config/base.js +22 -0
- package/dist/cjs/config/base.js.map +1 -0
- package/dist/cjs/config/index.js +20 -0
- package/dist/cjs/config/index.js.map +1 -0
- package/dist/cjs/config/source.js +25 -0
- package/dist/cjs/config/source.js.map +1 -0
- package/dist/cjs/config/types.js +6 -0
- package/dist/cjs/config/types.js.map +1 -0
- package/dist/cjs/di/application.js +106 -0
- package/dist/cjs/di/application.js.map +1 -0
- package/dist/cjs/di/container.js +55 -0
- package/dist/cjs/di/container.js.map +1 -0
- package/dist/cjs/di/errors.js +65 -0
- package/dist/cjs/di/errors.js.map +1 -0
- package/dist/cjs/di/index.js +59 -0
- package/dist/cjs/di/index.js.map +1 -0
- package/dist/cjs/di/preset.js +32 -0
- package/dist/cjs/di/preset.js.map +1 -0
- package/dist/cjs/di/token.js +44 -0
- package/dist/cjs/di/token.js.map +1 -0
- package/dist/cjs/di/types.js +6 -0
- package/dist/cjs/di/types.js.map +1 -0
- package/dist/cjs/http/errors.js +47 -0
- package/dist/cjs/http/errors.js.map +1 -0
- package/dist/cjs/http/index.js +63 -0
- package/dist/cjs/http/index.js.map +1 -0
- package/dist/cjs/http/types.js +6 -0
- package/dist/cjs/http/types.js.map +1 -0
- package/dist/cjs/log/errors.js +35 -0
- package/dist/cjs/log/errors.js.map +1 -0
- package/dist/cjs/log/handler/pino.js +31 -0
- package/dist/cjs/log/handler/pino.js.map +1 -0
- package/dist/cjs/log/handler/sentry.js +57 -0
- package/dist/cjs/log/handler/sentry.js.map +1 -0
- package/dist/cjs/log/index.js +26 -0
- package/dist/cjs/log/index.js.map +1 -0
- package/dist/cjs/log/logger.js +35 -0
- package/dist/cjs/log/logger.js.map +1 -0
- package/dist/cjs/log/types.js +6 -0
- package/dist/cjs/log/types.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/preset/isomorphic/constants.js +14 -0
- package/dist/cjs/preset/isomorphic/constants.js.map +1 -0
- package/dist/cjs/preset/isomorphic/index.js +6 -0
- package/dist/cjs/preset/isomorphic/index.js.map +1 -0
- package/{preset → dist/cjs/preset}/isomorphic/providers/index.js +19 -15
- package/dist/cjs/preset/isomorphic/providers/index.js.map +1 -0
- package/dist/cjs/preset/isomorphic/types.js +6 -0
- package/dist/cjs/preset/isomorphic/types.js.map +1 -0
- package/dist/cjs/preset/isomorphic/utils/index.js +322 -0
- package/dist/cjs/preset/isomorphic/utils/index.js.map +1 -0
- package/dist/cjs/preset/node/handler/index.js +52 -0
- package/dist/cjs/preset/node/handler/index.js.map +1 -0
- package/dist/cjs/preset/node/handler/providers/index.js +212 -0
- package/dist/cjs/preset/node/handler/providers/index.js.map +1 -0
- package/dist/cjs/preset/node/handler/utils/index.js +132 -0
- package/dist/cjs/preset/node/handler/utils/index.js.map +1 -0
- package/dist/cjs/preset/node/index.js +26 -0
- package/dist/cjs/preset/node/index.js.map +1 -0
- package/dist/cjs/preset/node/node/index.js +61 -0
- package/dist/cjs/preset/node/node/index.js.map +1 -0
- package/dist/cjs/preset/node/node/providers/index.js +403 -0
- package/dist/cjs/preset/node/node/providers/index.js.map +1 -0
- package/dist/cjs/preset/node/node/utils/http-client/index.js +122 -0
- package/dist/cjs/preset/node/node/utils/http-client/index.js.map +1 -0
- package/dist/cjs/preset/node/node/utils/http-server/index.js +18 -0
- package/dist/cjs/preset/node/node/utils/http-server/index.js.map +1 -0
- package/dist/cjs/preset/node/node/utils/index.js +20 -0
- package/dist/cjs/preset/node/node/utils/index.js.map +1 -0
- package/dist/cjs/preset/node/types.js +6 -0
- package/dist/cjs/preset/node/types.js.map +1 -0
- package/dist/cjs/preset/web/index.js +34 -0
- package/dist/cjs/preset/web/index.js.map +1 -0
- package/dist/cjs/preset/web/providers/index.js +94 -0
- package/dist/cjs/preset/web/providers/index.js.map +1 -0
- package/dist/cjs/tokens.js +86 -0
- package/dist/cjs/tokens.js.map +1 -0
- package/dist/cjs/utils/axios/index.js +40 -0
- package/dist/cjs/utils/axios/index.js.map +1 -0
- package/dist/cjs/utils/axios/middleware/cookie.js +28 -0
- package/dist/cjs/utils/axios/middleware/cookie.js.map +1 -0
- package/dist/cjs/utils/axios/middleware/log.js +37 -0
- package/dist/cjs/utils/axios/middleware/log.js.map +1 -0
- package/dist/cjs/utils/axios/sauce/index.js +57 -0
- package/dist/cjs/utils/axios/sauce/index.js.map +1 -0
- package/{utils → dist/cjs/utils}/axios/utils/index.js +19 -14
- package/dist/cjs/utils/axios/utils/index.js.map +1 -0
- package/{utils → dist/cjs/utils}/express/handler/health-check.js +11 -7
- package/dist/cjs/utils/express/handler/health-check.js.map +1 -0
- package/dist/cjs/utils/express/index.js +20 -0
- package/dist/cjs/utils/express/index.js.map +1 -0
- package/dist/cjs/utils/express/utils/index.js +22 -0
- package/dist/cjs/utils/express/utils/index.js.map +1 -0
- package/dist/cjs/utils/function.js +44 -0
- package/dist/cjs/utils/function.js.map +1 -0
- package/dist/cjs/utils/index.js +20 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/{utils/number.js → dist/cjs/utils/math.js} +7 -5
- package/dist/cjs/utils/math.js.map +1 -0
- package/dist/cjs/utils/react/error-handlers/index.js +80 -0
- package/dist/cjs/utils/react/error-handlers/index.js.map +1 -0
- package/dist/cjs/utils/react/index.js +19 -0
- package/dist/cjs/utils/react/index.js.map +1 -0
- package/dist/cjs/utils/redux/index.js +19 -0
- package/dist/cjs/utils/redux/index.js.map +1 -0
- package/dist/cjs/utils/redux/remote-data.js +118 -0
- package/dist/cjs/utils/redux/remote-data.js.map +1 -0
- package/dist/cjs/utils/redux-saga/index.js +20 -0
- package/dist/cjs/utils/redux-saga/index.js.map +1 -0
- package/dist/cjs/utils/redux-saga/middleware.js +149 -0
- package/dist/cjs/utils/redux-saga/middleware.js.map +1 -0
- package/dist/cjs/utils/redux-saga/take-chain.js +66 -0
- package/dist/cjs/utils/redux-saga/take-chain.js.map +1 -0
- package/dist/cjs/utils/redux-saga/types.js +6 -0
- package/dist/cjs/utils/redux-saga/types.js.map +1 -0
- package/dist/cjs/utils/ssr/index.js +73 -0
- package/dist/cjs/utils/ssr/index.js.map +1 -0
- package/dist/cjs/utils/web/analytics/data-layer.js +20 -0
- package/dist/cjs/utils/web/analytics/data-layer.js.map +1 -0
- package/dist/cjs/utils/web/analytics/index.js +20 -0
- package/dist/cjs/utils/web/analytics/index.js.map +1 -0
- package/dist/cjs/utils/web/analytics/oko.js +20 -0
- package/dist/cjs/utils/web/analytics/oko.js.map +1 -0
- package/dist/cjs/utils/web/storage/index.js +75 -0
- package/dist/cjs/utils/web/storage/index.js.map +1 -0
- package/dist/cjs/utils/webpack/env/index.js +96 -0
- package/dist/cjs/utils/webpack/env/index.js.map +1 -0
- package/dist/cjs/utils/webpack/env/types.js +6 -0
- package/dist/cjs/utils/webpack/env/types.js.map +1 -0
- package/dist/cjs/utils/webpack/env/utils.js +55 -0
- package/dist/cjs/utils/webpack/env/utils.js.map +1 -0
- package/dist/cjs/utils/webpack/index.js +20 -0
- package/dist/cjs/utils/webpack/index.js.map +1 -0
- package/dist/cjs/utils/webpack/module-federation/index.js +110 -0
- package/dist/cjs/utils/webpack/module-federation/index.js.map +1 -0
- package/dist/cjs/utils/webpack/module-federation/types.js +6 -0
- package/dist/cjs/utils/webpack/module-federation/types.js.map +1 -0
- package/{utils → dist/cjs/utils}/webpack/module-federation/utils.js +26 -31
- package/dist/cjs/utils/webpack/module-federation/utils.js.map +1 -0
- package/dist/esm/cache/index.js +2 -0
- package/dist/esm/cache/index.js.map +1 -0
- package/dist/esm/cache/types.js +2 -0
- package/dist/esm/cache/types.js.map +1 -0
- package/dist/esm/config/base.js +16 -0
- package/dist/esm/config/base.js.map +1 -0
- package/dist/esm/config/index.js +3 -0
- package/dist/esm/config/index.js.map +1 -0
- package/dist/esm/config/source.js +19 -0
- package/dist/esm/config/source.js.map +1 -0
- package/dist/esm/config/types.js +2 -0
- package/dist/esm/config/types.js.map +1 -0
- package/dist/esm/di/application.js +100 -0
- package/dist/esm/di/application.js.map +1 -0
- package/dist/esm/di/container.js +49 -0
- package/dist/esm/di/container.js.map +1 -0
- package/dist/esm/di/errors.js +56 -0
- package/dist/esm/di/errors.js.map +1 -0
- package/dist/esm/di/index.js +6 -0
- package/dist/esm/di/index.js.map +1 -0
- package/dist/esm/di/preset.js +26 -0
- package/dist/esm/di/preset.js.map +1 -0
- package/dist/esm/di/token.js +38 -0
- package/dist/esm/di/token.js.map +1 -0
- package/dist/esm/di/types.js +2 -0
- package/dist/esm/di/types.js.map +1 -0
- package/dist/esm/http/errors.js +39 -0
- package/dist/esm/http/errors.js.map +1 -0
- package/dist/esm/http/index.js +4 -0
- package/dist/esm/http/index.js.map +1 -0
- package/dist/esm/http/types.js +2 -0
- package/dist/esm/http/types.js.map +1 -0
- package/dist/esm/log/errors.js +27 -0
- package/dist/esm/log/errors.js.map +1 -0
- package/dist/esm/log/handler/pino.js +25 -0
- package/dist/esm/log/handler/pino.js.map +1 -0
- package/dist/esm/log/handler/sentry.js +52 -0
- package/dist/esm/log/handler/sentry.js.map +1 -0
- package/dist/esm/log/index.js +3 -0
- package/dist/esm/log/index.js.map +1 -0
- package/dist/esm/log/logger.js +29 -0
- package/dist/esm/log/logger.js.map +1 -0
- package/dist/esm/log/types.js +2 -0
- package/dist/esm/log/types.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/preset/isomorphic/constants.js +8 -0
- package/dist/esm/preset/isomorphic/constants.js.map +1 -0
- package/dist/esm/preset/isomorphic/index.js +2 -0
- package/dist/esm/preset/isomorphic/index.js.map +1 -0
- package/dist/esm/preset/isomorphic/providers/index.js +35 -0
- package/dist/esm/preset/isomorphic/providers/index.js.map +1 -0
- package/dist/esm/preset/isomorphic/types.js +2 -0
- package/dist/esm/preset/isomorphic/types.js.map +1 -0
- package/dist/esm/preset/isomorphic/utils/index.js +309 -0
- package/dist/esm/preset/isomorphic/utils/index.js.map +1 -0
- package/dist/esm/preset/node/handler/index.js +42 -0
- package/dist/esm/preset/node/handler/index.js.map +1 -0
- package/dist/esm/preset/node/handler/providers/index.js +194 -0
- package/dist/esm/preset/node/handler/providers/index.js.map +1 -0
- package/dist/esm/preset/node/handler/utils/index.js +113 -0
- package/dist/esm/preset/node/handler/utils/index.js.map +1 -0
- package/dist/esm/preset/node/index.js +3 -0
- package/dist/esm/preset/node/index.js.map +1 -0
- package/dist/esm/preset/node/node/index.js +56 -0
- package/dist/esm/preset/node/node/index.js.map +1 -0
- package/dist/esm/preset/node/node/providers/index.js +378 -0
- package/dist/esm/preset/node/node/providers/index.js.map +1 -0
- package/dist/esm/preset/node/node/utils/http-client/index.js +114 -0
- package/dist/esm/preset/node/node/utils/http-client/index.js.map +1 -0
- package/dist/esm/preset/node/node/utils/http-server/index.js +12 -0
- package/dist/esm/preset/node/node/utils/http-server/index.js.map +1 -0
- package/dist/esm/preset/node/node/utils/index.js +3 -0
- package/dist/esm/preset/node/node/utils/index.js.map +1 -0
- package/dist/esm/preset/node/types.js +2 -0
- package/dist/esm/preset/node/types.js.map +1 -0
- package/dist/esm/preset/web/index.js +29 -0
- package/dist/esm/preset/web/index.js.map +1 -0
- package/dist/esm/preset/web/providers/index.js +85 -0
- package/dist/esm/preset/web/providers/index.js.map +1 -0
- package/dist/esm/tokens.js +81 -0
- package/dist/esm/tokens.js.map +1 -0
- package/dist/esm/utils/axios/index.js +5 -0
- package/dist/esm/utils/axios/index.js.map +1 -0
- package/dist/esm/utils/axios/middleware/cookie.js +22 -0
- package/dist/esm/utils/axios/middleware/cookie.js.map +1 -0
- package/dist/esm/utils/axios/middleware/log.js +31 -0
- package/dist/esm/utils/axios/middleware/log.js.map +1 -0
- package/dist/esm/utils/axios/sauce/index.js +50 -0
- package/dist/esm/utils/axios/sauce/index.js.map +1 -0
- package/dist/esm/utils/axios/utils/index.js +24 -0
- package/dist/esm/utils/axios/utils/index.js.map +1 -0
- package/dist/esm/utils/express/handler/health-check.js +13 -0
- package/dist/esm/utils/express/handler/health-check.js.map +1 -0
- package/dist/esm/utils/express/index.js +3 -0
- package/dist/esm/utils/express/index.js.map +1 -0
- package/dist/esm/utils/express/utils/index.js +16 -0
- package/dist/esm/utils/express/utils/index.js.map +1 -0
- package/dist/esm/utils/function.js +38 -0
- package/dist/esm/utils/function.js.map +1 -0
- package/dist/esm/utils/index.js +3 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/math.js +9 -0
- package/dist/esm/utils/math.js.map +1 -0
- package/dist/esm/utils/react/error-handlers/index.js +69 -0
- package/dist/esm/utils/react/error-handlers/index.js.map +1 -0
- package/dist/esm/utils/react/index.js +3 -0
- package/dist/esm/utils/react/index.js.map +1 -0
- package/dist/esm/utils/redux/index.js +3 -0
- package/dist/esm/utils/redux/index.js.map +1 -0
- package/dist/esm/utils/redux/remote-data.js +108 -0
- package/dist/esm/utils/redux/remote-data.js.map +1 -0
- package/dist/esm/utils/redux-saga/index.js +3 -0
- package/dist/esm/utils/redux-saga/index.js.map +1 -0
- package/dist/esm/utils/redux-saga/middleware.js +143 -0
- package/dist/esm/utils/redux-saga/middleware.js.map +1 -0
- package/dist/esm/utils/redux-saga/take-chain.js +59 -0
- package/dist/esm/utils/redux-saga/take-chain.js.map +1 -0
- package/dist/esm/utils/redux-saga/types.js +2 -0
- package/dist/esm/utils/redux-saga/types.js.map +1 -0
- package/dist/esm/utils/ssr/index.js +66 -0
- package/dist/esm/utils/ssr/index.js.map +1 -0
- package/dist/esm/utils/web/analytics/data-layer.js +14 -0
- package/dist/esm/utils/web/analytics/data-layer.js.map +1 -0
- package/dist/esm/utils/web/analytics/index.js +3 -0
- package/dist/esm/utils/web/analytics/index.js.map +1 -0
- package/dist/esm/utils/web/analytics/oko.js +14 -0
- package/dist/esm/utils/web/analytics/oko.js.map +1 -0
- package/dist/esm/utils/web/storage/index.js +69 -0
- package/dist/esm/utils/web/storage/index.js.map +1 -0
- package/dist/esm/utils/webpack/env/index.js +89 -0
- package/dist/esm/utils/webpack/env/index.js.map +1 -0
- package/dist/esm/utils/webpack/env/types.js +2 -0
- package/dist/esm/utils/webpack/env/types.js.map +1 -0
- package/dist/esm/utils/webpack/env/utils.js +48 -0
- package/dist/esm/utils/webpack/env/utils.js.map +1 -0
- package/dist/esm/utils/webpack/index.js +4 -0
- package/dist/esm/utils/webpack/index.js.map +1 -0
- package/dist/esm/utils/webpack/module-federation/index.js +96 -0
- package/dist/esm/utils/webpack/module-federation/index.js.map +1 -0
- package/dist/esm/utils/webpack/module-federation/types.js +2 -0
- package/dist/esm/utils/webpack/module-federation/types.js.map +1 -0
- package/dist/esm/utils/webpack/module-federation/utils.js +80 -0
- package/dist/esm/utils/webpack/module-federation/utils.js.map +1 -0
- package/dist/types/cache/index.d.ts +1 -0
- package/dist/types/log/index.d.ts +3 -0
- package/dist/types/preset/isomorphic/index.d.ts +1 -0
- package/{preset → dist/types/preset}/isomorphic/types.d.ts +0 -9
- package/{preset → dist/types/preset}/node/index.d.ts +1 -0
- package/dist/types/preset/node/node/utils/index.d.ts +2 -0
- package/dist/types/preset/node/types.d.ts +9 -0
- package/{tokens.d.ts → dist/types/tokens.d.ts} +2 -1
- package/{utils → dist/types/utils}/axios/sauce/index.d.ts +1 -1
- package/dist/types/utils/index.d.ts +2 -0
- package/{utils → dist/types/utils}/redux/remote-data.d.ts +8 -8
- package/{utils → dist/types/utils}/ssr/index.d.ts +1 -0
- package/dist/types/utils/web/analytics/index.d.ts +2 -0
- package/{utils → dist/types/utils}/webpack/module-federation/index.d.ts +2 -2
- package/package.json +173 -9
- package/src/cache/index.ts +1 -0
- package/src/cache/types.ts +34 -0
- package/src/config/base.ts +18 -0
- package/src/config/index.ts +3 -0
- package/src/config/source.ts +23 -0
- package/src/config/types.ts +25 -0
- package/src/di/__test__/application.test.ts +258 -0
- package/src/di/__test__/container.test.ts +103 -0
- package/src/di/__test__/errors.test.ts +56 -0
- package/src/di/__test__/preset.test.ts +23 -0
- package/src/di/__test__/token.test.ts +25 -0
- package/src/di/application.ts +126 -0
- package/src/di/container.ts +60 -0
- package/src/di/errors.ts +59 -0
- package/src/di/index.ts +6 -0
- package/src/di/preset.ts +32 -0
- package/src/di/token.ts +41 -0
- package/src/di/types.ts +105 -0
- package/src/http/__test__/errors.test.ts +35 -0
- package/src/http/errors.ts +42 -0
- package/src/http/index.ts +14 -0
- package/src/http/types.ts +8 -0
- package/src/log/__test__/errors.test.ts +13 -0
- package/src/log/__test__/logger.test.ts +24 -0
- package/src/log/errors.ts +33 -0
- package/src/log/handler/pino.ts +27 -0
- package/src/log/handler/sentry.ts +57 -0
- package/src/log/index.ts +12 -0
- package/src/log/logger.ts +30 -0
- package/src/log/types.ts +76 -0
- package/src/preset/isomorphic/constants.ts +7 -0
- package/src/preset/isomorphic/index.ts +7 -0
- package/src/preset/isomorphic/providers/index.ts +40 -0
- package/src/preset/isomorphic/types.ts +37 -0
- package/src/preset/isomorphic/utils/__test__/index.test.ts +541 -0
- package/src/preset/isomorphic/utils/index.ts +349 -0
- package/src/preset/node/handler/index.ts +46 -0
- package/src/preset/node/handler/providers/index.tsx +214 -0
- package/src/preset/node/handler/utils/index.tsx +110 -0
- package/src/preset/node/index.ts +3 -0
- package/src/preset/node/node/index.ts +73 -0
- package/src/preset/node/node/providers/index.ts +434 -0
- package/src/preset/node/node/utils/http-client/__test__/index.test.ts +232 -0
- package/src/preset/node/node/utils/http-client/index.ts +129 -0
- package/src/preset/node/node/utils/http-server/index.ts +17 -0
- package/src/preset/node/node/utils/index.ts +2 -0
- package/src/preset/node/types.ts +10 -0
- package/src/preset/web/index.ts +40 -0
- package/src/preset/web/providers/index.ts +108 -0
- package/src/tokens.ts +108 -0
- package/src/utils/axios/index.ts +12 -0
- package/src/utils/axios/middleware/__test__/cookie.test.ts +94 -0
- package/src/utils/axios/middleware/__test__/log.test.ts +121 -0
- package/src/utils/axios/middleware/cookie.ts +26 -0
- package/src/utils/axios/middleware/log.ts +52 -0
- package/src/utils/axios/sauce/index.ts +76 -0
- package/src/utils/axios/utils/__test__/index.test.ts +89 -0
- package/src/utils/axios/utils/index.ts +26 -0
- package/src/utils/express/handler/health-check.ts +13 -0
- package/src/utils/express/index.ts +2 -0
- package/src/utils/express/utils/index.ts +18 -0
- package/src/utils/function.ts +57 -0
- package/src/utils/index.ts +2 -0
- package/src/utils/math.ts +8 -0
- package/src/utils/react/error-handlers/__test__/__snapshots__/index.test.tsx.snap +27 -0
- package/src/utils/react/error-handlers/__test__/index.test.tsx +63 -0
- package/src/utils/react/error-handlers/index.tsx +68 -0
- package/src/utils/react/index.ts +3 -0
- package/src/utils/redux/__test__/remote-data.test.ts +172 -0
- package/src/utils/redux/index.ts +4 -0
- package/src/utils/redux/remote-data.ts +138 -0
- package/src/utils/redux-saga/__test__/take-chain.test.ts +141 -0
- package/src/utils/redux-saga/index.ts +3 -0
- package/src/utils/redux-saga/middleware.ts +168 -0
- package/src/utils/redux-saga/take-chain.ts +67 -0
- package/src/utils/redux-saga/types.ts +43 -0
- package/src/utils/ssr/index.tsx +78 -0
- package/src/utils/web/analytics/__test__/data-layer.test.ts +50 -0
- package/src/utils/web/analytics/__test__/oko.test.ts +50 -0
- package/src/utils/web/analytics/data-layer.ts +12 -0
- package/src/utils/web/analytics/index.ts +2 -0
- package/src/utils/web/analytics/oko.ts +14 -0
- package/src/utils/web/storage/index.ts +84 -0
- package/src/utils/webpack/env/index.ts +91 -0
- package/src/utils/webpack/env/types.ts +14 -0
- package/src/utils/webpack/env/utils.ts +53 -0
- package/src/utils/webpack/index.ts +7 -0
- package/src/utils/webpack/module-federation/__test__/__snapshots__/utils.test.ts.snap +124 -0
- package/src/utils/webpack/module-federation/__test__/index.test.ts +311 -0
- package/src/utils/webpack/module-federation/__test__/utils.test.ts +28 -0
- package/src/utils/webpack/module-federation/index.ts +102 -0
- package/src/utils/webpack/module-federation/types.ts +54 -0
- package/src/utils/webpack/module-federation/utils.ts +104 -0
- package/cache/types.js +0 -3
- package/cache/types.js.map +0 -1
- package/config/base.js +0 -20
- package/config/base.js.map +0 -1
- package/config/index.js +0 -8
- package/config/index.js.map +0 -1
- package/config/source.js +0 -21
- package/config/source.js.map +0 -1
- package/config/types.js +0 -3
- package/config/types.js.map +0 -1
- package/di/application.js +0 -88
- package/di/application.js.map +0 -1
- package/di/container.js +0 -52
- package/di/container.js.map +0 -1
- package/di/errors.js +0 -59
- package/di/errors.js.map +0 -1
- package/di/index.js +0 -17
- package/di/index.js.map +0 -1
- package/di/preset.js +0 -27
- package/di/preset.js.map +0 -1
- package/di/token.js +0 -39
- package/di/token.js.map +0 -1
- package/di/types.js +0 -3
- package/di/types.js.map +0 -1
- package/http/errors.js +0 -42
- package/http/errors.js.map +0 -1
- package/http/index.js +0 -16
- package/http/index.js.map +0 -1
- package/http/types.js +0 -3
- package/http/types.js.map +0 -1
- package/log/errors.js +0 -31
- package/log/errors.js.map +0 -1
- package/log/handler/pino.js +0 -29
- package/log/handler/pino.js.map +0 -1
- package/log/handler/sentry.js +0 -50
- package/log/handler/sentry.js.map +0 -1
- package/log/index.d.ts +0 -3
- package/log/index.js +0 -9
- package/log/index.js.map +0 -1
- package/log/logger.js +0 -29
- package/log/logger.js.map +0 -1
- package/log/types.js +0 -3
- package/log/types.js.map +0 -1
- package/preset/isomorphic/constants.js +0 -11
- package/preset/isomorphic/constants.js.map +0 -1
- package/preset/isomorphic/providers/index.js.map +0 -1
- package/preset/isomorphic/types.js +0 -3
- package/preset/isomorphic/types.js.map +0 -1
- package/preset/isomorphic/utils/index.js +0 -289
- package/preset/isomorphic/utils/index.js.map +0 -1
- package/preset/node/handler/index.js +0 -38
- package/preset/node/handler/index.js.map +0 -1
- package/preset/node/handler/providers/index.js +0 -184
- package/preset/node/handler/providers/index.js.map +0 -1
- package/preset/node/handler/utils/index.js +0 -81
- package/preset/node/handler/utils/index.js.map +0 -1
- package/preset/node/index.js +0 -9
- package/preset/node/index.js.map +0 -1
- package/preset/node/node/index.js +0 -49
- package/preset/node/node/index.js.map +0 -1
- package/preset/node/node/providers/index.js +0 -392
- package/preset/node/node/providers/index.js.map +0 -1
- package/preset/node/node/utils/http-client/index.js +0 -109
- package/preset/node/node/utils/http-client/index.js.map +0 -1
- package/preset/node/node/utils/http-server/index.js +0 -21
- package/preset/node/node/utils/http-server/index.js.map +0 -1
- package/preset/web/index.js +0 -30
- package/preset/web/index.js.map +0 -1
- package/preset/web/providers/index.js +0 -88
- package/preset/web/providers/index.js.map +0 -1
- package/tokens.js +0 -81
- package/tokens.js.map +0 -1
- package/utils/axios/index.js +0 -13
- package/utils/axios/index.js.map +0 -1
- package/utils/axios/middleware/cookie.js +0 -26
- package/utils/axios/middleware/cookie.js.map +0 -1
- package/utils/axios/middleware/log.js +0 -26
- package/utils/axios/middleware/log.js.map +0 -1
- package/utils/axios/sauce/index.js +0 -50
- package/utils/axios/sauce/index.js.map +0 -1
- package/utils/axios/utils/index.js.map +0 -1
- package/utils/express/handler/health-check.js.map +0 -1
- package/utils/express/index.js +0 -8
- package/utils/express/index.js.map +0 -1
- package/utils/express/utils/index.js +0 -20
- package/utils/express/utils/index.js.map +0 -1
- package/utils/function.js +0 -23
- package/utils/function.js.map +0 -1
- package/utils/number.js.map +0 -1
- package/utils/react/error-handlers/index.js +0 -47
- package/utils/react/error-handlers/index.js.map +0 -1
- package/utils/react/index.js +0 -7
- package/utils/react/index.js.map +0 -1
- package/utils/redux/index.js +0 -7
- package/utils/redux/index.js.map +0 -1
- package/utils/redux/remote-data.js +0 -91
- package/utils/redux/remote-data.js.map +0 -1
- package/utils/redux-saga/index.js +0 -8
- package/utils/redux-saga/index.js.map +0 -1
- package/utils/redux-saga/middleware.js +0 -142
- package/utils/redux-saga/middleware.js.map +0 -1
- package/utils/redux-saga/take-chain.js +0 -58
- package/utils/redux-saga/take-chain.js.map +0 -1
- package/utils/redux-saga/types.js +0 -3
- package/utils/redux-saga/types.js.map +0 -1
- package/utils/ssr/index.js +0 -54
- package/utils/ssr/index.js.map +0 -1
- package/utils/web/analytics/data-layer.js +0 -16
- package/utils/web/analytics/data-layer.js.map +0 -1
- package/utils/web/analytics/oko.js +0 -16
- package/utils/web/analytics/oko.js.map +0 -1
- package/utils/web/storage/index.js +0 -69
- package/utils/web/storage/index.js.map +0 -1
- package/utils/webpack/env/index.js +0 -76
- package/utils/webpack/env/index.js.map +0 -1
- package/utils/webpack/env/types.js +0 -3
- package/utils/webpack/env/types.js.map +0 -1
- package/utils/webpack/env/utils.js +0 -52
- package/utils/webpack/env/utils.js.map +0 -1
- package/utils/webpack/index.js +0 -8
- package/utils/webpack/index.js.map +0 -1
- package/utils/webpack/module-federation/index.js +0 -81
- package/utils/webpack/module-federation/index.js.map +0 -1
- package/utils/webpack/module-federation/types.js +0 -3
- package/utils/webpack/module-federation/types.js.map +0 -1
- package/utils/webpack/module-federation/utils.js.map +0 -1
- /package/{cache → dist/types/cache}/types.d.ts +0 -0
- /package/{config → dist/types/config}/base.d.ts +0 -0
- /package/{config → dist/types/config}/index.d.ts +0 -0
- /package/{config → dist/types/config}/source.d.ts +0 -0
- /package/{config → dist/types/config}/types.d.ts +0 -0
- /package/{di → dist/types/di}/application.d.ts +0 -0
- /package/{di → dist/types/di}/container.d.ts +0 -0
- /package/{di → dist/types/di}/errors.d.ts +0 -0
- /package/{di → dist/types/di}/index.d.ts +0 -0
- /package/{di → dist/types/di}/preset.d.ts +0 -0
- /package/{di → dist/types/di}/token.d.ts +0 -0
- /package/{di → dist/types/di}/types.d.ts +0 -0
- /package/{http → dist/types/http}/errors.d.ts +0 -0
- /package/{http → dist/types/http}/index.d.ts +0 -0
- /package/{http → dist/types/http}/types.d.ts +0 -0
- /package/{log → dist/types/log}/errors.d.ts +0 -0
- /package/{log → dist/types/log}/handler/pino.d.ts +0 -0
- /package/{log → dist/types/log}/handler/sentry.d.ts +0 -0
- /package/{log → dist/types/log}/logger.d.ts +0 -0
- /package/{log → dist/types/log}/types.d.ts +0 -0
- /package/{preset → dist/types/preset}/isomorphic/constants.d.ts +0 -0
- /package/{preset → dist/types/preset}/isomorphic/providers/index.d.ts +0 -0
- /package/{preset → dist/types/preset}/isomorphic/utils/index.d.ts +0 -0
- /package/{preset → dist/types/preset}/node/handler/index.d.ts +0 -0
- /package/{preset → dist/types/preset}/node/handler/providers/index.d.ts +0 -0
- /package/{preset → dist/types/preset}/node/handler/utils/index.d.ts +0 -0
- /package/{preset → dist/types/preset}/node/node/index.d.ts +0 -0
- /package/{preset → dist/types/preset}/node/node/providers/index.d.ts +0 -0
- /package/{preset → dist/types/preset}/node/node/utils/http-client/index.d.ts +0 -0
- /package/{preset → dist/types/preset}/node/node/utils/http-server/index.d.ts +0 -0
- /package/{preset → dist/types/preset}/web/index.d.ts +0 -0
- /package/{preset → dist/types/preset}/web/providers/index.d.ts +0 -0
- /package/{utils → dist/types/utils}/axios/index.d.ts +0 -0
- /package/{utils → dist/types/utils}/axios/middleware/cookie.d.ts +0 -0
- /package/{utils → dist/types/utils}/axios/middleware/log.d.ts +0 -0
- /package/{utils → dist/types/utils}/axios/utils/index.d.ts +0 -0
- /package/{utils → dist/types/utils}/express/handler/health-check.d.ts +0 -0
- /package/{utils → dist/types/utils}/express/index.d.ts +0 -0
- /package/{utils → dist/types/utils}/express/utils/index.d.ts +0 -0
- /package/{utils → dist/types/utils}/function.d.ts +0 -0
- /package/{utils/number.d.ts → dist/types/utils/math.d.ts} +0 -0
- /package/{utils → dist/types/utils}/react/error-handlers/index.d.ts +0 -0
- /package/{utils → dist/types/utils}/react/index.d.ts +0 -0
- /package/{utils → dist/types/utils}/redux/index.d.ts +0 -0
- /package/{utils → dist/types/utils}/redux-saga/index.d.ts +0 -0
- /package/{utils → dist/types/utils}/redux-saga/middleware.d.ts +0 -0
- /package/{utils → dist/types/utils}/redux-saga/take-chain.d.ts +0 -0
- /package/{utils → dist/types/utils}/redux-saga/types.d.ts +0 -0
- /package/{utils → dist/types/utils}/web/analytics/data-layer.d.ts +0 -0
- /package/{utils → dist/types/utils}/web/analytics/oko.d.ts +0 -0
- /package/{utils → dist/types/utils}/web/storage/index.d.ts +0 -0
- /package/{utils → dist/types/utils}/webpack/env/index.d.ts +0 -0
- /package/{utils → dist/types/utils}/webpack/env/types.d.ts +0 -0
- /package/{utils → dist/types/utils}/webpack/env/utils.d.ts +0 -0
- /package/{utils → dist/types/utils}/webpack/index.d.ts +0 -0
- /package/{utils → dist/types/utils}/webpack/module-federation/types.d.ts +0 -0
- /package/{utils → dist/types/utils}/webpack/module-federation/utils.d.ts +0 -0
|
@@ -1,392 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.provideMetricsHttpApp = exports.provideKnownHttpApiHosts = exports.provideSsrBridgeServerSide = exports.provideHttpServerErrorMiddleware = exports.provideHttpServerTracingMiddleware = exports.provideHttpServerMetricsMiddleware = exports.provideHttpServerLogMiddleware = exports.provideHttpServerRequestMiddleware = exports.provideHttpServerFactory = exports.provideHttpClientFactory = exports.provideTracerProviderResource = exports.provideTracerProvider = exports.provideSpanExporter = exports.provideTracer = exports.providePinoHandler = exports.provideSentryHandler = exports.provideLogger = exports.provideConfigSource = void 0;
|
|
30
|
-
const ssr_1 = require("../../../../utils/ssr");
|
|
31
|
-
const config_1 = require("../../../../config");
|
|
32
|
-
const log_1 = require("../../../../log");
|
|
33
|
-
const pino_1 = require("../../../../log/handler/pino");
|
|
34
|
-
const sentry_1 = require("../../../../log/handler/sentry");
|
|
35
|
-
const utils_1 = require("../../../isomorphic/utils");
|
|
36
|
-
const tokens_1 = require("../../../../tokens");
|
|
37
|
-
const number_1 = require("../../../../utils/number");
|
|
38
|
-
const constants_1 = require("../../../isomorphic/constants");
|
|
39
|
-
const http_server_1 = require("../utils/http-server");
|
|
40
|
-
// Node.js specific packages
|
|
41
|
-
const node_os_1 = __importDefault(require("node:os"));
|
|
42
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
43
|
-
// Node.js libraries (not isomorphic)
|
|
44
|
-
const dotenv_1 = require("dotenv");
|
|
45
|
-
const node_1 = require("@sentry/node");
|
|
46
|
-
const PromClient = __importStar(require("prom-client"));
|
|
47
|
-
const express_1 = __importDefault(require("express"));
|
|
48
|
-
const pino_2 = __importDefault(require("pino"));
|
|
49
|
-
const pino_pretty_1 = __importDefault(require("pino-pretty"));
|
|
50
|
-
// opentelemetry
|
|
51
|
-
const api_1 = require("@opentelemetry/api");
|
|
52
|
-
const sdk_trace_base_1 = require("@opentelemetry/sdk-trace-base");
|
|
53
|
-
const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-http");
|
|
54
|
-
const propagator_jaeger_1 = require("@opentelemetry/propagator-jaeger");
|
|
55
|
-
const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
|
|
56
|
-
const resources_1 = require("@opentelemetry/resources");
|
|
57
|
-
const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
|
|
58
|
-
const middleware_axios_1 = require("middleware-axios");
|
|
59
|
-
/**
|
|
60
|
-
* Провайдер источника конфигурации.
|
|
61
|
-
* @return Источник конфигурации.
|
|
62
|
-
*/
|
|
63
|
-
function provideConfigSource() {
|
|
64
|
-
const envName = process.env.NODE_ENV;
|
|
65
|
-
// подключаем соответствующий среде файл со значениями по умолчанию
|
|
66
|
-
if (envName) {
|
|
67
|
-
(0, dotenv_1.config)({ path: node_path_1.default.resolve(process.cwd(), `./.env.${envName}`) });
|
|
68
|
-
}
|
|
69
|
-
return (0, config_1.createConfigSource)(process.env);
|
|
70
|
-
}
|
|
71
|
-
exports.provideConfigSource = provideConfigSource;
|
|
72
|
-
/**
|
|
73
|
-
* Провайдер Logger'а.
|
|
74
|
-
* @param resolve Функция для получения зависимости по токену.
|
|
75
|
-
* @return Logger.
|
|
76
|
-
*/
|
|
77
|
-
function provideLogger(resolve) {
|
|
78
|
-
const logger = (0, log_1.createLogger)();
|
|
79
|
-
// @todo возможно надо придумать как не давать вызывать провайдеры внутри провайдеров
|
|
80
|
-
logger.subscribe(providePinoHandler(resolve));
|
|
81
|
-
logger.subscribe(provideSentryHandler(resolve));
|
|
82
|
-
return logger;
|
|
83
|
-
}
|
|
84
|
-
exports.provideLogger = provideLogger;
|
|
85
|
-
/**
|
|
86
|
-
* Провайдер обработчика логирования для Sentry.
|
|
87
|
-
* @param resolve Функция для получения зависимости по токену.
|
|
88
|
-
* @return Обработчик.
|
|
89
|
-
*/
|
|
90
|
-
function provideSentryHandler(resolve) {
|
|
91
|
-
const source = resolve(tokens_1.KnownToken.Config.source);
|
|
92
|
-
// экспериментально пробуем не использовать вручную созданный клиент
|
|
93
|
-
(0, node_1.init)({
|
|
94
|
-
dsn: source.require('SENTRY_DSN'),
|
|
95
|
-
release: source.require('SENTRY_RELEASE'),
|
|
96
|
-
environment: source.require('SENTRY_ENVIRONMENT'),
|
|
97
|
-
});
|
|
98
|
-
// ВАЖНО: передаем функцию чтобы брать текущий hub в момент вызова метода logger'а
|
|
99
|
-
// это нужно чтобы хлебные крошки в ошибках Sentry группировались по запросам
|
|
100
|
-
return (0, sentry_1.createSentryHandler)(node_1.getCurrentHub);
|
|
101
|
-
}
|
|
102
|
-
exports.provideSentryHandler = provideSentryHandler;
|
|
103
|
-
/**
|
|
104
|
-
* Провайдер обработчика логирования для Pino.
|
|
105
|
-
* @param resolve Функция для получения зависимости по токену.
|
|
106
|
-
* @return Обработчик.
|
|
107
|
-
*/
|
|
108
|
-
function providePinoHandler(resolve) {
|
|
109
|
-
const config = resolve(tokens_1.KnownToken.Config.base);
|
|
110
|
-
const pinoLogger = (0, pino_2.default)(config.env === 'production'
|
|
111
|
-
? {
|
|
112
|
-
formatters: {
|
|
113
|
-
// ВАЖНО: для Fluent необходимо наличие поля level: string
|
|
114
|
-
level: label => ({ level: label }),
|
|
115
|
-
},
|
|
116
|
-
}
|
|
117
|
-
: (0, pino_pretty_1.default)({
|
|
118
|
-
colorize: true,
|
|
119
|
-
translateTime: 'yyyy-mm-dd HH:MM:ss.l o',
|
|
120
|
-
}));
|
|
121
|
-
return (0, pino_1.createPinoHandler)(pinoLogger);
|
|
122
|
-
}
|
|
123
|
-
exports.providePinoHandler = providePinoHandler;
|
|
124
|
-
/**
|
|
125
|
-
* Провайдер объекта Tracer.
|
|
126
|
-
* @param resolve Функция для получения зависимости по токену.
|
|
127
|
-
* @return Tracer.
|
|
128
|
-
*/
|
|
129
|
-
function provideTracer(resolve) {
|
|
130
|
-
const config = resolve(tokens_1.KnownToken.Config.base);
|
|
131
|
-
const provider = resolve(tokens_1.KnownToken.Tracing.tracerProvider);
|
|
132
|
-
return provider.getTracer(config.appName, config.appVersion);
|
|
133
|
-
}
|
|
134
|
-
exports.provideTracer = provideTracer;
|
|
135
|
-
/**
|
|
136
|
-
* Провайдер объекта SpanExporter.
|
|
137
|
-
* @param resolve Функция для получения зависимости по токену.
|
|
138
|
-
* @return SpanExporter.
|
|
139
|
-
*/
|
|
140
|
-
function provideSpanExporter(resolve) {
|
|
141
|
-
const source = resolve(tokens_1.KnownToken.Config.source);
|
|
142
|
-
return new exporter_trace_otlp_http_1.OTLPTraceExporter({
|
|
143
|
-
url: source.require('JAEGER_AGENT_URL'),
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
exports.provideSpanExporter = provideSpanExporter;
|
|
147
|
-
/**
|
|
148
|
-
* Провайдер объекта BasicTracerProvider.
|
|
149
|
-
* @param resolve Функция для получения зависимости по токену.
|
|
150
|
-
* @return BasicTracerProvider.
|
|
151
|
-
*/
|
|
152
|
-
function provideTracerProvider(resolve) {
|
|
153
|
-
const exporter = resolve(tokens_1.KnownToken.Tracing.spanExporter);
|
|
154
|
-
const resource = resolve(tokens_1.KnownToken.Tracing.tracerProviderResource);
|
|
155
|
-
const provider = new sdk_trace_node_1.NodeTracerProvider({ resource });
|
|
156
|
-
provider.addSpanProcessor(new sdk_trace_base_1.BatchSpanProcessor(exporter));
|
|
157
|
-
provider.register({ propagator: new propagator_jaeger_1.JaegerPropagator() });
|
|
158
|
-
return provider;
|
|
159
|
-
}
|
|
160
|
-
exports.provideTracerProvider = provideTracerProvider;
|
|
161
|
-
/**
|
|
162
|
-
* Провайдер объекта Resource.
|
|
163
|
-
* @param resolve Функция для получения зависимости по токену.
|
|
164
|
-
* @return Resource.
|
|
165
|
-
*/
|
|
166
|
-
function provideTracerProviderResource(resolve) {
|
|
167
|
-
const config = resolve(tokens_1.KnownToken.Config.base);
|
|
168
|
-
return new resources_1.Resource({
|
|
169
|
-
[semantic_conventions_1.SemanticResourceAttributes.HOST_NAME]: node_os_1.default.hostname(),
|
|
170
|
-
[semantic_conventions_1.SemanticResourceAttributes.SERVICE_NAME]: config.appName,
|
|
171
|
-
[semantic_conventions_1.SemanticResourceAttributes.SERVICE_VERSION]: config.appVersion,
|
|
172
|
-
[semantic_conventions_1.SemanticResourceAttributes.DEPLOYMENT_ENVIRONMENT]: config.env,
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
exports.provideTracerProviderResource = provideTracerProviderResource;
|
|
176
|
-
/**
|
|
177
|
-
* Провайдер фабрики http-клиентов.
|
|
178
|
-
* @return Фабрика.
|
|
179
|
-
*/
|
|
180
|
-
function provideHttpClientFactory() {
|
|
181
|
-
return middleware_axios_1.create;
|
|
182
|
-
}
|
|
183
|
-
exports.provideHttpClientFactory = provideHttpClientFactory;
|
|
184
|
-
/**
|
|
185
|
-
* Провайдер фабрики http-серверов.
|
|
186
|
-
* @return Фабрика.
|
|
187
|
-
*/
|
|
188
|
-
function provideHttpServerFactory() {
|
|
189
|
-
return express_1.default;
|
|
190
|
-
}
|
|
191
|
-
exports.provideHttpServerFactory = provideHttpServerFactory;
|
|
192
|
-
/**
|
|
193
|
-
* Провайдер промежуточного слоя учета входящих http-запросов.
|
|
194
|
-
* @return Промежуточный слой.
|
|
195
|
-
*/
|
|
196
|
-
function provideHttpServerRequestMiddleware() {
|
|
197
|
-
return node_1.Handlers.requestHandler();
|
|
198
|
-
}
|
|
199
|
-
exports.provideHttpServerRequestMiddleware = provideHttpServerRequestMiddleware;
|
|
200
|
-
/**
|
|
201
|
-
* Провайдер промежуточного слоя логирования входящих http-запросов.
|
|
202
|
-
* @param resolve Функция для получения зависимости по токену.
|
|
203
|
-
* @return Промежуточный слой.
|
|
204
|
-
*/
|
|
205
|
-
function provideHttpServerLogMiddleware(resolve) {
|
|
206
|
-
const config = resolve(tokens_1.KnownToken.Config.base);
|
|
207
|
-
const logger = resolve(tokens_1.KnownToken.logger);
|
|
208
|
-
return (req, res, next) => {
|
|
209
|
-
const start = process.hrtime.bigint();
|
|
210
|
-
const remoteIp = (0, http_server_1.getClientIp)(req) ?? '';
|
|
211
|
-
const startMsg = {
|
|
212
|
-
type: 'http.request[incoming]',
|
|
213
|
-
version: config.appVersion,
|
|
214
|
-
route: req.originalUrl,
|
|
215
|
-
method: req.method,
|
|
216
|
-
remote_ip: remoteIp,
|
|
217
|
-
};
|
|
218
|
-
logger.info(startMsg);
|
|
219
|
-
res.once('finish', () => {
|
|
220
|
-
const finish = process.hrtime.bigint();
|
|
221
|
-
const finishMsg = {
|
|
222
|
-
type: 'http.response[outgoing]',
|
|
223
|
-
version: config.appVersion,
|
|
224
|
-
route: req.originalUrl,
|
|
225
|
-
method: req.method,
|
|
226
|
-
status: res.statusCode,
|
|
227
|
-
remote_ip: remoteIp,
|
|
228
|
-
latency: (0, number_1.toMilliseconds)(finish - start),
|
|
229
|
-
};
|
|
230
|
-
logger.info(finishMsg);
|
|
231
|
-
});
|
|
232
|
-
next();
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
exports.provideHttpServerLogMiddleware = provideHttpServerLogMiddleware;
|
|
236
|
-
/**
|
|
237
|
-
* Провайдер промежуточного слоя сбора метрик входящих http-запросов.
|
|
238
|
-
* @param resolve Функция для получения зависимости по токену.
|
|
239
|
-
* @return Промежуточный слой.
|
|
240
|
-
*/
|
|
241
|
-
function provideHttpServerMetricsMiddleware(resolve) {
|
|
242
|
-
const config = resolve(tokens_1.KnownToken.Config.base);
|
|
243
|
-
const ConventionalLabels = {
|
|
244
|
-
HTTP_RESPONSE: ['version', 'route', 'code', 'method'],
|
|
245
|
-
SSR: ['version', 'route', 'method'],
|
|
246
|
-
};
|
|
247
|
-
const requestCount = new PromClient.Counter({
|
|
248
|
-
name: 'http_request_count',
|
|
249
|
-
help: 'Incoming HTTP request count',
|
|
250
|
-
labelNames: ConventionalLabels.HTTP_RESPONSE,
|
|
251
|
-
});
|
|
252
|
-
const responseDuration = new PromClient.Histogram({
|
|
253
|
-
name: 'http_response_duration_ms',
|
|
254
|
-
help: 'Duration of incoming HTTP requests in ms',
|
|
255
|
-
labelNames: ConventionalLabels.HTTP_RESPONSE,
|
|
256
|
-
buckets: [30, 100, 200, 500, 1000, 2500, 5000, 10000],
|
|
257
|
-
});
|
|
258
|
-
const renderDuration = new PromClient.Histogram({
|
|
259
|
-
name: 'render_duration_ms',
|
|
260
|
-
help: 'Duration of SSR ms',
|
|
261
|
-
labelNames: ConventionalLabels.SSR,
|
|
262
|
-
buckets: [0.1, 15, 50, 100, 250, 500, 800, 1500],
|
|
263
|
-
});
|
|
264
|
-
/**
|
|
265
|
-
* Функция формирования labels.
|
|
266
|
-
* @param req Request.
|
|
267
|
-
* @param res Response.
|
|
268
|
-
* @return Labels.
|
|
269
|
-
*/
|
|
270
|
-
const getLabels = (req, res) => ({
|
|
271
|
-
version: config.appVersion,
|
|
272
|
-
route: req.baseUrl + req.path,
|
|
273
|
-
code: res.statusCode,
|
|
274
|
-
method: req.method,
|
|
275
|
-
});
|
|
276
|
-
return (req, res, next) => {
|
|
277
|
-
const responseStart = process.hrtime.bigint();
|
|
278
|
-
requestCount.inc(getLabels(req, res), 1);
|
|
279
|
-
res.once(constants_1.RESPONSE_EVENT_TYPE.renderStart, () => {
|
|
280
|
-
const renderStart = process.hrtime.bigint();
|
|
281
|
-
res.once(constants_1.RESPONSE_EVENT_TYPE.renderFinish, () => {
|
|
282
|
-
const renderFinish = process.hrtime.bigint();
|
|
283
|
-
renderDuration.observe({
|
|
284
|
-
version: config.appVersion,
|
|
285
|
-
method: req.method,
|
|
286
|
-
route: req.baseUrl + req.path,
|
|
287
|
-
}, (0, number_1.toMilliseconds)(renderStart - renderFinish));
|
|
288
|
-
});
|
|
289
|
-
});
|
|
290
|
-
res.once('finish', () => {
|
|
291
|
-
const responseFinish = process.hrtime.bigint();
|
|
292
|
-
responseDuration.observe(getLabels(req, res), (0, number_1.toMilliseconds)(responseFinish - responseStart));
|
|
293
|
-
});
|
|
294
|
-
next();
|
|
295
|
-
};
|
|
296
|
-
}
|
|
297
|
-
exports.provideHttpServerMetricsMiddleware = provideHttpServerMetricsMiddleware;
|
|
298
|
-
/**
|
|
299
|
-
* Провайдер промежуточного слоя трассировки входящих http-запросов.
|
|
300
|
-
* @param resolve Функция для получения зависимости по токену.
|
|
301
|
-
* @return Промежуточный слой.
|
|
302
|
-
*/
|
|
303
|
-
function provideHttpServerTracingMiddleware(resolve) {
|
|
304
|
-
const tracer = resolve(tokens_1.KnownToken.Tracing.tracer);
|
|
305
|
-
/**
|
|
306
|
-
* Возвращает набор стандартных атрибутов для спана.
|
|
307
|
-
* @param req Входящий http-запрос.
|
|
308
|
-
* @return Атрибуты.
|
|
309
|
-
*/
|
|
310
|
-
const getConventionalRequestAttrs = (req) => {
|
|
311
|
-
const result = {
|
|
312
|
-
'request.path': req.originalUrl,
|
|
313
|
-
};
|
|
314
|
-
for (const headerName in req.headers) {
|
|
315
|
-
if (headerName.toLowerCase().startsWith('simaland-')) {
|
|
316
|
-
result[headerName] = req.header(headerName);
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
return result;
|
|
320
|
-
};
|
|
321
|
-
return (req, res, next) => {
|
|
322
|
-
const externalContext = api_1.propagation.extract(api_1.ROOT_CONTEXT, req.headers);
|
|
323
|
-
const rootSpan = tracer.startSpan('response', undefined, externalContext);
|
|
324
|
-
rootSpan.setAttributes(getConventionalRequestAttrs(req));
|
|
325
|
-
const rootContext = api_1.trace.setSpan(externalContext, rootSpan);
|
|
326
|
-
res.locals.tracing = {
|
|
327
|
-
rootSpan,
|
|
328
|
-
rootContext,
|
|
329
|
-
renderSpan: null,
|
|
330
|
-
};
|
|
331
|
-
res.once(constants_1.RESPONSE_EVENT_TYPE.renderStart, () => {
|
|
332
|
-
res.locals.tracing.renderSpan = tracer.startSpan('render', undefined, rootContext);
|
|
333
|
-
res.once(constants_1.RESPONSE_EVENT_TYPE.renderFinish, () => {
|
|
334
|
-
res.locals.tracing.renderSpan.end();
|
|
335
|
-
});
|
|
336
|
-
});
|
|
337
|
-
res.once('finish', () => {
|
|
338
|
-
rootSpan.end();
|
|
339
|
-
});
|
|
340
|
-
next();
|
|
341
|
-
};
|
|
342
|
-
}
|
|
343
|
-
exports.provideHttpServerTracingMiddleware = provideHttpServerTracingMiddleware;
|
|
344
|
-
/**
|
|
345
|
-
* Провайдер промежуточного слоя обработки ошибок в рамках ответ на http-запросы.
|
|
346
|
-
* @return Промежуточный слой.
|
|
347
|
-
*/
|
|
348
|
-
function provideHttpServerErrorMiddleware() {
|
|
349
|
-
return node_1.Handlers.errorHandler();
|
|
350
|
-
}
|
|
351
|
-
exports.provideHttpServerErrorMiddleware = provideHttpServerErrorMiddleware;
|
|
352
|
-
/**
|
|
353
|
-
* Провайдер серверной части "моста" для передачи данных между сервером и клиентом.
|
|
354
|
-
* @param resolve Функция для получения зависимости по токену.
|
|
355
|
-
* @return Серверная часть "моста".
|
|
356
|
-
*/
|
|
357
|
-
function provideSsrBridgeServerSide(resolve) {
|
|
358
|
-
const config = resolve(tokens_1.KnownToken.Config.base);
|
|
359
|
-
return ssr_1.SsrBridge.prepare(config.appName);
|
|
360
|
-
}
|
|
361
|
-
exports.provideSsrBridgeServerSide = provideSsrBridgeServerSide;
|
|
362
|
-
/**
|
|
363
|
-
* Провайдер известных http-хостов.
|
|
364
|
-
* @param resolve Функция для получения зависимости по токену.
|
|
365
|
-
* @return Пул известных http-хостов.
|
|
366
|
-
*/
|
|
367
|
-
function provideKnownHttpApiHosts(resolve) {
|
|
368
|
-
const source = resolve(tokens_1.KnownToken.Config.source);
|
|
369
|
-
return new utils_1.HttpApiHostPool({
|
|
370
|
-
ilium: 'API_URL_ILIUM',
|
|
371
|
-
simaV3: 'API_URL_SIMALAND_V3',
|
|
372
|
-
simaV4: 'API_URL_SIMALAND_V4',
|
|
373
|
-
simaV6: 'API_URL_SIMALAND_V6',
|
|
374
|
-
}, source);
|
|
375
|
-
}
|
|
376
|
-
exports.provideKnownHttpApiHosts = provideKnownHttpApiHosts;
|
|
377
|
-
/**
|
|
378
|
-
* Провайдер express-приложения метрик.
|
|
379
|
-
* @return Пул известных http-хостов.
|
|
380
|
-
*/
|
|
381
|
-
function provideMetricsHttpApp() {
|
|
382
|
-
PromClient.collectDefaultMetrics();
|
|
383
|
-
const app = (0, express_1.default)();
|
|
384
|
-
app.get('/', async function (req, res) {
|
|
385
|
-
const metrics = await PromClient.register.metrics();
|
|
386
|
-
res.setHeader('Content-Type', PromClient.register.contentType);
|
|
387
|
-
res.send(metrics);
|
|
388
|
-
});
|
|
389
|
-
return app;
|
|
390
|
-
}
|
|
391
|
-
exports.provideMetricsHttpApp = provideMetricsHttpApp;
|
|
392
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/preset/node/node/providers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getRequestHeaders = exports.hideFirstId = exports.getRequestInfo = exports.tracingMiddleware = void 0;
|
|
4
|
-
const api_1 = require("@opentelemetry/api");
|
|
5
|
-
const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
|
|
6
|
-
const http_server_1 = require("../http-server");
|
|
7
|
-
const utils_1 = require("../../../../isomorphic/utils");
|
|
8
|
-
/**
|
|
9
|
-
* Возвращает новый middleware для трассировки исходящих запросов.
|
|
10
|
-
* @param tracer Трейсер.
|
|
11
|
-
* @param rootContext Контекст.
|
|
12
|
-
* @return Middleware.
|
|
13
|
-
*/
|
|
14
|
-
function tracingMiddleware(tracer, rootContext) {
|
|
15
|
-
return async function trace(config, next, defaults) {
|
|
16
|
-
const { method, url, foundId } = getRequestInfo(config, defaults);
|
|
17
|
-
const span = tracer.startSpan(`HTTP ${method} ${url}`, undefined, rootContext);
|
|
18
|
-
span.setAttributes({
|
|
19
|
-
[semantic_conventions_1.SemanticAttributes.HTTP_URL]: url,
|
|
20
|
-
[semantic_conventions_1.SemanticAttributes.HTTP_METHOD]: method,
|
|
21
|
-
'request.params': JSON.stringify({
|
|
22
|
-
...defaults.params,
|
|
23
|
-
...config.params,
|
|
24
|
-
}),
|
|
25
|
-
'request.headers': JSON.stringify({
|
|
26
|
-
...defaults.headers[method.toLowerCase()],
|
|
27
|
-
...config.headers,
|
|
28
|
-
}),
|
|
29
|
-
// если нашли id - добавляем в теги
|
|
30
|
-
...(foundId && { 'request.id': foundId }),
|
|
31
|
-
});
|
|
32
|
-
try {
|
|
33
|
-
await next(config);
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
span.setStatus({
|
|
37
|
-
code: api_1.SpanStatusCode.ERROR,
|
|
38
|
-
message: 'HTTP Request failed',
|
|
39
|
-
});
|
|
40
|
-
span.end();
|
|
41
|
-
// не прячем ошибку
|
|
42
|
-
throw error;
|
|
43
|
-
}
|
|
44
|
-
span.end();
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
exports.tracingMiddleware = tracingMiddleware;
|
|
48
|
-
/**
|
|
49
|
-
* Формирует базовые данные запроса.
|
|
50
|
-
* Заменяет первое найденное число в url на "{id}", возвращая его в результате.
|
|
51
|
-
* @param config Axios-конфиг запроса.
|
|
52
|
-
* @param defaults Базовый конфиг экземпляра Axios.
|
|
53
|
-
* @return Базовые данные запроса.
|
|
54
|
-
*/
|
|
55
|
-
function getRequestInfo(config, defaults) {
|
|
56
|
-
const method = (config.method || 'GET').toUpperCase();
|
|
57
|
-
const baseURL = config.baseURL || defaults.baseURL || '';
|
|
58
|
-
// ВАЖНО: абстрагируем id только в url игнорируя baseURL
|
|
59
|
-
const [url, foundId] = hideFirstId(config.url || defaults.url || '');
|
|
60
|
-
return {
|
|
61
|
-
method,
|
|
62
|
-
url: (0, utils_1.displayUrl)(baseURL, url),
|
|
63
|
-
foundId,
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
exports.getRequestInfo = getRequestInfo;
|
|
67
|
-
/**
|
|
68
|
-
* Преобразует строку вида:
|
|
69
|
-
* "/api/v2/something/123456/some-bff/123456"
|
|
70
|
-
* в строку вида:
|
|
71
|
-
* "/api/v2/something/{id}/some-bff/123456"
|
|
72
|
-
* и возвращает кортеж с этой строкой и вырезанным числом в случае если оно найдено.
|
|
73
|
-
* @param url Url.
|
|
74
|
-
* @return Кортеж со строкой и результатом поиска числа.
|
|
75
|
-
*/
|
|
76
|
-
function hideFirstId(url) {
|
|
77
|
-
const found = /\d{2,}/.exec(url);
|
|
78
|
-
return found ? [url.replace(found[0], '{id}'), Number(found[0])] : [url, undefined];
|
|
79
|
-
}
|
|
80
|
-
exports.hideFirstId = hideFirstId;
|
|
81
|
-
/**
|
|
82
|
-
* Формирует заголовки для исходящих запросов с сервера по соглашению.
|
|
83
|
-
* @param config Конфиг.
|
|
84
|
-
* @param request Входящий запрос.
|
|
85
|
-
* @return Заголовки для исходящих запросов.
|
|
86
|
-
*/
|
|
87
|
-
function getRequestHeaders(config, request) {
|
|
88
|
-
const result = {
|
|
89
|
-
'User-Agent': `simaland-${config.appName}/${config.appVersion}`,
|
|
90
|
-
};
|
|
91
|
-
const clientIp = (0, http_server_1.getClientIp)(request);
|
|
92
|
-
if (clientIp) {
|
|
93
|
-
result['X-Client-Ip'] = clientIp;
|
|
94
|
-
}
|
|
95
|
-
const cookie = request.get('cookie');
|
|
96
|
-
if (cookie) {
|
|
97
|
-
result.Cookie = cookie;
|
|
98
|
-
}
|
|
99
|
-
// добавляем специфичные заголовки
|
|
100
|
-
for (const key of Object.keys(request.headers)) {
|
|
101
|
-
const value = request.header(key);
|
|
102
|
-
if (key.toLowerCase().indexOf('simaland-') === 0 && value) {
|
|
103
|
-
result[key] = value;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
return result;
|
|
107
|
-
}
|
|
108
|
-
exports.getRequestHeaders = getRequestHeaders;
|
|
109
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/preset/node/node/utils/http-client/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getClientIp = void 0;
|
|
7
|
-
const node_net_1 = __importDefault(require("node:net"));
|
|
8
|
-
/**
|
|
9
|
-
* Определяет IP входящего запроса.
|
|
10
|
-
* @param request Входящий запрос.
|
|
11
|
-
* @return IP.
|
|
12
|
-
*/
|
|
13
|
-
function getClientIp(request) {
|
|
14
|
-
const headerValue = request.get('x-client-ip') ||
|
|
15
|
-
request.get('x-forwarded-for') ||
|
|
16
|
-
request.socket.remoteAddress ||
|
|
17
|
-
'';
|
|
18
|
-
return node_net_1.default.isIP(headerValue) ? headerValue : undefined;
|
|
19
|
-
}
|
|
20
|
-
exports.getClientIp = getClientIp;
|
|
21
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/preset/node/node/utils/http-server/index.ts"],"names":[],"mappings":";;;;;;AACA,wDAA2B;AAE3B;;;;GAIG;AACH,SAAgB,WAAW,CAAC,OAAgB;IAC1C,MAAM,WAAW,GACf,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,aAAa;QAC5B,EAAE,CAAC;IAEL,OAAO,kBAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AARD,kCAQC"}
|
package/preset/web/index.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PresetWeb = void 0;
|
|
4
|
-
const di_1 = require("../../di");
|
|
5
|
-
const tokens_1 = require("../../tokens");
|
|
6
|
-
const providers_1 = require("../isomorphic/providers");
|
|
7
|
-
const providers_2 = require("./providers");
|
|
8
|
-
/**
|
|
9
|
-
* Возвращает preset с зависимостями для frontend-микросервисов в браузере.
|
|
10
|
-
* @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.
|
|
11
|
-
* @return Preset.
|
|
12
|
-
*/
|
|
13
|
-
function PresetWeb(customize) {
|
|
14
|
-
// ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости
|
|
15
|
-
const preset = (0, di_1.createPreset)();
|
|
16
|
-
preset.set(tokens_1.KnownToken.Config.source, providers_2.provideConfigSource);
|
|
17
|
-
preset.set(tokens_1.KnownToken.Config.base, providers_1.provideBaseConfig);
|
|
18
|
-
preset.set(tokens_1.KnownToken.logger, providers_2.provideLogger);
|
|
19
|
-
preset.set(tokens_1.KnownToken.sagaMiddleware, providers_1.provideSagaMiddleware);
|
|
20
|
-
preset.set(tokens_1.KnownToken.Http.Client.factory, providers_2.provideHttpClientFactory);
|
|
21
|
-
preset.set(tokens_1.KnownToken.Http.Client.Middleware.Log.handler, providers_1.provideHttpClientLogHandler);
|
|
22
|
-
preset.set(tokens_1.KnownToken.SsrBridge.clientSide, providers_2.provideBridgeClientSide);
|
|
23
|
-
preset.set(tokens_1.KnownToken.Http.Api.knownHosts, providers_2.provideKnownHttpApiHosts);
|
|
24
|
-
if (customize) {
|
|
25
|
-
customize({ override: preset.set.bind(preset) });
|
|
26
|
-
}
|
|
27
|
-
return preset;
|
|
28
|
-
}
|
|
29
|
-
exports.PresetWeb = PresetWeb;
|
|
30
|
-
//# sourceMappingURL=index.js.map
|
package/preset/web/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/preset/web/index.ts"],"names":[],"mappings":";;;AAAA,iCAAgD;AAChD,yCAA0C;AAE1C,uDAIiC;AACjC,2CAMqB;AAErB;;;;GAIG;AACH,SAAgB,SAAS,CAAC,SAAuB;IAC/C,yFAAyF;IACzF,MAAM,MAAM,GAAG,IAAA,iBAAY,GAAE,CAAC;IAE9B,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,MAAM,CAAC,MAAM,EAAE,+BAAmB,CAAC,CAAC;IAC1D,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,MAAM,CAAC,IAAI,EAAE,6BAAiB,CAAC,CAAC;IACtD,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,MAAM,EAAE,yBAAa,CAAC,CAAC;IAC7C,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,cAAc,EAAE,iCAAqB,CAAC,CAAC;IAC7D,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,oCAAwB,CAAC,CAAC;IACrE,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,uCAA2B,CAAC,CAAC;IACvF,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,SAAS,CAAC,UAAU,EAAE,mCAAuB,CAAC,CAAC;IACrE,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,oCAAwB,CAAC,CAAC;IAErE,IAAI,SAAS,EAAE;QACb,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAClD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAlBD,8BAkBC"}
|