ismx-nexo-node-app 0.4.173 → 0.4.176

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.
@@ -27,10 +27,8 @@ class BusinessLogger {
27
27
  constructor() {
28
28
  this.logStream = null;
29
29
  this.currentLogFile = null;
30
- Promise.resolve().then(() => __importStar(require("fs"))).then((e) => this.fs = e.default)
31
- .catch(() => null);
32
- Promise.resolve().then(() => __importStar(require("path"))).then((e) => this.path = e.default)
33
- .catch(() => null);
30
+ Promise.resolve().then(() => __importStar(require("fs"))).then((e) => this.fs = e.default);
31
+ Promise.resolve().then(() => __importStar(require("path"))).then((e) => this.path = e.default);
34
32
  }
35
33
  file() {
36
34
  return null;
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const Repository_1 = __importDefault(require("./Repository"));
16
16
  const QueryUtils_1 = __importDefault(require("./utils/QueryUtils"));
17
17
  const DateUtils_1 = __importDefault(require("../business/utils/DateUtils"));
18
+ const node_fetch_1 = __importDefault(require("node-fetch"));
18
19
  class RepositoryRest extends Repository_1.default {
19
20
  constructor(baseUrl, options = {}) {
20
21
  super();
@@ -24,10 +25,11 @@ class RepositoryRest extends Repository_1.default {
24
25
  }
25
26
  call() {
26
27
  return __awaiter(this, arguments, void 0, function* (method = 'GET', endpoint = '/', request = {}) {
27
- var _a, _b, _c, _d, _e, _f, _g;
28
+ var _a, _b, _c, _d, _e, _f, _g, _h;
28
29
  // Especifica el método de la llamada HTTP al recurso.
29
30
  request.method = method;
30
31
  request.endpoint = endpoint;
32
+ request.url = `${this.baseUrl}${endpoint}`;
31
33
  // Notifica que una petición REST va a ser realizada
32
34
  request = (_c = (_b = (_a = this.options).interceptor) === null || _b === void 0 ? void 0 : _b.call(_a, endpoint, request)) !== null && _c !== void 0 ? _c : request;
33
35
  // Completa la información de las cabeceras con cabeceras comunes por llamada a API.
@@ -44,8 +46,10 @@ class RepositoryRest extends Repository_1.default {
44
46
  for (const [header, value] of Object.entries((_e = request.headers) !== null && _e !== void 0 ? _e : {}))
45
47
  headers.set(header, (_g = (_f = request.headers) === null || _f === void 0 ? void 0 : _f[header]) !== null && _g !== void 0 ? _g : "");
46
48
  // Realiza la llamada a la API con las cabeceras y la URL base de la llamada.
47
- let call = fetch(this.baseUrl + endpoint + QueryUtils_1.default.map(request.query), Object.assign(Object.assign({}, request), { body: method !== "GET" ? body : undefined, headers }));
49
+ const _fetch = (_h = this.options.fetch) !== null && _h !== void 0 ? _h : node_fetch_1.default;
50
+ let call = _fetch(request.url + QueryUtils_1.default.map(request.query), Object.assign(Object.assign({}, request), { body: method !== "GET" ? body : undefined, headers: headers }));
48
51
  // Añade información adicional a la respuesta y devuelve el resultado (o el error en su caso).
52
+ // @ts-ignore
49
53
  return call.then((res) => __awaiter(this, void 0, void 0, function* () {
50
54
  var _a, _b, _c, _d, _e;
51
55
  let headers = {};
@@ -6,6 +6,7 @@ export interface RestOptions {
6
6
  onResponse?: (request: HttpRequest, response: HttpResponse) => void;
7
7
  onRawResponse?: (request: HttpRequest, response: string) => void;
8
8
  onError?: (request: HttpRequest, error: Error) => void;
9
+ fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
9
10
  }
10
11
  export default class RepositoryRest<Body = any, Res = any> extends Repository {
11
12
  private readonly baseUrl;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ismx-nexo-node-app",
3
- "version": "0.4.173",
3
+ "version": "0.4.176",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "build": "rm -rf ./dist && npx tsc",
@@ -8,12 +8,8 @@ export default class BusinessLogger
8
8
  private path: any;
9
9
 
10
10
  constructor() {
11
- import("fs")
12
- .then((e) => this.fs = e.default)
13
- .catch(() => null);
14
- import("path")
15
- .then((e) => this.path = e.default)
16
- .catch(() => null);
11
+ import("fs").then((e) => this.fs = e.default)
12
+ import("path").then((e) => this.path = e.default)
17
13
  }
18
14
 
19
15
  protected file(): string | null {
@@ -2,6 +2,7 @@ import Repository from "./Repository";
2
2
  import {HttpRequest, HttpResponse} from "../api/Service";
3
3
  import QueryUtils from "./utils/QueryUtils";
4
4
  import DateUtils from "../business/utils/DateUtils";
5
+ import fetch from "node-fetch";
5
6
 
6
7
  export interface RestOptions {
7
8
  interceptor?: (endpoint: string, request: HttpRequest) => HttpRequest | undefined
@@ -9,6 +10,7 @@ export interface RestOptions {
9
10
  onResponse?: (request: HttpRequest, response: HttpResponse) => void;
10
11
  onRawResponse?: (request: HttpRequest, response: string) => void;
11
12
  onError?: (request: HttpRequest, error: Error) => void
13
+ fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>
12
14
  }
13
15
 
14
16
  export default class RepositoryRest<Body=any,Res=any> extends Repository
@@ -17,7 +19,7 @@ export default class RepositoryRest<Body=any,Res=any> extends Repository
17
19
 
18
20
  private readonly options: RestOptions
19
21
 
20
- constructor(baseUrl: string, options: RestOptions={}) {
22
+ constructor(baseUrl: string, options: RestOptions = {}) {
21
23
  super();
22
24
  this.baseUrl = baseUrl;
23
25
  this.options = options;
@@ -34,6 +36,7 @@ export default class RepositoryRest<Body=any,Res=any> extends Repository
34
36
  // Especifica el método de la llamada HTTP al recurso.
35
37
  request.method = method;
36
38
  request.endpoint = endpoint;
39
+ request.url = `${this.baseUrl}${endpoint}`;
37
40
 
38
41
  // Notifica que una petición REST va a ser realizada
39
42
  request = this.options.interceptor?.(endpoint, request) ?? request
@@ -55,11 +58,13 @@ export default class RepositoryRest<Body=any,Res=any> extends Repository
55
58
  headers.set(header, request.headers?.[header] ?? "");
56
59
 
57
60
  // Realiza la llamada a la API con las cabeceras y la URL base de la llamada.
58
- let call = fetch(this.baseUrl + endpoint + QueryUtils.map(request.query), {
59
- ...request, body: method !== "GET" ? body : undefined, headers
61
+ const _fetch = this.options.fetch ?? fetch;
62
+ let call = _fetch(request.url + QueryUtils.map(request.query), {
63
+ ...request, body: method !== "GET" ? body : undefined, headers: headers as unknown as Record<string, string>
60
64
  });
61
65
 
62
66
  // Añade información adicional a la respuesta y devuelve el resultado (o el error en su caso).
67
+ // @ts-ignore
63
68
  return call.then(async (res: Response) => {
64
69
  let headers: any = {}; res.headers.forEach((value, key) => headers[key.toLowerCase()] = value);
65
70
  let content: string | E = await res.text();