@sima-land/isomorph 11.0.0-alpha.45 → 11.0.0-alpha.47
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/config/source.js +2 -0
- package/dist/cjs/config/source.js.map +1 -1
- package/dist/cjs/config/types.js.map +1 -1
- package/dist/cjs/http/index.js +6 -12
- package/dist/cjs/http/index.js.map +1 -1
- package/dist/cjs/http/types.js.map +1 -1
- package/dist/cjs/log/errors.js.map +1 -1
- package/dist/cjs/package.json +4 -3
- package/dist/cjs/preset/bun/index.js +3 -2
- package/dist/cjs/preset/bun/index.js.map +1 -1
- package/dist/cjs/preset/bun/providers/serve-middleware.js +1 -1
- package/dist/cjs/preset/bun/providers/serve-middleware.js.map +1 -1
- package/dist/cjs/preset/bun-handler/index.js +0 -2
- package/dist/cjs/preset/bun-handler/index.js.map +1 -1
- package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js +1 -2
- package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js.map +1 -1
- package/dist/cjs/preset/bun-handler/providers/handler-main.js +6 -24
- package/dist/cjs/preset/bun-handler/providers/handler-main.js.map +1 -1
- package/dist/cjs/preset/node/index.js +9 -2
- package/dist/cjs/preset/node/index.js.map +1 -1
- package/dist/cjs/preset/node/providers/express-metrics-middleware.js +1 -1
- package/dist/cjs/preset/node/providers/express-metrics-middleware.js.map +1 -1
- package/dist/cjs/preset/node/providers/main-express-app.js +62 -0
- package/dist/cjs/preset/node/providers/main-express-app.js.map +1 -0
- package/dist/cjs/preset/node/providers/{metrics-http-app.js → metrics-express-app.js} +3 -3
- package/dist/cjs/preset/node/providers/metrics-express-app.js.map +1 -0
- package/dist/cjs/preset/node/types.js.map +1 -1
- package/dist/cjs/preset/{server → node}/utils/get-fetch-tracing.js +2 -2
- package/dist/cjs/preset/node/utils/get-fetch-tracing.js.map +1 -0
- package/dist/cjs/preset/node/utils/get-handler-metrics.js.map +1 -0
- package/dist/cjs/preset/node/utils/get-page-response-format.js +1 -0
- package/dist/cjs/preset/node/utils/get-page-response-format.js.map +1 -1
- package/dist/cjs/preset/{server → node}/utils/get-serve-measuring.js +1 -1
- package/dist/cjs/preset/node/utils/get-serve-measuring.js.map +1 -0
- package/dist/cjs/preset/node-handler/index.js +2 -2
- package/dist/cjs/preset/node-handler/index.js.map +1 -1
- package/dist/cjs/preset/node-handler/providers/axios-middleware.js +1 -2
- package/dist/cjs/preset/node-handler/providers/axios-middleware.js.map +1 -1
- package/dist/cjs/preset/node-handler/providers/fetch-middleware.js +2 -3
- package/dist/cjs/preset/node-handler/providers/fetch-middleware.js.map +1 -1
- package/dist/cjs/preset/node-handler/providers/handler-main.js +1 -14
- package/dist/cjs/preset/node-handler/providers/handler-main.js.map +1 -1
- package/dist/cjs/preset/server/index.js +6 -0
- package/dist/cjs/preset/server/index.js.map +1 -1
- package/dist/cjs/preset/server/providers/fetch-middleware.js.map +1 -0
- package/dist/cjs/preset/server/providers/format-page-response.js +4 -1
- package/dist/cjs/preset/server/providers/format-page-response.js.map +1 -1
- package/dist/cjs/preset/server/providers/serve.js +47 -0
- package/dist/cjs/preset/server/providers/serve.js.map +1 -0
- package/dist/cjs/preset/server/types.js.map +1 -1
- package/dist/cjs/preset/server/utils/get-forwarded-headers.js +6 -0
- package/dist/cjs/preset/server/utils/get-forwarded-headers.js.map +1 -1
- package/dist/cjs/preset/server/utils/get-page-response-format.js +1 -0
- package/dist/cjs/preset/server/utils/get-page-response-format.js.map +1 -1
- package/dist/cjs/preset/server/utils/get-serve-error-logging.js +2 -2
- package/dist/cjs/preset/server/utils/get-serve-error-logging.js.map +1 -1
- package/dist/cjs/preset/server/utils/get-serve-logging.js +3 -4
- package/dist/cjs/preset/server/utils/get-serve-logging.js.map +1 -1
- package/dist/cjs/preset/web/providers/axios-middleware.js.map +1 -1
- package/dist/cjs/tokens.js +16 -5
- package/dist/cjs/tokens.js.map +1 -1
- package/dist/cjs/utils/axios/index.js +0 -7
- package/dist/cjs/utils/axios/index.js.map +1 -1
- package/dist/cjs/utils/express/handler/health-check.js.map +1 -1
- package/dist/cjs/utils/express/utils/index.js.map +1 -1
- package/dist/esm/config/source.js +1 -0
- package/dist/esm/config/source.js.map +1 -1
- package/dist/esm/config/types.js.map +1 -1
- package/dist/esm/http/index.js +2 -2
- package/dist/esm/http/index.js.map +1 -1
- package/dist/esm/http/types.js.map +1 -1
- package/dist/esm/log/errors.js.map +1 -1
- package/dist/esm/package.json +4 -3
- package/dist/esm/preset/bun/index.js +3 -2
- package/dist/esm/preset/bun/index.js.map +1 -1
- package/dist/esm/preset/bun/providers/serve-middleware.js +1 -1
- package/dist/esm/preset/bun/providers/serve-middleware.js.map +1 -1
- package/dist/esm/preset/bun-handler/index.js +0 -2
- package/dist/esm/preset/bun-handler/index.js.map +1 -1
- package/dist/esm/preset/bun-handler/providers/fetch-middleware.js +2 -3
- package/dist/esm/preset/bun-handler/providers/fetch-middleware.js.map +1 -1
- package/dist/esm/preset/bun-handler/providers/handler-main.js +6 -24
- package/dist/esm/preset/bun-handler/providers/handler-main.js.map +1 -1
- package/dist/esm/preset/node/index.js +9 -4
- package/dist/esm/preset/node/index.js.map +1 -1
- package/dist/esm/preset/node/providers/express-metrics-middleware.js +1 -1
- package/dist/esm/preset/node/providers/express-metrics-middleware.js.map +1 -1
- package/dist/esm/preset/node/providers/main-express-app.js +56 -0
- package/dist/esm/preset/node/providers/main-express-app.js.map +1 -0
- package/dist/esm/preset/node/providers/{metrics-http-app.js → metrics-express-app.js} +2 -2
- package/dist/esm/preset/node/providers/metrics-express-app.js.map +1 -0
- package/dist/esm/preset/node/types.js.map +1 -1
- package/dist/esm/preset/{server → node}/utils/get-fetch-tracing.js +2 -2
- package/dist/esm/preset/node/utils/get-fetch-tracing.js.map +1 -0
- package/dist/esm/preset/node/utils/get-handler-metrics.js.map +1 -0
- package/dist/esm/preset/node/utils/get-page-response-format.js +1 -0
- package/dist/esm/preset/node/utils/get-page-response-format.js.map +1 -1
- package/dist/esm/preset/{server → node}/utils/get-serve-measuring.js +1 -1
- package/dist/esm/preset/node/utils/get-serve-measuring.js.map +1 -0
- package/dist/esm/preset/node-handler/index.js +2 -2
- package/dist/esm/preset/node-handler/index.js.map +1 -1
- package/dist/esm/preset/node-handler/providers/axios-middleware.js +2 -3
- package/dist/esm/preset/node-handler/providers/axios-middleware.js.map +1 -1
- package/dist/esm/preset/node-handler/providers/fetch-middleware.js +3 -4
- package/dist/esm/preset/node-handler/providers/fetch-middleware.js.map +1 -1
- package/dist/esm/preset/node-handler/providers/handler-main.js +1 -14
- package/dist/esm/preset/node-handler/providers/handler-main.js.map +1 -1
- package/dist/esm/preset/server/index.js +1 -1
- package/dist/esm/preset/server/index.js.map +1 -1
- package/dist/esm/preset/server/providers/fetch-middleware.js.map +1 -0
- package/dist/esm/preset/server/providers/format-page-response.js +4 -1
- package/dist/esm/preset/server/providers/format-page-response.js.map +1 -1
- package/dist/esm/preset/server/providers/serve.js +41 -0
- package/dist/esm/preset/server/providers/serve.js.map +1 -0
- package/dist/esm/preset/server/types.js.map +1 -1
- package/dist/esm/preset/server/utils/get-forwarded-headers.js +6 -0
- package/dist/esm/preset/server/utils/get-forwarded-headers.js.map +1 -1
- package/dist/esm/preset/server/utils/get-page-response-format.js +1 -0
- package/dist/esm/preset/server/utils/get-page-response-format.js.map +1 -1
- package/dist/esm/preset/server/utils/get-serve-error-logging.js +2 -2
- package/dist/esm/preset/server/utils/get-serve-error-logging.js.map +1 -1
- package/dist/esm/preset/server/utils/get-serve-logging.js +3 -4
- package/dist/esm/preset/server/utils/get-serve-logging.js.map +1 -1
- package/dist/esm/preset/web/providers/axios-middleware.js.map +1 -1
- package/dist/esm/tokens.js +16 -5
- package/dist/esm/tokens.js.map +1 -1
- package/dist/esm/utils/axios/index.js +0 -1
- package/dist/esm/utils/axios/index.js.map +1 -1
- package/dist/esm/utils/express/handler/health-check.js.map +1 -1
- package/dist/esm/utils/express/utils/index.js.map +1 -1
- package/dist/types/config/source.d.ts.map +1 -1
- package/dist/types/config/types.d.ts.map +1 -1
- package/dist/types/http/index.d.ts +3 -3
- package/dist/types/http/index.d.ts.map +1 -1
- package/dist/types/http/types.d.ts +3 -3
- package/dist/types/http/types.d.ts.map +1 -1
- package/dist/types/log/errors.d.ts +1 -1
- package/dist/types/log/errors.d.ts.map +1 -1
- package/dist/types/preset/bun/index.d.ts.map +1 -1
- package/dist/types/preset/bun-handler/index.d.ts.map +1 -1
- package/dist/types/preset/bun-handler/providers/fetch-middleware.d.ts.map +1 -1
- package/dist/types/preset/bun-handler/providers/handler-main.d.ts +1 -1
- package/dist/types/preset/bun-handler/providers/handler-main.d.ts.map +1 -1
- package/dist/types/preset/node/index.d.ts +1 -0
- package/dist/types/preset/node/index.d.ts.map +1 -1
- package/dist/types/preset/node/providers/main-express-app.d.ts +9 -0
- package/dist/types/preset/node/providers/main-express-app.d.ts.map +1 -0
- package/dist/types/preset/node/providers/{metrics-http-app.d.ts → metrics-express-app.d.ts} +2 -2
- package/dist/types/preset/node/providers/metrics-express-app.d.ts.map +1 -0
- package/dist/types/preset/node/types.d.ts +6 -4
- package/dist/types/preset/node/types.d.ts.map +1 -1
- package/dist/types/preset/node/utils/get-fetch-tracing.d.ts.map +1 -0
- package/dist/types/preset/node/utils/get-handler-metrics.d.ts.map +1 -0
- package/dist/types/preset/node/utils/get-page-response-format.d.ts +1 -0
- package/dist/types/preset/node/utils/get-page-response-format.d.ts.map +1 -1
- package/dist/types/preset/{server → node}/utils/get-serve-measuring.d.ts +1 -1
- package/dist/types/preset/node/utils/get-serve-measuring.d.ts.map +1 -0
- package/dist/types/preset/node-handler/providers/axios-middleware.d.ts.map +1 -1
- package/dist/types/preset/node-handler/providers/fetch-middleware.d.ts.map +1 -1
- package/dist/types/preset/node-handler/providers/handler-main.d.ts.map +1 -1
- package/dist/types/preset/server/index.d.ts +2 -2
- package/dist/types/preset/server/index.d.ts.map +1 -1
- package/dist/types/preset/server/providers/fetch-middleware.d.ts.map +1 -0
- package/dist/types/preset/server/providers/format-page-response.d.ts.map +1 -1
- package/dist/types/preset/server/providers/serve.d.ts.map +1 -0
- package/dist/types/preset/server/types.d.ts +6 -1
- package/dist/types/preset/server/types.d.ts.map +1 -1
- package/dist/types/preset/server/utils/get-forwarded-headers.d.ts.map +1 -1
- package/dist/types/preset/server/utils/get-page-response-format.d.ts +1 -0
- package/dist/types/preset/server/utils/get-page-response-format.d.ts.map +1 -1
- package/dist/types/preset/server/utils/get-serve-error-logging.d.ts.map +1 -1
- package/dist/types/preset/server/utils/get-serve-logging.d.ts.map +1 -1
- package/dist/types/preset/web/providers/axios-middleware.d.ts +3 -2
- package/dist/types/preset/web/providers/axios-middleware.d.ts.map +1 -1
- package/dist/types/preset/web/providers/fetch-middleware.d.ts +1 -1
- package/dist/types/preset/web/providers/fetch-middleware.d.ts.map +1 -1
- package/dist/types/tokens.d.ts +21 -10
- package/dist/types/tokens.d.ts.map +1 -1
- package/dist/types/utils/axios/index.d.ts +0 -1
- package/dist/types/utils/axios/index.d.ts.map +1 -1
- package/dist/types/utils/express/handler/health-check.d.ts +2 -2
- package/dist/types/utils/express/handler/health-check.d.ts.map +1 -1
- package/dist/types/utils/express/utils/index.d.ts +2 -2
- package/dist/types/utils/express/utils/index.d.ts.map +1 -1
- package/package.json +4 -3
- package/dist/cjs/preset/bun/providers/fetch-middleware.js.map +0 -1
- package/dist/cjs/preset/bun/providers/serve.js +0 -33
- package/dist/cjs/preset/bun/providers/serve.js.map +0 -1
- package/dist/cjs/preset/bun-handler/providers/cookie-store.js +0 -15
- package/dist/cjs/preset/bun-handler/providers/cookie-store.js.map +0 -1
- package/dist/cjs/preset/node/providers/metrics-http-app.js.map +0 -1
- package/dist/cjs/preset/node-handler/providers/cookie-store.js +0 -18
- package/dist/cjs/preset/node-handler/providers/cookie-store.js.map +0 -1
- package/dist/cjs/preset/server/utils/get-fetch-tracing.js.map +0 -1
- package/dist/cjs/preset/server/utils/get-handler-metrics.js.map +0 -1
- package/dist/cjs/preset/server/utils/get-serve-measuring.js.map +0 -1
- package/dist/cjs/utils/axios/middleware/cookie.js +0 -28
- package/dist/cjs/utils/axios/middleware/cookie.js.map +0 -1
- package/dist/esm/preset/bun/providers/fetch-middleware.js.map +0 -1
- package/dist/esm/preset/bun/providers/serve.js +0 -27
- package/dist/esm/preset/bun/providers/serve.js.map +0 -1
- package/dist/esm/preset/bun-handler/providers/cookie-store.js +0 -9
- package/dist/esm/preset/bun-handler/providers/cookie-store.js.map +0 -1
- package/dist/esm/preset/node/providers/metrics-http-app.js.map +0 -1
- package/dist/esm/preset/node-handler/providers/cookie-store.js +0 -13
- package/dist/esm/preset/node-handler/providers/cookie-store.js.map +0 -1
- package/dist/esm/preset/server/utils/get-fetch-tracing.js.map +0 -1
- package/dist/esm/preset/server/utils/get-handler-metrics.js.map +0 -1
- package/dist/esm/preset/server/utils/get-serve-measuring.js.map +0 -1
- package/dist/esm/utils/axios/middleware/cookie.js +0 -22
- package/dist/esm/utils/axios/middleware/cookie.js.map +0 -1
- package/dist/types/preset/bun/providers/fetch-middleware.d.ts.map +0 -1
- package/dist/types/preset/bun/providers/serve.d.ts.map +0 -1
- package/dist/types/preset/bun-handler/providers/cookie-store.d.ts +0 -4
- package/dist/types/preset/bun-handler/providers/cookie-store.d.ts.map +0 -1
- package/dist/types/preset/node/providers/metrics-http-app.d.ts.map +0 -1
- package/dist/types/preset/node-handler/providers/cookie-store.d.ts +0 -9
- package/dist/types/preset/node-handler/providers/cookie-store.d.ts.map +0 -1
- package/dist/types/preset/server/utils/get-fetch-tracing.d.ts.map +0 -1
- package/dist/types/preset/server/utils/get-handler-metrics.d.ts.map +0 -1
- package/dist/types/preset/server/utils/get-serve-measuring.d.ts.map +0 -1
- package/dist/types/utils/axios/middleware/cookie.d.ts +0 -9
- package/dist/types/utils/axios/middleware/cookie.d.ts.map +0 -1
- /package/dist/cjs/preset/{server → node}/utils/get-handler-metrics.js +0 -0
- /package/dist/cjs/preset/{bun → server}/providers/fetch-middleware.js +0 -0
- /package/dist/esm/preset/{server → node}/utils/get-handler-metrics.js +0 -0
- /package/dist/esm/preset/{bun → server}/providers/fetch-middleware.js +0 -0
- /package/dist/types/preset/{server → node}/utils/get-fetch-tracing.d.ts +0 -0
- /package/dist/types/preset/{server → node}/utils/get-handler-metrics.d.ts +0 -0
- /package/dist/types/preset/{bun → server}/providers/fetch-middleware.d.ts +0 -0
- /package/dist/types/preset/{bun → server}/providers/serve.d.ts +0 -0
package/README.md
CHANGED
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.createConfigSource = createConfigSource;
|
|
7
7
|
var _env = require("@humanwhocodes/env");
|
|
8
|
+
// @ts-expect-error: https://github.com/humanwhocodes/env/issues/133 (@todo разобраться и убрать)
|
|
9
|
+
|
|
8
10
|
/**
|
|
9
11
|
* Возвращает новый источник конфигурации.
|
|
10
12
|
* @param dictionary Опции.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.js","names":["_env","require","createConfigSource","dictionary","source","Object","assign","__ISOMORPH_ENV__","Env"],"sources":["../../../src/config/source.ts"],"sourcesContent":["import type { ConfigSource, Dictionary } from './types';\nimport { Env } from '@humanwhocodes/env';\n\ndeclare const __ISOMORPH_ENV__: unknown;\n\n/**\n * Возвращает новый источник конфигурации.\n * @param dictionary Опции.\n * @return Источник.\n */\nexport function createConfigSource(dictionary: Dictionary): ConfigSource {\n const source: Dictionary = {};\n\n // берем все переменные из предоставленной среды\n Object.assign(source, dictionary);\n\n // докидываем зашиваемые переменные окружения\n if (typeof __ISOMORPH_ENV__ !== 'undefined') {\n Object.assign(source, __ISOMORPH_ENV__);\n }\n\n return new Env(source);\n}\n"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"source.js","names":["_env","require","createConfigSource","dictionary","source","Object","assign","__ISOMORPH_ENV__","Env"],"sources":["../../../src/config/source.ts"],"sourcesContent":["import type { ConfigSource, Dictionary } from './types';\n\n// @ts-expect-error: https://github.com/humanwhocodes/env/issues/133 (@todo разобраться и убрать)\nimport { Env } from '@humanwhocodes/env';\n\ndeclare const __ISOMORPH_ENV__: unknown;\n\n/**\n * Возвращает новый источник конфигурации.\n * @param dictionary Опции.\n * @return Источник.\n */\nexport function createConfigSource(dictionary: Dictionary): ConfigSource {\n const source: Dictionary = {};\n\n // берем все переменные из предоставленной среды\n Object.assign(source, dictionary);\n\n // докидываем зашиваемые переменные окружения\n if (typeof __ISOMORPH_ENV__ !== 'undefined') {\n Object.assign(source, __ISOMORPH_ENV__);\n }\n\n return new Env(source);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,IAAA,GAAAC,OAAA;AADA;;AAKA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACC,UAAsB,EAAgB;EACvE,MAAMC,MAAkB,GAAG,CAAC,CAAC;;EAE7B;EACAC,MAAM,CAACC,MAAM,CAACF,MAAM,EAAED,UAAU,CAAC;;EAEjC;EACA,IAAI,OAAOI,gBAAgB,KAAK,WAAW,EAAE;IAC3CF,MAAM,CAACC,MAAM,CAACF,MAAM,EAAEG,gBAAgB,CAAC;EACzC;EAEA,OAAO,IAAIC,QAAG,CAACJ,MAAM,CAAC;AACxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/config/types.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/config/types.ts"],"sourcesContent":["// @ts-expect-error: https://github.com/humanwhocodes/env/issues/133 (@todo разобраться и убрать)\nimport type { Env } from '@humanwhocodes/env';\n\n/** Источник конфигурации. */\nexport type ConfigSource = Env;\n\n/**\n * Базовая информация о приложении, необходимая в большинстве мест.\n */\nexport interface BaseConfig {\n /** Строка, характеризующая среду выполнения, например \"production\". */\n env: string;\n\n /** Имя приложения. */\n appName: string;\n\n /** Версия приложения. */\n appVersion: string;\n}\n\n/**\n * Словарь.\n */\nexport interface Dictionary {\n readonly [key: string]: string | undefined;\n}\n"],"mappings":""}
|
package/dist/cjs/http/index.js
CHANGED
|
@@ -33,18 +33,6 @@ Object.defineProperty(exports, "configureFetch", {
|
|
|
33
33
|
return _fetchTools.configureFetch;
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
|
-
Object.defineProperty(exports, "cookie", {
|
|
37
|
-
enumerable: true,
|
|
38
|
-
get: function () {
|
|
39
|
-
return _middleware.cookie;
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
Object.defineProperty(exports, "createCookieStore", {
|
|
43
|
-
enumerable: true,
|
|
44
|
-
get: function () {
|
|
45
|
-
return _fetchTools.createCookieStore;
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
36
|
Object.defineProperty(exports, "defaultHeaders", {
|
|
49
37
|
enumerable: true,
|
|
50
38
|
get: function () {
|
|
@@ -57,6 +45,12 @@ Object.defineProperty(exports, "log", {
|
|
|
57
45
|
return _middleware.log;
|
|
58
46
|
}
|
|
59
47
|
});
|
|
48
|
+
Object.defineProperty(exports, "proxy", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () {
|
|
51
|
+
return _middleware.proxy;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
60
54
|
Object.defineProperty(exports, "validateStatus", {
|
|
61
55
|
enumerable: true,
|
|
62
56
|
get: function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_fetchTools","require","_middleware","_errors","_utils"],"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
|
|
1
|
+
{"version":3,"file":"index.js","names":["_fetchTools","require","_middleware","_errors","_utils"],"sources":["../../../src/http/index.ts"],"sourcesContent":["export type {\n ProxyOptions,\n Handler,\n Enhancer,\n Middleware,\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\n EitherResponse,\n ResponseDone,\n ResponseFail,\n ResponseErrorInit,\n} from './types';\nexport { configureFetch, applyMiddleware } from '@krutoo/fetch-tools';\nexport { log, proxy, defaultHeaders, validateStatus } from '@krutoo/fetch-tools/middleware';\nexport { StatusError, ResponseError } from './errors';\nexport { FetchUtil } from './utils';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/http/types.ts"],"sourcesContent":["import { LogLevel } from '../log';\n\nexport type { Handler, Enhancer, Middleware
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/http/types.ts"],"sourcesContent":["import type { LogLevel } from '../log';\n\nexport type { Handler, Enhancer, Middleware } from '@krutoo/fetch-tools';\n\nexport type {\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\n ProxyOptions,\n} from '@krutoo/fetch-tools/middleware';\n\nexport type URLSearchParamsInit = Record<string, string | number | boolean | undefined | null>;\n\nexport interface ResponseDone<T = unknown> {\n ok: true;\n data: T;\n error: null;\n status: number;\n statusText: string;\n}\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":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","names":["DetailedError","Error","constructor","message","data","exports","Breadcrumb","type"],"sources":["../../../src/log/errors.ts"],"sourcesContent":["import { ErrorDetails, BreadcrumbDetails } from './types';\n\n/**\n * Ошибка с данными.\n */\nexport class DetailedError extends Error {\n data: ErrorDetails;\n\n /**\n * @param message Сообщение.\n * @param data Данные.\n */\n constructor(message?: string, data: ErrorDetails = {}) {\n super(message);\n this.data = data;\n }\n}\n\n/**\n * Хлебная крошка.\n */\nexport class Breadcrumb {\n type: string;\n data: BreadcrumbDetails;\n\n /**\n * @param data Данные.\n */\n constructor(data: BreadcrumbDetails) {\n this.type = 'breadcrumb';\n this.data = data;\n }\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACO,MAAMA,aAAa,SAASC,KAAK,CAAC;EAGvC;AACF;AACA;AACA;EACEC,WAAWA,CAACC,OAAgB,EAAEC,IAAkB,GAAG,CAAC,CAAC,EAAE;IACrD,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAGA,IAAI;EAClB;AACF;;AAEA;AACA;AACA;AAFAC,OAAA,CAAAL,aAAA,GAAAA,aAAA;AAGO,MAAMM,UAAU,CAAC;EAItB;AACF;AACA;EACEJ,WAAWA,CAACE,IAAuB,EAAE;IACnC,IAAI,CAACG,IAAI,GAAG,YAAY;IACxB,IAAI,CAACH,IAAI,GAAGA,IAAI;EAClB;AACF;AAACC,OAAA,CAAAC,UAAA,GAAAA,UAAA"}
|
|
1
|
+
{"version":3,"file":"errors.js","names":["DetailedError","Error","constructor","message","data","exports","Breadcrumb","type"],"sources":["../../../src/log/errors.ts"],"sourcesContent":["import type { ErrorDetails, BreadcrumbDetails } from './types';\n\n/**\n * Ошибка с данными.\n */\nexport class DetailedError extends Error {\n data: ErrorDetails;\n\n /**\n * @param message Сообщение.\n * @param data Данные.\n */\n constructor(message?: string, data: ErrorDetails = {}) {\n super(message);\n this.data = data;\n }\n}\n\n/**\n * Хлебная крошка.\n */\nexport class Breadcrumb {\n type: string;\n data: BreadcrumbDetails;\n\n /**\n * @param data Данные.\n */\n constructor(data: BreadcrumbDetails) {\n this.type = 'breadcrumb';\n this.data = data;\n }\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACO,MAAMA,aAAa,SAASC,KAAK,CAAC;EAGvC;AACF;AACA;AACA;EACEC,WAAWA,CAACC,OAAgB,EAAEC,IAAkB,GAAG,CAAC,CAAC,EAAE;IACrD,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAGA,IAAI;EAClB;AACF;;AAEA;AACA;AACA;AAFAC,OAAA,CAAAL,aAAA,GAAAA,aAAA;AAGO,MAAMM,UAAU,CAAC;EAItB;AACF;AACA;EACEJ,WAAWA,CAACE,IAAuB,EAAE;IACnC,IAAI,CAACG,IAAI,GAAG,YAAY;IACxB,IAAI,CAACH,IAAI,GAAGA,IAAI;EAClB;AACF;AAACC,OAAA,CAAAC,UAAA,GAAAA,UAAA"}
|
package/dist/cjs/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "commonjs",
|
|
3
3
|
"name": "@sima-land/isomorph",
|
|
4
|
-
"version": "11.0.0-alpha.
|
|
4
|
+
"version": "11.0.0-alpha.47",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@humanwhocodes/env": "^
|
|
7
|
-
"@krutoo/fetch-tools": "^0.0.
|
|
6
|
+
"@humanwhocodes/env": "^3.0.2",
|
|
7
|
+
"@krutoo/fetch-tools": "^0.0.15",
|
|
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",
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"accepts": "^1.3.8",
|
|
21
21
|
"dotenv": "^16.3.1",
|
|
22
22
|
"express": "^4.18.2",
|
|
23
|
+
"http-proxy-middleware": "^3.0.0",
|
|
23
24
|
"jsesc": "^3.0.2",
|
|
24
25
|
"middleware-axios": "^2.1.6",
|
|
25
26
|
"pino": "^8.14.1",
|
|
@@ -24,9 +24,9 @@ var _knownHttpApiHosts = require("../server/providers/known-http-api-hosts");
|
|
|
24
24
|
var _ssrBridgeServerSide = require("../server/providers/ssr-bridge-server-side");
|
|
25
25
|
var _configSource = require("./providers/config-source");
|
|
26
26
|
var _logger = require("./providers/logger");
|
|
27
|
-
var _serve = require("
|
|
27
|
+
var _serve = require("../server/providers/serve");
|
|
28
28
|
var _serveMetrics = require("./providers/serve-metrics");
|
|
29
|
-
var _fetchMiddleware = require("
|
|
29
|
+
var _fetchMiddleware = require("../server/providers/fetch-middleware");
|
|
30
30
|
var _serviceRoutes = require("./providers/service-routes");
|
|
31
31
|
var _serveMiddleware = require("./providers/serve-middleware");
|
|
32
32
|
var _handlerProvider = require("../server/utils/handler-provider");
|
|
@@ -61,6 +61,7 @@ function PresetBun(customize) {
|
|
|
61
61
|
preset.set(_tokens.KnownToken.Http.serve, _serve.provideServe);
|
|
62
62
|
preset.set(_tokens.KnownToken.Http.Serve.serviceRoutes, _serviceRoutes.provideServiceRoutes);
|
|
63
63
|
preset.set(_tokens.KnownToken.Http.Serve.middleware, _serveMiddleware.provideServeMiddleware);
|
|
64
|
+
preset.set(_tokens.KnownToken.Http.Serve.Proxy.config, () => null);
|
|
64
65
|
|
|
65
66
|
// http api
|
|
66
67
|
preset.set(_tokens.KnownToken.Http.Api.knownHosts, _knownHttpApiHosts.provideKnownHttpApiHosts);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_di","require","_tokens","_baseConfig","_fetch","_knownHttpApiHosts","_ssrBridgeServerSide","_configSource","_logger","_serve","_serveMetrics","_fetchMiddleware","_serviceRoutes","_serveMiddleware","_handlerProvider","_getStatsHandler","PresetBun","customize","preset","createPreset","set","KnownToken","Config","source","provideConfigSource","base","provideBaseConfig","logger","provideLogger","Metrics","httpHandler","provideServeMetrics","Http","fetch","provideFetch","Fetch","middleware","provideFetchMiddleware","serve","provideServe","Serve","serviceRoutes","provideServiceRoutes","provideServeMiddleware","Api","knownHosts","provideKnownHttpApiHosts","SsrBridge","serverSide","provideSsrBridgeServerSide","override","bind"],"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 '
|
|
1
|
+
{"version":3,"file":"index.js","names":["_di","require","_tokens","_baseConfig","_fetch","_knownHttpApiHosts","_ssrBridgeServerSide","_configSource","_logger","_serve","_serveMetrics","_fetchMiddleware","_serviceRoutes","_serveMiddleware","_handlerProvider","_getStatsHandler","PresetBun","customize","preset","createPreset","set","KnownToken","Config","source","provideConfigSource","base","provideBaseConfig","logger","provideLogger","Metrics","httpHandler","provideServeMetrics","Http","fetch","provideFetch","Fetch","middleware","provideFetchMiddleware","serve","provideServe","Serve","serviceRoutes","provideServiceRoutes","provideServeMiddleware","Proxy","config","Api","knownHosts","provideKnownHttpApiHosts","SsrBridge","serverSide","provideSsrBridgeServerSide","override","bind"],"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 '../server/providers/serve';\nimport { provideServeMetrics } from './providers/serve-metrics';\nimport { provideFetchMiddleware } from '../server/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 preset.set(KnownToken.Http.Serve.Proxy.config, () => null);\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,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,aAAA,GAAAT,OAAA;AACA,IAAAU,gBAAA,GAAAV,OAAA;AACA,IAAAW,cAAA,GAAAX,OAAA;AACA,IAAAY,gBAAA,GAAAZ,OAAA;AAgDA,IAAAa,gBAAA,GAAAb,OAAA;AACA,IAAAc,gBAAA,GAAAd,OAAA;AA/CA;AACA;AACA;AACA;AACA;AACO,SAASe,SAASA,CAACC,SAAuB,EAAE;EACjD;EACA,MAAMC,MAAM,GAAG,IAAAC,gBAAY,EAAC,CAAC;;EAE7B;EACAD,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,MAAM,CAACC,MAAM,EAAEC,iCAAmB,CAAC;EACzDN,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,MAAM,CAACG,IAAI,EAAEC,6BAAiB,CAAC;;EAErD;EACAR,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACM,MAAM,EAAEC,qBAAa,CAAC;;EAE5C;EACA;;EAEA;EACAV,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACQ,OAAO,CAACC,WAAW,EAAEC,iCAAmB,CAAC;;EAE/D;EACAb,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACC,KAAK,EAAEC,mBAAY,CAAC;EAC/ChB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACG,KAAK,CAACC,UAAU,EAAEC,uCAAsB,CAAC;;EAEpE;EACAnB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACM,KAAK,EAAEC,mBAAY,CAAC;EAC/CrB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACQ,KAAK,CAACC,aAAa,EAAEC,mCAAoB,CAAC;EACrExB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACQ,KAAK,CAACJ,UAAU,EAAEO,uCAAsB,CAAC;EACpEzB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACQ,KAAK,CAACI,KAAK,CAACC,MAAM,EAAE,MAAM,IAAI,CAAC;;EAE1D;EACA3B,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACc,GAAG,CAACC,UAAU,EAAEC,2CAAwB,CAAC;;EAEpE;EACA9B,MAAM,CAACE,GAAG,CAACC,kBAAU,CAAC4B,SAAS,CAACC,UAAU,EAAEC,+CAA0B,CAAC;EAEvE,IAAIlC,SAAS,EAAE;IACbA,SAAS,CAAC;MAAEmC,QAAQ,EAAElC,MAAM,CAACE,GAAG,CAACiC,IAAI,CAACnC,MAAM;IAAE,CAAC,CAAC;EAClD;EAEA,OAAOA,MAAM;AACf;;AAEA"}
|
|
@@ -8,7 +8,7 @@ var _tokens = require("../../../tokens");
|
|
|
8
8
|
var _bun = require("@sentry/bun");
|
|
9
9
|
var _getServeLogging = require("../../server/utils/get-serve-logging");
|
|
10
10
|
var _getServeErrorLogging = require("../../server/utils/get-serve-error-logging");
|
|
11
|
-
var _getServeMeasuring = require("../../
|
|
11
|
+
var _getServeMeasuring = require("../../node/utils/get-serve-measuring");
|
|
12
12
|
/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
|
|
13
13
|
|
|
14
14
|
function provideServeMiddleware(resolve) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve-middleware.js","names":["_tokens","require","_bun","_getServeLogging","_getServeErrorLogging","_getServeMeasuring","provideServeMiddleware","resolve","config","KnownToken","Config","base","logger","request","next","runWithAsyncContext","getServeErrorLogging","getServeMeasuring","getServeLogging"],"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 '../../
|
|
1
|
+
{"version":3,"file":"serve-middleware.js","names":["_tokens","require","_bun","_getServeLogging","_getServeErrorLogging","_getServeMeasuring","provideServeMiddleware","resolve","config","KnownToken","Config","base","logger","request","next","runWithAsyncContext","getServeErrorLogging","getServeMeasuring","getServeLogging"],"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 '../../node/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":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAEA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AAPA;;AASO,SAASK,sBAAsBA,CAACC,OAAgB,EAAsB;EAC3E,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,MAAM,GAAGL,OAAO,CAACE,kBAAU,CAACG,MAAM,CAAC;EAEzC,OAAO;EACL;EACA,CAACC,OAAO,EAAEC,IAAI,KAAK,IAAAC,wBAAmB,EAAC,YAAYD,IAAI,CAACD,OAAO,CAAC,CAAC;EAEjE;EACA,IAAAG,0CAAoB,EAACJ,MAAM,CAAC;EAE5B;;EAEA;EACA,IAAAK,oCAAiB,EAACT,MAAM,CAAC;EAEzB;EACA,IAAAU,gCAAe,EAACN,MAAM,CAAC,CACxB;AACH"}
|
|
@@ -15,7 +15,6 @@ var _fetchMiddleware = require("./providers/fetch-middleware");
|
|
|
15
15
|
var _handlerMain = require("./providers/handler-main");
|
|
16
16
|
var _pageHelmet = require("../server/providers/page-helmet");
|
|
17
17
|
var _specificParams = require("./providers/specific-params");
|
|
18
|
-
var _cookieStore = require("./providers/cookie-store");
|
|
19
18
|
var _specificExtras = require("../server/utils/specific-extras");
|
|
20
19
|
var _elementToString = require("../server/providers/element-to-string");
|
|
21
20
|
var _formatPageResponse = require("../server/providers/format-page-response");
|
|
@@ -35,7 +34,6 @@ function PresetBunHandler(customize) {
|
|
|
35
34
|
// http fetch
|
|
36
35
|
preset.set(_tokens.KnownToken.Http.fetch, _fetch.provideFetch);
|
|
37
36
|
preset.set(_tokens.KnownToken.Http.Fetch.abortController, _abortController.provideAbortController);
|
|
38
|
-
preset.set(_tokens.KnownToken.Http.Fetch.cookieStore, _cookieStore.provideCookieStore);
|
|
39
37
|
preset.set(_tokens.KnownToken.Http.Fetch.middleware, _fetchMiddleware.provideFetchMiddleware);
|
|
40
38
|
preset.set(_tokens.KnownToken.Http.Fetch.Middleware.Log.handler, _fetchLogHandler.provideFetchLogHandler);
|
|
41
39
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_di","require","_tokens","_abortController","_fetch","_reduxMiddlewareSaga","_pageRender","_fetchLogHandler","_fetchMiddleware","_handlerMain","_pageHelmet","_specificParams","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_di","require","_tokens","_abortController","_fetch","_reduxMiddlewareSaga","_pageRender","_fetchLogHandler","_fetchMiddleware","_handlerMain","_pageHelmet","_specificParams","_specificExtras","_elementToString","_formatPageResponse","_acceptType","_responseEvents","PresetBunHandler","customize","preset","createPreset","set","KnownToken","Http","fetch","provideFetch","Fetch","abortController","provideAbortController","middleware","provideFetchMiddleware","Middleware","Log","handler","provideFetchLogHandler","Handler","main","provideHandlerMain","Request","acceptType","provideAcceptType","specificParams","provideSpecificParams","Response","events","provideResponseEvents","specificExtras","SpecificExtras","Page","assets","js","css","helmet","providePageHelmet","render","providePageRender","elementToString","provideElementToString","formatResponse","provideFormatPageResponse","Redux","saga","provideReduxMiddlewareSaga","override","bind"],"sources":["../../../../src/preset/bun-handler/index.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { createPreset } from '../../di';\nimport { KnownToken } from '../../tokens';\nimport { PresetTuner } from '../isomorphic';\nimport { provideAbortController } from '../isomorphic/providers/abort-controller';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideReduxMiddlewareSaga } from '../isomorphic/providers/redux-middleware-saga';\nimport { providePageRender } from '../server/providers/page-render';\nimport { provideFetchLogHandler } from '../server/providers/fetch-log-handler';\nimport { provideFetchMiddleware } from './providers/fetch-middleware';\nimport { provideHandlerMain } from './providers/handler-main';\nimport { providePageHelmet } from '../server/providers/page-helmet';\nimport { provideSpecificParams } from './providers/specific-params';\nimport { SpecificExtras } from '../server/utils/specific-extras';\nimport { provideElementToString } from '../server/providers/element-to-string';\nimport { provideFormatPageResponse } from '../server/providers/format-page-response';\nimport { provideAcceptType } from './providers/accept-type';\nimport { provideResponseEvents } from '../server/providers/response-events';\n\n/**\n * Возвращает preset с зависимостями для формирования обработчика входящего http-запроса.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @todo Возможно стоит переименовать в PresetPageHandler.\n * @return Preset.\n */\nexport function PresetBunHandler(customize?: PresetTuner) {\n const preset = createPreset();\n\n // http fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.abortController, provideAbortController);\n preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);\n preset.set(KnownToken.Http.Fetch.Middleware.Log.handler, provideFetchLogHandler);\n\n // handler\n preset.set(KnownToken.Http.Handler.main, provideHandlerMain);\n preset.set(KnownToken.Http.Handler.Request.acceptType, provideAcceptType);\n preset.set(KnownToken.Http.Handler.Request.specificParams, provideSpecificParams);\n preset.set(KnownToken.Http.Handler.Response.events, provideResponseEvents);\n preset.set(KnownToken.Http.Handler.Response.specificExtras, () => new SpecificExtras());\n preset.set(KnownToken.Http.Handler.Page.assets, () => ({ js: '', css: '' }));\n preset.set(KnownToken.Http.Handler.Page.helmet, providePageHelmet);\n preset.set(KnownToken.Http.Handler.Page.render, providePageRender);\n preset.set(KnownToken.Http.Handler.Page.elementToString, provideElementToString);\n preset.set(KnownToken.Http.Handler.Page.formatResponse, provideFormatPageResponse);\n\n // redux saga\n preset.set(KnownToken.Redux.Middleware.saga, provideReduxMiddlewareSaga);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n"],"mappings":"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"}
|
|
@@ -16,13 +16,12 @@ function provideFetchMiddleware(resolve) {
|
|
|
16
16
|
const config = resolve(_tokens.KnownToken.Config.base);
|
|
17
17
|
const context = resolve(_tokens.KnownToken.Http.Handler.context);
|
|
18
18
|
const logHandler = resolve(_tokens.KnownToken.Http.Fetch.Middleware.Log.handler);
|
|
19
|
-
const cookieStore = resolve(_tokens.KnownToken.Http.Fetch.cookieStore);
|
|
20
19
|
const abortController = resolve(_tokens.KnownToken.Http.Fetch.abortController);
|
|
21
20
|
return [
|
|
22
21
|
// ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше
|
|
23
22
|
(0, _getFetchErrorLogging.getFetchErrorLogging)(logHandler),
|
|
24
23
|
// обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса
|
|
25
|
-
(0, _getFetchExtraAborting.getFetchExtraAborting)(abortController), (0, _http.
|
|
24
|
+
(0, _getFetchExtraAborting.getFetchExtraAborting)(abortController), (0, _http.defaultHeaders)((0, _getForwardedHeaders.getForwardedHeaders)(config, context.request)),
|
|
26
25
|
// @todo tracing
|
|
27
26
|
|
|
28
27
|
// ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-middleware.js","names":["_tokens","require","_http","_getFetchErrorLogging","_getFetchExtraAborting","_getFetchLogging","_getForwardedHeaders","provideFetchMiddleware","resolve","config","KnownToken","Config","base","context","Http","Handler","logHandler","Fetch","Middleware","Log","handler","
|
|
1
|
+
{"version":3,"file":"fetch-middleware.js","names":["_tokens","require","_http","_getFetchErrorLogging","_getFetchExtraAborting","_getFetchLogging","_getForwardedHeaders","provideFetchMiddleware","resolve","config","KnownToken","Config","base","context","Http","Handler","logHandler","Fetch","Middleware","Log","handler","abortController","getFetchErrorLogging","getFetchExtraAborting","defaultHeaders","getForwardedHeaders","request","getFetchLogging"],"sources":["../../../../../src/preset/bun-handler/providers/fetch-middleware.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { Middleware, defaultHeaders } from '../../../http';\nimport { getFetchErrorLogging } from '../../isomorphic/utils/get-fetch-error-logging';\nimport { getFetchExtraAborting } from '../../isomorphic/utils/get-fetch-extra-aborting';\nimport { getFetchLogging } from '../../isomorphic/utils/get-fetch-logging';\nimport { getForwardedHeaders } from '../../server/utils/get-forwarded-headers';\n\nexport function provideFetchMiddleware(resolve: Resolve): Middleware[] {\n const config = resolve(KnownToken.Config.base);\n const context = resolve(KnownToken.Http.Handler.context);\n const logHandler = resolve(KnownToken.Http.Fetch.Middleware.Log.handler);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n\n return [\n // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше\n getFetchErrorLogging(logHandler),\n\n // обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса\n getFetchExtraAborting(abortController),\n\n defaultHeaders(getForwardedHeaders(config, context.request)),\n\n // @todo tracing\n\n // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные\n getFetchLogging(logHandler),\n ];\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,qBAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AAPA;;AASO,SAASM,sBAAsBA,CAACC,OAAgB,EAAgB;EACrE,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,OAAO,GAAGL,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACC,OAAO,CAACF,OAAO,CAAC;EACxD,MAAMG,UAAU,GAAGR,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACG,KAAK,CAACC,UAAU,CAACC,GAAG,CAACC,OAAO,CAAC;EACxE,MAAMC,eAAe,GAAGb,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACG,KAAK,CAACI,eAAe,CAAC;EAEtE,OAAO;EACL;EACA,IAAAC,0CAAoB,EAACN,UAAU,CAAC;EAEhC;EACA,IAAAO,4CAAqB,EAACF,eAAe,CAAC,EAEtC,IAAAG,oBAAc,EAAC,IAAAC,wCAAmB,EAAChB,MAAM,EAAEI,OAAO,CAACa,OAAO,CAAC,CAAC;EAE5D;;EAEA;EACA,IAAAC,gCAAe,EAACX,UAAU,CAAC,CAC5B;AACH"}
|
|
@@ -16,23 +16,13 @@ function provideHandlerMain(resolve) {
|
|
|
16
16
|
const logger = resolve(_tokens.KnownToken.logger);
|
|
17
17
|
const assetsInit = resolve(_tokens.KnownToken.Http.Handler.Page.assets);
|
|
18
18
|
const render = resolve(_tokens.KnownToken.Http.Handler.Page.render);
|
|
19
|
-
const extras = resolve(_tokens.KnownToken.Http.Handler.Response.specificExtras);
|
|
20
19
|
const Helmet = resolve(_tokens.KnownToken.Http.Handler.Page.helmet);
|
|
21
20
|
const abortController = resolve(_tokens.KnownToken.Http.Fetch.abortController);
|
|
22
21
|
const formatResponse = resolve(_tokens.KnownToken.Http.Handler.Page.formatResponse);
|
|
23
|
-
|
|
24
|
-
// @todo https://github.com/sima-land/isomorph/issues/69
|
|
25
|
-
// const cookieStore = resolve(KnownToken.Http.Fetch.cookieStore);
|
|
26
|
-
// const forwardedSetCookie: string[] = [];
|
|
27
|
-
// const unsubscribeCookieStore = cookieStore.subscribe(setCookieList => {
|
|
28
|
-
// forwardedSetCookie.push(...setCookieList);
|
|
29
|
-
// });
|
|
30
|
-
|
|
31
22
|
const getAssets = typeof assetsInit === 'function' ? assetsInit : () => assetsInit;
|
|
32
23
|
const handler = async () => {
|
|
33
24
|
try {
|
|
34
25
|
const assets = await getAssets();
|
|
35
|
-
const meta = extras.getMeta();
|
|
36
26
|
const jsx = /*#__PURE__*/(0, _jsxRuntime.jsx)(_regularHelmet.HelmetContext.Provider, {
|
|
37
27
|
value: {
|
|
38
28
|
title: config.appName,
|
|
@@ -45,7 +35,7 @@ function provideHandlerMain(resolve) {
|
|
|
45
35
|
const {
|
|
46
36
|
body,
|
|
47
37
|
headers
|
|
48
|
-
} = await formatResponse(jsx, assets
|
|
38
|
+
} = await formatResponse(jsx, assets);
|
|
49
39
|
return new Response(body, {
|
|
50
40
|
headers
|
|
51
41
|
});
|
|
@@ -72,21 +62,13 @@ function provideHandlerMain(resolve) {
|
|
|
72
62
|
}
|
|
73
63
|
};
|
|
74
64
|
const enhancer = (0, _http.applyMiddleware)(
|
|
75
|
-
// @todo https://github.com/sima-land/isomorph/issues/69
|
|
76
|
-
// async (request, next) => {
|
|
77
|
-
// const response = await next(request);
|
|
78
|
-
// for (const item of forwardedSetCookie) {
|
|
79
|
-
// response.headers.append('set-cookie', item);
|
|
80
|
-
// }
|
|
81
|
-
// unsubscribeCookieStore();
|
|
82
|
-
// return response;
|
|
83
|
-
// },
|
|
84
|
-
|
|
85
65
|
// ВАЖНО: прерываем исходящие в рамках обработчика http-запросы
|
|
86
66
|
async (request, next) => {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
67
|
+
try {
|
|
68
|
+
return await next(request);
|
|
69
|
+
} finally {
|
|
70
|
+
abortController.abort();
|
|
71
|
+
}
|
|
90
72
|
});
|
|
91
73
|
return enhancer(handler);
|
|
92
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler-main.js","names":["_tokens","require","_http","_regularHelmet","_formatHandlerError","_jsxRuntime","provideHandlerMain","resolve","config","KnownToken","Config","base","logger","assetsInit","Http","Handler","Page","assets","render","
|
|
1
|
+
{"version":3,"file":"handler-main.js","names":["_tokens","require","_http","_regularHelmet","_formatHandlerError","_jsxRuntime","provideHandlerMain","resolve","config","KnownToken","Config","base","logger","assetsInit","Http","Handler","Page","assets","render","Helmet","helmet","abortController","Fetch","formatResponse","getAssets","handler","jsx","HelmetContext","Provider","value","title","appName","children","body","headers","Response","error","response","log","formatHandlerError","level","status","redirectLocation","Location","enhancer","applyMiddleware","request","next","abort"],"sources":["../../../../../src/preset/bun-handler/providers/handler-main.tsx"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { applyMiddleware } from '../../../http';\nimport { HelmetContext } from '../../server/utils/regular-helmet';\nimport { formatHandlerError } from '../../server/utils/format-handler-error';\n\nexport function provideHandlerMain(resolve: Resolve) {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n const assetsInit = resolve(KnownToken.Http.Handler.Page.assets);\n const render = resolve(KnownToken.Http.Handler.Page.render);\n const Helmet = resolve(KnownToken.Http.Handler.Page.helmet);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n const formatResponse = resolve(KnownToken.Http.Handler.Page.formatResponse);\n\n const getAssets = typeof assetsInit === 'function' ? assetsInit : () => assetsInit;\n\n const handler = async (): Promise<Response> => {\n try {\n const assets = await getAssets();\n\n const jsx = (\n <HelmetContext.Provider value={{ title: config.appName, assets }}>\n <Helmet>{await render()}</Helmet>\n </HelmetContext.Provider>\n );\n\n const { body, headers } = await formatResponse(jsx, assets);\n\n return new Response(body, { headers });\n } catch (error) {\n const { response, log } = formatHandlerError(error);\n\n if (log.level && logger[log.level]) {\n logger[log.level](error);\n }\n\n if (response.status > 299 && response.status < 400 && response.redirectLocation) {\n return new Response(null, {\n status: response.status,\n headers: {\n Location: response.redirectLocation,\n },\n });\n } else {\n return new Response(response.body, {\n status: response.status,\n });\n }\n }\n };\n\n const enhancer = applyMiddleware(\n // ВАЖНО: прерываем исходящие в рамках обработчика http-запросы\n async (request, next) => {\n try {\n return await next(request);\n } finally {\n abortController.abort();\n }\n },\n );\n\n return enhancer(handler);\n}\n"],"mappings":"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"}
|
|
@@ -43,12 +43,13 @@ var _expressRequestMiddleware = require("./providers/express-request-middleware"
|
|
|
43
43
|
var _expressTracingMiddleware = require("./providers/express-tracing-middleware");
|
|
44
44
|
var _knownHttpApiHosts = require("../server/providers/known-http-api-hosts");
|
|
45
45
|
var _logger = require("./providers/logger");
|
|
46
|
-
var
|
|
46
|
+
var _metricsExpressApp = require("./providers/metrics-express-app");
|
|
47
47
|
var _spanExporter = require("./providers/span-exporter");
|
|
48
48
|
var _ssrBridgeServerSide = require("../server/providers/ssr-bridge-server-side");
|
|
49
49
|
var _tracer = require("./providers/tracer");
|
|
50
50
|
var _tracerProvider = require("./providers/tracer-provider");
|
|
51
51
|
var _tracerProviderResource = require("./providers/tracer-provider-resource");
|
|
52
|
+
var _mainExpressApp = require("./providers/main-express-app");
|
|
52
53
|
var _getClientIp = require("./utils/get-client-ip");
|
|
53
54
|
var _getForwardedHeaders = require("./utils/get-forwarded-headers");
|
|
54
55
|
var _getPageResponseFormat = require("./utils/get-page-response-format");
|
|
@@ -76,17 +77,23 @@ function PresetNode(customize) {
|
|
|
76
77
|
preset.set(_tokens.KnownToken.Tracing.tracerProviderResource, _tracerProviderResource.provideTracerProviderResource);
|
|
77
78
|
|
|
78
79
|
// metrics
|
|
79
|
-
preset.set(_tokens.KnownToken.Metrics.
|
|
80
|
+
preset.set(_tokens.KnownToken.Metrics.expressApp, _metricsExpressApp.provideMetricsExpressApp);
|
|
80
81
|
|
|
81
82
|
// fetch
|
|
82
83
|
preset.set(_tokens.KnownToken.Http.fetch, _fetch.provideFetch);
|
|
83
84
|
preset.set(_tokens.KnownToken.Http.Fetch.middleware, () => []);
|
|
85
|
+
preset.set(_tokens.KnownToken.Http.Serve.Proxy.config, () => null);
|
|
84
86
|
|
|
85
87
|
// axios
|
|
86
88
|
preset.set(_tokens.KnownToken.Axios.factory, _axiosFactory.provideAxiosFactory);
|
|
87
89
|
preset.set(_tokens.KnownToken.Axios.middleware, () => []);
|
|
88
90
|
|
|
89
91
|
// express
|
|
92
|
+
preset.set(_tokens.KnownToken.Express.app, _mainExpressApp.provideMainExpressApp);
|
|
93
|
+
preset.set(_tokens.KnownToken.Express.pageRoutes, () => []);
|
|
94
|
+
preset.set(_tokens.KnownToken.Express.serviceRoutes, resolve => [['/healthcheck', resolve(_tokens.KnownToken.Express.Handlers.healthCheck)]]);
|
|
95
|
+
preset.set(_tokens.KnownToken.Express.middleware, resolve => [resolve(_tokens.KnownToken.Express.Middleware.request), resolve(_tokens.KnownToken.Express.Middleware.log), resolve(_tokens.KnownToken.Express.Middleware.metrics), resolve(_tokens.KnownToken.Express.Middleware.tracing)]);
|
|
96
|
+
preset.set(_tokens.KnownToken.Express.endMiddleware, resolve => [resolve(_tokens.KnownToken.Express.Middleware.error)]);
|
|
90
97
|
preset.set(_tokens.KnownToken.Express.factory, _expressFactory.provideExpressFactory);
|
|
91
98
|
preset.set(_tokens.KnownToken.Express.Handlers.healthCheck, _healthCheck.healthCheck);
|
|
92
99
|
preset.set(_tokens.KnownToken.Express.Middleware.request, _expressRequestMiddleware.provideExpressRequestMiddleware);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_tokens","require","_axiosFactory","_fetch","_baseConfig","_di","_healthCheck","_configSource","_expressErrorMiddleware","_expressFactory","_expressLogMiddleware","_expressMetricsMiddleware","_expressRequestMiddleware","_expressTracingMiddleware","_knownHttpApiHosts","_logger","_metricsHttpApp","_spanExporter","_ssrBridgeServerSide","_tracer","_tracerProvider","_tracerProviderResource","_getClientIp","_getForwardedHeaders","_getPageResponseFormat","_handlerProvider","PresetNode","customize","preset","createPreset","set","KnownToken","Config","source","provideConfigSource","base","provideBaseConfig","logger","provideLogger","Tracing","tracer","provideTracer","spanExporter","provideSpanExporter","tracerProvider","provideTracerProvider","tracerProviderResource","provideTracerProviderResource","Metrics","httpApp","provideMetricsHttpApp","Http","fetch","provideFetch","Fetch","middleware","Axios","factory","provideAxiosFactory","Express","provideExpressFactory","Handlers","healthCheck","Middleware","request","provideExpressRequestMiddleware","log","provideExpressLogMiddleware","metrics","provideExpressMetricsMiddleware","tracing","provideExpressTracingMiddleware","error","provideExpressErrorMiddleware","Api","knownHosts","provideKnownHttpApiHosts","SsrBridge","serverSide","provideSsrBridgeServerSide","override","bind"],"sources":["../../../../src/preset/node/index.ts"],"sourcesContent":["import { KnownToken } from '../../tokens';\nimport { provideAxiosFactory } from '../isomorphic/providers/axios-factory';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideBaseConfig } from '../isomorphic/providers/base-config';\nimport { Preset, createPreset } from '../../di';\nimport { PresetTuner } from '../isomorphic/types';\nimport { healthCheck } from '../../utils/express/handler/health-check';\nimport { provideConfigSource } from './providers/config-source';\nimport { provideExpressErrorMiddleware } from './providers/express-error-middleware';\nimport { provideExpressFactory } from './providers/express-factory';\nimport { provideExpressLogMiddleware } from './providers/express-log-middleware';\nimport { provideExpressMetricsMiddleware } from './providers/express-metrics-middleware';\nimport { provideExpressRequestMiddleware } from './providers/express-request-middleware';\nimport { provideExpressTracingMiddleware } from './providers/express-tracing-middleware';\nimport { provideKnownHttpApiHosts } from '../server/providers/known-http-api-hosts';\nimport { provideLogger } from './providers/logger';\nimport { provideMetricsHttpApp } from './providers/metrics-http-app';\nimport { provideSpanExporter } from './providers/span-exporter';\nimport { provideSsrBridgeServerSide } from '../server/providers/ssr-bridge-server-side';\nimport { provideTracer } from './providers/tracer';\nimport { provideTracerProvider } from './providers/tracer-provider';\nimport { provideTracerProviderResource } from './providers/tracer-provider-resource';\n\n/**\n * Возвращает preset с зависимостями по умолчанию для frontend-микросервисов на Node.js.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @return Preset.\n */\nexport function PresetNode(customize?: PresetTuner): Preset {\n // ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости\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 preset.set(KnownToken.Tracing.tracer, provideTracer);\n preset.set(KnownToken.Tracing.spanExporter, provideSpanExporter);\n preset.set(KnownToken.Tracing.tracerProvider, provideTracerProvider);\n preset.set(KnownToken.Tracing.tracerProviderResource, provideTracerProviderResource);\n\n // metrics\n preset.set(KnownToken.Metrics.httpApp, provideMetricsHttpApp);\n\n // fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.middleware, () => []);\n\n // axios\n preset.set(KnownToken.Axios.factory, provideAxiosFactory);\n preset.set(KnownToken.Axios.middleware, () => []);\n\n // express\n preset.set(KnownToken.Express.factory, provideExpressFactory);\n preset.set(KnownToken.Express.Handlers.healthCheck, healthCheck);\n preset.set(KnownToken.Express.Middleware.request, provideExpressRequestMiddleware);\n preset.set(KnownToken.Express.Middleware.log, provideExpressLogMiddleware);\n preset.set(KnownToken.Express.Middleware.metrics, provideExpressMetricsMiddleware);\n preset.set(KnownToken.Express.Middleware.tracing, provideExpressTracingMiddleware);\n preset.set(KnownToken.Express.Middleware.error, provideExpressErrorMiddleware);\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 { getClientIp } from './utils/get-client-ip';\nexport { getForwardedHeaders } from './utils/get-forwarded-headers';\nexport { getPageResponseFormat } from './utils/get-page-response-format';\nexport { HandlerProvider } from './utils/handler-provider';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_tokens","require","_axiosFactory","_fetch","_baseConfig","_di","_healthCheck","_configSource","_expressErrorMiddleware","_expressFactory","_expressLogMiddleware","_expressMetricsMiddleware","_expressRequestMiddleware","_expressTracingMiddleware","_knownHttpApiHosts","_logger","_metricsExpressApp","_spanExporter","_ssrBridgeServerSide","_tracer","_tracerProvider","_tracerProviderResource","_mainExpressApp","_getClientIp","_getForwardedHeaders","_getPageResponseFormat","_handlerProvider","PresetNode","customize","preset","createPreset","set","KnownToken","Config","source","provideConfigSource","base","provideBaseConfig","logger","provideLogger","Tracing","tracer","provideTracer","spanExporter","provideSpanExporter","tracerProvider","provideTracerProvider","tracerProviderResource","provideTracerProviderResource","Metrics","expressApp","provideMetricsExpressApp","Http","fetch","provideFetch","Fetch","middleware","Serve","Proxy","config","Axios","factory","provideAxiosFactory","Express","app","provideMainExpressApp","pageRoutes","serviceRoutes","resolve","Handlers","healthCheck","Middleware","request","log","metrics","tracing","endMiddleware","error","provideExpressFactory","provideExpressRequestMiddleware","provideExpressLogMiddleware","provideExpressMetricsMiddleware","provideExpressTracingMiddleware","provideExpressErrorMiddleware","Api","knownHosts","provideKnownHttpApiHosts","SsrBridge","serverSide","provideSsrBridgeServerSide","override","bind"],"sources":["../../../../src/preset/node/index.ts"],"sourcesContent":["import { KnownToken } from '../../tokens';\nimport { provideAxiosFactory } from '../isomorphic/providers/axios-factory';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideBaseConfig } from '../isomorphic/providers/base-config';\nimport { Preset, createPreset } from '../../di';\nimport { PresetTuner } from '../isomorphic/types';\nimport { healthCheck } from '../../utils/express/handler/health-check';\nimport { provideConfigSource } from './providers/config-source';\nimport { provideExpressErrorMiddleware } from './providers/express-error-middleware';\nimport { provideExpressFactory } from './providers/express-factory';\nimport { provideExpressLogMiddleware } from './providers/express-log-middleware';\nimport { provideExpressMetricsMiddleware } from './providers/express-metrics-middleware';\nimport { provideExpressRequestMiddleware } from './providers/express-request-middleware';\nimport { provideExpressTracingMiddleware } from './providers/express-tracing-middleware';\nimport { provideKnownHttpApiHosts } from '../server/providers/known-http-api-hosts';\nimport { provideLogger } from './providers/logger';\nimport { provideMetricsExpressApp } from './providers/metrics-express-app';\nimport { provideSpanExporter } from './providers/span-exporter';\nimport { provideSsrBridgeServerSide } from '../server/providers/ssr-bridge-server-side';\nimport { provideTracer } from './providers/tracer';\nimport { provideTracerProvider } from './providers/tracer-provider';\nimport { provideTracerProviderResource } from './providers/tracer-provider-resource';\nimport { provideMainExpressApp } from './providers/main-express-app';\nimport { ExpressRouteList } from './types';\n\n/**\n * Возвращает preset с зависимостями по умолчанию для frontend-микросервисов на Node.js.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @return Preset.\n */\nexport function PresetNode(customize?: PresetTuner): Preset {\n // ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости\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 preset.set(KnownToken.Tracing.tracer, provideTracer);\n preset.set(KnownToken.Tracing.spanExporter, provideSpanExporter);\n preset.set(KnownToken.Tracing.tracerProvider, provideTracerProvider);\n preset.set(KnownToken.Tracing.tracerProviderResource, provideTracerProviderResource);\n\n // metrics\n preset.set(KnownToken.Metrics.expressApp, provideMetricsExpressApp);\n\n // fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.middleware, () => []);\n preset.set(KnownToken.Http.Serve.Proxy.config, () => null);\n\n // axios\n preset.set(KnownToken.Axios.factory, provideAxiosFactory);\n preset.set(KnownToken.Axios.middleware, () => []);\n\n // express\n preset.set(KnownToken.Express.app, provideMainExpressApp);\n preset.set(KnownToken.Express.pageRoutes, () => []);\n preset.set(\n KnownToken.Express.serviceRoutes,\n (resolve): ExpressRouteList => [\n ['/healthcheck', resolve(KnownToken.Express.Handlers.healthCheck)],\n ],\n );\n preset.set(KnownToken.Express.middleware, resolve => [\n resolve(KnownToken.Express.Middleware.request),\n resolve(KnownToken.Express.Middleware.log),\n resolve(KnownToken.Express.Middleware.metrics),\n resolve(KnownToken.Express.Middleware.tracing),\n ]);\n preset.set(KnownToken.Express.endMiddleware, resolve => [\n resolve(KnownToken.Express.Middleware.error),\n ]);\n preset.set(KnownToken.Express.factory, provideExpressFactory);\n preset.set(KnownToken.Express.Handlers.healthCheck, healthCheck);\n preset.set(KnownToken.Express.Middleware.request, provideExpressRequestMiddleware);\n preset.set(KnownToken.Express.Middleware.log, provideExpressLogMiddleware);\n preset.set(KnownToken.Express.Middleware.metrics, provideExpressMetricsMiddleware);\n preset.set(KnownToken.Express.Middleware.tracing, provideExpressTracingMiddleware);\n preset.set(KnownToken.Express.Middleware.error, provideExpressErrorMiddleware);\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\nexport type { ExpressHandlerContext, ExpressRouteList } from './types';\n\n// доступные утилиты\nexport { getClientIp } from './utils/get-client-ip';\nexport { getForwardedHeaders } from './utils/get-forwarded-headers';\nexport { getPageResponseFormat } from './utils/get-page-response-format';\nexport { HandlerProvider } from './utils/handler-provider';\n"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.provideExpressMetricsMiddleware = provideExpressMetricsMiddleware;
|
|
7
|
-
var _getHandlerMetrics = require("
|
|
7
|
+
var _getHandlerMetrics = require("../utils/get-handler-metrics");
|
|
8
8
|
var _tokens = require("../../../tokens");
|
|
9
9
|
var _server = require("../../server");
|
|
10
10
|
var _utils = require("../../../utils");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"express-metrics-middleware.js","names":["_getHandlerMetrics","require","_tokens","_server","_utils","provideExpressMetricsMiddleware","resolve","config","KnownToken","Config","base","requestCount","renderDuration","responseDuration","getHandlerMetrics","getLabels","req","res","version","appVersion","route","baseUrl","path","code","statusCode","method","getRenderLabels","request","url","next","responseStart","process","hrtime","bigint","inc","once","PAGE_HANDLER_EVENT_TYPE","renderStart","renderFinish","observe","toMilliseconds","responseFinish"],"sources":["../../../../../src/preset/node/providers/express-metrics-middleware.ts"],"sourcesContent":["import type express from 'express';\nimport type { Resolve } from '../../../di';\nimport { LABEL_NAMES, getHandlerMetrics } from '
|
|
1
|
+
{"version":3,"file":"express-metrics-middleware.js","names":["_getHandlerMetrics","require","_tokens","_server","_utils","provideExpressMetricsMiddleware","resolve","config","KnownToken","Config","base","requestCount","renderDuration","responseDuration","getHandlerMetrics","getLabels","req","res","version","appVersion","route","baseUrl","path","code","statusCode","method","getRenderLabels","request","url","next","responseStart","process","hrtime","bigint","inc","once","PAGE_HANDLER_EVENT_TYPE","renderStart","renderFinish","observe","toMilliseconds","responseFinish"],"sources":["../../../../../src/preset/node/providers/express-metrics-middleware.ts"],"sourcesContent":["import type express from 'express';\nimport type { Resolve } from '../../../di';\nimport { LABEL_NAMES, getHandlerMetrics } from '../utils/get-handler-metrics';\nimport { KnownToken } from '../../../tokens';\nimport { PAGE_HANDLER_EVENT_TYPE } from '../../server';\nimport { toMilliseconds } from '../../../utils';\n\n/**\n * Провайдер промежуточного слоя сбора метрик входящих http-запросов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Промежуточный слой.\n */\nexport function provideExpressMetricsMiddleware(resolve: Resolve): express.Handler {\n const config = resolve(KnownToken.Config.base);\n const { requestCount, renderDuration, responseDuration } = getHandlerMetrics();\n\n /**\n * Функция формирования labels.\n * @param req Request.\n * @param res Response.\n * @return Labels.\n */\n const getLabels = (\n req: express.Request,\n res: express.Response,\n ): Record<(typeof LABEL_NAMES.httpResponse)[number], string | number> => ({\n version: config.appVersion,\n route: req.baseUrl + req.path,\n code: res.statusCode,\n method: req.method,\n });\n\n /** @inheritdoc */\n const getRenderLabels = (request: express.Request) =>\n ({\n version: config.appVersion,\n method: request.method,\n route: request.url,\n }) satisfies Record<(typeof LABEL_NAMES.pageRender)[number], string | number>;\n\n return (req, res, next) => {\n const responseStart = process.hrtime.bigint();\n\n requestCount.inc(getLabels(req, res), 1);\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderStart, () => {\n const renderStart = process.hrtime.bigint();\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderFinish, () => {\n const renderFinish = process.hrtime.bigint();\n\n renderDuration.observe(getRenderLabels(req), toMilliseconds(renderFinish - renderStart));\n });\n });\n\n res.once('finish', () => {\n const responseFinish = process.hrtime.bigint();\n\n responseDuration.observe(getLabels(req, res), toMilliseconds(responseFinish - responseStart));\n });\n\n next();\n };\n}\n"],"mappings":";;;;;;AAEA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASI,+BAA+BA,CAACC,OAAgB,EAAmB;EACjF,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAM;IAAEC,YAAY;IAAEC,cAAc;IAAEC;EAAiB,CAAC,GAAG,IAAAC,oCAAiB,EAAC,CAAC;;EAE9E;AACF;AACA;AACA;AACA;AACA;EACE,MAAMC,SAAS,GAAGA,CAChBC,GAAoB,EACpBC,GAAqB,MACmD;IACxEC,OAAO,EAAEX,MAAM,CAACY,UAAU;IAC1BC,KAAK,EAAEJ,GAAG,CAACK,OAAO,GAAGL,GAAG,CAACM,IAAI;IAC7BC,IAAI,EAAEN,GAAG,CAACO,UAAU;IACpBC,MAAM,EAAET,GAAG,CAACS;EACd,CAAC,CAAC;;EAEF;EACA,MAAMC,eAAe,GAAIC,OAAwB,KAC9C;IACCT,OAAO,EAAEX,MAAM,CAACY,UAAU;IAC1BM,MAAM,EAAEE,OAAO,CAACF,MAAM;IACtBL,KAAK,EAAEO,OAAO,CAACC;EACjB,CAAC,CAA4E;EAE/E,OAAO,CAACZ,GAAG,EAAEC,GAAG,EAAEY,IAAI,KAAK;IACzB,MAAMC,aAAa,GAAGC,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IAE7CtB,YAAY,CAACuB,GAAG,CAACnB,SAAS,CAACC,GAAG,EAAEC,GAAG,CAAC,EAAE,CAAC,CAAC;IAExCA,GAAG,CAACkB,IAAI,CAACC,+BAAuB,CAACC,WAAW,EAAE,MAAM;MAClD,MAAMA,WAAW,GAAGN,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAE3ChB,GAAG,CAACkB,IAAI,CAACC,+BAAuB,CAACE,YAAY,EAAE,MAAM;QACnD,MAAMA,YAAY,GAAGP,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;QAE5CrB,cAAc,CAAC2B,OAAO,CAACb,eAAe,CAACV,GAAG,CAAC,EAAE,IAAAwB,qBAAc,EAACF,YAAY,GAAGD,WAAW,CAAC,CAAC;MAC1F,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFpB,GAAG,CAACkB,IAAI,CAAC,QAAQ,EAAE,MAAM;MACvB,MAAMM,cAAc,GAAGV,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAE9CpB,gBAAgB,CAAC0B,OAAO,CAACxB,SAAS,CAACC,GAAG,EAAEC,GAAG,CAAC,EAAE,IAAAuB,qBAAc,EAACC,cAAc,GAAGX,aAAa,CAAC,CAAC;IAC/F,CAAC,CAAC;IAEFD,IAAI,CAAC,CAAC;EACR,CAAC;AACH"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.provideMainExpressApp = provideMainExpressApp;
|
|
7
|
+
var _tokens = require("../../../tokens");
|
|
8
|
+
var _express = _interopRequireDefault(require("express"));
|
|
9
|
+
var _httpProxyMiddleware = require("http-proxy-middleware");
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
/**
|
|
12
|
+
* Провайдер основного express-приложения.
|
|
13
|
+
* @param resolve Функция для получения зависимости по токену.
|
|
14
|
+
* @return Основное express-приложение.
|
|
15
|
+
*/
|
|
16
|
+
function provideMainExpressApp(resolve) {
|
|
17
|
+
const config = resolve(_tokens.KnownToken.Config.base);
|
|
18
|
+
const pageRoutes = resolve(_tokens.KnownToken.Express.pageRoutes);
|
|
19
|
+
const serviceRoutes = resolve(_tokens.KnownToken.Express.serviceRoutes);
|
|
20
|
+
const middleware = resolve(_tokens.KnownToken.Express.middleware);
|
|
21
|
+
const endMiddleware = resolve(_tokens.KnownToken.Express.endMiddleware);
|
|
22
|
+
const proxyConfig = resolve(_tokens.KnownToken.Http.Serve.Proxy.config);
|
|
23
|
+
const app = (0, _express.default)();
|
|
24
|
+
if (config.env === 'development' && proxyConfig) {
|
|
25
|
+
const proxyConfigs = Array.isArray(proxyConfig) ? proxyConfig : [proxyConfig];
|
|
26
|
+
for (const {
|
|
27
|
+
target,
|
|
28
|
+
filter
|
|
29
|
+
} of proxyConfigs) {
|
|
30
|
+
// ВАЖНО: так как не можем предоставить web-интерфейс Request бросаем ошибку
|
|
31
|
+
if (typeof filter === 'function') {
|
|
32
|
+
throw new Error('Currently function is not supported for proxy "filter"');
|
|
33
|
+
}
|
|
34
|
+
const proxyPaths = Array.isArray(filter) ? filter : [filter];
|
|
35
|
+
app.use((0, _httpProxyMiddleware.createProxyMiddleware)({
|
|
36
|
+
target,
|
|
37
|
+
changeOrigin: true,
|
|
38
|
+
pathFilter: inputPath => proxyPaths.some(proxyPath => inputPath.startsWith(proxyPath))
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// маршруты страниц
|
|
44
|
+
for (const [routePath, routeHandler] of pageRoutes) {
|
|
45
|
+
const path = typeof routePath === 'string' ? routePath : routePath.path;
|
|
46
|
+
const method = typeof routePath === 'string' ? 'get' : routePath.method;
|
|
47
|
+
app.use(path, middleware);
|
|
48
|
+
app[method](path, routeHandler);
|
|
49
|
+
app.use(path, endMiddleware);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// служебные маршруты (к ним не применяются промежуточные слои)
|
|
53
|
+
for (const [routePath, routeHandler] of serviceRoutes) {
|
|
54
|
+
const path = typeof routePath === 'string' ? routePath : routePath.path;
|
|
55
|
+
const method = typeof routePath === 'string' ? 'get' : routePath.method;
|
|
56
|
+
app[method](path, routeHandler);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// @todo также добавить apiRoutes?
|
|
60
|
+
return app;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=main-express-app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main-express-app.js","names":["_tokens","require","_express","_interopRequireDefault","_httpProxyMiddleware","obj","__esModule","default","provideMainExpressApp","resolve","config","KnownToken","Config","base","pageRoutes","Express","serviceRoutes","middleware","endMiddleware","proxyConfig","Http","Serve","Proxy","app","express","env","proxyConfigs","Array","isArray","target","filter","Error","proxyPaths","use","createProxyMiddleware","changeOrigin","pathFilter","inputPath","some","proxyPath","startsWith","routePath","routeHandler","path","method"],"sources":["../../../../../src/preset/node/providers/main-express-app.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport express from 'express';\nimport { createProxyMiddleware } from 'http-proxy-middleware';\n\n/**\n * Провайдер основного express-приложения.\n * @param resolve Функция для получения зависимости по токену.\n * @return Основное express-приложение.\n */\nexport function provideMainExpressApp(resolve: Resolve): express.Application {\n const config = resolve(KnownToken.Config.base);\n const pageRoutes = resolve(KnownToken.Express.pageRoutes);\n const serviceRoutes = resolve(KnownToken.Express.serviceRoutes);\n const middleware = resolve(KnownToken.Express.middleware);\n const endMiddleware = resolve(KnownToken.Express.endMiddleware);\n const proxyConfig = resolve(KnownToken.Http.Serve.Proxy.config);\n\n const app = express();\n\n if (config.env === 'development' && proxyConfig) {\n const proxyConfigs = Array.isArray(proxyConfig) ? proxyConfig : [proxyConfig];\n\n for (const { target, filter } of proxyConfigs) {\n // ВАЖНО: так как не можем предоставить web-интерфейс Request бросаем ошибку\n if (typeof filter === 'function') {\n throw new Error('Currently function is not supported for proxy \"filter\"');\n }\n\n const proxyPaths = Array.isArray(filter) ? filter : [filter];\n\n app.use(\n createProxyMiddleware({\n target,\n changeOrigin: true,\n pathFilter: inputPath => proxyPaths.some(proxyPath => inputPath.startsWith(proxyPath)),\n }),\n );\n }\n }\n\n // маршруты страниц\n for (const [routePath, routeHandler] of pageRoutes) {\n const path = typeof routePath === 'string' ? routePath : routePath.path;\n const method = typeof routePath === 'string' ? 'get' : routePath.method;\n\n app.use(path, middleware);\n app[method](path, routeHandler);\n app.use(path, endMiddleware);\n }\n\n // служебные маршруты (к ним не применяются промежуточные слои)\n for (const [routePath, routeHandler] of serviceRoutes) {\n const path = typeof routePath === 'string' ? routePath : routePath.path;\n const method = typeof routePath === 'string' ? 'get' : routePath.method;\n\n app[method](path, routeHandler);\n }\n\n // @todo также добавить apiRoutes?\n return app;\n}\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AAA8D,SAAAE,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE9D;AACA;AACA;AACA;AACA;AACO,SAASG,qBAAqBA,CAACC,OAAgB,EAAuB;EAC3E,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,UAAU,GAAGL,OAAO,CAACE,kBAAU,CAACI,OAAO,CAACD,UAAU,CAAC;EACzD,MAAME,aAAa,GAAGP,OAAO,CAACE,kBAAU,CAACI,OAAO,CAACC,aAAa,CAAC;EAC/D,MAAMC,UAAU,GAAGR,OAAO,CAACE,kBAAU,CAACI,OAAO,CAACE,UAAU,CAAC;EACzD,MAAMC,aAAa,GAAGT,OAAO,CAACE,kBAAU,CAACI,OAAO,CAACG,aAAa,CAAC;EAC/D,MAAMC,WAAW,GAAGV,OAAO,CAACE,kBAAU,CAACS,IAAI,CAACC,KAAK,CAACC,KAAK,CAACZ,MAAM,CAAC;EAE/D,MAAMa,GAAG,GAAG,IAAAC,gBAAO,EAAC,CAAC;EAErB,IAAId,MAAM,CAACe,GAAG,KAAK,aAAa,IAAIN,WAAW,EAAE;IAC/C,MAAMO,YAAY,GAAGC,KAAK,CAACC,OAAO,CAACT,WAAW,CAAC,GAAGA,WAAW,GAAG,CAACA,WAAW,CAAC;IAE7E,KAAK,MAAM;MAAEU,MAAM;MAAEC;IAAO,CAAC,IAAIJ,YAAY,EAAE;MAC7C;MACA,IAAI,OAAOI,MAAM,KAAK,UAAU,EAAE;QAChC,MAAM,IAAIC,KAAK,CAAC,wDAAwD,CAAC;MAC3E;MAEA,MAAMC,UAAU,GAAGL,KAAK,CAACC,OAAO,CAACE,MAAM,CAAC,GAAGA,MAAM,GAAG,CAACA,MAAM,CAAC;MAE5DP,GAAG,CAACU,GAAG,CACL,IAAAC,0CAAqB,EAAC;QACpBL,MAAM;QACNM,YAAY,EAAE,IAAI;QAClBC,UAAU,EAAEC,SAAS,IAAIL,UAAU,CAACM,IAAI,CAACC,SAAS,IAAIF,SAAS,CAACG,UAAU,CAACD,SAAS,CAAC;MACvF,CAAC,CACH,CAAC;IACH;EACF;;EAEA;EACA,KAAK,MAAM,CAACE,SAAS,EAAEC,YAAY,CAAC,IAAI5B,UAAU,EAAE;IAClD,MAAM6B,IAAI,GAAG,OAAOF,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAGA,SAAS,CAACE,IAAI;IACvE,MAAMC,MAAM,GAAG,OAAOH,SAAS,KAAK,QAAQ,GAAG,KAAK,GAAGA,SAAS,CAACG,MAAM;IAEvErB,GAAG,CAACU,GAAG,CAACU,IAAI,EAAE1B,UAAU,CAAC;IACzBM,GAAG,CAACqB,MAAM,CAAC,CAACD,IAAI,EAAED,YAAY,CAAC;IAC/BnB,GAAG,CAACU,GAAG,CAACU,IAAI,EAAEzB,aAAa,CAAC;EAC9B;;EAEA;EACA,KAAK,MAAM,CAACuB,SAAS,EAAEC,YAAY,CAAC,IAAI1B,aAAa,EAAE;IACrD,MAAM2B,IAAI,GAAG,OAAOF,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAGA,SAAS,CAACE,IAAI;IACvE,MAAMC,MAAM,GAAG,OAAOH,SAAS,KAAK,QAAQ,GAAG,KAAK,GAAGA,SAAS,CAACG,MAAM;IAEvErB,GAAG,CAACqB,MAAM,CAAC,CAACD,IAAI,EAAED,YAAY,CAAC;EACjC;;EAEA;EACA,OAAOnB,GAAG;AACZ"}
|