Skip to content

Commit ce5d25e

Browse files
committed
Deprecation notices; fixes #7, fixes #4, fixes #2
1 parent 55455bd commit ce5d25e

File tree

1 file changed

+29
-6
lines changed

1 file changed

+29
-6
lines changed

src/pubsub.js

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@ class pubsub {
1616
if (!eventString) {
1717
throw new Error('pubsub.pub() received empty event string');
1818
}
19+
20+
if (arguments.length > 2) {
21+
console.warn(
22+
`[Deprecated]: Publishing an event with multiple arguments is deprecated. Re: ${eventString}`
23+
);
24+
}
25+
1926
var eventComponents = this.eventNamespace(eventString);
2027
var eventArray, i, ilen, j, jlen, args, subscriber, ret, event;
2128
for (i = 0, ilen = eventComponents.length; i < ilen; i++) {
@@ -53,12 +60,28 @@ class pubsub {
5360
if (!eventStr) {
5461
throw new Error('pubsub.sub() received empty event string');
5562
}
56-
var events = eventStr.split(/\s+/),
57-
event,
58-
eventArray,
59-
i,
60-
len,
61-
oldArgs;
63+
64+
if (thisArg) {
65+
console.warn(
66+
`sub(): thisArg is deprecated, please bind your method manually. Re: ${eventStr}`
67+
);
68+
}
69+
70+
var events;
71+
72+
if (Array.isArray(eventStr)) {
73+
events = eventStr;
74+
} else {
75+
events = eventStr.split(/\s+/);
76+
if (events.length > 1) {
77+
console.warn(
78+
`Subscribing to space-separated events is deprecated; please use an array of events. Re: ${eventStr}`
79+
);
80+
}
81+
}
82+
83+
var event, eventArray, i, len, oldArgs;
84+
6285
flags = flags || { once: false, recoup: false };
6386
for (i = 0, len = events.length; i < len; i++) {
6487
eventArray = this._pubsubEvents[(event = events[i])];

0 commit comments

Comments
 (0)