@sima-land/isomorph 11.0.0-alpha.1 → 11.0.0-alpha.2

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.
@@ -0,0 +1,27 @@
1
+ import type { AxiosInstance } from 'axios';
2
+ import type { AxiosInstanceWrapper, MethodName } from 'middleware-axios';
3
+ export declare type SauceResponse<T = any> = {
4
+ ok: true;
5
+ data: T;
6
+ } | {
7
+ ok: false;
8
+ error: any;
9
+ };
10
+ export interface SauceMethod<K extends MethodName> {
11
+ <T>(...args: Parameters<AxiosInstanceWrapper[K]>): Promise<SauceResponse<T>>;
12
+ }
13
+ export interface Sauce {
14
+ readonly get: SauceMethod<'get'>;
15
+ readonly delete: SauceMethod<'delete'>;
16
+ readonly head: SauceMethod<'head'>;
17
+ readonly options: SauceMethod<'options'>;
18
+ readonly post: SauceMethod<'post'>;
19
+ readonly put: SauceMethod<'put'>;
20
+ readonly patch: SauceMethod<'patch'>;
21
+ }
22
+ /**
23
+ * Оборачивает экземпляр axios. Все методы обертки возвращают promise, который никогда не попадают в состояние rejected.
24
+ * @param instance Экземпляр axios или AxiosInstanceWrapper.
25
+ * @return Обертка.
26
+ */
27
+ export declare function sauce(instance: AxiosInstance | AxiosInstanceWrapper): Sauce;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sauce = void 0;
4
+ /**
5
+ * Оборачивает экземпляр axios. Все методы обертки возвращают promise, который никогда не попадают в состояние rejected.
6
+ * @param instance Экземпляр axios или AxiosInstanceWrapper.
7
+ * @return Обертка.
8
+ */
9
+ function sauce(instance) {
10
+ // eslint-disable-next-line require-jsdoc, jsdoc/require-jsdoc
11
+ function createMethod(methodName) {
12
+ return async function (...args) {
13
+ try {
14
+ const response = await instance[methodName](...args);
15
+ return { ok: true, data: response.data };
16
+ }
17
+ catch (error) {
18
+ return { ok: false, error };
19
+ }
20
+ };
21
+ }
22
+ return {
23
+ get: createMethod('get'),
24
+ delete: createMethod('delete'),
25
+ head: createMethod('head'),
26
+ options: createMethod('options'),
27
+ post: createMethod('post'),
28
+ put: createMethod('put'),
29
+ patch: createMethod('patch'),
30
+ };
31
+ }
32
+ exports.sauce = sauce;
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http-client/sauce/index.ts"],"names":[],"mappings":";;;AA4BA;;;;GAIG;AACH,SAAgB,KAAK,CAAC,QAA8C;IAClE,8DAA8D;IAC9D,SAAS,YAAY,CAAyB,UAAe;QAC3D,OAAO,KAAK,WACV,GAAG,IAAoC;YAEvC,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAI,IAAc,CAAC,CAAC;gBAChE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;aAC1C;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;aAC7B;QACH,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC;QACxB,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC;QAC9B,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;QAC1B,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC;QAChC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;QAC1B,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC;QACxB,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC;KAC7B,CAAC;AACJ,CAAC;AAxBD,sBAwBC"}
@@ -1,32 +1,5 @@
1
1
  import type { Request } from 'express';
2
2
  import type { BaseConfig } from '../config/types';
3
- import type { AxiosInstance } from 'axios';
4
- import type { AxiosInstanceWrapper, MethodName } from 'middleware-axios';
5
- export declare type SauceResponse<T = any> = {
6
- ok: true;
7
- data: T;
8
- } | {
9
- ok: false;
10
- error: any;
11
- };
12
- export interface SauceMethod<K extends MethodName> {
13
- <T>(...args: Parameters<AxiosInstanceWrapper[K]>): Promise<SauceResponse<T>>;
14
- }
15
- export interface Sauce {
16
- readonly get: SauceMethod<'get'>;
17
- readonly delete: SauceMethod<'delete'>;
18
- readonly head: SauceMethod<'head'>;
19
- readonly options: SauceMethod<'options'>;
20
- readonly post: SauceMethod<'post'>;
21
- readonly put: SauceMethod<'put'>;
22
- readonly patch: SauceMethod<'patch'>;
23
- }
24
- /**
25
- * Оборачивает экземпляр axios. Все методы обертки возвращают promise, который никогда не попадают в состояние rejected.
26
- * @param instance Экземпляр axios или AxiosInstanceWrapper.
27
- * @return Обертка.
28
- */
29
- export declare function sauce(instance: AxiosInstance | AxiosInstanceWrapper): Sauce;
30
3
  /**
31
4
  * Формирует заголовки для исходящих запросов с сервера по соглашению.
32
5
  * @param config Конфиг.
@@ -1,36 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRequestHeaders = exports.sauce = void 0;
3
+ exports.getRequestHeaders = void 0;
4
4
  const utils_1 = require("../http-server/utils");
5
- /**
6
- * Оборачивает экземпляр axios. Все методы обертки возвращают promise, который никогда не попадают в состояние rejected.
7
- * @param instance Экземпляр axios или AxiosInstanceWrapper.
8
- * @return Обертка.
9
- */
10
- function sauce(instance) {
11
- // eslint-disable-next-line require-jsdoc, jsdoc/require-jsdoc
12
- function createMethod(methodName) {
13
- return async function (...args) {
14
- try {
15
- const response = await instance[methodName](...args);
16
- return { ok: true, data: response.data };
17
- }
18
- catch (error) {
19
- return { ok: false, error };
20
- }
21
- };
22
- }
23
- return {
24
- get: createMethod('get'),
25
- delete: createMethod('delete'),
26
- head: createMethod('head'),
27
- options: createMethod('options'),
28
- post: createMethod('post'),
29
- put: createMethod('put'),
30
- patch: createMethod('patch'),
31
- };
32
- }
33
- exports.sauce = sauce;
34
5
  /**
35
6
  * Формирует заголовки для исходящих запросов с сервера по соглашению.
36
7
  * @param config Конфиг.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/http-client/utils.ts"],"names":[],"mappings":";;;AAAA,gDAAuE;AA+BvE;;;;GAIG;AACH,SAAgB,KAAK,CAAC,QAA8C;IAClE,8DAA8D;IAC9D,SAAS,YAAY,CAAyB,UAAe;QAC3D,OAAO,KAAK,WACV,GAAG,IAAoC;YAEvC,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAI,IAAc,CAAC,CAAC;gBAChE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;aAC1C;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;aAC7B;QACH,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC;QACxB,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC;QAC9B,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;QAC1B,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC;QAChC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;QAC1B,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC;QACxB,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC;KAC7B,CAAC;AACJ,CAAC;AAxBD,sBAwBC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,MAAkB,EAAE,OAAgB;IACpE,OAAO;QACL,aAAa,EAAE,IAAA,oBAAY,EAAC,OAAO,CAAC;QACpC,YAAY,EAAE,YAAY,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE;QAC/D,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;QACnC,GAAG,IAAA,yBAAiB,EAAC,OAAO,CAAC;KAC9B,CAAC;AACJ,CAAC;AAPD,8CAOC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/http-client/utils.ts"],"names":[],"mappings":";;;AAAA,gDAAuE;AAIvE;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,MAAkB,EAAE,OAAgB;IACpE,OAAO;QACL,aAAa,EAAE,IAAA,oBAAY,EAAC,OAAO,CAAC;QACpC,YAAY,EAAE,YAAY,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE;QAC/D,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;QACnC,GAAG,IAAA,yBAAiB,EAAC,OAAO,CAAC;KAC9B,CAAC;AACJ,CAAC;AAPD,8CAOC"}
@@ -10,8 +10,9 @@ const api_1 = require("@opentelemetry/api");
10
10
  */
11
11
  function tracingMiddleware(tracer) {
12
12
  return (req, res, next) => {
13
- const rootContext = api_1.propagation.extract(api_1.ROOT_CONTEXT, req.headers);
14
- const rootSpan = tracer.startSpan('response', undefined, rootContext);
13
+ const externalContext = api_1.propagation.extract(api_1.ROOT_CONTEXT, req.headers);
14
+ const rootSpan = tracer.startSpan('response', undefined, externalContext);
15
+ const rootContext = api_1.trace.setSpan(externalContext, rootSpan);
15
16
  res.locals.tracing = {
16
17
  rootSpan,
17
18
  rootContext,
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/http-server/middleware/tracing.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAC9C,4CAA+D;AAI/D;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,MAAM,WAAW,GAAG,iBAAW,CAAC,OAAO,CAAC,kBAAY,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAEtE,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG;YACnB,QAAQ;YACR,WAAW;SACZ,CAAC;QAEF,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,WAAW,EAAE,GAAG,EAAE;YACxC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,YAAY,EAAE,GAAG,EAAE;YACzC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAxBD,8CAwBC"}
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/http-server/middleware/tracing.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAC9C,4CAAsE;AAItE;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,MAAM,eAAe,GAAG,iBAAW,CAAC,OAAO,CAAC,kBAAY,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAC1E,MAAM,WAAW,GAAG,WAAK,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAE7D,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG;YACnB,QAAQ;YACR,WAAW;SACZ,CAAC;QAEF,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,WAAW,EAAE,GAAG,EAAE;YACxC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,YAAY,EAAE,GAAG,EAAE;YACzC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAzBD,8CAyBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sima-land/isomorph",
3
- "version": "11.0.0-alpha.1",
3
+ "version": "11.0.0-alpha.2",
4
4
  "description": "Tiny framework for fast start frontend microservices",
5
5
  "author": "www.sima-land.ru team",
6
6
  "license": "Apache-2.0",