Skip to content

Commit d5e1983

Browse files
authored
Merge pull request #638 from kwonoj/wide-testmessage-type
2 parents 4931860 + 662210e commit d5e1983

File tree

6 files changed

+29
-9
lines changed

6 files changed

+29
-9
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
## [2.0.2](https://github.com/kwonoj/rx-sandbox/compare/v2.0.1...v2.0.2) (2021-05-18)
2+
3+
4+
### Bug Fixes
5+
6+
* **testmessage:** wide notificationtype<T> ([b167aff](https://github.com/kwonoj/rx-sandbox/commit/b167affd8fb9e3a63e0cc747f362e9b78f85e2a1))
7+
8+
9+
110
## [2.0.1](https://github.com/kwonoj/rx-sandbox/compare/v2.0.0...v2.0.1) (2021-05-18)
211

312

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "rx-sandbox",
3-
"version": "2.0.1",
3+
"version": "2.0.2",
44
"description": "Marble diagram DSL based test suite for RxJS 6",
55
"main": "./dist/index.js",
66
"types": "./dist/index.d.ts",

spec/marbles/parseObservableMarble-spec.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ describe('parseObservableMarble', () => {
5050
const bMessages = [next(3, '3'), next(4, '4')];
5151

5252
const customValue = {
53-
a: new ColdObservable(aMessages, null as any),
54-
b: new ColdObservable(bMessages, null as any),
53+
a: new ColdObservable(aMessages as any, null as any),
54+
b: new ColdObservable(bMessages as any, null as any),
5555
};
5656

5757
const messages = parseObservableMarble(marble, customValue, null, true);
@@ -66,8 +66,8 @@ describe('parseObservableMarble', () => {
6666
const bMessages = [next(3, '3'), next(4, '4')];
6767

6868
const customValue = {
69-
a: new ColdObservable<string>(aMessages, null as any),
70-
b: new ColdObservable<string>(bMessages, null as any),
69+
a: new ColdObservable<string>(aMessages as any, null as any),
70+
b: new ColdObservable<string>(bMessages as any, null as any),
7171
};
7272

7373
const messages = parseObservableMarble(marble, customValue, null, false);

src/message/TestMessage.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,24 @@
11
import { ObservableNotification } from 'rxjs';
22
import { SubscriptionLog } from '../utils/coreInternalImport';
33

4+
/**
5+
* Expanded structured type of `ObservableNotification<T>` since we can't narrow down
6+
* TestMessage<T> to specific notification types, instead provide wide support
7+
*/
8+
interface NotificationType<T> {
9+
kind: 'N' | 'E' | 'C';
10+
value?: T;
11+
error?: any;
12+
}
13+
414
/**
515
* Represents interface for single metadata value emitted by HotObservable<T> or ColdObservable<T>
616
*
717
*/
818
interface TestMessage<T = string> {
919
frame: number;
10-
notification: ObservableNotification<T>;
20+
21+
notification: NotificationType<T>;
1122
}
1223

1324
/**

src/scheduler/createTestScheduler.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ const getCreateColdObservable = (state: SandboxState) => {
4949
const messages = Array.isArray(marbleValue)
5050
? marbleValue
5151
: (parseObservableMarble(marbleValue, value, error, false, frameTimeFactor, maxFrame) as any);
52-
const observable = new ColdObservable<T>(messages as Array<TestMessage<T | Array<TestMessage<T>>>>, scheduler);
52+
const observable = new ColdObservable<T>(messages, scheduler);
5353
state.coldObservables.push(observable);
5454
return observable;
5555
}
@@ -75,7 +75,7 @@ const getCreateHotObservable = (state: SandboxState) => {
7575
const messages = Array.isArray(marbleValue)
7676
? marbleValue
7777
: (parseObservableMarble(marbleValue, value, error, false, frameTimeFactor, maxFrame) as any);
78-
const subject = new HotObservable<T>(messages as Array<TestMessage<T | Array<TestMessage<T>>>>, scheduler);
78+
const subject = new HotObservable<T>(messages, scheduler);
7979
state.hotObservables.push(subject);
8080
return subject;
8181
}

0 commit comments

Comments
 (0)