mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-07 04:26:32 +08:00
This removes the need for having a specific ordering of side-effecty imports in `common.js`. `common/` should now be self-contained as a whole. Bug:1006759 Change-Id: I895ad13ce27a01228e9963c317a7b582f4386619 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1899516 Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org> Reviewed-by: Mathias Bynens <mathias@chromium.org> Reviewed-by: Paul Lewis <aerotwist@chromium.org>
79 lines
1.7 KiB
JavaScript
79 lines
1.7 KiB
JavaScript
// Copyright 2019 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
/**
|
|
* @param {!Array<!Common.EventTarget.EventDescriptor>} eventList
|
|
*/
|
|
export function removeEventListeners(eventList) {
|
|
for (const eventInfo of eventList) {
|
|
eventInfo.eventTarget.removeEventListener(eventInfo.eventType, eventInfo.listener, eventInfo.thisObject);
|
|
}
|
|
// Do not hold references on unused event descriptors.
|
|
eventList.splice(0);
|
|
}
|
|
|
|
/**
|
|
* @interface
|
|
*/
|
|
export class EventTarget {
|
|
/**
|
|
* @param {symbol} eventType
|
|
* @param {function(!Common.Event)} listener
|
|
* @param {!Object=} thisObject
|
|
* @return {!Common.EventTarget.EventDescriptor}
|
|
*/
|
|
addEventListener(eventType, listener, thisObject) {
|
|
}
|
|
|
|
/**
|
|
* @param {symbol} eventType
|
|
* @return {!Promise<*>}
|
|
*/
|
|
once(eventType) {
|
|
}
|
|
|
|
/**
|
|
* @param {string|symbol} eventType
|
|
* @param {function(!Common.Event)} listener
|
|
* @param {!Object=} thisObject
|
|
*/
|
|
removeEventListener(eventType, listener, thisObject) {
|
|
}
|
|
|
|
/**
|
|
* @param {symbol} eventType
|
|
* @return {boolean}
|
|
*/
|
|
hasEventListeners(eventType) {
|
|
}
|
|
|
|
/**
|
|
* @param {symbol} eventType
|
|
* @param {*=} eventData
|
|
*/
|
|
dispatchEventToListeners(eventType, eventData) {
|
|
}
|
|
}
|
|
|
|
/* Legacy exported object */
|
|
self.Common = self.Common || {};
|
|
Common = Common || {};
|
|
|
|
/**
|
|
* @interface
|
|
*/
|
|
Common.EventTarget = EventTarget;
|
|
|
|
EventTarget.removeEventListeners = removeEventListeners;
|
|
|
|
/**
|
|
* @typedef {!{eventTarget: !Common.EventTarget, eventType: (string|symbol), thisObject: (!Object|undefined), listener: function(!Common.Event)}}
|
|
*/
|
|
Common.EventTarget.EventDescriptor;
|
|
|
|
/**
|
|
* @typedef {!{data: *}}
|
|
*/
|
|
Common.Event;
|