Merge pull request #8763 from wallw-bits/fix-typecheck-events

Fix type check for ol/events
This commit is contained in:
Andreas Hocevar
2018-10-03 11:52:44 +02:00
committed by GitHub

View File

@@ -119,7 +119,8 @@ function removeListeners(target, type) {
const listeners = getListeners(target, type); const listeners = getListeners(target, type);
if (listeners) { if (listeners) {
for (let i = 0, ii = listeners.length; i < ii; ++i) { for (let i = 0, ii = listeners.length; i < ii; ++i) {
target.removeEventListener(type, listeners[i].boundListener); /** @type {import("./events/Target.js").default} */ (target).
removeEventListener(type, listeners[i].boundListener);
clear(listeners[i]); clear(listeners[i]);
} }
listeners.length = 0; listeners.length = 0;
@@ -169,7 +170,8 @@ export function listen(target, type, listener, opt_this, opt_once) {
target: target, target: target,
type: type type: type
}); });
target.addEventListener(type, bindListener(listenerObj)); /** @type {import("./events/Target.js").default} */ (target).
addEventListener(type, bindListener(listenerObj));
listeners.push(listenerObj); listeners.push(listenerObj);
} }
@@ -237,7 +239,8 @@ export function unlisten(target, type, listener, opt_this) {
*/ */
export function unlistenByKey(key) { export function unlistenByKey(key) {
if (key && key.target) { if (key && key.target) {
key.target.removeEventListener(key.type, key.boundListener); /** @type {import("./events/Target.js").default} */ (key.target).
removeEventListener(key.type, key.boundListener);
const listeners = getListeners(key.target, key.type); const listeners = getListeners(key.target, key.type);
if (listeners) { if (listeners) {
const i = 'deleteIndex' in key ? key.deleteIndex : listeners.indexOf(key); const i = 'deleteIndex' in key ? key.deleteIndex : listeners.indexOf(key);