dwh-fetch 1.3.2 → 1.4.0
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/dist/lib/backup/dwh-backup.d.ts +1 -2
- package/dist/lib/backup/dwh-backup.js +3 -3
- package/dist/lib/dwh-fetch.d.ts +16 -1
- package/dist/lib/dwh-fetch.js +75 -31
- package/dist/lib/logger.d.ts +34 -0
- package/dist/lib/logger.js +27 -0
- package/dist/lib/rsa.d.ts +2 -0
- package/dist/lib/rsa.js +902 -0
- package/dist/lib/update/dwh-update.d.ts +1 -1
- package/dist/lib/update/dwh-update.js +3 -3
- package/package.json +6 -5
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Logger } from 'tslog';
|
|
2
1
|
import { DwhFetch, FileInfo } from '../dwh-fetch';
|
|
3
2
|
export interface BackupOptions {
|
|
4
3
|
/**
|
|
@@ -19,7 +18,7 @@ export declare class DwhBackup {
|
|
|
19
18
|
* DwhFetch Instance should be valid with authority token because it will be used to download files.
|
|
20
19
|
* @param dwhFetch
|
|
21
20
|
*/
|
|
22
|
-
constructor(dwhFetch: DwhFetch, log?: Logger);
|
|
21
|
+
constructor(dwhFetch: DwhFetch, log?: import("../logger").Logger);
|
|
23
22
|
/**
|
|
24
23
|
* Downloads all files or specific directory from device into dst directory.
|
|
25
24
|
* @param dst Destination directory to save files into.
|
|
@@ -22,13 +22,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
22
22
|
exports.DwhBackup = void 0;
|
|
23
23
|
const fs = __importStar(require("fs"));
|
|
24
24
|
const path_1 = require("path");
|
|
25
|
-
const
|
|
25
|
+
const logger_1 = require("../logger");
|
|
26
26
|
class DwhBackup {
|
|
27
27
|
/**
|
|
28
28
|
* DwhFetch Instance should be valid with authority token because it will be used to download files.
|
|
29
29
|
* @param dwhFetch
|
|
30
30
|
*/
|
|
31
|
-
constructor(dwhFetch, log =
|
|
31
|
+
constructor(dwhFetch, log = logger_1.noLogger) {
|
|
32
32
|
this.dwhFetch = dwhFetch;
|
|
33
33
|
this.log = log;
|
|
34
34
|
}
|
|
@@ -140,4 +140,4 @@ class DwhBackup {
|
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
exports.DwhBackup = DwhBackup;
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHdoLWJhY2t1cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvYmFja3VwL2R3aC1iYWNrdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUF5QjtBQUN6QiwrQkFBNEI7QUFFNUIsc0NBQXFDO0FBZXJDLE1BQWEsU0FBUztJQUNwQjs7O09BR0c7SUFDSCxZQUFtQixRQUFrQixFQUFVLE1BQU0saUJBQVE7UUFBMUMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQVc7SUFBRyxDQUFDO0lBQ2pFOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQVcsRUFBRSxJQUFvQjs7UUFDNUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsMENBQTBDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUM1QyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEM7UUFDRCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDL0MsR0FBRyxRQUFFLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxHQUFHLG1DQUFJLEdBQUc7WUFDckIsY0FBYyxRQUFFLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxjQUFjLG1DQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO1NBQ3JELENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU8sZUFBZSxDQUFDLE1BQWU7UUFDckMsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUks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
|
package/dist/lib/dwh-fetch.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import superagent from 'superagent';
|
|
3
|
-
import { Logger } from '
|
|
3
|
+
import { Logger } from './logger';
|
|
4
4
|
export declare const VALUE_ERROR_MASK = 4294967232;
|
|
5
5
|
export declare const WEB_BUS_PIN_ERR = 2147483648;
|
|
6
6
|
export declare function isErrorValue(val: any): boolean;
|
|
@@ -57,12 +57,22 @@ export interface DwhFetchOptions {
|
|
|
57
57
|
* Timeout for max running response e.G when download takes to long it will abort after deadline time.
|
|
58
58
|
*/
|
|
59
59
|
timeoutDeadline?: number;
|
|
60
|
+
/**
|
|
61
|
+
* Passing RSA keys via constructor options.
|
|
62
|
+
*/
|
|
63
|
+
rsaKeys?: string;
|
|
60
64
|
/**
|
|
61
65
|
* these headers will be passed to every request
|
|
62
66
|
*/
|
|
63
67
|
headers?: {
|
|
64
68
|
[P: string]: string;
|
|
65
69
|
};
|
|
70
|
+
/**
|
|
71
|
+
* will be called when headers have been received
|
|
72
|
+
*/
|
|
73
|
+
onResponseHeadersReceived?: (headers: {
|
|
74
|
+
[P: string]: string;
|
|
75
|
+
}) => void;
|
|
66
76
|
}
|
|
67
77
|
export declare class DwhFetch {
|
|
68
78
|
private options?;
|
|
@@ -72,6 +82,7 @@ export declare class DwhFetch {
|
|
|
72
82
|
url: string;
|
|
73
83
|
authorityToken: number;
|
|
74
84
|
currentlyHandlingAuthFailure: boolean;
|
|
85
|
+
rsaKeys: string;
|
|
75
86
|
constructor(url?: string, options?: DwhFetchOptions | undefined);
|
|
76
87
|
private removeDwhFile;
|
|
77
88
|
createPostBody(expressions: string[]): string;
|
|
@@ -82,7 +93,11 @@ export declare class DwhFetch {
|
|
|
82
93
|
fetchOrThrow(expressions: string[]): Promise<DwhResponse>;
|
|
83
94
|
responseToText(response: superagent.Response): string;
|
|
84
95
|
fetch(expressions: string[]): Promise<DwhResponse>;
|
|
96
|
+
callOnHeadersReceived(response: superagent.Response): void;
|
|
97
|
+
sendPostBodyOrThrow(postBody: string): Promise<string>;
|
|
85
98
|
isAuthFailure(result: DwhResponse): boolean;
|
|
99
|
+
fetchRsa(): Promise<string | undefined>;
|
|
100
|
+
initRsa(): Promise<void>;
|
|
86
101
|
fetchString(expression: string): Promise<string | undefined>;
|
|
87
102
|
fetchStringOrThrow(expression: string): Promise<string>;
|
|
88
103
|
wrapDefault<T>(call: () => Promise<T>, defaultValueOnFailure: T): Promise<T>;
|
package/dist/lib/dwh-fetch.js
CHANGED
|
@@ -4,9 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.DwhFetch = exports.DwhResponse = exports.DwhLine = exports.parseFileInfo = exports.parseFileInfoOrThrow = exports.parseTimeString = exports.isValidValue = exports.isErrorValue = exports.WEB_BUS_PIN_ERR = exports.VALUE_ERROR_MASK = void 0;
|
|
7
|
-
const iconv_lite_1 = require("iconv-lite");
|
|
8
7
|
const superagent_1 = __importDefault(require("superagent"));
|
|
9
8
|
const DwhErrorCodes_1 = require("./DwhErrorCodes");
|
|
9
|
+
const rsa_1 = __importDefault(require("./rsa"));
|
|
10
10
|
exports.VALUE_ERROR_MASK = 0xffffffc0;
|
|
11
11
|
exports.WEB_BUS_PIN_ERR = 0x80000000;
|
|
12
12
|
function isErrorValue(val) {
|
|
@@ -102,6 +102,7 @@ class DwhLine {
|
|
|
102
102
|
this.value = value;
|
|
103
103
|
this.success = success;
|
|
104
104
|
this.expression = expression;
|
|
105
|
+
// empty constructor
|
|
105
106
|
}
|
|
106
107
|
static fromString(line, expression = '') {
|
|
107
108
|
const regex = /^0([1-4])\("(.*)"\)$/;
|
|
@@ -126,20 +127,23 @@ class DwhResponse {
|
|
|
126
127
|
constructor(accessRights = 0, lines = []) {
|
|
127
128
|
this.accessRights = accessRights;
|
|
128
129
|
this.lines = lines;
|
|
130
|
+
// empty constructor
|
|
129
131
|
}
|
|
130
132
|
}
|
|
131
133
|
exports.DwhResponse = DwhResponse;
|
|
132
134
|
class DwhFetch {
|
|
133
135
|
constructor(url, options) {
|
|
134
|
-
var _a;
|
|
136
|
+
var _a, _b;
|
|
135
137
|
this.options = options;
|
|
136
138
|
this.url = '';
|
|
137
139
|
this.authorityToken = 0;
|
|
138
140
|
this.currentlyHandlingAuthFailure = false;
|
|
141
|
+
this.rsaKeys = '';
|
|
139
142
|
if (typeof url === 'string') {
|
|
140
143
|
this.removeDwhFile(url);
|
|
141
144
|
}
|
|
142
145
|
this.headers = (_a = options === null || options === void 0 ? void 0 : options.headers) !== null && _a !== void 0 ? _a : {};
|
|
146
|
+
this.rsaKeys = (_b = options === null || options === void 0 ? void 0 : options.rsaKeys) !== null && _b !== void 0 ? _b : '';
|
|
143
147
|
}
|
|
144
148
|
removeDwhFile(url) {
|
|
145
149
|
if (url.toLowerCase().endsWith('.dwh')) {
|
|
@@ -176,7 +180,7 @@ class DwhFetch {
|
|
|
176
180
|
response.accessRights = DwhLine.fromString(accessRightsLine, '').toInt();
|
|
177
181
|
}
|
|
178
182
|
catch (e) {
|
|
179
|
-
(_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.log) === null || _b === void 0 ? void 0 : _b.error(`Parsing body failed`, e.message);
|
|
183
|
+
(_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.log) === null || _b === void 0 ? void 0 : _b.error(`Parsing body failed`, e instanceof Error ? e.message : e);
|
|
180
184
|
response.accessRights = this.toIntOrThrow(accessRightsLine);
|
|
181
185
|
}
|
|
182
186
|
}
|
|
@@ -226,14 +230,53 @@ class DwhFetch {
|
|
|
226
230
|
return result;
|
|
227
231
|
}
|
|
228
232
|
responseToText(response) {
|
|
229
|
-
|
|
230
|
-
return response.charset ?
|
|
233
|
+
const decoder = new TextDecoder(response.charset);
|
|
234
|
+
return response.charset ? decoder.decode(response.body) : response.body.toString();
|
|
231
235
|
}
|
|
232
236
|
async fetch(expressions) {
|
|
233
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j
|
|
237
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
234
238
|
(_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.log) === null || _b === void 0 ? void 0 : _b.debug(`Fetching:`, expressions);
|
|
235
|
-
|
|
239
|
+
let postBody = this.createPostBody(expressions);
|
|
240
|
+
let rsa;
|
|
241
|
+
if (this.rsaKeys) {
|
|
242
|
+
rsa = new rsa_1.default();
|
|
243
|
+
if (rsa.decodeDwKeyStr(this.rsaKeys) !== 0) {
|
|
244
|
+
this.rsaKeys = '';
|
|
245
|
+
rsa = undefined;
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
postBody = rsa.encryptRequest(postBody);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
236
251
|
(_d = (_c = this.options) === null || _c === void 0 ? void 0 : _c.log) === null || _d === void 0 ? void 0 : _d.debug(`Post Body:`, postBody);
|
|
252
|
+
let responseText = await this.sendPostBodyOrThrow(postBody);
|
|
253
|
+
if (rsa) {
|
|
254
|
+
responseText = rsa.Decode(responseText, 0);
|
|
255
|
+
}
|
|
256
|
+
const result = this.parseBody(expressions, responseText);
|
|
257
|
+
if (((_e = this.options) === null || _e === void 0 ? void 0 : _e.authFallbackHandler) && !this.currentlyHandlingAuthFailure) {
|
|
258
|
+
if (this.isAuthFailure(result)) {
|
|
259
|
+
this.currentlyHandlingAuthFailure = true;
|
|
260
|
+
try {
|
|
261
|
+
await ((_g = (_f = this.options) === null || _f === void 0 ? void 0 : _f.authFallbackHandler) === null || _g === void 0 ? void 0 : _g.call(_f, this));
|
|
262
|
+
return await this.fetch(expressions);
|
|
263
|
+
}
|
|
264
|
+
catch (e) {
|
|
265
|
+
(_j = (_h = this.options) === null || _h === void 0 ? void 0 : _h.log) === null || _j === void 0 ? void 0 : _j.error(`Fetch failed`, e instanceof Error ? e.message : e);
|
|
266
|
+
}
|
|
267
|
+
finally {
|
|
268
|
+
this.currentlyHandlingAuthFailure = false;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
return result;
|
|
273
|
+
}
|
|
274
|
+
callOnHeadersReceived(response) {
|
|
275
|
+
var _a, _b;
|
|
276
|
+
(_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.onResponseHeadersReceived) === null || _b === void 0 ? void 0 : _b.call(_a, response.headers);
|
|
277
|
+
}
|
|
278
|
+
async sendPostBodyOrThrow(postBody) {
|
|
279
|
+
var _a, _b, _c, _d;
|
|
237
280
|
let response;
|
|
238
281
|
try {
|
|
239
282
|
response = await superagent_1.default
|
|
@@ -244,30 +287,15 @@ class DwhFetch {
|
|
|
244
287
|
.send(postBody);
|
|
245
288
|
}
|
|
246
289
|
catch (e) {
|
|
247
|
-
(
|
|
290
|
+
(_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.log) === null || _b === void 0 ? void 0 : _b.error(`Fetch failed`, e instanceof Error ? e.message : e);
|
|
248
291
|
throw e;
|
|
249
292
|
}
|
|
250
|
-
|
|
293
|
+
this.callOnHeadersReceived(response);
|
|
294
|
+
(_d = (_c = this.options) === null || _c === void 0 ? void 0 : _c.log) === null || _d === void 0 ? void 0 : _d.debug(`Response status:`, response.status);
|
|
251
295
|
if (response.status !== 200) {
|
|
252
296
|
throw new Error('Expected status to be 200');
|
|
253
297
|
}
|
|
254
|
-
|
|
255
|
-
if (((_j = this.options) === null || _j === void 0 ? void 0 : _j.authFallbackHandler) && !this.currentlyHandlingAuthFailure) {
|
|
256
|
-
if (this.isAuthFailure(result)) {
|
|
257
|
-
this.currentlyHandlingAuthFailure = true;
|
|
258
|
-
try {
|
|
259
|
-
await ((_l = (_k = this.options) === null || _k === void 0 ? void 0 : _k.authFallbackHandler) === null || _l === void 0 ? void 0 : _l.call(_k, this));
|
|
260
|
-
return await this.fetch(expressions);
|
|
261
|
-
}
|
|
262
|
-
catch (e) {
|
|
263
|
-
(_o = (_m = this.options) === null || _m === void 0 ? void 0 : _m.log) === null || _o === void 0 ? void 0 : _o.error(`Fetch failed`, e.message);
|
|
264
|
-
}
|
|
265
|
-
finally {
|
|
266
|
-
this.currentlyHandlingAuthFailure = false;
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
return result;
|
|
298
|
+
return this.responseToText(response);
|
|
271
299
|
}
|
|
272
300
|
isAuthFailure(result) {
|
|
273
301
|
return !!result.lines
|
|
@@ -278,6 +306,13 @@ class DwhFetch {
|
|
|
278
306
|
code == DwhErrorCodes_1.DwhErrorCode.ERRORDW_COM_WR_SECURITY_IS_NOT_OK);
|
|
279
307
|
});
|
|
280
308
|
}
|
|
309
|
+
async fetchRsa() {
|
|
310
|
+
return this.fetchString('#$GETRSA()');
|
|
311
|
+
}
|
|
312
|
+
async initRsa() {
|
|
313
|
+
var _a;
|
|
314
|
+
this.rsaKeys = (_a = (await this.fetchRsa())) !== null && _a !== void 0 ? _a : '';
|
|
315
|
+
}
|
|
281
316
|
async fetchString(expression) {
|
|
282
317
|
return this.wrapDefault(async () => this.fetchStringOrThrow(expression), undefined);
|
|
283
318
|
}
|
|
@@ -292,7 +327,7 @@ class DwhFetch {
|
|
|
292
327
|
return await call();
|
|
293
328
|
}
|
|
294
329
|
catch (e) {
|
|
295
|
-
(_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.log) === null || _b === void 0 ? void 0 : _b.error(`Fetch failed`, e.message);
|
|
330
|
+
(_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.log) === null || _b === void 0 ? void 0 : _b.error(`Fetch failed`, e instanceof Error ? e.message : e);
|
|
296
331
|
return defaultValueOnFailure;
|
|
297
332
|
}
|
|
298
333
|
}
|
|
@@ -319,8 +354,12 @@ class DwhFetch {
|
|
|
319
354
|
this.authorityToken = token;
|
|
320
355
|
}
|
|
321
356
|
async logout() {
|
|
322
|
-
const
|
|
323
|
-
|
|
357
|
+
const result = (await this.fetchNumber('##Logout()')) === 0;
|
|
358
|
+
if (result) {
|
|
359
|
+
this.authorityToken = 0;
|
|
360
|
+
this.rsaKeys = '';
|
|
361
|
+
}
|
|
362
|
+
return result;
|
|
324
363
|
}
|
|
325
364
|
isErrorInMultiLineResult(countLineString) {
|
|
326
365
|
return !!countLineString.match(/^ERR(-[0-9]{1,3})$/);
|
|
@@ -365,6 +404,7 @@ class DwhFetch {
|
|
|
365
404
|
if (response.status !== 200) {
|
|
366
405
|
throw new Error('expected status code 200');
|
|
367
406
|
}
|
|
407
|
+
this.callOnHeadersReceived(response);
|
|
368
408
|
const text = this.responseToText(response);
|
|
369
409
|
return text.split(/\r?\n/)[0];
|
|
370
410
|
}
|
|
@@ -437,6 +477,7 @@ class DwhFetch {
|
|
|
437
477
|
.set(this.headers)
|
|
438
478
|
.field('mg', `${this.authorityToken}`)
|
|
439
479
|
.attach(path, content, { filename: path });
|
|
480
|
+
this.callOnHeadersReceived(response);
|
|
440
481
|
if (response.status !== 200)
|
|
441
482
|
return false;
|
|
442
483
|
const spl = this.responseToText(response).split(/\r?\n/);
|
|
@@ -468,7 +509,10 @@ class DwhFetch {
|
|
|
468
509
|
.get(this.createFileUrl(path))
|
|
469
510
|
.set(this.headers)
|
|
470
511
|
.query(Object.assign({ mg: this.authorityToken }, (raw && { RAW: 1 })))
|
|
471
|
-
.timeout(this.getTimeout())
|
|
512
|
+
.timeout(this.getTimeout())
|
|
513
|
+
.on('response', (r) => {
|
|
514
|
+
this.callOnHeadersReceived(r);
|
|
515
|
+
});
|
|
472
516
|
}
|
|
473
517
|
createFileUrl(path) {
|
|
474
518
|
if (this.url === '') {
|
|
@@ -569,4 +613,4 @@ class DwhFetch {
|
|
|
569
613
|
exports.DwhFetch = DwhFetch;
|
|
570
614
|
DwhFetch.DEFAULT_TIMEOUT_RESPONSE = 7000;
|
|
571
615
|
DwhFetch.DEFAULT_TIMEOUT_DEADLINE = 1000 * 60 * 5;
|
|
572
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHdoLWZldGNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9kd2gtZmV0Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMkNBQW9DO0FBQ3BDLDREQUFvQztBQUVwQyxtREFBa0U7QUFDckQsUUFBQSxnQkFBZ0IsR0FBRyxVQUFVLENBQUM7QUFDOUIsUUFBQSxlQUFlLEdBQUcsVUFBVSxDQUFDO0FBRTFDLFNBQWdCLFlBQVksQ0FBQyxHQUFRO0lBQ25DLHNDQUFzQztJQUN0QyxPQUFPLENBQUMsQ0FBQyxHQUFHLEdBQUcsd0JBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssdUJBQWUsQ0FBQztBQUM3RCxDQUFDO0FBSEQsb0NBR0M7QUFDRCxTQUFnQixZQUFZLENBQUMsR0FBUTtJQUNuQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFGRCxvQ0FFQztBQXVCRCxNQUFNLFFBQVEsR0FBNEI7SUFDeEMsR0FBRyxFQUFFLENBQUM7SUFDTixHQUFHLEVBQUUsQ0FBQztJQUNOLEdBQUcsRUFBRSxDQUFDO0lBQ04sR0FBRyxFQUFFLENBQUM7SUFDTixHQUFHLEVBQUUsQ0FBQztJQUNOLEdBQUcsRUFBRSxDQUFDO0lBQ04sR0FBRyxFQUFFLENBQUM7SUFDTixHQUFHLEVBQUUsQ0FBQztJQUNOLEdBQUcsRUFBRSxDQUFDO0lBQ04sR0FBRyxFQUFFLENBQUM7SUFDTixHQUFHLEVBQUUsRUFBRTtJQUNQLEdBQUcsRUFBRSxFQUFFO0NBQ1IsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxTQUFTLFlBQVksQ0FBQyxVQUFrQjtJQUN0QyxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUM7QUFDL0IsQ0FBQztBQUNEOzs7O0dBSUc7QUFDSCxTQUFnQixlQUFlLENBQUMsVUFBa0I7SUFDaEQsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxRQUFRLENB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
|
|
616
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHdoLWZldGNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9kd2gtZmV0Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNERBQW9DO0FBQ3BDLG1EQUFrRTtBQUVsRSxnREFBd0I7QUFDWCxRQUFBLGdCQUFnQixHQUFHLFVBQVUsQ0FBQztBQUM5QixRQUFBLGVBQWUsR0FBRyxVQUFVLENBQUM7QUFFMUMsU0FBZ0IsWUFBWSxDQUFDLEdBQVE7SUFDbkMsc0NBQXNDO0lBQ3RDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsR0FBRyx3QkFBZ0IsQ0FBQyxLQUFLLENBQUMsS0FBSyx1QkFBZSxDQUFDO0FBQzdELENBQUM7QUFIRCxvQ0FHQztBQUNELFNBQWdCLFlBQVksQ0FBQyxHQUFRO0lBQ25DLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQUZELG9DQUVDO0FBdUJELE1BQU0sUUFBUSxHQUE0QjtJQUN4QyxHQUFHLEVBQUUsQ0FBQztJQUNOLEdBQUcsRUFBRSxDQUFDO0lBQ04sR0FBRyxFQUFFLENBQUM7SUFDTixHQUFHLEVBQUUsQ0FBQztJQUNOLEdBQUcsRUFBRSxDQUFDO0lBQ04sR0FBRyxFQUFFLENBQUM7SUFDTixHQUFHLEVBQUUsQ0FBQztJQUNOLEdBQUcsRUFBRSxDQUFDO0lBQ04sR0FBRyxFQUFFLENBQUM7SUFDTixHQUFHLEVBQUUsQ0FBQztJQUNOLEdBQUcsRUFBRSxFQUFFO0lBQ1AsR0FBRyxFQUFFLEVBQUU7Q0FDUixDQUFDO0FBRUY7Ozs7R0FJRztBQUNILFNBQVMsWUFBWSxDQUFDLFVBQWtCO0lBQ3RDLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQztBQUMvQixDQUFDO0FBQ0Q7Ozs7R0FJRztBQUNILFNBQWdCLGVBQWUsQ0FBQyxVQUFrQjtJQUNoRCxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FB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
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export interface Logger {
|
|
2
|
+
silly: (...args: unknown[]) => void;
|
|
3
|
+
/**
|
|
4
|
+
* Logs a trace message.
|
|
5
|
+
* @param args - Multiple log attributes that should be logged out.
|
|
6
|
+
*/
|
|
7
|
+
trace: (...args: unknown[]) => void;
|
|
8
|
+
/**
|
|
9
|
+
* Logs a debug message.
|
|
10
|
+
* @param args - Multiple log attributes that should be logged out.
|
|
11
|
+
*/
|
|
12
|
+
debug: (...args: unknown[]) => void;
|
|
13
|
+
/**
|
|
14
|
+
* Logs an info message.
|
|
15
|
+
* @param args - Multiple log attributes that should be logged out.
|
|
16
|
+
*/
|
|
17
|
+
info: (...args: unknown[]) => void;
|
|
18
|
+
/**
|
|
19
|
+
* Logs a warn message.
|
|
20
|
+
* @param args - Multiple log attributes that should be logged out.
|
|
21
|
+
*/
|
|
22
|
+
warn: (...args: unknown[]) => void;
|
|
23
|
+
/**
|
|
24
|
+
* Logs an error message.
|
|
25
|
+
* @param args - Multiple log attributes that should be logged out.
|
|
26
|
+
*/
|
|
27
|
+
error: (...args: unknown[]) => void;
|
|
28
|
+
/**
|
|
29
|
+
* Logs a fatal message.
|
|
30
|
+
* @param args - Multiple log attributes that should be logged out.
|
|
31
|
+
*/
|
|
32
|
+
fatal: (...args: unknown[]) => void;
|
|
33
|
+
}
|
|
34
|
+
export declare const noLogger: Logger;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.noLogger = void 0;
|
|
4
|
+
exports.noLogger = {
|
|
5
|
+
debug: () => {
|
|
6
|
+
//
|
|
7
|
+
},
|
|
8
|
+
silly: () => {
|
|
9
|
+
//
|
|
10
|
+
},
|
|
11
|
+
error: () => {
|
|
12
|
+
//
|
|
13
|
+
},
|
|
14
|
+
trace: () => {
|
|
15
|
+
//
|
|
16
|
+
},
|
|
17
|
+
info: () => {
|
|
18
|
+
//
|
|
19
|
+
},
|
|
20
|
+
fatal: () => {
|
|
21
|
+
//
|
|
22
|
+
},
|
|
23
|
+
warn: () => {
|
|
24
|
+
//
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBa0NhLFFBQUEsUUFBUSxHQUFXO0lBQzlCLEtBQUssRUFBRSxHQUFHLEVBQUU7UUFDVixFQUFFO0lBQ0osQ0FBQztJQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7UUFDVixFQUFFO0lBQ0osQ0FBQztJQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7UUFDVixFQUFFO0lBQ0osQ0FBQztJQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7UUFDVixFQUFFO0lBQ0osQ0FBQztJQUNELElBQUksRUFBRSxHQUFHLEVBQUU7UUFDVCxFQUFFO0lBQ0osQ0FBQztJQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7UUFDVixFQUFFO0lBQ0osQ0FBQztJQUNELElBQUksRUFBRSxHQUFHLEVBQUU7UUFDVCxFQUFFO0lBQ0osQ0FBQztDQUNGLENBQUMifQ==
|