@minimaltech/node-infra 0.5.9-11 → 0.5.9-13

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.
@@ -8,6 +8,8 @@ export interface IFetcherRequestOptions<T extends TFetcherVariant> {
8
8
  networkOptions: {
9
9
  baseUrl?: string;
10
10
  headers?: AnyObject;
11
+ timeout?: number;
12
+ [extra: symbol | string]: any;
11
13
  };
12
14
  fetcher: IFetchable<T, IRequestOptions, TFetcherResponse<T>>;
13
15
  }
@@ -29,6 +31,7 @@ export declare class BaseNetworkRequest<T extends TFetcherVariant> extends BaseH
29
31
  paths: Array<string>;
30
32
  }): string;
31
33
  getNetworkService(): IFetchable<T, IRequestOptions, TFetcherResponse<T>>;
34
+ getWorker(): import("./types").TFetcherWorker<T>;
32
35
  }
33
36
  export declare class AxiosNetworkRequest extends BaseNetworkRequest<'axios'> {
34
37
  constructor(opts: Omit<IAxiosNetworkOptions, 'fetcher' | 'variant'>);
@@ -61,6 +61,9 @@ class BaseNetworkRequest extends base_helper_1.BaseHelper {
61
61
  getNetworkService() {
62
62
  return this.fetcher;
63
63
  }
64
+ getWorker() {
65
+ return this.fetcher.getWorker();
66
+ }
64
67
  }
65
68
  exports.BaseNetworkRequest = BaseNetworkRequest;
66
69
  // -----------------------------------------------------------------------------
@@ -68,10 +71,10 @@ class AxiosNetworkRequest extends BaseNetworkRequest {
68
71
  constructor(opts) {
69
72
  var _a;
70
73
  const { name, networkOptions } = opts;
71
- const { headers = {}, baseUrl } = networkOptions, rest = __rest(networkOptions, ["headers", "baseUrl"]);
72
- const defaultConfigs = Object.assign(Object.assign({}, rest), { baseURL: baseUrl, withCredentials: true, timeout: 60 * 1000, validateStatus: (status) => status < 500, headers: Object.assign({}, headers, {
74
+ const { headers = {}, baseUrl, timeout = 60 * 1000 } = networkOptions, rest = __rest(networkOptions, ["headers", "baseUrl", "timeout"]);
75
+ const defaultConfigs = Object.assign(Object.assign({}, rest), { baseURL: baseUrl, withCredentials: true, headers: Object.assign({}, headers, {
73
76
  ['content-type']: (_a = headers['content-type']) !== null && _a !== void 0 ? _a : 'application/json; charset=utf-8',
74
- }) });
77
+ }), validateStatus: (status) => status < 500, timeout });
75
78
  super(Object.assign(Object.assign({}, opts), { variant: 'axios', fetcher: new axios_fetcher_1.AxiosFetcher({ name, defaultConfigs }) }));
76
79
  }
77
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base-network-request.helper.js","sourceRoot":"","sources":["../../../../src/helpers/network/http-request/base-network-request.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-network-request.helper.js","sourceRoot":"","sources":["../../../../src/helpers/network/http-request/base-network-request.helper.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { AnyObject } from '../../../../common';
2
2
  import axios, { AxiosRequestConfig } from 'axios';
3
- import { AbstractNetworkFetchableHelper } from './base-fetcher';
4
- export interface IAxiosRequestOptions extends AxiosRequestConfig {
3
+ import { AbstractNetworkFetchableHelper, IRequestOptions } from './base-fetcher';
4
+ export interface IAxiosRequestOptions extends AxiosRequestConfig, IRequestOptions {
5
5
  url: string;
6
6
  method?: 'get' | 'post' | 'put' | 'patch' | 'delete' | 'options';
7
7
  params?: AnyObject;
@@ -9,7 +9,6 @@ export interface IAxiosRequestOptions extends AxiosRequestConfig {
9
9
  headers?: AnyObject;
10
10
  }
11
11
  export declare class AxiosFetcher extends AbstractNetworkFetchableHelper<'axios', IAxiosRequestOptions, axios.AxiosResponse<any, any>['data']> {
12
- private worker;
13
12
  constructor(opts: {
14
13
  name: string;
15
14
  defaultConfigs: AxiosRequestConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"axios-fetcher.js","sourceRoot":"","sources":["../../../../../src/helpers/network/http-request/fetcher/axios-fetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,yDAAoD;AACpD,kDAAiE;AACjE,4DAA+B;AAC/B,iDAAgE;AAUhE,gEAAgE;AAChE,MAAa,YAAa,SAAQ,6CAIjC;IAGC,YAAY,IAAwE;;QAClF,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7C,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAChC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,IAAI,CAAC,wDAAwD,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAExF,IAAI,CAAC,MAAM,GAAG,eAAK,CAAC,MAAM,mBAAM,cAAc,EAAG,CAAC;IACpD,CAAC;IAED,gEAAgE;IAChE,eAAe;IACf,gEAAgE;IAChE,IAAI,CAAU,IAA0B,EAAE,MAAY;QACpD,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,KAAc,IAAI,EAAb,IAAI,UAAK,IAAI,EAAzE,8CAAkE,CAAO,CAAC;QAChF,MAAM,KAAK,mBACT,GAAG;YACH,MAAM;YACN,MAAM;YACN,IAAI;YACJ,OAAO,EACP,gBAAgB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAA,uBAAS,EAAC,CAAC,CAAC,EAAE,IAC/C,IAAI,CACR,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,KAAK,CAAC,UAAU,GAAG,IAAI,oBAAK,CAAC,KAAK,CAAC;gBACjC,kBAAkB,EAAE,KAAK;aAC1B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAI,KAAK,CAAC,CAAC;IACvC,CAAC;CACF;AAxCD,oCAwCC"}
1
+ {"version":3,"file":"axios-fetcher.js","sourceRoot":"","sources":["../../../../../src/helpers/network/http-request/fetcher/axios-fetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,yDAAoD;AACpD,kDAAkD;AAClD,4DAA+B;AAC/B,iDAAiF;AAUjF,gEAAgE;AAChE,MAAa,YAAa,SAAQ,6CAIjC;IACC,YAAY,IAAwE;;QAClF,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7C,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAChC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,IAAI,CAAC,wDAAwD,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAExF,IAAI,CAAC,MAAM,GAAG,eAAK,CAAC,MAAM,mBAAM,cAAc,EAAG,CAAC;IACpD,CAAC;IAED,gEAAgE;IAChE,eAAe;IACf,gEAAgE;IACvD,IAAI,CAAU,IAA0B,EAAE,MAAY;QAC7D,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,KAAc,IAAI,EAAb,IAAI,UAAK,IAAI,EAAzE,8CAAkE,CAAO,CAAC;QAChF,MAAM,KAAK,mBACT,GAAG;YACH,MAAM;YACN,MAAM;YACN,IAAI;YACJ,OAAO,EACP,gBAAgB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAA,uBAAS,EAAC,CAAC,CAAC,EAAE,IAC/C,IAAI,CACR,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,KAAK,CAAC,UAAU,GAAG,IAAI,oBAAK,CAAC,KAAK,CAAC;gBACjC,kBAAkB,EAAE,KAAK;aAC1B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAI,KAAK,CAAC,CAAC;IACvC,CAAC;CACF;AAtCD,oCAsCC"}
@@ -1,8 +1,9 @@
1
- import { TFetcherResponse, TFetcherVariant } from '../types';
1
+ import { TFetcherResponse, TFetcherVariant, TFetcherWorker } from '../types';
2
2
  export interface IRequestOptions {
3
3
  url: string;
4
4
  params?: Record<string | symbol, any>;
5
5
  method?: string;
6
+ timeout?: number;
6
7
  [extra: symbol | string]: any;
7
8
  }
8
9
  export interface IFetchable<V extends TFetcherVariant, RQ extends IRequestOptions, RS extends TFetcherResponse<V>> {
@@ -12,16 +13,19 @@ export interface IFetchable<V extends TFetcherVariant, RQ extends IRequestOption
12
13
  put(opts: RQ, logger?: any): Promise<RS>;
13
14
  patch(opts: RQ, logger?: any): Promise<RS>;
14
15
  delete(opts: RQ, logger?: any): Promise<RS>;
16
+ getWorker(): TFetcherWorker<V>;
15
17
  }
16
18
  export declare abstract class AbstractNetworkFetchableHelper<V extends TFetcherVariant, RQ extends IRequestOptions, RS extends TFetcherResponse<V>> implements IFetchable<V, RQ, RS> {
17
19
  protected name: string;
18
20
  protected variant: V;
21
+ protected worker: TFetcherWorker<V>;
19
22
  constructor(opts: {
20
23
  name: string;
21
24
  variant: V;
22
25
  });
23
26
  abstract send(opts: RQ, logger?: any): Promise<RS>;
24
27
  getProtocol(url: string): "http" | "https";
28
+ getWorker(): TFetcherWorker<V>;
25
29
  get(opts: RQ, logger?: any): Promise<RS>;
26
30
  post(opts: RQ, logger?: any): Promise<RS>;
27
31
  put(opts: RQ, logger?: any): Promise<RS>;
@@ -22,6 +22,9 @@ class AbstractNetworkFetchableHelper {
22
22
  getProtocol(url) {
23
23
  return url.startsWith('http:') ? HTTP : HTTPS;
24
24
  }
25
+ getWorker() {
26
+ return this.worker;
27
+ }
25
28
  // -------------------------------------------------------------
26
29
  // GET REQUEST
27
30
  // -------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"base-fetcher.js","sourceRoot":"","sources":["../../../../../src/helpers/network/http-request/fetcher/base-fetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,MAAM,IAAI,GAAG,MAAM,CAAC;AACpB,MAAM,KAAK,GAAG,OAAO,CAAC;AAsBtB,MAAsB,8BAA8B;IASlD,YAAY,IAAkC;QAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC9B,CAAC;IAID,WAAW,CAAC,GAAW;QACrB,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAChD,CAAC;IAED,gEAAgE;IAChE,cAAc;IACd,gEAAgE;IAChE,GAAG,CAAC,IAAQ,EAAE,MAAY;QACxB,MAAW,IAAI,UAAK,IAAI,EAAlB,EAAW,CAAO,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,iCAAM,IAAI,KAAE,MAAM,EAAE,KAAK,KAAI,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,gEAAgE;IAChE,eAAe;IACf,gEAAgE;IAChE,IAAI,CAAC,IAAQ,EAAE,MAAY;QACzB,MAAW,IAAI,UAAK,IAAI,EAAlB,EAAW,CAAO,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,iCAAM,IAAI,KAAE,MAAM,EAAE,MAAM,KAAI,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,gEAAgE;IAChE,cAAc;IACd,gEAAgE;IAChE,GAAG,CAAC,IAAQ,EAAE,MAAY;QACxB,MAAW,IAAI,UAAK,IAAI,EAAlB,EAAW,CAAO,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,iCAAM,IAAI,KAAE,MAAM,EAAE,KAAK,KAAI,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,gEAAgE;IAChE,gBAAgB;IAChB,gEAAgE;IAChE,KAAK,CAAC,IAAQ,EAAE,MAAY;QAC1B,MAAW,IAAI,UAAK,IAAI,EAAlB,EAAW,CAAO,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,iCAAM,IAAI,KAAE,MAAM,EAAE,OAAO,KAAI,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,gEAAgE;IAChE,iBAAiB;IACjB,gEAAgE;IAChE,MAAM,CAAC,IAAQ,EAAE,MAAY;QAC3B,MAAW,IAAI,UAAK,IAAI,EAAlB,EAAW,CAAO,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,iCAAM,IAAI,KAAE,MAAM,EAAE,QAAQ,KAAI,MAAM,CAAC,CAAC;IAC1D,CAAC;CACF;AA3DD,wEA2DC"}
1
+ {"version":3,"file":"base-fetcher.js","sourceRoot":"","sources":["../../../../../src/helpers/network/http-request/fetcher/base-fetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,MAAM,IAAI,GAAG,MAAM,CAAC;AACpB,MAAM,KAAK,GAAG,OAAO,CAAC;AAyBtB,MAAsB,8BAA8B;IAUlD,YAAY,IAAkC;QAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC9B,CAAC;IAID,WAAW,CAAC,GAAW;QACrB,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAChD,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,gEAAgE;IAChE,cAAc;IACd,gEAAgE;IAChE,GAAG,CAAC,IAAQ,EAAE,MAAY;QACxB,MAAW,IAAI,UAAK,IAAI,EAAlB,EAAW,CAAO,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,iCAAM,IAAI,KAAE,MAAM,EAAE,KAAK,KAAI,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,gEAAgE;IAChE,eAAe;IACf,gEAAgE;IAChE,IAAI,CAAC,IAAQ,EAAE,MAAY;QACzB,MAAW,IAAI,UAAK,IAAI,EAAlB,EAAW,CAAO,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,iCAAM,IAAI,KAAE,MAAM,EAAE,MAAM,KAAI,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,gEAAgE;IAChE,cAAc;IACd,gEAAgE;IAChE,GAAG,CAAC,IAAQ,EAAE,MAAY;QACxB,MAAW,IAAI,UAAK,IAAI,EAAlB,EAAW,CAAO,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,iCAAM,IAAI,KAAE,MAAM,EAAE,KAAK,KAAI,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,gEAAgE;IAChE,gBAAgB;IAChB,gEAAgE;IAChE,KAAK,CAAC,IAAQ,EAAE,MAAY;QAC1B,MAAW,IAAI,UAAK,IAAI,EAAlB,EAAW,CAAO,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,iCAAM,IAAI,KAAE,MAAM,EAAE,OAAO,KAAI,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,gEAAgE;IAChE,iBAAiB;IACjB,gEAAgE;IAChE,MAAM,CAAC,IAAQ,EAAE,MAAY;QAC3B,MAAW,IAAI,UAAK,IAAI,EAAlB,EAAW,CAAO,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,iCAAM,IAAI,KAAE,MAAM,EAAE,QAAQ,KAAI,MAAM,CAAC,CAAC;IAC1D,CAAC;CACF;AAhED,wEAgEC"}
@@ -1,5 +1,5 @@
1
- import { AbstractNetworkFetchableHelper } from './base-fetcher';
2
- export interface INodeFetchRequestOptions extends RequestInit {
1
+ import { AbstractNetworkFetchableHelper, IRequestOptions } from './base-fetcher';
2
+ export interface INodeFetchRequestOptions extends RequestInit, IRequestOptions {
3
3
  url: string;
4
4
  params?: Record<string | symbol, any>;
5
5
  }
@@ -1,4 +1,24 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
2
22
  Object.defineProperty(exports, "__esModule", { value: true });
3
23
  exports.NodeFetcher = void 0;
4
24
  const url_utility_1 = require("../../../../utilities/url.utility");
@@ -17,21 +37,39 @@ class NodeFetcher extends base_fetcher_1.AbstractNetworkFetchableHelper {
17
37
  // SEND REQUEST
18
38
  // -------------------------------------------------------------
19
39
  send(opts, logger) {
20
- const { url, method = 'get', params, body, headers } = opts;
21
- const requestConfigs = Object.assign(Object.assign({}, this.defaultConfigs), { method,
22
- body,
23
- headers });
24
- let requestUrl = '';
25
- const urlParts = [url];
26
- if (params) {
27
- urlParts.push((0, url_utility_1.stringify)(params));
28
- requestUrl = urlParts.join('?');
29
- }
30
- else {
31
- requestUrl = urlParts.join();
32
- }
33
- logger === null || logger === void 0 ? void 0 : logger.info('[send] URL: %s | Props: %o', url, requestConfigs);
34
- return fetch(requestUrl, requestConfigs);
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ var _a;
42
+ const { url, method = 'get', params, body, headers, timeout, signal } = opts, rest = __rest(opts, ["url", "method", "params", "body", "headers", "timeout", "signal"]);
43
+ let timeoutId;
44
+ let abortController;
45
+ if (timeout) {
46
+ abortController = new AbortController();
47
+ timeoutId = setTimeout(() => {
48
+ abortController === null || abortController === void 0 ? void 0 : abortController.abort();
49
+ }, timeout);
50
+ }
51
+ const requestConfigs = Object.assign(Object.assign(Object.assign({}, this.defaultConfigs), rest), { method,
52
+ body,
53
+ headers, signal: (_a = abortController === null || abortController === void 0 ? void 0 : abortController.signal) !== null && _a !== void 0 ? _a : signal });
54
+ let requestUrl = '';
55
+ const urlParts = [url];
56
+ if (params) {
57
+ urlParts.push((0, url_utility_1.stringify)(params));
58
+ requestUrl = urlParts.join('?');
59
+ }
60
+ else {
61
+ requestUrl = urlParts.join();
62
+ }
63
+ logger === null || logger === void 0 ? void 0 : logger.info('[send] URL: %s | Props: %o | Timeout: %s', url, requestConfigs, timeout);
64
+ try {
65
+ return yield fetch(requestUrl, requestConfigs);
66
+ }
67
+ finally {
68
+ if (timeoutId) {
69
+ clearTimeout(timeoutId);
70
+ }
71
+ }
72
+ });
35
73
  }
36
74
  }
37
75
  exports.NodeFetcher = NodeFetcher;
@@ -1 +1 @@
1
- {"version":3,"file":"node-fetcher.js","sourceRoot":"","sources":["../../../../../src/helpers/network/http-request/fetcher/node-fetcher.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AACpD,iDAAgE;AAOhE,gEAAgE;AAChE,MAAa,WAAY,SAAQ,6CAIhC;IAGC,YAAY,IAAiE;;QAC3E,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;QAClD,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,IAAI,CAAC,wDAAwD,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAExF,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,gEAAgE;IAChE,eAAe;IACf,gEAAgE;IAChE,IAAI,CAAC,IAA8B,EAAE,MAAY;QAC/C,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC5D,MAAM,cAAc,mCACf,IAAI,CAAC,cAAc,KACtB,MAAM;YACN,IAAI;YACJ,OAAO,GACR,CAAC;QAEF,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,MAAM,EAAE,CAAC;YACX,QAAQ,CAAC,IAAI,CAAC,IAAA,uBAAS,EAAC,MAAM,CAAC,CAAC,CAAC;YACjC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC3C,CAAC;CACF;AAxCD,kCAwCC"}
1
+ {"version":3,"file":"node-fetcher.js","sourceRoot":"","sources":["../../../../../src/helpers/network/http-request/fetcher/node-fetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAoD;AACpD,iDAAiF;AAOjF,gEAAgE;AAChE,MAAa,WAAY,SAAQ,6CAIhC;IAGC,YAAY,IAAiE;;QAC3E,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;QAClD,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,IAAI,CAAC,wDAAwD,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAExF,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,gEAAgE;IAChE,eAAe;IACf,gEAAgE;IACjD,IAAI,CAAC,IAA8B,EAAE,MAAY;;;YAC9D,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAc,IAAI,EAAb,IAAI,UAAK,IAAI,EAA/E,mEAAwE,CAAO,CAAC;YAEtF,IAAI,SAAqC,CAAC;YAC1C,IAAI,eAA4C,CAAC;YAEjD,IAAI,OAAO,EAAE,CAAC;gBACZ,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;gBACxC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC1B,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,EAAE,CAAC;gBAC3B,CAAC,EAAE,OAAO,CAAC,CAAC;YACd,CAAC;YAED,MAAM,cAAc,iDACf,IAAI,CAAC,cAAc,GACnB,IAAI,KACP,MAAM;gBACN,IAAI;gBACJ,OAAO,EACP,MAAM,EAAE,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,mCAAI,MAAM,GAC1C,CAAC;YAEF,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,MAAM,EAAE,CAAC;gBACX,QAAQ,CAAC,IAAI,CAAC,IAAA,uBAAS,EAAC,MAAM,CAAC,CAAC,CAAC;gBACjC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC;YAED,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;YAEvF,IAAI,CAAC;gBACH,OAAO,MAAM,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YACjD,CAAC;oBAAS,CAAC;gBACT,IAAI,SAAS,EAAE,CAAC;oBACd,YAAY,CAAC,SAAS,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;KAAA;CACF;AA5DD,kCA4DC"}
@@ -1,3 +1,4 @@
1
- import { AxiosResponse } from 'axios';
1
+ import { AxiosInstance, AxiosResponse } from 'axios';
2
2
  export type TFetcherVariant = 'node-fetch' | 'axios';
3
3
  export type TFetcherResponse<T extends TFetcherVariant> = T extends 'node-fetch' ? Response : AxiosResponse;
4
+ export type TFetcherWorker<T extends TFetcherVariant> = T extends 'axios' ? AxiosInstance : typeof fetch;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minimaltech/node-infra",
3
- "version": "0.5.9-11",
3
+ "version": "0.5.9-13",
4
4
  "description": "Minimal Technology - NodeJS Infrastructure - Loopback 4 Framework",
5
5
  "keywords": [
6
6
  "web",