Skip to content

Commit 2a02ac9

Browse files
committed
Add optional chaining to event method calls
Updated event-related method calls in Collection and Two classes to use optional chaining. This prevents errors if the underlying event methods are undefined.
1 parent 865ab94 commit 2a02ac9

2 files changed

Lines changed: 20 additions & 20 deletions

File tree

src/collection.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,34 +30,34 @@ export class Collection extends Array {
3030
}
3131

3232
addEventListener() {
33-
return this.#events.addEventListener.apply(this, arguments);
33+
return this.#events.addEventListener?.apply(this, arguments);
3434
}
3535
on() {
36-
return this.#events.on.apply(this, arguments);
36+
return this.#events.on?.apply(this, arguments);
3737
}
3838
bind() {
39-
return this.#events.bind.apply(this, arguments);
39+
return this.#events.bind?.apply(this, arguments);
4040
}
4141
removeEventListener() {
42-
return this.#events.removeEventListener.apply(this, arguments);
42+
return this.#events.removeEventListener?.apply(this, arguments);
4343
}
4444
off() {
45-
return this.#events.off.apply(this, arguments);
45+
return this.#events.off?.apply(this, arguments);
4646
}
4747
unbind() {
48-
return this.#events.unbind.apply(this, arguments);
48+
return this.#events.unbind?.apply(this, arguments);
4949
}
5050
dispatchEvent() {
51-
return this.#events.dispatchEvent.apply(this, arguments);
51+
return this.#events.dispatchEvent?.apply(this, arguments);
5252
}
5353
trigger() {
54-
return this.#events.trigger.apply(this, arguments);
54+
return this.#events.trigger?.apply(this, arguments);
5555
}
5656
listen() {
57-
return this.#events.listen.apply(this, arguments);
57+
return this.#events.listen?.apply(this, arguments);
5858
}
5959
ignore() {
60-
return this.#events.ignore.apply(this, arguments);
60+
return this.#events.ignore?.apply(this, arguments);
6161
}
6262

6363
constructor() {

src/two.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -100,34 +100,34 @@ export default class Two {
100100
}
101101

102102
addEventListener() {
103-
return this._events.addEventListener.apply(this, arguments);
103+
return this._events.addEventListener?.apply(this, arguments);
104104
}
105105
on() {
106-
return this._events.addEventListener.apply(this, arguments);
106+
return this._events.addEventListener?.apply(this, arguments);
107107
}
108108
bind() {
109-
return this._events.addEventListener.apply(this, arguments);
109+
return this._events.addEventListener?.apply(this, arguments);
110110
}
111111
removeEventListener() {
112-
return this._events.removeEventListener.apply(this, arguments);
112+
return this._events.removeEventListener?.apply(this, arguments);
113113
}
114114
off() {
115-
return this._events.removeEventListener.apply(this, arguments);
115+
return this._events.removeEventListener?.apply(this, arguments);
116116
}
117117
unbind() {
118-
return this._events.removeEventListener.apply(this, arguments);
118+
return this._events.removeEventListener?.apply(this, arguments);
119119
}
120120
dispatchEvent() {
121-
return this._events.dispatchEvent.apply(this, arguments);
121+
return this._events.dispatchEvent?.apply(this, arguments);
122122
}
123123
trigger() {
124-
return this._events.dispatchEvent.apply(this, arguments);
124+
return this._events.dispatchEvent?.apply(this, arguments);
125125
}
126126
listen() {
127-
return this._events.listen.apply(this, arguments);
127+
return this._events.listen?.apply(this, arguments);
128128
}
129129
ignore() {
130-
return this._events.ignore.apply(this, arguments);
130+
return this._events.ignore?.apply(this, arguments);
131131
}
132132

133133
/**

0 commit comments

Comments
 (0)