12345678910111213141516171819202122232425262728293031323334353637383940 |
- /**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- *
- * @format
- * @flow strict-local
- */
- 'use strict';
- import type EventSubscriptionVendor from './EventSubscriptionVendor';
- /**
- * EventSubscription represents a subscription to a particular event. It can
- * remove its own subscription.
- */
- class EventSubscription {
- eventType: string;
- key: number;
- subscriber: EventSubscriptionVendor;
- /**
- * @param {EventSubscriptionVendor} subscriber the subscriber that controls
- * this subscription.
- */
- constructor(subscriber: EventSubscriptionVendor) {
- this.subscriber = subscriber;
- }
- /**
- * Removes this subscription from the subscriber that controls it.
- */
- remove() {
- this.subscriber.removeSubscription(this);
- }
- }
- module.exports = EventSubscription;
|