@sima-land/isomorph 11.0.0-alpha.49 → 11.0.0-alpha.50

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.
@@ -5,8 +5,6 @@ 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
-
10
8
  /**
11
9
  * Возвращает новый источник конфигурации.
12
10
  * @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';\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
+ {"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":";;;;;;AACA,IAAAA,IAAA,GAAAC,OAAA;AAIA;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":["// @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":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/config/types.ts"],"sourcesContent":["import type { Env } from '@humanwhocodes/env';\n\n/** Источник конфигурации. */\nexport type ConfigSource = Env;\n\n/**\n * Базовая информация о приложении, необходимая в большинстве мест.\n */\nexport interface BaseConfig {\n /** Строка, характеризующая среду выполнения, например \"production\". */\n env: string;\n\n /** Имя приложения. */\n appName: string;\n\n /** Версия приложения. */\n appVersion: string;\n}\n\n/**\n * Словарь.\n */\nexport interface Dictionary {\n readonly [key: string]: string | undefined;\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/http/types.ts"],"sourcesContent":["import type { LogLevel } from '../log';\n\nexport type { Handler, Enhancer, Middleware } from '@krutoo/fetch-tools';\n\nexport type {\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\n ProxyOptions,\n} from '@krutoo/fetch-tools/middleware';\n\nexport type URLSearchParamsInit = Record<string, string | number | boolean | undefined | null>;\n\nexport interface ResponseDone<T = unknown> {\n ok: true;\n data: T;\n error: null;\n status: number;\n statusText: string;\n}\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
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/http/types.ts"],"sourcesContent":["import type { LogLevel } from '../log';\n\nexport type { Handler, Enhancer, Middleware } from '@krutoo/fetch-tools';\n\nexport type {\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\n ProxyOptions,\n} from '@krutoo/fetch-tools/middleware';\n\nexport type URLSearchParamsInit = Record<string, string | number | boolean | undefined | null>;\n\nexport interface ResponseDone<T = unknown> {\n ok: true;\n data: T;\n error: null;\n status: number;\n statusText: string;\n headers: Headers;\n}\n\nexport interface ResponseFail<T = unknown> {\n ok: false;\n data?: T;\n error: unknown;\n status?: number;\n statusText?: string;\n headers?: Headers;\n}\n\nexport type EitherResponse<T> = ResponseDone<T> | ResponseFail<T>;\n\nexport interface ResponseErrorInit {\n statusCode?: number;\n redirectLocation?: string;\n logLevel?: LogLevel | null;\n}\n"],"mappings":""}
@@ -51,27 +51,32 @@ const FetchUtil = exports.FetchUtil = {
51
51
  /**
52
52
  * Возвращает кортеж обработчиков для Promise из fetch.
53
53
  * Полученный Promise никогда не уйдет в состояние rejected.
54
+ * @param options Опции.
54
55
  * @return Кортеж.
55
56
  */
56
- eitherResponse() {
57
- return [response => {
58
- if (response.ok) {
59
- return response.json().then(data => ({
60
- ok: true,
61
- data: data,
62
- error: null,
63
- status: response.status,
64
- statusText: response.statusText
65
- }));
66
- } else {
67
- return Promise.resolve({
57
+ eitherResponse({
58
+ parseBody = response => response.json()
59
+ } = {}) {
60
+ return [async response => {
61
+ if (!response.ok) {
62
+ return {
68
63
  ok: false,
69
- error: `Request failed with status ${response.status}`,
64
+ data: await parseBody(response).catch(() => null),
65
+ error: new Error(`Request failed with status code ${response.status}`),
70
66
  status: response.status,
71
- statusText: response.statusText
72
- });
67
+ statusText: response.statusText,
68
+ headers: response.headers
69
+ };
73
70
  }
74
- }, error => Promise.resolve({
71
+ return {
72
+ ok: true,
73
+ data: await parseBody(response).catch(() => null),
74
+ error: null,
75
+ status: response.status,
76
+ statusText: response.statusText,
77
+ headers: response.headers
78
+ };
79
+ }, async error => ({
75
80
  ok: false,
76
81
  error
77
82
  })];
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["FetchUtil","exports","setParams","url","params","paramName","paramValue","Object","entries","searchParams","delete","undefined","set","String","withParams","resultUrl","URL","withoutParams","search","eitherResponse","response","ok","json","then","data","error","status","statusText","Promise","resolve"],"sources":["../../../src/http/utils.ts"],"sourcesContent":["import type { URLSearchParamsInit, ResponseDone, ResponseFail } from './types';\n\n/**\n * Утилиты для работы с URL, URLSearchParams, Headers, Request, Response.\n */\nexport const FetchUtil = {\n /**\n * Получив параметры применит их к переданному URL.\n * @param url URL.\n * @param params Параметры.\n */\n setParams(url: URL, params: URLSearchParamsInit): void {\n for (const [paramName, paramValue] of Object.entries(params)) {\n if (paramValue === null) {\n url.searchParams.delete(paramName);\n continue;\n }\n\n if (paramValue !== undefined) {\n url.searchParams.set(paramName, String(paramValue));\n continue;\n }\n }\n },\n\n // @todo resetPrams?\n\n /**\n * Получив URL и параметры вернет новый URL с примененными параметрами.\n * @param url URL.\n * @param params Параметры.\n * @return URL.\n */\n withParams(url: string | URL, params: URLSearchParamsInit): URL {\n const resultUrl = new URL(url);\n\n FetchUtil.setParams(resultUrl, params);\n\n return resultUrl;\n },\n\n /**\n * Получив URL вернет его копию но без параметров.\n * @param url URL.\n * @return URL.\n */\n withoutParams(url: string | URL): URL {\n const resultUrl = new URL(url);\n\n resultUrl.search = '';\n\n return resultUrl;\n },\n\n /**\n * Возвращает кортеж обработчиков для Promise из fetch.\n * Полученный Promise никогда не уйдет в состояние rejected.\n * @return Кортеж.\n */\n eitherResponse<T = unknown>() {\n return [\n (response: Response): Promise<ResponseDone<T> | ResponseFail<T>> => {\n if (response.ok) {\n return response.json().then(data => ({\n ok: true,\n data: data as T,\n error: null,\n status: response.status,\n statusText: response.statusText,\n }));\n } else {\n return Promise.resolve({\n ok: false,\n error: `Request failed with status ${response.status}`,\n status: response.status,\n statusText: response.statusText,\n });\n }\n },\n (error: unknown): Promise<ResponseFail<T>> =>\n Promise.resolve({\n ok: false,\n error,\n }),\n ] as const;\n },\n} as const;\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACO,MAAMA,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG;EACvB;AACF;AACA;AACA;AACA;EACEE,SAASA,CAACC,GAAQ,EAAEC,MAA2B,EAAQ;IACrD,KAAK,MAAM,CAACC,SAAS,EAAEC,UAAU,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,MAAM,CAAC,EAAE;MAC5D,IAAIE,UAAU,KAAK,IAAI,EAAE;QACvBH,GAAG,CAACM,YAAY,CAACC,MAAM,CAACL,SAAS,CAAC;QAClC;MACF;MAEA,IAAIC,UAAU,KAAKK,SAAS,EAAE;QAC5BR,GAAG,CAACM,YAAY,CAACG,GAAG,CAACP,SAAS,EAAEQ,MAAM,CAACP,UAAU,CAAC,CAAC;QACnD;MACF;IACF;EACF,CAAC;EAED;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEQ,UAAUA,CAACX,GAAiB,EAAEC,MAA2B,EAAO;IAC9D,MAAMW,SAAS,GAAG,IAAIC,GAAG,CAACb,GAAG,CAAC;IAE9BH,SAAS,CAACE,SAAS,CAACa,SAAS,EAAEX,MAAM,CAAC;IAEtC,OAAOW,SAAS;EAClB,CAAC;EAED;AACF;AACA;AACA;AACA;EACEE,aAAaA,CAACd,GAAiB,EAAO;IACpC,MAAMY,SAAS,GAAG,IAAIC,GAAG,CAACb,GAAG,CAAC;IAE9BY,SAAS,CAACG,MAAM,GAAG,EAAE;IAErB,OAAOH,SAAS;EAClB,CAAC;EAED;AACF;AACA;AACA;AACA;EACEI,cAAcA,CAAA,EAAgB;IAC5B,OAAO,CACJC,QAAkB,IAAiD;MAClE,IAAIA,QAAQ,CAACC,EAAE,EAAE;QACf,OAAOD,QAAQ,CAACE,IAAI,CAAC,CAAC,CAACC,IAAI,CAACC,IAAI,KAAK;UACnCH,EAAE,EAAE,IAAI;UACRG,IAAI,EAAEA,IAAS;UACfC,KAAK,EAAE,IAAI;UACXC,MAAM,EAAEN,QAAQ,CAACM,MAAM;UACvBC,UAAU,EAAEP,QAAQ,CAACO;QACvB,CAAC,CAAC,CAAC;MACL,CAAC,MAAM;QACL,OAAOC,OAAO,CAACC,OAAO,CAAC;UACrBR,EAAE,EAAE,KAAK;UACTI,KAAK,EAAG,8BAA6BL,QAAQ,CAACM,MAAO,EAAC;UACtDA,MAAM,EAAEN,QAAQ,CAACM,MAAM;UACvBC,UAAU,EAAEP,QAAQ,CAACO;QACvB,CAAC,CAAC;MACJ;IACF,CAAC,EACAF,KAAc,IACbG,OAAO,CAACC,OAAO,CAAC;MACdR,EAAE,EAAE,KAAK;MACTI;IACF,CAAC,CAAC,CACL;EACH;AACF,CAAU"}
1
+ {"version":3,"file":"utils.js","names":["FetchUtil","exports","setParams","url","params","paramName","paramValue","Object","entries","searchParams","delete","undefined","set","String","withParams","resultUrl","URL","withoutParams","search","eitherResponse","parseBody","response","json","ok","data","catch","error","Error","status","statusText","headers"],"sources":["../../../src/http/utils.ts"],"sourcesContent":["import type { URLSearchParamsInit, ResponseDone, ResponseFail } from './types';\n\n/**\n * Утилиты для работы с URL, URLSearchParams, Headers, Request, Response.\n */\nexport const FetchUtil = {\n /**\n * Получив параметры применит их к переданному URL.\n * @param url URL.\n * @param params Параметры.\n */\n setParams(url: URL, params: URLSearchParamsInit): void {\n for (const [paramName, paramValue] of Object.entries(params)) {\n if (paramValue === null) {\n url.searchParams.delete(paramName);\n continue;\n }\n\n if (paramValue !== undefined) {\n url.searchParams.set(paramName, String(paramValue));\n continue;\n }\n }\n },\n\n // @todo resetPrams?\n\n /**\n * Получив URL и параметры вернет новый URL с примененными параметрами.\n * @param url URL.\n * @param params Параметры.\n * @return URL.\n */\n withParams(url: string | URL, params: URLSearchParamsInit): URL {\n const resultUrl = new URL(url);\n\n FetchUtil.setParams(resultUrl, params);\n\n return resultUrl;\n },\n\n /**\n * Получив URL вернет его копию но без параметров.\n * @param url URL.\n * @return URL.\n */\n withoutParams(url: string | URL): URL {\n const resultUrl = new URL(url);\n\n resultUrl.search = '';\n\n return resultUrl;\n },\n\n /**\n * Возвращает кортеж обработчиков для Promise из fetch.\n * Полученный Promise никогда не уйдет в состояние rejected.\n * @param options Опции.\n * @return Кортеж.\n */\n eitherResponse<T = unknown>({\n parseBody = response => response.json(),\n }: {\n /** Парсер body. */\n parseBody?: (response: Response) => Promise<T>;\n } = {}) {\n return [\n async (response: Response): Promise<ResponseDone<T> | ResponseFail<T>> => {\n if (!response.ok) {\n return {\n ok: false,\n data: (await parseBody(response).catch(() => null)) as T,\n error: new Error(`Request failed with status code ${response.status}`),\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n };\n }\n\n return {\n ok: true,\n data: (await parseBody(response).catch(() => null)) as T,\n error: null,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n };\n },\n async (error: unknown): Promise<ResponseFail<T>> => ({\n ok: false,\n error,\n }),\n ] as const;\n },\n} as const;\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACO,MAAMA,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG;EACvB;AACF;AACA;AACA;AACA;EACEE,SAASA,CAACC,GAAQ,EAAEC,MAA2B,EAAQ;IACrD,KAAK,MAAM,CAACC,SAAS,EAAEC,UAAU,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,MAAM,CAAC,EAAE;MAC5D,IAAIE,UAAU,KAAK,IAAI,EAAE;QACvBH,GAAG,CAACM,YAAY,CAACC,MAAM,CAACL,SAAS,CAAC;QAClC;MACF;MAEA,IAAIC,UAAU,KAAKK,SAAS,EAAE;QAC5BR,GAAG,CAACM,YAAY,CAACG,GAAG,CAACP,SAAS,EAAEQ,MAAM,CAACP,UAAU,CAAC,CAAC;QACnD;MACF;IACF;EACF,CAAC;EAED;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEQ,UAAUA,CAACX,GAAiB,EAAEC,MAA2B,EAAO;IAC9D,MAAMW,SAAS,GAAG,IAAIC,GAAG,CAACb,GAAG,CAAC;IAE9BH,SAAS,CAACE,SAAS,CAACa,SAAS,EAAEX,MAAM,CAAC;IAEtC,OAAOW,SAAS;EAClB,CAAC;EAED;AACF;AACA;AACA;AACA;EACEE,aAAaA,CAACd,GAAiB,EAAO;IACpC,MAAMY,SAAS,GAAG,IAAIC,GAAG,CAACb,GAAG,CAAC;IAE9BY,SAAS,CAACG,MAAM,GAAG,EAAE;IAErB,OAAOH,SAAS;EAClB,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEI,cAAcA,CAAc;IAC1BC,SAAS,GAAGC,QAAQ,IAAIA,QAAQ,CAACC,IAAI,CAAC;EAIxC,CAAC,GAAG,CAAC,CAAC,EAAE;IACN,OAAO,CACL,MAAOD,QAAkB,IAAiD;MACxE,IAAI,CAACA,QAAQ,CAACE,EAAE,EAAE;QAChB,OAAO;UACLA,EAAE,EAAE,KAAK;UACTC,IAAI,EAAG,MAAMJ,SAAS,CAACC,QAAQ,CAAC,CAACI,KAAK,CAAC,MAAM,IAAI,CAAO;UACxDC,KAAK,EAAE,IAAIC,KAAK,CAAE,mCAAkCN,QAAQ,CAACO,MAAO,EAAC,CAAC;UACtEA,MAAM,EAAEP,QAAQ,CAACO,MAAM;UACvBC,UAAU,EAAER,QAAQ,CAACQ,UAAU;UAC/BC,OAAO,EAAET,QAAQ,CAACS;QACpB,CAAC;MACH;MAEA,OAAO;QACLP,EAAE,EAAE,IAAI;QACRC,IAAI,EAAG,MAAMJ,SAAS,CAACC,QAAQ,CAAC,CAACI,KAAK,CAAC,MAAM,IAAI,CAAO;QACxDC,KAAK,EAAE,IAAI;QACXE,MAAM,EAAEP,QAAQ,CAACO,MAAM;QACvBC,UAAU,EAAER,QAAQ,CAACQ,UAAU;QAC/BC,OAAO,EAAET,QAAQ,CAACS;MACpB,CAAC;IACH,CAAC,EACD,MAAOJ,KAAc,KAAgC;MACnDH,EAAE,EAAE,KAAK;MACTG;IACF,CAAC,CAAC,CACH;EACH;AACF,CAAU"}
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "type": "commonjs",
3
3
  "name": "@sima-land/isomorph",
4
- "version": "11.0.0-alpha.49",
4
+ "version": "11.0.0-alpha.50",
5
5
  "dependencies": {
6
- "@humanwhocodes/env": "^3.0.2",
6
+ "@humanwhocodes/env": "^3.0.5",
7
7
  "@krutoo/fetch-tools": "^0.0.16",
8
8
  "@opentelemetry/api": "^1.4.1",
9
9
  "@opentelemetry/exporter-prometheus": "^0.38.0",
@@ -1,4 +1,3 @@
1
- // @ts-expect-error: https://github.com/humanwhocodes/env/issues/133 (@todo разобраться и убрать)
2
1
  import { Env } from '@humanwhocodes/env';
3
2
  /**
4
3
  * Возвращает новый источник конфигурации.
@@ -1 +1 @@
1
- {"version":3,"file":"source.js","names":["Env","createConfigSource","dictionary","source","Object","assign","__ISOMORPH_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":"AAEA;AACA,SAASA,GAAG,QAAQ,oBAAoB;AAIxC;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAACC,UAAsB,EAAgB;EACvE,MAAMC,MAAkB,GAAG,CAAC,CAAC;;EAE7B;EACAC,MAAM,CAACC,MAAM,CAACF,MAAM,EAAED,UAAU,CAAC;;EAEjC;EACA,IAAI,OAAOI,gBAAgB,KAAK,WAAW,EAAE;IAC3CF,MAAM,CAACC,MAAM,CAACF,MAAM,EAAEG,gBAAgB,CAAC;EACzC;EAEA,OAAO,IAAIN,GAAG,CAACG,MAAM,CAAC;AACxB"}
1
+ {"version":3,"file":"source.js","names":["Env","createConfigSource","dictionary","source","Object","assign","__ISOMORPH_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":"AACA,SAASA,GAAG,QAAQ,oBAAoB;AAIxC;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAACC,UAAsB,EAAgB;EACvE,MAAMC,MAAkB,GAAG,CAAC,CAAC;;EAE7B;EACAC,MAAM,CAACC,MAAM,CAACF,MAAM,EAAED,UAAU,CAAC;;EAEjC;EACA,IAAI,OAAOI,gBAAgB,KAAK,WAAW,EAAE;IAC3CF,MAAM,CAACC,MAAM,CAACF,MAAM,EAAEG,gBAAgB,CAAC;EACzC;EAEA,OAAO,IAAIN,GAAG,CAACG,MAAM,CAAC;AACxB"}
@@ -1 +1 @@
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":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/config/types.ts"],"sourcesContent":["import type { Env } from '@humanwhocodes/env';\n\n/** Источник конфигурации. */\nexport type ConfigSource = Env;\n\n/**\n * Базовая информация о приложении, необходимая в большинстве мест.\n */\nexport interface BaseConfig {\n /** Строка, характеризующая среду выполнения, например \"production\". */\n env: string;\n\n /** Имя приложения. */\n appName: string;\n\n /** Версия приложения. */\n appVersion: string;\n}\n\n/**\n * Словарь.\n */\nexport interface Dictionary {\n readonly [key: string]: string | undefined;\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/http/types.ts"],"sourcesContent":["import type { LogLevel } from '../log';\n\nexport type { Handler, Enhancer, Middleware } from '@krutoo/fetch-tools';\n\nexport type {\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\n ProxyOptions,\n} from '@krutoo/fetch-tools/middleware';\n\nexport type URLSearchParamsInit = Record<string, string | number | boolean | undefined | null>;\n\nexport interface ResponseDone<T = unknown> {\n ok: true;\n data: T;\n error: null;\n status: number;\n statusText: string;\n}\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
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/http/types.ts"],"sourcesContent":["import type { LogLevel } from '../log';\n\nexport type { Handler, Enhancer, Middleware } from '@krutoo/fetch-tools';\n\nexport type {\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\n ProxyOptions,\n} from '@krutoo/fetch-tools/middleware';\n\nexport type URLSearchParamsInit = Record<string, string | number | boolean | undefined | null>;\n\nexport interface ResponseDone<T = unknown> {\n ok: true;\n data: T;\n error: null;\n status: number;\n statusText: string;\n headers: Headers;\n}\n\nexport interface ResponseFail<T = unknown> {\n ok: false;\n data?: T;\n error: unknown;\n status?: number;\n statusText?: string;\n headers?: Headers;\n}\n\nexport type EitherResponse<T> = ResponseDone<T> | ResponseFail<T>;\n\nexport interface ResponseErrorInit {\n statusCode?: number;\n redirectLocation?: string;\n logLevel?: LogLevel | null;\n}\n"],"mappings":""}
@@ -45,27 +45,32 @@ export const FetchUtil = {
45
45
  /**
46
46
  * Возвращает кортеж обработчиков для Promise из fetch.
47
47
  * Полученный Promise никогда не уйдет в состояние rejected.
48
+ * @param options Опции.
48
49
  * @return Кортеж.
49
50
  */
50
- eitherResponse() {
51
- return [response => {
52
- if (response.ok) {
53
- return response.json().then(data => ({
54
- ok: true,
55
- data: data,
56
- error: null,
57
- status: response.status,
58
- statusText: response.statusText
59
- }));
60
- } else {
61
- return Promise.resolve({
51
+ eitherResponse({
52
+ parseBody = response => response.json()
53
+ } = {}) {
54
+ return [async response => {
55
+ if (!response.ok) {
56
+ return {
62
57
  ok: false,
63
- error: `Request failed with status ${response.status}`,
58
+ data: await parseBody(response).catch(() => null),
59
+ error: new Error(`Request failed with status code ${response.status}`),
64
60
  status: response.status,
65
- statusText: response.statusText
66
- });
61
+ statusText: response.statusText,
62
+ headers: response.headers
63
+ };
67
64
  }
68
- }, error => Promise.resolve({
65
+ return {
66
+ ok: true,
67
+ data: await parseBody(response).catch(() => null),
68
+ error: null,
69
+ status: response.status,
70
+ statusText: response.statusText,
71
+ headers: response.headers
72
+ };
73
+ }, async error => ({
69
74
  ok: false,
70
75
  error
71
76
  })];
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["FetchUtil","setParams","url","params","paramName","paramValue","Object","entries","searchParams","delete","undefined","set","String","withParams","resultUrl","URL","withoutParams","search","eitherResponse","response","ok","json","then","data","error","status","statusText","Promise","resolve"],"sources":["../../../src/http/utils.ts"],"sourcesContent":["import type { URLSearchParamsInit, ResponseDone, ResponseFail } from './types';\n\n/**\n * Утилиты для работы с URL, URLSearchParams, Headers, Request, Response.\n */\nexport const FetchUtil = {\n /**\n * Получив параметры применит их к переданному URL.\n * @param url URL.\n * @param params Параметры.\n */\n setParams(url: URL, params: URLSearchParamsInit): void {\n for (const [paramName, paramValue] of Object.entries(params)) {\n if (paramValue === null) {\n url.searchParams.delete(paramName);\n continue;\n }\n\n if (paramValue !== undefined) {\n url.searchParams.set(paramName, String(paramValue));\n continue;\n }\n }\n },\n\n // @todo resetPrams?\n\n /**\n * Получив URL и параметры вернет новый URL с примененными параметрами.\n * @param url URL.\n * @param params Параметры.\n * @return URL.\n */\n withParams(url: string | URL, params: URLSearchParamsInit): URL {\n const resultUrl = new URL(url);\n\n FetchUtil.setParams(resultUrl, params);\n\n return resultUrl;\n },\n\n /**\n * Получив URL вернет его копию но без параметров.\n * @param url URL.\n * @return URL.\n */\n withoutParams(url: string | URL): URL {\n const resultUrl = new URL(url);\n\n resultUrl.search = '';\n\n return resultUrl;\n },\n\n /**\n * Возвращает кортеж обработчиков для Promise из fetch.\n * Полученный Promise никогда не уйдет в состояние rejected.\n * @return Кортеж.\n */\n eitherResponse<T = unknown>() {\n return [\n (response: Response): Promise<ResponseDone<T> | ResponseFail<T>> => {\n if (response.ok) {\n return response.json().then(data => ({\n ok: true,\n data: data as T,\n error: null,\n status: response.status,\n statusText: response.statusText,\n }));\n } else {\n return Promise.resolve({\n ok: false,\n error: `Request failed with status ${response.status}`,\n status: response.status,\n statusText: response.statusText,\n });\n }\n },\n (error: unknown): Promise<ResponseFail<T>> =>\n Promise.resolve({\n ok: false,\n error,\n }),\n ] as const;\n },\n} as const;\n"],"mappings":"AAEA;AACA;AACA;AACA,OAAO,MAAMA,SAAS,GAAG;EACvB;AACF;AACA;AACA;AACA;EACEC,SAASA,CAACC,GAAQ,EAAEC,MAA2B,EAAQ;IACrD,KAAK,MAAM,CAACC,SAAS,EAAEC,UAAU,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,MAAM,CAAC,EAAE;MAC5D,IAAIE,UAAU,KAAK,IAAI,EAAE;QACvBH,GAAG,CAACM,YAAY,CAACC,MAAM,CAACL,SAAS,CAAC;QAClC;MACF;MAEA,IAAIC,UAAU,KAAKK,SAAS,EAAE;QAC5BR,GAAG,CAACM,YAAY,CAACG,GAAG,CAACP,SAAS,EAAEQ,MAAM,CAACP,UAAU,CAAC,CAAC;QACnD;MACF;IACF;EACF,CAAC;EAED;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEQ,UAAUA,CAACX,GAAiB,EAAEC,MAA2B,EAAO;IAC9D,MAAMW,SAAS,GAAG,IAAIC,GAAG,CAACb,GAAG,CAAC;IAE9BF,SAAS,CAACC,SAAS,CAACa,SAAS,EAAEX,MAAM,CAAC;IAEtC,OAAOW,SAAS;EAClB,CAAC;EAED;AACF;AACA;AACA;AACA;EACEE,aAAaA,CAACd,GAAiB,EAAO;IACpC,MAAMY,SAAS,GAAG,IAAIC,GAAG,CAACb,GAAG,CAAC;IAE9BY,SAAS,CAACG,MAAM,GAAG,EAAE;IAErB,OAAOH,SAAS;EAClB,CAAC;EAED;AACF;AACA;AACA;AACA;EACEI,cAAcA,CAAA,EAAgB;IAC5B,OAAO,CACJC,QAAkB,IAAiD;MAClE,IAAIA,QAAQ,CAACC,EAAE,EAAE;QACf,OAAOD,QAAQ,CAACE,IAAI,CAAC,CAAC,CAACC,IAAI,CAACC,IAAI,KAAK;UACnCH,EAAE,EAAE,IAAI;UACRG,IAAI,EAAEA,IAAS;UACfC,KAAK,EAAE,IAAI;UACXC,MAAM,EAAEN,QAAQ,CAACM,MAAM;UACvBC,UAAU,EAAEP,QAAQ,CAACO;QACvB,CAAC,CAAC,CAAC;MACL,CAAC,MAAM;QACL,OAAOC,OAAO,CAACC,OAAO,CAAC;UACrBR,EAAE,EAAE,KAAK;UACTI,KAAK,EAAG,8BAA6BL,QAAQ,CAACM,MAAO,EAAC;UACtDA,MAAM,EAAEN,QAAQ,CAACM,MAAM;UACvBC,UAAU,EAAEP,QAAQ,CAACO;QACvB,CAAC,CAAC;MACJ;IACF,CAAC,EACAF,KAAc,IACbG,OAAO,CAACC,OAAO,CAAC;MACdR,EAAE,EAAE,KAAK;MACTI;IACF,CAAC,CAAC,CACL;EACH;AACF,CAAU"}
1
+ {"version":3,"file":"utils.js","names":["FetchUtil","setParams","url","params","paramName","paramValue","Object","entries","searchParams","delete","undefined","set","String","withParams","resultUrl","URL","withoutParams","search","eitherResponse","parseBody","response","json","ok","data","catch","error","Error","status","statusText","headers"],"sources":["../../../src/http/utils.ts"],"sourcesContent":["import type { URLSearchParamsInit, ResponseDone, ResponseFail } from './types';\n\n/**\n * Утилиты для работы с URL, URLSearchParams, Headers, Request, Response.\n */\nexport const FetchUtil = {\n /**\n * Получив параметры применит их к переданному URL.\n * @param url URL.\n * @param params Параметры.\n */\n setParams(url: URL, params: URLSearchParamsInit): void {\n for (const [paramName, paramValue] of Object.entries(params)) {\n if (paramValue === null) {\n url.searchParams.delete(paramName);\n continue;\n }\n\n if (paramValue !== undefined) {\n url.searchParams.set(paramName, String(paramValue));\n continue;\n }\n }\n },\n\n // @todo resetPrams?\n\n /**\n * Получив URL и параметры вернет новый URL с примененными параметрами.\n * @param url URL.\n * @param params Параметры.\n * @return URL.\n */\n withParams(url: string | URL, params: URLSearchParamsInit): URL {\n const resultUrl = new URL(url);\n\n FetchUtil.setParams(resultUrl, params);\n\n return resultUrl;\n },\n\n /**\n * Получив URL вернет его копию но без параметров.\n * @param url URL.\n * @return URL.\n */\n withoutParams(url: string | URL): URL {\n const resultUrl = new URL(url);\n\n resultUrl.search = '';\n\n return resultUrl;\n },\n\n /**\n * Возвращает кортеж обработчиков для Promise из fetch.\n * Полученный Promise никогда не уйдет в состояние rejected.\n * @param options Опции.\n * @return Кортеж.\n */\n eitherResponse<T = unknown>({\n parseBody = response => response.json(),\n }: {\n /** Парсер body. */\n parseBody?: (response: Response) => Promise<T>;\n } = {}) {\n return [\n async (response: Response): Promise<ResponseDone<T> | ResponseFail<T>> => {\n if (!response.ok) {\n return {\n ok: false,\n data: (await parseBody(response).catch(() => null)) as T,\n error: new Error(`Request failed with status code ${response.status}`),\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n };\n }\n\n return {\n ok: true,\n data: (await parseBody(response).catch(() => null)) as T,\n error: null,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n };\n },\n async (error: unknown): Promise<ResponseFail<T>> => ({\n ok: false,\n error,\n }),\n ] as const;\n },\n} as const;\n"],"mappings":"AAEA;AACA;AACA;AACA,OAAO,MAAMA,SAAS,GAAG;EACvB;AACF;AACA;AACA;AACA;EACEC,SAASA,CAACC,GAAQ,EAAEC,MAA2B,EAAQ;IACrD,KAAK,MAAM,CAACC,SAAS,EAAEC,UAAU,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,MAAM,CAAC,EAAE;MAC5D,IAAIE,UAAU,KAAK,IAAI,EAAE;QACvBH,GAAG,CAACM,YAAY,CAACC,MAAM,CAACL,SAAS,CAAC;QAClC;MACF;MAEA,IAAIC,UAAU,KAAKK,SAAS,EAAE;QAC5BR,GAAG,CAACM,YAAY,CAACG,GAAG,CAACP,SAAS,EAAEQ,MAAM,CAACP,UAAU,CAAC,CAAC;QACnD;MACF;IACF;EACF,CAAC;EAED;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEQ,UAAUA,CAACX,GAAiB,EAAEC,MAA2B,EAAO;IAC9D,MAAMW,SAAS,GAAG,IAAIC,GAAG,CAACb,GAAG,CAAC;IAE9BF,SAAS,CAACC,SAAS,CAACa,SAAS,EAAEX,MAAM,CAAC;IAEtC,OAAOW,SAAS;EAClB,CAAC;EAED;AACF;AACA;AACA;AACA;EACEE,aAAaA,CAACd,GAAiB,EAAO;IACpC,MAAMY,SAAS,GAAG,IAAIC,GAAG,CAACb,GAAG,CAAC;IAE9BY,SAAS,CAACG,MAAM,GAAG,EAAE;IAErB,OAAOH,SAAS;EAClB,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEI,cAAcA,CAAc;IAC1BC,SAAS,GAAGC,QAAQ,IAAIA,QAAQ,CAACC,IAAI,CAAC;EAIxC,CAAC,GAAG,CAAC,CAAC,EAAE;IACN,OAAO,CACL,MAAOD,QAAkB,IAAiD;MACxE,IAAI,CAACA,QAAQ,CAACE,EAAE,EAAE;QAChB,OAAO;UACLA,EAAE,EAAE,KAAK;UACTC,IAAI,EAAG,MAAMJ,SAAS,CAACC,QAAQ,CAAC,CAACI,KAAK,CAAC,MAAM,IAAI,CAAO;UACxDC,KAAK,EAAE,IAAIC,KAAK,CAAE,mCAAkCN,QAAQ,CAACO,MAAO,EAAC,CAAC;UACtEA,MAAM,EAAEP,QAAQ,CAACO,MAAM;UACvBC,UAAU,EAAER,QAAQ,CAACQ,UAAU;UAC/BC,OAAO,EAAET,QAAQ,CAACS;QACpB,CAAC;MACH;MAEA,OAAO;QACLP,EAAE,EAAE,IAAI;QACRC,IAAI,EAAG,MAAMJ,SAAS,CAACC,QAAQ,CAAC,CAACI,KAAK,CAAC,MAAM,IAAI,CAAO;QACxDC,KAAK,EAAE,IAAI;QACXE,MAAM,EAAEP,QAAQ,CAACO,MAAM;QACvBC,UAAU,EAAER,QAAQ,CAACQ,UAAU;QAC/BC,OAAO,EAAET,QAAQ,CAACS;MACpB,CAAC;IACH,CAAC,EACD,MAAOJ,KAAc,KAAgC;MACnDH,EAAE,EAAE,KAAK;MACTG;IACF,CAAC,CAAC,CACH;EACH;AACF,CAAU"}
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@sima-land/isomorph",
4
- "version": "11.0.0-alpha.49",
4
+ "version": "11.0.0-alpha.50",
5
5
  "dependencies": {
6
- "@humanwhocodes/env": "^3.0.2",
6
+ "@humanwhocodes/env": "^3.0.5",
7
7
  "@krutoo/fetch-tools": "^0.0.16",
8
8
  "@opentelemetry/api": "^1.4.1",
9
9
  "@opentelemetry/exporter-prometheus": "^0.38.0",
@@ -1 +1 @@
1
- {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/config/source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAOxD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,YAAY,CAYvE"}
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/config/source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAKxD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,YAAY,CAYvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C,6BAA6B;AAC7B,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,uEAAuE;IACvE,GAAG,EAAE,MAAM,CAAC;IAEZ,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAEhB,yBAAyB;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C,6BAA6B;AAC7B,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,uEAAuE;IACvE,GAAG,EAAE,MAAM,CAAC;IAEZ,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAEhB,yBAAyB;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5C"}
@@ -8,6 +8,7 @@ export interface ResponseDone<T = unknown> {
8
8
  error: null;
9
9
  status: number;
10
10
  statusText: string;
11
+ headers: Headers;
11
12
  }
12
13
  export interface ResponseFail<T = unknown> {
13
14
  ok: false;
@@ -15,6 +16,7 @@ export interface ResponseFail<T = unknown> {
15
16
  error: unknown;
16
17
  status?: number;
17
18
  statusText?: string;
19
+ headers?: Headers;
18
20
  }
19
21
  export type EitherResponse<T> = ResponseDone<T> | ResponseFail<T>;
20
22
  export interface ResponseErrorInit {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/http/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEzE,YAAY,EACV,OAAO,EACP,WAAW,EACX,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,YAAY,GACb,MAAM,gCAAgC,CAAC;AAExC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;AAE/F,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,EAAE,EAAE,KAAK,CAAC;IACV,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC5B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/http/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEzE,YAAY,EACV,OAAO,EACP,WAAW,EACX,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,YAAY,GACb,MAAM,gCAAgC,CAAC;AAExC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;AAE/F,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,EAAE,EAAE,KAAK,CAAC;IACV,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC5B"}
@@ -25,8 +25,12 @@ export declare const FetchUtil: {
25
25
  /**
26
26
  * Возвращает кортеж обработчиков для Promise из fetch.
27
27
  * Полученный Promise никогда не уйдет в состояние rejected.
28
+ * @param options Опции.
28
29
  * @return Кортеж.
29
30
  */
30
- readonly eitherResponse: <T = unknown>() => readonly [(response: Response) => Promise<ResponseDone<T> | ResponseFail<T>>, (error: unknown) => Promise<ResponseFail<T>>];
31
+ readonly eitherResponse: <T = unknown>({ parseBody, }?: {
32
+ /** Парсер body. */
33
+ parseBody?: ((response: Response) => Promise<T>) | undefined;
34
+ }) => readonly [(response: Response) => Promise<ResponseDone<T> | ResponseFail<T>>, (error: unknown) => Promise<ResponseFail<T>>];
31
35
  };
32
36
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/http/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,SAAS;IACpB;;;;OAIG;8BACY,GAAG,UAAU,mBAAmB,KAAG,IAAI;IAgBtD;;;;;OAKG;+BACa,MAAM,GAAG,GAAG,UAAU,mBAAmB,KAAG,GAAG;IAQ/D;;;;OAIG;kCACgB,MAAM,GAAG,GAAG,KAAG,GAAG;IAQrC;;;;OAIG;qEAGY,QAAQ,yDAkBX,OAAO;CAOX,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/http/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,SAAS;IACpB;;;;OAIG;8BACY,GAAG,UAAU,mBAAmB,KAAG,IAAI;IAgBtD;;;;;OAKG;+BACa,MAAM,GAAG,GAAG,UAAU,mBAAmB,KAAG,GAAG;IAQ/D;;;;OAIG;kCACgB,MAAM,GAAG,GAAG,KAAG,GAAG;IAQrC;;;;;OAKG;;QAID,mBAAmB;gCACI,QAAQ;+BAGZ,QAAQ,yDAqBX,OAAO;CAMjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sima-land/isomorph",
3
- "version": "11.0.0-alpha.49",
3
+ "version": "11.0.0-alpha.50",
4
4
  "description": "Tiny framework for fast start frontend microservices",
5
5
  "author": "www.sima-land.ru team",
6
6
  "license": "Apache-2.0",
@@ -45,7 +45,7 @@
45
45
  "whatwg-fetch": "^3.6.17"
46
46
  },
47
47
  "dependencies": {
48
- "@humanwhocodes/env": "^3.0.2",
48
+ "@humanwhocodes/env": "^3.0.5",
49
49
  "@krutoo/fetch-tools": "^0.0.16",
50
50
  "@opentelemetry/api": "^1.4.1",
51
51
  "@opentelemetry/exporter-prometheus": "^0.38.0",