Skip to content

Commit 09c657f

Browse files
committed
Trigger callback when subscribe after publish
1 parent 5763d4a commit 09c657f

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

src/Event.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@ const subscribe = (type, callback) => {
1212

1313
subscriptions[type][id] = callback;
1414

15+
let last = map.get(type);
16+
17+
if (last) {
18+
callback(last);
19+
}
20+
1521
return {
1622
unsubscribe: () => {
1723
delete subscriptions[type][id];

src/test/event.test.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,15 @@ describe("react-event", () => {
1414
publish("TEST_EVENT", { number: 10, string: "blue" });
1515
});
1616

17+
it("publishes and subscribes events", (done) => {
18+
publish("TEST_EVENT", { number: 10, string: "blue" });
19+
20+
subscribe("TEST_EVENT", (result) => {
21+
expect(result).toMatchObject({ number: 10, string: "blue" });
22+
done();
23+
});
24+
});
25+
1726
it("notifies all subscribers of an event", (done) => {
1827
let receivedByFirstSubscriber = false;
1928
let receivedBySecondSubscriber = false;

0 commit comments

Comments
 (0)