@featurevisor/sdk 0.47.4 → 0.47.5
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/.eslintcache +1 -1
- package/CHANGELOG.md +8 -0
- package/coverage/clover.xml +30 -30
- package/coverage/coverage-final.json +1 -1
- package/coverage/lcov-report/bucket.ts.html +1 -1
- package/coverage/lcov-report/conditions.ts.html +1 -1
- package/coverage/lcov-report/datafileReader.ts.html +1 -1
- package/coverage/lcov-report/emitter.ts.html +1 -1
- package/coverage/lcov-report/feature.ts.html +1 -1
- package/coverage/lcov-report/index.html +20 -20
- package/coverage/lcov-report/instance.ts.html +1 -1
- package/coverage/lcov-report/logger.ts.html +51 -51
- package/coverage/lcov-report/segments.ts.html +1 -1
- package/coverage/lcov.info +48 -48
- package/dist/index.js.gz +0 -0
- package/lib/logger.spec.d.ts +1 -0
- package/package.json +2 -2
- package/src/logger.spec.ts +154 -0
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>27/27</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>11/11</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>9/9</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>26/26</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
64
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
65
|
<pre><table class="coverage">
|
|
66
66
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
67
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -168,9 +168,9 @@
|
|
|
168
168
|
<span class="cline-any cline-neutral"> </span>
|
|
169
169
|
<span class="cline-any cline-neutral"> </span>
|
|
170
170
|
<span class="cline-any cline-neutral"> </span>
|
|
171
|
-
<span class="cline-any cline-yes">
|
|
171
|
+
<span class="cline-any cline-yes">2x</span>
|
|
172
172
|
<span class="cline-any cline-neutral"> </span>
|
|
173
|
-
<span class="cline-any cline-yes">
|
|
173
|
+
<span class="cline-any cline-yes">2x</span>
|
|
174
174
|
<span class="cline-any cline-neutral"> </span>
|
|
175
175
|
<span class="cline-any cline-neutral"> </span>
|
|
176
176
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -180,68 +180,68 @@
|
|
|
180
180
|
<span class="cline-any cline-neutral"> </span>
|
|
181
181
|
<span class="cline-any cline-neutral"> </span>
|
|
182
182
|
<span class="cline-any cline-neutral"> </span>
|
|
183
|
-
<span class="cline-any cline-yes">
|
|
183
|
+
<span class="cline-any cline-yes">2x</span>
|
|
184
184
|
<span class="cline-any cline-neutral"> </span>
|
|
185
185
|
<span class="cline-any cline-neutral"> </span>
|
|
186
186
|
<span class="cline-any cline-neutral"> </span>
|
|
187
187
|
<span class="cline-any cline-neutral"> </span>
|
|
188
|
-
<span class="cline-any cline-
|
|
188
|
+
<span class="cline-any cline-yes">4x</span>
|
|
189
189
|
<span class="cline-any cline-neutral"> </span>
|
|
190
|
-
<span class="cline-any cline-
|
|
191
|
-
<span class="cline-any cline-
|
|
190
|
+
<span class="cline-any cline-yes">1x</span>
|
|
191
|
+
<span class="cline-any cline-yes">1x</span>
|
|
192
192
|
<span class="cline-any cline-neutral"> </span>
|
|
193
|
-
<span class="cline-any cline-
|
|
194
|
-
<span class="cline-any cline-
|
|
193
|
+
<span class="cline-any cline-yes">1x</span>
|
|
194
|
+
<span class="cline-any cline-yes">1x</span>
|
|
195
195
|
<span class="cline-any cline-neutral"> </span>
|
|
196
|
-
<span class="cline-any cline-
|
|
197
|
-
<span class="cline-any cline-
|
|
196
|
+
<span class="cline-any cline-yes">1x</span>
|
|
197
|
+
<span class="cline-any cline-yes">1x</span>
|
|
198
198
|
<span class="cline-any cline-neutral"> </span>
|
|
199
|
-
<span class="cline-any cline-
|
|
200
|
-
<span class="cline-any cline-
|
|
199
|
+
<span class="cline-any cline-yes">1x</span>
|
|
200
|
+
<span class="cline-any cline-yes">1x</span>
|
|
201
201
|
<span class="cline-any cline-neutral"> </span>
|
|
202
202
|
<span class="cline-any cline-neutral"> </span>
|
|
203
203
|
<span class="cline-any cline-neutral"> </span>
|
|
204
|
-
<span class="cline-any cline-yes">
|
|
204
|
+
<span class="cline-any cline-yes">2x</span>
|
|
205
205
|
<span class="cline-any cline-neutral"> </span>
|
|
206
206
|
<span class="cline-any cline-neutral"> </span>
|
|
207
207
|
<span class="cline-any cline-neutral"> </span>
|
|
208
208
|
<span class="cline-any cline-neutral"> </span>
|
|
209
|
-
<span class="cline-any cline-yes">
|
|
210
|
-
<span class="cline-any cline-yes">
|
|
209
|
+
<span class="cline-any cline-yes">22x</span>
|
|
210
|
+
<span class="cline-any cline-yes">22x</span>
|
|
211
211
|
<span class="cline-any cline-neutral"> </span>
|
|
212
212
|
<span class="cline-any cline-neutral"> </span>
|
|
213
213
|
<span class="cline-any cline-neutral"> </span>
|
|
214
|
-
<span class="cline-any cline-
|
|
214
|
+
<span class="cline-any cline-yes">1x</span>
|
|
215
215
|
<span class="cline-any cline-neutral"> </span>
|
|
216
216
|
<span class="cline-any cline-neutral"> </span>
|
|
217
217
|
<span class="cline-any cline-neutral"> </span>
|
|
218
|
-
<span class="cline-any cline-yes">
|
|
219
|
-
<span class="cline-any cline-yes">
|
|
218
|
+
<span class="cline-any cline-yes">55x</span>
|
|
219
|
+
<span class="cline-any cline-yes">17x</span>
|
|
220
220
|
<span class="cline-any cline-neutral"> </span>
|
|
221
221
|
<span class="cline-any cline-neutral"> </span>
|
|
222
222
|
<span class="cline-any cline-neutral"> </span>
|
|
223
223
|
<span class="cline-any cline-neutral"> </span>
|
|
224
|
-
<span class="cline-any cline-yes">
|
|
224
|
+
<span class="cline-any cline-yes">38x</span>
|
|
225
225
|
<span class="cline-any cline-neutral"> </span>
|
|
226
226
|
<span class="cline-any cline-neutral"> </span>
|
|
227
227
|
<span class="cline-any cline-neutral"> </span>
|
|
228
|
-
<span class="cline-any cline-yes">
|
|
228
|
+
<span class="cline-any cline-yes">6x</span>
|
|
229
229
|
<span class="cline-any cline-neutral"> </span>
|
|
230
230
|
<span class="cline-any cline-neutral"> </span>
|
|
231
231
|
<span class="cline-any cline-neutral"> </span>
|
|
232
|
-
<span class="cline-any cline-yes">
|
|
232
|
+
<span class="cline-any cline-yes">6x</span>
|
|
233
233
|
<span class="cline-any cline-neutral"> </span>
|
|
234
234
|
<span class="cline-any cline-neutral"> </span>
|
|
235
235
|
<span class="cline-any cline-neutral"> </span>
|
|
236
|
-
<span class="cline-any cline-
|
|
236
|
+
<span class="cline-any cline-yes">5x</span>
|
|
237
237
|
<span class="cline-any cline-neutral"> </span>
|
|
238
238
|
<span class="cline-any cline-neutral"> </span>
|
|
239
239
|
<span class="cline-any cline-neutral"> </span>
|
|
240
|
-
<span class="cline-any cline-yes">
|
|
241
|
-
<span class="cline-any cline-yes">
|
|
242
|
-
<span class="cline-any cline-yes">
|
|
240
|
+
<span class="cline-any cline-yes">2x</span>
|
|
241
|
+
<span class="cline-any cline-yes">22x</span>
|
|
242
|
+
<span class="cline-any cline-yes">22x</span>
|
|
243
243
|
<span class="cline-any cline-neutral"> </span>
|
|
244
|
-
<span class="cline-any cline-yes">
|
|
244
|
+
<span class="cline-any cline-yes">22x</span>
|
|
245
245
|
<span class="cline-any cline-neutral"> </span>
|
|
246
246
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">export type LogLevel = "debug" | "info" | "warn" | "error";
|
|
247
247
|
|
|
@@ -270,24 +270,24 @@ export const defaultLogLevels: LogLevel[] = [
|
|
|
270
270
|
"error",
|
|
271
271
|
];
|
|
272
272
|
|
|
273
|
-
export const defaultLogHandler: LogHandler = function
|
|
273
|
+
export const defaultLogHandler: LogHandler = function defaultLogHandler(
|
|
274
274
|
level,
|
|
275
275
|
message,
|
|
276
|
-
details =
|
|
276
|
+
details = {},
|
|
277
277
|
) {
|
|
278
|
-
|
|
278
|
+
switch (level) {
|
|
279
279
|
case "debug":
|
|
280
|
-
|
|
281
|
-
|
|
280
|
+
console.log(loggerPrefix, message, details);
|
|
281
|
+
break;
|
|
282
282
|
case "info":
|
|
283
|
-
|
|
284
|
-
|
|
283
|
+
console.info(loggerPrefix, message, details);
|
|
284
|
+
break;
|
|
285
285
|
case "warn":
|
|
286
|
-
|
|
287
|
-
|
|
286
|
+
console.warn(loggerPrefix, message, details);
|
|
287
|
+
break;
|
|
288
288
|
case "error":
|
|
289
|
-
|
|
290
|
-
|
|
289
|
+
console.error(loggerPrefix, message, details);
|
|
290
|
+
break;
|
|
291
291
|
}
|
|
292
292
|
};
|
|
293
293
|
|
|
@@ -300,8 +300,8 @@ export class Logger {
|
|
|
300
300
|
this.handle = options.handler as LogHandler;
|
|
301
301
|
}
|
|
302
302
|
|
|
303
|
-
|
|
304
|
-
|
|
303
|
+
setLevels(levels: LogLevel[]) {
|
|
304
|
+
this.levels = levels;
|
|
305
305
|
}
|
|
306
306
|
|
|
307
307
|
log(level: LogLevel, message: LogMessage, details?: LogDetails) {
|
|
@@ -322,8 +322,8 @@ export class Logger {
|
|
|
322
322
|
this.log("warn", message, details);
|
|
323
323
|
}
|
|
324
324
|
|
|
325
|
-
|
|
326
|
-
|
|
325
|
+
error(message: LogMessage, details?: LogDetails) {
|
|
326
|
+
this.log("error", message, details);
|
|
327
327
|
}
|
|
328
328
|
}
|
|
329
329
|
|
|
@@ -340,7 +340,7 @@ export function createLogger(options: CreateLoggerOptions = {}): Logger {
|
|
|
340
340
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
341
341
|
Code coverage generated by
|
|
342
342
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
343
|
-
at 2023-09-16T19:
|
|
343
|
+
at 2023-09-16T19:49:33.532Z
|
|
344
344
|
</div>
|
|
345
345
|
<script src="prettify.js"></script>
|
|
346
346
|
<script>
|
|
@@ -238,7 +238,7 @@ export function allGroupSegmentsAreMatched(
|
|
|
238
238
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
239
239
|
Code coverage generated by
|
|
240
240
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
241
|
-
at 2023-09-16T19:
|
|
241
|
+
at 2023-09-16T19:49:33.532Z
|
|
242
242
|
</div>
|
|
243
243
|
<script src="prettify.js"></script>
|
|
244
244
|
<script>
|
package/coverage/lcov.info
CHANGED
|
@@ -1077,57 +1077,57 @@ FN:76,(anonymous_6)
|
|
|
1077
1077
|
FN:80,(anonymous_7)
|
|
1078
1078
|
FN:85,createLogger
|
|
1079
1079
|
FNF:9
|
|
1080
|
-
FNH:
|
|
1081
|
-
FNDA:
|
|
1082
|
-
FNDA:
|
|
1083
|
-
FNDA:
|
|
1084
|
-
FNDA:
|
|
1085
|
-
FNDA:
|
|
1086
|
-
FNDA:
|
|
1087
|
-
FNDA:
|
|
1088
|
-
FNDA:
|
|
1089
|
-
FNDA:
|
|
1090
|
-
DA:16,
|
|
1091
|
-
DA:18,
|
|
1092
|
-
DA:28,
|
|
1093
|
-
DA:33,
|
|
1094
|
-
DA:35,
|
|
1095
|
-
DA:36,
|
|
1096
|
-
DA:38,
|
|
1097
|
-
DA:39,
|
|
1098
|
-
DA:41,
|
|
1099
|
-
DA:42,
|
|
1100
|
-
DA:44,
|
|
1101
|
-
DA:45,
|
|
1102
|
-
DA:49,
|
|
1103
|
-
DA:54,
|
|
1104
|
-
DA:55,
|
|
1105
|
-
DA:59,
|
|
1106
|
-
DA:63,
|
|
1107
|
-
DA:64,
|
|
1108
|
-
DA:69,
|
|
1109
|
-
DA:73,
|
|
1110
|
-
DA:77,
|
|
1111
|
-
DA:81,
|
|
1112
|
-
DA:85,
|
|
1113
|
-
DA:86,
|
|
1114
|
-
DA:87,
|
|
1115
|
-
DA:89,
|
|
1080
|
+
FNH:9
|
|
1081
|
+
FNDA:4,defaultLogHandler
|
|
1082
|
+
FNDA:22,(anonymous_1)
|
|
1083
|
+
FNDA:1,(anonymous_2)
|
|
1084
|
+
FNDA:55,(anonymous_3)
|
|
1085
|
+
FNDA:38,(anonymous_4)
|
|
1086
|
+
FNDA:6,(anonymous_5)
|
|
1087
|
+
FNDA:6,(anonymous_6)
|
|
1088
|
+
FNDA:5,(anonymous_7)
|
|
1089
|
+
FNDA:22,createLogger
|
|
1090
|
+
DA:16,2
|
|
1091
|
+
DA:18,2
|
|
1092
|
+
DA:28,2
|
|
1093
|
+
DA:33,4
|
|
1094
|
+
DA:35,1
|
|
1095
|
+
DA:36,1
|
|
1096
|
+
DA:38,1
|
|
1097
|
+
DA:39,1
|
|
1098
|
+
DA:41,1
|
|
1099
|
+
DA:42,1
|
|
1100
|
+
DA:44,1
|
|
1101
|
+
DA:45,1
|
|
1102
|
+
DA:49,2
|
|
1103
|
+
DA:54,22
|
|
1104
|
+
DA:55,22
|
|
1105
|
+
DA:59,1
|
|
1106
|
+
DA:63,55
|
|
1107
|
+
DA:64,17
|
|
1108
|
+
DA:69,38
|
|
1109
|
+
DA:73,6
|
|
1110
|
+
DA:77,6
|
|
1111
|
+
DA:81,5
|
|
1112
|
+
DA:85,2
|
|
1113
|
+
DA:86,22
|
|
1114
|
+
DA:87,22
|
|
1115
|
+
DA:89,22
|
|
1116
1116
|
LF:26
|
|
1117
|
-
LH:
|
|
1118
|
-
BRDA:31,0,0,
|
|
1119
|
-
BRDA:33,1,0,
|
|
1120
|
-
BRDA:33,1,1,
|
|
1121
|
-
BRDA:33,1,2,
|
|
1122
|
-
BRDA:33,1,3,
|
|
1123
|
-
BRDA:63,2,0,
|
|
1117
|
+
LH:26
|
|
1118
|
+
BRDA:31,0,0,4
|
|
1119
|
+
BRDA:33,1,0,1
|
|
1120
|
+
BRDA:33,1,1,1
|
|
1121
|
+
BRDA:33,1,2,1
|
|
1122
|
+
BRDA:33,1,3,1
|
|
1123
|
+
BRDA:63,2,0,17
|
|
1124
1124
|
BRDA:85,3,0,16
|
|
1125
|
-
BRDA:86,4,0,
|
|
1126
|
-
BRDA:86,4,1,
|
|
1127
|
-
BRDA:87,5,0,
|
|
1128
|
-
BRDA:87,5,1,
|
|
1125
|
+
BRDA:86,4,0,22
|
|
1126
|
+
BRDA:86,4,1,18
|
|
1127
|
+
BRDA:87,5,0,22
|
|
1128
|
+
BRDA:87,5,1,17
|
|
1129
1129
|
BRF:11
|
|
1130
|
-
BRH:
|
|
1130
|
+
BRH:11
|
|
1131
1131
|
end_of_record
|
|
1132
1132
|
TN:
|
|
1133
1133
|
SF:src/segments.ts
|
package/dist/index.js.gz
CHANGED
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@featurevisor/sdk",
|
|
3
|
-
"version": "0.47.
|
|
3
|
+
"version": "0.47.5",
|
|
4
4
|
"description": "Featurevisor SDK for Node.js and the browser",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "lib/index.js",
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"compare-versions": "^6.0.0-rc.1",
|
|
50
50
|
"murmurhash": "^2.0.1"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "150079539789fe0b61fa78dd9337788a4c176cb2"
|
|
53
53
|
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/* eslint-disable no-global-assign */
|
|
2
|
+
|
|
3
|
+
import { createLogger } from "./logger";
|
|
4
|
+
|
|
5
|
+
describe("logger", () => {
|
|
6
|
+
it("should log", () => {
|
|
7
|
+
const logger = createLogger({
|
|
8
|
+
levels: ["debug", "info", "warn", "error"],
|
|
9
|
+
handler: jest.fn(),
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
logger.debug("debug");
|
|
13
|
+
logger.info("info");
|
|
14
|
+
logger.warn("warn");
|
|
15
|
+
logger.error("error");
|
|
16
|
+
|
|
17
|
+
expect(logger).toBeDefined();
|
|
18
|
+
expect(logger.debug).toBeDefined();
|
|
19
|
+
expect(logger.info).toBeDefined();
|
|
20
|
+
expect(logger.warn).toBeDefined();
|
|
21
|
+
expect(logger.error).toBeDefined();
|
|
22
|
+
expect(logger.setLevels).toBeDefined();
|
|
23
|
+
expect(logger.log).toBeDefined();
|
|
24
|
+
expect(logger.log).toBeInstanceOf(Function);
|
|
25
|
+
expect(logger.debug).toBeInstanceOf(Function);
|
|
26
|
+
expect(logger.info).toBeInstanceOf(Function);
|
|
27
|
+
expect(logger.warn).toBeInstanceOf(Function);
|
|
28
|
+
expect(logger.error).toBeInstanceOf(Function);
|
|
29
|
+
expect(logger.setLevels).toBeInstanceOf(Function);
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
it("should log with custom levels", () => {
|
|
33
|
+
const logger = createLogger({
|
|
34
|
+
levels: ["debug", "info"],
|
|
35
|
+
handler: jest.fn(),
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
logger.debug("debug");
|
|
39
|
+
logger.info("info");
|
|
40
|
+
logger.warn("warn");
|
|
41
|
+
logger.error("error");
|
|
42
|
+
|
|
43
|
+
expect(logger).toBeDefined();
|
|
44
|
+
expect(logger.debug).toBeDefined();
|
|
45
|
+
expect(logger.info).toBeDefined();
|
|
46
|
+
expect(logger.warn).toBeDefined();
|
|
47
|
+
expect(logger.error).toBeDefined();
|
|
48
|
+
expect(logger.setLevels).toBeDefined();
|
|
49
|
+
expect(logger.log).toBeDefined();
|
|
50
|
+
expect(logger.log).toBeInstanceOf(Function);
|
|
51
|
+
expect(logger.debug).toBeInstanceOf(Function);
|
|
52
|
+
expect(logger.info).toBeInstanceOf(Function);
|
|
53
|
+
expect(logger.warn).toBeInstanceOf(Function);
|
|
54
|
+
expect(logger.error).toBeInstanceOf(Function);
|
|
55
|
+
expect(logger.setLevels).toBeInstanceOf(Function);
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
it("should log with default handler", () => {
|
|
59
|
+
const logs: any[] = [];
|
|
60
|
+
|
|
61
|
+
const realConsole = console;
|
|
62
|
+
const customConsole = {
|
|
63
|
+
log: (...args) => logs.push(args),
|
|
64
|
+
info: (...args) => logs.push(args),
|
|
65
|
+
warn: (...args) => logs.push(args),
|
|
66
|
+
error: (...args) => logs.push(args),
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
console = customConsole as unknown as Console; // eslint-ignore-line
|
|
70
|
+
|
|
71
|
+
const logger = createLogger({});
|
|
72
|
+
|
|
73
|
+
logger.setLevels(["debug", "info", "warn", "error"]);
|
|
74
|
+
|
|
75
|
+
logger.debug("debug");
|
|
76
|
+
logger.info("info");
|
|
77
|
+
logger.warn("warn");
|
|
78
|
+
logger.error("error");
|
|
79
|
+
|
|
80
|
+
expect(logger).toBeDefined();
|
|
81
|
+
expect(logger.debug).toBeDefined();
|
|
82
|
+
expect(logger.info).toBeDefined();
|
|
83
|
+
expect(logger.warn).toBeDefined();
|
|
84
|
+
expect(logger.error).toBeDefined();
|
|
85
|
+
expect(logger.setLevels).toBeDefined();
|
|
86
|
+
expect(logger.log).toBeDefined();
|
|
87
|
+
expect(logger.log).toBeInstanceOf(Function);
|
|
88
|
+
expect(logger.debug).toBeInstanceOf(Function);
|
|
89
|
+
expect(logger.info).toBeInstanceOf(Function);
|
|
90
|
+
expect(logger.warn).toBeInstanceOf(Function);
|
|
91
|
+
expect(logger.error).toBeInstanceOf(Function);
|
|
92
|
+
expect(logger.setLevels).toBeInstanceOf(Function);
|
|
93
|
+
|
|
94
|
+
expect(logs.length).toBe(4);
|
|
95
|
+
|
|
96
|
+
console = realConsole; // eslint-ignore-line
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
it("should log with custom handler", () => {
|
|
100
|
+
const handler = jest.fn();
|
|
101
|
+
const logger = createLogger({
|
|
102
|
+
levels: ["debug", "info", "warn", "error"],
|
|
103
|
+
handler,
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
logger.debug("debug");
|
|
107
|
+
logger.info("info");
|
|
108
|
+
logger.warn("warn");
|
|
109
|
+
logger.error("error");
|
|
110
|
+
|
|
111
|
+
expect(logger).toBeDefined();
|
|
112
|
+
expect(logger.debug).toBeDefined();
|
|
113
|
+
expect(logger.info).toBeDefined();
|
|
114
|
+
expect(logger.warn).toBeDefined();
|
|
115
|
+
expect(logger.error).toBeDefined();
|
|
116
|
+
expect(logger.setLevels).toBeDefined();
|
|
117
|
+
expect(logger.log).toBeDefined();
|
|
118
|
+
expect(logger.log).toBeInstanceOf(Function);
|
|
119
|
+
expect(logger.debug).toBeInstanceOf(Function);
|
|
120
|
+
expect(logger.info).toBeInstanceOf(Function);
|
|
121
|
+
expect(logger.warn).toBeInstanceOf(Function);
|
|
122
|
+
expect(logger.error).toBeInstanceOf(Function);
|
|
123
|
+
expect(logger.setLevels).toBeInstanceOf(Function);
|
|
124
|
+
expect(handler).toHaveBeenCalledTimes(4);
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
it("should log with custom levels and handler", () => {
|
|
128
|
+
const handler = jest.fn();
|
|
129
|
+
const logger = createLogger({
|
|
130
|
+
levels: ["debug", "info"],
|
|
131
|
+
handler,
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
logger.debug("debug");
|
|
135
|
+
logger.info("info");
|
|
136
|
+
logger.warn("warn");
|
|
137
|
+
logger.error("error");
|
|
138
|
+
|
|
139
|
+
expect(logger).toBeDefined();
|
|
140
|
+
expect(logger.debug).toBeDefined();
|
|
141
|
+
expect(logger.info).toBeDefined();
|
|
142
|
+
expect(logger.warn).toBeDefined();
|
|
143
|
+
expect(logger.error).toBeDefined();
|
|
144
|
+
expect(logger.setLevels).toBeDefined();
|
|
145
|
+
expect(logger.log).toBeDefined();
|
|
146
|
+
expect(logger.log).toBeInstanceOf(Function);
|
|
147
|
+
expect(logger.debug).toBeInstanceOf(Function);
|
|
148
|
+
expect(logger.info).toBeInstanceOf(Function);
|
|
149
|
+
expect(logger.warn).toBeInstanceOf(Function);
|
|
150
|
+
expect(logger.error).toBeInstanceOf(Function);
|
|
151
|
+
expect(logger.setLevels).toBeInstanceOf(Function);
|
|
152
|
+
expect(handler).toHaveBeenCalledTimes(2);
|
|
153
|
+
});
|
|
154
|
+
});
|