@venizia/ardor-kernel 0.4.0 → 0.4.1
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 +2 -2
- package/dist/base/applications/abstract.d.ts +11 -14
- package/dist/base/applications/abstract.d.ts.map +1 -1
- package/dist/base/applications/abstract.js +20 -17
- package/dist/base/applications/abstract.js.map +1 -1
- package/dist/base/services/auth.d.ts +11 -3
- package/dist/base/services/auth.d.ts.map +1 -1
- package/dist/base/services/auth.js +48 -18
- package/dist/base/services/auth.js.map +1 -1
- package/dist/base/services/network-request.d.ts +25 -93
- package/dist/base/services/network-request.d.ts.map +1 -1
- package/dist/base/services/network-request.js +68 -308
- package/dist/base/services/network-request.js.map +1 -1
- package/dist/common/constants.d.ts +1 -4
- package/dist/common/constants.d.ts.map +1 -1
- package/dist/common/constants.js +1 -4
- package/dist/common/constants.js.map +1 -1
- package/dist/common/keys.d.ts +3 -0
- package/dist/common/keys.d.ts.map +1 -1
- package/dist/common/keys.js +3 -0
- package/dist/common/keys.js.map +1 -1
- package/dist/common/types.d.ts +43 -25
- package/dist/common/types.d.ts.map +1 -1
- package/dist/helpers/auth-token-store.d.ts +14 -0
- package/dist/helpers/auth-token-store.d.ts.map +1 -0
- package/dist/helpers/auth-token-store.js +34 -0
- package/dist/helpers/auth-token-store.js.map +1 -0
- package/dist/helpers/index.d.ts +1 -0
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/index.js +1 -0
- package/dist/helpers/index.js.map +1 -1
- package/dist/helpers/logger.d.ts +12 -12
- package/dist/helpers/logger.d.ts.map +1 -1
- package/dist/helpers/logger.js +0 -4
- package/dist/helpers/logger.js.map +1 -1
- package/dist/helpers/networks/auth-recovery.d.ts +27 -0
- package/dist/helpers/networks/auth-recovery.d.ts.map +1 -0
- package/dist/helpers/networks/auth-recovery.js +45 -0
- package/dist/helpers/networks/auth-recovery.js.map +1 -0
- package/dist/helpers/networks/index.d.ts +3 -3
- package/dist/helpers/networks/index.d.ts.map +1 -1
- package/dist/helpers/networks/index.js +3 -3
- package/dist/helpers/networks/index.js.map +1 -1
- package/dist/helpers/networks/request-body-encoder.d.ts +17 -0
- package/dist/helpers/networks/request-body-encoder.d.ts.map +1 -0
- package/dist/helpers/networks/request-body-encoder.js +72 -0
- package/dist/helpers/networks/request-body-encoder.js.map +1 -0
- package/dist/helpers/networks/response-reader.d.ts +39 -0
- package/dist/helpers/networks/response-reader.d.ts.map +1 -0
- package/dist/helpers/networks/response-reader.js +149 -0
- package/dist/helpers/networks/response-reader.js.map +1 -0
- package/dist/utilities/index.d.ts +0 -2
- package/dist/utilities/index.d.ts.map +1 -1
- package/dist/utilities/index.js +0 -2
- package/dist/utilities/index.js.map +1 -1
- package/dist/utilities/runtime-config.d.ts +3 -4
- package/dist/utilities/runtime-config.d.ts.map +1 -1
- package/dist/utilities/runtime-config.js +3 -4
- package/dist/utilities/runtime-config.js.map +1 -1
- package/package.json +16 -33
- package/dist/helpers/networks/base-request.d.ts +0 -36
- package/dist/helpers/networks/base-request.d.ts.map +0 -1
- package/dist/helpers/networks/base-request.js +0 -64
- package/dist/helpers/networks/base-request.js.map +0 -1
- package/dist/helpers/networks/common/index.d.ts +0 -2
- package/dist/helpers/networks/common/index.d.ts.map +0 -1
- package/dist/helpers/networks/common/index.js +0 -2
- package/dist/helpers/networks/common/index.js.map +0 -1
- package/dist/helpers/networks/common/types.d.ts +0 -4
- package/dist/helpers/networks/common/types.d.ts.map +0 -1
- package/dist/helpers/networks/common/types.js +0 -2
- package/dist/helpers/networks/common/types.js.map +0 -1
- package/dist/helpers/networks/fetchers/abstract.d.ts +0 -40
- package/dist/helpers/networks/fetchers/abstract.d.ts.map +0 -1
- package/dist/helpers/networks/fetchers/abstract.js +0 -35
- package/dist/helpers/networks/fetchers/abstract.js.map +0 -1
- package/dist/helpers/networks/fetchers/index.d.ts +0 -3
- package/dist/helpers/networks/fetchers/index.d.ts.map +0 -1
- package/dist/helpers/networks/fetchers/index.js +0 -3
- package/dist/helpers/networks/fetchers/index.js.map +0 -1
- package/dist/helpers/networks/fetchers/node-fetch.d.ts +0 -14
- package/dist/helpers/networks/fetchers/node-fetch.d.ts.map +0 -1
- package/dist/helpers/networks/fetchers/node-fetch.js +0 -43
- package/dist/helpers/networks/fetchers/node-fetch.js.map +0 -1
- package/dist/helpers/socket-io-client.d.ts +0 -40
- package/dist/helpers/socket-io-client.d.ts.map +0 -1
- package/dist/helpers/socket-io-client.js +0 -107
- package/dist/helpers/socket-io-client.js.map +0 -1
- package/dist/utilities/parse.d.ts +0 -47
- package/dist/utilities/parse.d.ts.map +0 -1
- package/dist/utilities/parse.js +0 -110
- package/dist/utilities/parse.js.map +0 -1
- package/dist/utilities/url.d.ts +0 -8
- package/dist/utilities/url.d.ts.map +0 -1
- package/dist/utilities/url.js +0 -21
- package/dist/utilities/url.js.map +0 -1
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { getError } from '@venizia/ignis-inversion';
|
|
2
|
+
import { HttpResponseReader } from '@venizia/ignis-kernel/repository';
|
|
3
|
+
import { HeaderConstants, RequestCountData, RequestTypes, } from '../../common/index.js';
|
|
4
|
+
/** A list body that carries its rows and its total: `{ data, count }`. Null and primitives are not one. */
|
|
5
|
+
const isCountedBody = (value) => {
|
|
6
|
+
return typeof value === 'object' && value !== null && 'data' in value && 'count' in value;
|
|
7
|
+
};
|
|
8
|
+
export class ResponseReader {
|
|
9
|
+
/** The server wraps an error body under this key; both transports unwrap it. */
|
|
10
|
+
static { this.ERROR_ROOT_KEY = 'error'; }
|
|
11
|
+
/** A response as `INetworkResponse`: JSON read by the request type, a file as a `Blob`. */
|
|
12
|
+
static async read(opts) {
|
|
13
|
+
const { response, type, requestCountData } = opts;
|
|
14
|
+
if (response.status === 204) {
|
|
15
|
+
return { data: {} };
|
|
16
|
+
}
|
|
17
|
+
const contentType = (response.headers?.get(HeaderConstants.CONTENT_TYPE) ?? '').toLowerCase();
|
|
18
|
+
const contentDisposition = response.headers?.get(HeaderConstants.CONTENT_DISPOSITION) ?? '';
|
|
19
|
+
const isAttachment = HeaderConstants.ATTACHMENT_CONTENT_DISPOSITION_RE.test(contentDisposition);
|
|
20
|
+
const isTextual = contentType !== '' && HeaderConstants.TEXTUAL_CONTENT_TYPE_RE.test(contentType);
|
|
21
|
+
if (isAttachment || !isTextual) {
|
|
22
|
+
const blob = await response.blob();
|
|
23
|
+
const filename = ResponseReader.parseFilename({ header: contentDisposition });
|
|
24
|
+
return {
|
|
25
|
+
data: blob,
|
|
26
|
+
...(filename ? { filename } : {}),
|
|
27
|
+
...(contentDisposition ? { contentDisposition } : {}),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
const parsedBody = await response.json();
|
|
31
|
+
// A route with extras answers `{ data, extra }`; `readExtra` strips only `extra`, so a
|
|
32
|
+
// count-in-body request still reads `{ count, data }`.
|
|
33
|
+
const { body, extra } = HttpResponseReader.readExtra({
|
|
34
|
+
body: parsedBody,
|
|
35
|
+
headers: response.headers,
|
|
36
|
+
});
|
|
37
|
+
const converted = ResponseReader.convert({
|
|
38
|
+
type,
|
|
39
|
+
requestCountData,
|
|
40
|
+
response: { headers: response.headers, data: body },
|
|
41
|
+
});
|
|
42
|
+
return extra ? { ...converted, extra } : converted;
|
|
43
|
+
}
|
|
44
|
+
static convert(opts) {
|
|
45
|
+
const { response: { data, headers }, type, requestCountData, } = opts;
|
|
46
|
+
switch (type) {
|
|
47
|
+
case RequestTypes.GET_LIST:
|
|
48
|
+
case RequestTypes.GET_MANY_REFERENCE: {
|
|
49
|
+
if (requestCountData === RequestCountData.DATA_WITH_COUNT) {
|
|
50
|
+
if (!isCountedBody(data)) {
|
|
51
|
+
throw getError({
|
|
52
|
+
message: `[convertResponse] Invalid response format for requestCountData=${RequestCountData.DATA_WITH_COUNT} !`,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
const dataFormatted = data;
|
|
56
|
+
const normalizedData = !Array.isArray(dataFormatted.data)
|
|
57
|
+
? [dataFormatted.data]
|
|
58
|
+
: dataFormatted.data;
|
|
59
|
+
const total = ResponseReader.resolveTotal({ headers, rowCount: normalizedData.length });
|
|
60
|
+
return {
|
|
61
|
+
data: normalizedData,
|
|
62
|
+
count: dataFormatted?.count ?? normalizedData.length,
|
|
63
|
+
total,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
const normalizedData = !Array.isArray(data) ? [data] : data;
|
|
67
|
+
const total = ResponseReader.resolveTotal({ headers, rowCount: normalizedData.length });
|
|
68
|
+
return {
|
|
69
|
+
data: normalizedData,
|
|
70
|
+
total,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
default: {
|
|
74
|
+
if (requestCountData === RequestCountData.DATA_WITH_COUNT) {
|
|
75
|
+
return data;
|
|
76
|
+
}
|
|
77
|
+
// A missing or non-numeric header means the server sent no count - never NaN.
|
|
78
|
+
const count = Number.parseInt(headers?.get(HeaderConstants.RESPONSE_COUNT_DATA) ?? '', 10);
|
|
79
|
+
return {
|
|
80
|
+
data: data,
|
|
81
|
+
count: Number.isNaN(count) ? undefined : count,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* A failed response as an `ApplicationError`, mapped like IGNIS `HttpDataSource`: the HTTP status,
|
|
88
|
+
* the server's code and args, its `extra` with the `requestId` added, and `details.cause`.
|
|
89
|
+
* `message` is the server's text, not a log line, because react-admin shows it to the user.
|
|
90
|
+
*/
|
|
91
|
+
static async toError(opts) {
|
|
92
|
+
const { response } = opts;
|
|
93
|
+
const server = await HttpResponseReader.readError({
|
|
94
|
+
response,
|
|
95
|
+
rootKey: ResponseReader.ERROR_ROOT_KEY,
|
|
96
|
+
});
|
|
97
|
+
// A relaying server's `extra.requestId` names the request it made upstream; keep it, nearest first.
|
|
98
|
+
const extra = { ...server.extra };
|
|
99
|
+
if (server.requestId) {
|
|
100
|
+
const upstreamRequestId = extra.requestId;
|
|
101
|
+
extra.requestId = server.requestId;
|
|
102
|
+
if (upstreamRequestId !== undefined && upstreamRequestId !== server.requestId) {
|
|
103
|
+
const known = Array.isArray(extra.upstreamRequestIds) ? extra.upstreamRequestIds : [];
|
|
104
|
+
extra.upstreamRequestIds = [upstreamRequestId, ...known];
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return getError({
|
|
108
|
+
statusCode: response.status,
|
|
109
|
+
message: server.normalized?.text ?? server.message ?? `HTTP ${response.status}`,
|
|
110
|
+
messageCode: server.normalized?.code,
|
|
111
|
+
messageArgs: server.normalized?.args,
|
|
112
|
+
extra: Object.keys(extra).length > 0 ? extra : undefined,
|
|
113
|
+
cause: server.details?.cause,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/** The total from `Content-Range`, or the page's own row count when the header is absent or malformed. */
|
|
117
|
+
static resolveTotal(opts) {
|
|
118
|
+
const range = HttpResponseReader.parseContentRange({
|
|
119
|
+
header: opts.headers?.get(HeaderConstants.CONTENT_RANGE),
|
|
120
|
+
});
|
|
121
|
+
return range?.total ?? opts.rowCount;
|
|
122
|
+
}
|
|
123
|
+
/** The file name a `Content-Disposition` header names, `filename*` before `filename`. */
|
|
124
|
+
static parseFilename(opts) {
|
|
125
|
+
const { header } = opts;
|
|
126
|
+
if (!header) {
|
|
127
|
+
return undefined;
|
|
128
|
+
}
|
|
129
|
+
const encodedMatch = header.match(/filename\*\s*=\s*([^']*)'[^']*'([^;]+)/i);
|
|
130
|
+
if (encodedMatch) {
|
|
131
|
+
try {
|
|
132
|
+
return decodeURIComponent(encodedMatch[2].trim());
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
return encodedMatch[2].trim();
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
const quotedMatch = header.match(/filename\s*=\s*"([^"]+)"/i);
|
|
139
|
+
if (quotedMatch) {
|
|
140
|
+
return quotedMatch[1];
|
|
141
|
+
}
|
|
142
|
+
const bareMatch = header.match(/filename\s*=\s*([^;]+)/i);
|
|
143
|
+
if (bareMatch) {
|
|
144
|
+
return bareMatch[1].trim();
|
|
145
|
+
}
|
|
146
|
+
return undefined;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=response-reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-reader.js","sourceRoot":"","sources":["../../../src/helpers/networks/response-reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC"}
|
package/dist/utilities/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC"}
|
|
@@ -4,10 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export declare const RUNTIME_CONFIG_GLOBAL = "__APP_CONFIG__";
|
|
6
6
|
/**
|
|
7
|
-
* One value
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* level, and a missing global is not an error, so the same call works in dev, in a test and in the image.
|
|
7
|
+
* One config value: the runtime one (`window.__APP_CONFIG__`), else the build-time one
|
|
8
|
+
* (`buildTimeEnv`, passed by the app as `import.meta.env`), else `defaultValue`. Only a non-empty
|
|
9
|
+
* string counts, and a missing global is not an error.
|
|
11
10
|
*/
|
|
12
11
|
export declare const getRuntimeConfig: (opts: {
|
|
13
12
|
key: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-config.d.ts","sourceRoot":"","sources":["../../src/utilities/runtime-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AAmBtD
|
|
1
|
+
{"version":3,"file":"runtime-config.d.ts","sourceRoot":"","sources":["../../src/utilities/runtime-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AAmBtD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,KAAG,MAAM,GAAG,SAQZ,CAAC"}
|
|
@@ -16,10 +16,9 @@ const readString = (opts) => {
|
|
|
16
16
|
return typeof value === 'string' && value !== '' ? value : undefined;
|
|
17
17
|
};
|
|
18
18
|
/**
|
|
19
|
-
* One value
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* level, and a missing global is not an error, so the same call works in dev, in a test and in the image.
|
|
19
|
+
* One config value: the runtime one (`window.__APP_CONFIG__`), else the build-time one
|
|
20
|
+
* (`buildTimeEnv`, passed by the app as `import.meta.env`), else `defaultValue`. Only a non-empty
|
|
21
|
+
* string counts, and a missing global is not an error.
|
|
23
22
|
*/
|
|
24
23
|
export const getRuntimeConfig = (opts) => {
|
|
25
24
|
const { key, buildTimeEnv, defaultValue } = opts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-config.js","sourceRoot":"","sources":["../../src/utilities/runtime-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAEtD,MAAM,UAAU,GAAG,CAAC,IAAsC,EAAsB,EAAE;IAChF,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAE7B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,qEAAqE;IACrE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;QACvD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAY,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEhD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"runtime-config.js","sourceRoot":"","sources":["../../src/utilities/runtime-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAEtD,MAAM,UAAU,GAAG,CAAC,IAAsC,EAAsB,EAAE;IAChF,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAE7B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,qEAAqE;IACrE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;QACvD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAY,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEhD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAIhC,EAAsB,EAAE;IACvB,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAEjD,OAAO,CACL,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,qBAAqB,CAAC,EAAE,GAAG,EAAE,CAAC;QAC3E,UAAU,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;QACzC,YAAY,CACb,CAAC;AACJ,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@venizia/ardor-kernel",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "ARDOR kernel - the isomorphic core of the ARDOR frontend framework: application base on IGNIS inversion, service and CRUD bases, request/auth constants, binding keys, logger, network fetchers and socket client. No React and no react-admin.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ardor",
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
"isomorphic",
|
|
16
16
|
"logger",
|
|
17
17
|
"network",
|
|
18
|
-
"socket-io",
|
|
19
18
|
"typescript",
|
|
20
19
|
"venizia"
|
|
21
20
|
],
|
|
@@ -57,57 +56,43 @@
|
|
|
57
56
|
"import": "./dist/base/repositories/index.js",
|
|
58
57
|
"default": "./dist/base/repositories/index.js"
|
|
59
58
|
},
|
|
60
|
-
"./socket-io": {
|
|
61
|
-
"types": "./dist/helpers/socket-io-client.d.ts",
|
|
62
|
-
"import": "./dist/helpers/socket-io-client.js",
|
|
63
|
-
"default": "./dist/helpers/socket-io-client.js"
|
|
64
|
-
},
|
|
65
59
|
"./package.json": "./package.json"
|
|
66
60
|
},
|
|
67
61
|
"publishConfig": {
|
|
68
62
|
"access": "public"
|
|
69
63
|
},
|
|
70
64
|
"scripts": {
|
|
71
|
-
"force-update": "sh ../../scripts/force-update.sh",
|
|
65
|
+
"force-update": "sh ../../scripts/build/force-update.sh",
|
|
72
66
|
"prepublishOnly": "make rebuild"
|
|
73
67
|
},
|
|
74
|
-
"dependencies": {
|
|
75
|
-
"lodash": "^4.18.1"
|
|
76
|
-
},
|
|
77
68
|
"devDependencies": {
|
|
78
69
|
"@size-limit/preset-small-lib": "^14.2.0",
|
|
79
70
|
"@types/bun": "^1.4.3",
|
|
80
|
-
"@
|
|
81
|
-
"@venizia/
|
|
82
|
-
"@venizia/ignis-
|
|
83
|
-
"@venizia/ignis-
|
|
84
|
-
"@venizia/ignis-
|
|
85
|
-
"@venizia/ignis-
|
|
86
|
-
"@venizia/ignis-kernel": "^0.4.0",
|
|
71
|
+
"@venizia/dev-configs": "^0.4.1",
|
|
72
|
+
"@venizia/ignis-connectors": "^0.4.1",
|
|
73
|
+
"@venizia/ignis-filter": "^0.4.1",
|
|
74
|
+
"@venizia/ignis-helpers": "^0.4.1",
|
|
75
|
+
"@venizia/ignis-inversion": "^0.4.1",
|
|
76
|
+
"@venizia/ignis-kernel": "^0.4.1",
|
|
87
77
|
"eslint": "^10.13.0",
|
|
88
78
|
"oxlint": "1.89.0",
|
|
89
79
|
"oxlint-tsgolint": "7.0.2004",
|
|
90
80
|
"reflect-metadata": "^0.2.2",
|
|
91
81
|
"size-limit": "^14.2.0",
|
|
92
|
-
"socket.io-client": "^4.8.4",
|
|
93
82
|
"tsc-alias": "~1.8.17",
|
|
94
83
|
"typescript": "^6.0.3"
|
|
95
84
|
},
|
|
96
85
|
"peerDependencies": {
|
|
97
|
-
"@venizia/ignis-connectors": "^0.4.
|
|
98
|
-
"@venizia/ignis-filter": "^0.4.
|
|
99
|
-
"@venizia/ignis-helpers": "^0.4.
|
|
100
|
-
"@venizia/ignis-inversion": "^0.4.
|
|
101
|
-
"@venizia/ignis-kernel": "^0.4.
|
|
102
|
-
"reflect-metadata": ">=0.2.2"
|
|
103
|
-
"socket.io-client": ">=4.8.4"
|
|
86
|
+
"@venizia/ignis-connectors": "^0.4.1",
|
|
87
|
+
"@venizia/ignis-filter": "^0.4.1",
|
|
88
|
+
"@venizia/ignis-helpers": "^0.4.1",
|
|
89
|
+
"@venizia/ignis-inversion": "^0.4.1",
|
|
90
|
+
"@venizia/ignis-kernel": "^0.4.1",
|
|
91
|
+
"reflect-metadata": ">=0.2.2"
|
|
104
92
|
},
|
|
105
93
|
"peerDependenciesMeta": {
|
|
106
94
|
"@venizia/ignis-connectors": {
|
|
107
95
|
"optional": true
|
|
108
|
-
},
|
|
109
|
-
"socket.io-client": {
|
|
110
|
-
"optional": true
|
|
111
96
|
}
|
|
112
97
|
},
|
|
113
98
|
"size-limit": [
|
|
@@ -117,11 +102,9 @@
|
|
|
117
102
|
"ignore": [
|
|
118
103
|
"@venizia/ignis-filter",
|
|
119
104
|
"@venizia/ignis-inversion",
|
|
120
|
-
"
|
|
121
|
-
"reflect-metadata",
|
|
122
|
-
"socket.io-client"
|
|
105
|
+
"reflect-metadata"
|
|
123
106
|
],
|
|
124
|
-
"limit": "7
|
|
107
|
+
"limit": "7 KB"
|
|
125
108
|
}
|
|
126
109
|
],
|
|
127
110
|
"engines": {
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { AnyObject } from '../../common/types.js';
|
|
2
|
-
import { BaseHelper } from '../base-helper.js';
|
|
3
|
-
import type { IFetchable, IRequestOptions } from './fetchers/index.js';
|
|
4
|
-
import type { TFetcherResponse, TFetcherVariant } from './common/types.js';
|
|
5
|
-
export interface IFetcherRequestOptions<TVariant extends TFetcherVariant> {
|
|
6
|
-
name: string;
|
|
7
|
-
variant: TFetcherVariant;
|
|
8
|
-
networkOptions: {
|
|
9
|
-
baseUrl?: string;
|
|
10
|
-
headers?: AnyObject;
|
|
11
|
-
timeout?: number;
|
|
12
|
-
[extra: symbol | string]: any;
|
|
13
|
-
};
|
|
14
|
-
fetcher: IFetchable<TVariant, IRequestOptions, TFetcherResponse<TVariant>>;
|
|
15
|
-
}
|
|
16
|
-
export interface INodeFetchNetworkOptions extends IFetcherRequestOptions<'node-fetch'> {
|
|
17
|
-
variant: 'node-fetch';
|
|
18
|
-
}
|
|
19
|
-
export declare class BaseNetworkRequest<TVariant extends TFetcherVariant> extends BaseHelper {
|
|
20
|
-
protected baseUrl: string;
|
|
21
|
-
protected fetcher: IFetchable<TVariant, IRequestOptions, TFetcherResponse<TVariant>>;
|
|
22
|
-
constructor(opts: IFetcherRequestOptions<TVariant>);
|
|
23
|
-
getRequestPath(opts: {
|
|
24
|
-
paths: Array<string>;
|
|
25
|
-
}): string;
|
|
26
|
-
getRequestUrl(opts: {
|
|
27
|
-
baseUrl?: string;
|
|
28
|
-
paths: Array<string>;
|
|
29
|
-
}): string;
|
|
30
|
-
getNetworkService(): IFetchable<TVariant, IRequestOptions, TFetcherResponse<TVariant>>;
|
|
31
|
-
getWorker(): import("./common/index.js").TFetcherWorker<TVariant>;
|
|
32
|
-
}
|
|
33
|
-
export declare class NodeFetchNetworkRequest extends BaseNetworkRequest<'node-fetch'> {
|
|
34
|
-
constructor(opts: Omit<INodeFetchNetworkOptions, 'fetcher' | 'variant'>);
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=base-request.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base-request.d.ts","sourceRoot":"","sources":["../../../src/helpers/networks/base-request.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAExE,MAAM,WAAW,sBAAsB,CAAC,QAAQ,SAAS,eAAe;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,eAAe,CAAC;IACzB,cAAc,EAAE;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,SAAS,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;KAC/B,CAAC;IACF,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,eAAe,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB,CAAC,YAAY,CAAC;IACpF,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,qBAAa,kBAAkB,CAAC,QAAQ,SAAS,eAAe,CAAE,SAAQ,UAAU;IAClF,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,eAAe,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAEzE,IAAI,EAAE,sBAAsB,CAAC,QAAQ,CAAC;IAUlD,cAAc,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE;IAgB7C,aAAa,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE;IAmB9D,iBAAiB;IAIjB,SAAS;CAGV;AAED,qBAAa,uBAAwB,SAAQ,kBAAkB,CAAC,YAAY,CAAC;gBAC/D,IAAI,EAAE,IAAI,CAAC,wBAAwB,EAAE,SAAS,GAAG,SAAS,CAAC;CAiBxE"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { getError } from '@venizia/ignis-inversion';
|
|
2
|
-
import isEmpty from 'lodash/isEmpty.js';
|
|
3
|
-
import { BaseHelper } from '../base-helper.js';
|
|
4
|
-
import { NodeFetcher } from './fetchers/node-fetch.js';
|
|
5
|
-
export class BaseNetworkRequest extends BaseHelper {
|
|
6
|
-
constructor(opts) {
|
|
7
|
-
super({ scope: opts.name });
|
|
8
|
-
const { networkOptions } = opts;
|
|
9
|
-
const { baseUrl = '' } = networkOptions;
|
|
10
|
-
this.baseUrl = baseUrl;
|
|
11
|
-
this.fetcher = opts.fetcher;
|
|
12
|
-
}
|
|
13
|
-
getRequestPath(opts) {
|
|
14
|
-
const paths = opts?.paths ?? [];
|
|
15
|
-
const rs = paths
|
|
16
|
-
.map((path) => {
|
|
17
|
-
if (!path.startsWith('/')) {
|
|
18
|
-
path = `/${path}`; // Add / to the start of url path
|
|
19
|
-
}
|
|
20
|
-
return path;
|
|
21
|
-
})
|
|
22
|
-
.join('');
|
|
23
|
-
return rs;
|
|
24
|
-
}
|
|
25
|
-
getRequestUrl(opts) {
|
|
26
|
-
let baseUrl = opts?.baseUrl ?? this.baseUrl ?? '';
|
|
27
|
-
const paths = opts?.paths ?? [];
|
|
28
|
-
if (!baseUrl || isEmpty(baseUrl)) {
|
|
29
|
-
throw getError({
|
|
30
|
-
statusCode: 500,
|
|
31
|
-
message: '[getRequestUrl] Invalid configuration for third party request base url!',
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
if (baseUrl.endsWith('/')) {
|
|
35
|
-
baseUrl = baseUrl.slice(0, -1); // Remove / at the end
|
|
36
|
-
}
|
|
37
|
-
const joined = this.getRequestPath({ paths });
|
|
38
|
-
return `${baseUrl ?? this.baseUrl}${joined}`;
|
|
39
|
-
}
|
|
40
|
-
getNetworkService() {
|
|
41
|
-
return this.fetcher;
|
|
42
|
-
}
|
|
43
|
-
getWorker() {
|
|
44
|
-
return this.fetcher.getWorker();
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
export class NodeFetchNetworkRequest extends BaseNetworkRequest {
|
|
48
|
-
constructor(opts) {
|
|
49
|
-
const { name, networkOptions } = opts;
|
|
50
|
-
const { headers = {}, ...rest } = networkOptions;
|
|
51
|
-
const defaultConfigs = {
|
|
52
|
-
...rest,
|
|
53
|
-
headers: Object.assign({}, headers, {
|
|
54
|
-
['content-type']: headers['content-type'] ?? 'application/json; charset=utf-8',
|
|
55
|
-
}),
|
|
56
|
-
};
|
|
57
|
-
super({
|
|
58
|
-
...opts,
|
|
59
|
-
variant: 'node-fetch',
|
|
60
|
-
fetcher: new NodeFetcher({ name, defaultConfigs }),
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=base-request.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base-request.js","sourceRoot":"","sources":["../../../src/helpers/networks/base-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAGxC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAmBpD,MAAM,OAAO,kBAAqD,SAAQ,UAAU;IAIlF,YAAY,IAAsC;QAChD,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAE5B,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAChC,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,cAAc,CAAC;QAExC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,cAAc,CAAC,IAA8B;QAC3C,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAEhC,MAAM,EAAE,GAAG,KAAK;aACb,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE;YACpB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,iCAAiC;YACtD,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,aAAa,CAAC,IAAgD;QAC5D,IAAI,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAEhC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,MAAM,QAAQ,CAAC;gBACb,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,yEAAyE;aACnF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;QACxD,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC;IAC/C,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,kBAAgC;IAC3E,YAAY,IAA2D;QACrE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QACtC,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,cAAc,CAAC;QAEjD,MAAM,cAAc,GAAyB;YAC3C,GAAG,IAAI;YACP,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;gBAClC,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,IAAI,iCAAiC;aAC/E,CAAC;SACH,CAAC;QAEF,KAAK,CAAC;YACJ,GAAG,IAAI;YACP,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;SACnD,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/helpers/networks/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/networks/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export type TFetcherVariant = 'node-fetch';
|
|
2
|
-
export type TFetcherResponse<T extends TFetcherVariant> = T extends 'node-fetch' ? Response : never;
|
|
3
|
-
export type TFetcherWorker<T extends TFetcherVariant> = T extends 'node-fetch' ? typeof fetch : never;
|
|
4
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/helpers/networks/common/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC;AAE3C,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,eAAe,IAAI,CAAC,SAAS,YAAY,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEpG,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,eAAe,IAAI,CAAC,SAAS,YAAY,GAC1E,OAAO,KAAK,GACZ,KAAK,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/helpers/networks/common/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { BaseHelper } from '../../base-helper.js';
|
|
2
|
-
import type { TFetcherResponse, TFetcherVariant, TFetcherWorker } from '../common/types.js';
|
|
3
|
-
export interface IRequestOptions {
|
|
4
|
-
url: string;
|
|
5
|
-
params?: Record<string | symbol, any>;
|
|
6
|
-
method?: string;
|
|
7
|
-
timeout?: number;
|
|
8
|
-
[extra: symbol | string]: any;
|
|
9
|
-
}
|
|
10
|
-
export interface IFetchable<TVariant extends TFetcherVariant, TRequest extends IRequestOptions, TResponse extends TFetcherResponse<TVariant>> {
|
|
11
|
-
send(opts: TRequest): Promise<TResponse>;
|
|
12
|
-
get(opts: TRequest): Promise<TResponse>;
|
|
13
|
-
post(opts: TRequest): Promise<TResponse>;
|
|
14
|
-
put(opts: TRequest): Promise<TResponse>;
|
|
15
|
-
patch(opts: TRequest): Promise<TResponse>;
|
|
16
|
-
delete(opts: TRequest): Promise<TResponse>;
|
|
17
|
-
getWorker(): TFetcherWorker<TVariant>;
|
|
18
|
-
}
|
|
19
|
-
/** The helper owns its logger (`this.logger`, scoped by `name`): a call carries none. */
|
|
20
|
-
export declare abstract class AbstractNetworkFetchableHelper<TVariant extends TFetcherVariant, TRequest extends IRequestOptions, TResponse extends TFetcherResponse<TVariant>> extends BaseHelper implements IFetchable<TVariant, TRequest, TResponse> {
|
|
21
|
-
protected name: string;
|
|
22
|
-
protected variant: TVariant;
|
|
23
|
-
protected worker: TFetcherWorker<TVariant>;
|
|
24
|
-
constructor(opts: {
|
|
25
|
-
name: string;
|
|
26
|
-
variant: TVariant;
|
|
27
|
-
worker: TFetcherWorker<TVariant>;
|
|
28
|
-
});
|
|
29
|
-
abstract send(opts: TRequest): Promise<TResponse>;
|
|
30
|
-
getProtocol(opts: {
|
|
31
|
-
url: string;
|
|
32
|
-
}): "http" | "https";
|
|
33
|
-
getWorker(): TFetcherWorker<TVariant>;
|
|
34
|
-
get(opts: TRequest): Promise<TResponse>;
|
|
35
|
-
post(opts: TRequest): Promise<TResponse>;
|
|
36
|
-
put(opts: TRequest): Promise<TResponse>;
|
|
37
|
-
patch(opts: TRequest): Promise<TResponse>;
|
|
38
|
-
delete(opts: TRequest): Promise<TResponse>;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=abstract.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../../src/helpers/networks/fetchers/abstract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKzF,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU,CACzB,QAAQ,SAAS,eAAe,EAChC,QAAQ,SAAS,eAAe,EAChC,SAAS,SAAS,gBAAgB,CAAC,QAAQ,CAAC;IAE5C,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE3C,SAAS,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;CACvC;AAED,yFAAyF;AACzF,8BAAsB,8BAA8B,CAClD,QAAQ,SAAS,eAAe,EAChC,QAAQ,SAAS,eAAe,EAChC,SAAS,SAAS,gBAAgB,CAAC,QAAQ,CAAC,CAE5C,SAAQ,UACR,YAAW,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;IAEpD,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC5B,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAE/B,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;KAAE;IAOvF,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;IAEjD,WAAW,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE;IAIjC,SAAS;IAIT,GAAG,CAAC,IAAI,EAAE,QAAQ;IAIlB,IAAI,CAAC,IAAI,EAAE,QAAQ;IAInB,GAAG,CAAC,IAAI,EAAE,QAAQ;IAIlB,KAAK,CAAC,IAAI,EAAE,QAAQ;IAIpB,MAAM,CAAC,IAAI,EAAE,QAAQ;CAGtB"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { RequestMethods } from '../../../common/constants.js';
|
|
2
|
-
import { BaseHelper } from '../../base-helper.js';
|
|
3
|
-
const HTTP = 'http';
|
|
4
|
-
const HTTPS = 'https';
|
|
5
|
-
/** The helper owns its logger (`this.logger`, scoped by `name`): a call carries none. */
|
|
6
|
-
export class AbstractNetworkFetchableHelper extends BaseHelper {
|
|
7
|
-
constructor(opts) {
|
|
8
|
-
super({ scope: opts.name });
|
|
9
|
-
this.name = opts.name;
|
|
10
|
-
this.variant = opts.variant;
|
|
11
|
-
this.worker = opts.worker;
|
|
12
|
-
}
|
|
13
|
-
getProtocol(opts) {
|
|
14
|
-
return opts.url.startsWith('http:') ? HTTP : HTTPS;
|
|
15
|
-
}
|
|
16
|
-
getWorker() {
|
|
17
|
-
return this.worker;
|
|
18
|
-
}
|
|
19
|
-
get(opts) {
|
|
20
|
-
return this.send({ ...opts, method: RequestMethods.GET });
|
|
21
|
-
}
|
|
22
|
-
post(opts) {
|
|
23
|
-
return this.send({ ...opts, method: RequestMethods.POST });
|
|
24
|
-
}
|
|
25
|
-
put(opts) {
|
|
26
|
-
return this.send({ ...opts, method: RequestMethods.PUT });
|
|
27
|
-
}
|
|
28
|
-
patch(opts) {
|
|
29
|
-
return this.send({ ...opts, method: RequestMethods.PATCH });
|
|
30
|
-
}
|
|
31
|
-
delete(opts) {
|
|
32
|
-
return this.send({ ...opts, method: RequestMethods.DELETE });
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=abstract.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../src/helpers/networks/fetchers/abstract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,MAAM,IAAI,GAAG,MAAM,CAAC;AACpB,MAAM,KAAK,GAAG,OAAO,CAAC;AAyBtB,yFAAyF;AACzF,MAAM,OAAgB,8BAKpB,SAAQ,UAAU;IAOlB,YAAY,IAA2E;QACrF,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;IAID,WAAW,CAAC,IAAqB;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACrD,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,GAAG,CAAC,IAAc;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,CAAC,IAAc;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,GAAG,CAAC,IAAc;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,IAAc;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,IAAc;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/helpers/networks/fetchers/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/networks/fetchers/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { AbstractNetworkFetchableHelper, type IRequestOptions } from './abstract.js';
|
|
2
|
-
export interface INodeFetchRequestOptions extends RequestInit, IRequestOptions {
|
|
3
|
-
url: string;
|
|
4
|
-
params?: Record<string | symbol, any>;
|
|
5
|
-
}
|
|
6
|
-
export declare class NodeFetcher extends AbstractNetworkFetchableHelper<'node-fetch', INodeFetchRequestOptions, Awaited<ReturnType<typeof fetch>>> {
|
|
7
|
-
private defaultConfigs;
|
|
8
|
-
constructor(opts: {
|
|
9
|
-
name: string;
|
|
10
|
-
defaultConfigs: RequestInit;
|
|
11
|
-
});
|
|
12
|
-
send(opts: INodeFetchRequestOptions): Promise<Response>;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=node-fetch.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node-fetch.d.ts","sourceRoot":"","sources":["../../../../src/helpers/networks/fetchers/node-fetch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAElF,MAAM,WAAW,wBAAyB,SAAQ,WAAW,EAAE,eAAe;IAC5E,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;CACvC;AAED,qBAAa,WAAY,SAAQ,8BAA8B,CAC7D,YAAY,EACZ,wBAAwB,EACxB,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAClC;IACC,OAAO,CAAC,cAAc,CAAc;gBAExB,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,WAAW,CAAA;KAAE;IAOhD,IAAI,CAAC,IAAI,EAAE,wBAAwB;CAuCnD"}
|