Skip to content

Commit 345487e

Browse files
fix(operators): refactored log
1 parent 39aa30c commit 345487e

File tree

4 files changed

+48
-57
lines changed

4 files changed

+48
-57
lines changed

packages/operators/src/cache.test.js

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,30 @@
1+
import { mockResponse } from '#mocks/response.js';
12
import { map } from 'rxjs';
23
import { TestScheduler } from 'rxjs/testing';
3-
import { beforeEach, describe, expect, test } from 'vitest';
4+
import { afterAll, beforeAll, beforeEach, describe, expect, test, vi } from 'vitest';
45

56
import { cache } from './cache';
67
import { log } from './log';
78

89
describe('cache', () => {
910
let testScheduler;
1011

12+
beforeAll(async () => {
13+
global.Response = mockResponse();
14+
});
15+
1116
beforeEach(() => {
1217
testScheduler = new TestScheduler((actual, expected) => expect(actual).deep.equal(expected));
1318
});
1419

20+
afterAll(() => {
21+
vi.restoreAllMocks();
22+
});
23+
1524
test('default', () => {
1625
const expectedVal = {
17-
a: new Response('initial', { status: 200 }),
18-
b: new Response('updated', { status: 200 })
26+
a: new Response('initial'),
27+
b: new Response('updated')
1928
};
2029

2130
const triggerVal = [expectedVal.a, expectedVal.b];
@@ -24,8 +33,8 @@ describe('cache', () => {
2433
const stream = cold('a', { a: () => triggerVal.shift() }).pipe(
2534
map(fn => fn()),
2635
log('operators:cache:default:input'),
27-
cache({ ttl: 2 })
28-
// log('operators:cache:default:output')
36+
cache({ ttl: 2 }),
37+
log('operators:cache:default:output')
2938
);
3039

3140
const unsubA = '-^!';

packages/operators/src/log.js

Lines changed: 24 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,36 @@
11
import { bgGreen } from 'ansi-colors';
22
import debug from 'debug';
3-
import { connectable, finalize, Subject, tap } from 'rxjs';
3+
import { connectable, finalize, Observable, Subject } from 'rxjs';
44

5-
import { pipeWhen } from './when';
6-
7-
export const enableLog = tag => {
8-
debug.enable(tag);
9-
};
5+
export const enableLog = tag => debug.enable(tag);
106

117
export const log = tag => {
128
const logger = debug(tag);
139
logger.log = global.console.log.bind(console);
1410
const error = debug(`${tag}:error`);
1511

16-
return source =>
17-
source.pipe(
18-
pipeWhen(
19-
() => debug.enabled(tag),
20-
tap({
21-
subscribe: () => logger('subscribed'),
22-
unsubscribe: () => logger('unsubscribed'),
23-
finalize: () => logger('finalize'),
24-
next: val => logger(val),
25-
error: err => error(err),
26-
complete: () => logger(bgGreen.bold('complete!'))
27-
})
28-
)
29-
);
12+
if (debug.enabled(tag)) {
13+
return source => {
14+
return new Observable(observer => {
15+
return source.subscribe({
16+
next: val => {
17+
logger(val);
18+
observer.next(val);
19+
},
20+
error: err => {
21+
error(err);
22+
observer.error(err);
23+
},
24+
complete: () => {
25+
logger(bgGreen.bold('complete!'));
26+
observer.complete();
27+
}
28+
});
29+
});
30+
};
31+
}
32+
33+
return source => source;
3034
};
3135

3236
export const logResult = (tag, observable) => {
@@ -40,33 +44,3 @@ export const logResult = (tag, observable) => {
4044
).connect();
4145
});
4246
};
43-
44-
// export const log = tag => {
45-
// var logger = debug(tag);
46-
// logger.log = global.console.log.bind(console);
47-
// var error = debug(`${tag}:error`);
48-
49-
// if (debug.enabled(tag)) {
50-
// return source =>
51-
// new Observable(observer => {
52-
// source.subscribe({
53-
// subscribe: () => logger('subscribed'),
54-
// unsubscribe: () => logger('unsubscribed'),
55-
// finalize: () => logger('finalize'),
56-
// next: val => {
57-
// logger(val);
58-
// observer.next(val);
59-
// },
60-
// error: err => {
61-
// error(err);
62-
// observer.error(err);
63-
// },
64-
// complete: () => {
65-
// logger(bgGreen.bold('complete!'));
66-
// observer.complete();
67-
// }
68-
// });
69-
// });
70-
// }
71-
// return source => source;
72-
// };

packages/operators/src/retry.test.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { map } from 'rxjs';
22
import { TestScheduler } from 'rxjs/testing';
3-
import { beforeEach, describe, expect, test } from 'vitest';
3+
import { afterAll, beforeEach, describe, expect, test, vi } from 'vitest';
44

55
import { log } from './log';
66
import { retryWhenRequestError } from './retry';
@@ -12,6 +12,10 @@ describe('request retry', () => {
1212
testScheduler = new TestScheduler((actual, expected) => expect(actual).deep.equal(expected));
1313
});
1414

15+
afterAll(() => {
16+
vi.restoreAllMocks();
17+
});
18+
1519
test('2x error -> 1x success', () => {
1620
const expectedVal = {
1721
a: new Response('', { status: 500 }),

packages/operators/src/when.test.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { map } from 'rxjs';
22
import { TestScheduler } from 'rxjs/testing';
3-
import { beforeEach, describe, expect, test } from 'vitest';
3+
import { afterAll, beforeEach, describe, expect, test, vi } from 'vitest';
44

55
import { log } from './log';
66
import { pipeWhen } from './when';
@@ -12,6 +12,10 @@ describe('when', () => {
1212
testScheduler = new TestScheduler((actual, expected) => expect(actual).deep.equal(expected));
1313
});
1414

15+
afterAll(() => {
16+
vi.restoreAllMocks();
17+
});
18+
1519
test('default', () => {
1620
const triggerVal = {
1721
a: 1,

0 commit comments

Comments
 (0)