import Logger from “./logger”
export default class ApiMakerCableSubscription {
constructor(props) { this.props = props this.onUnsubscribeCallbacks = [] this.subscribed = true } onReceived(data) { this.props.callback.apply(null, [data]) } onUnsubscribe(callback) { this.onUnsubscribeCallbacks.push(callback) } unsubscribe() { if (!this.subscribed) { Logger.log("Unsubscribed already called") return } Logger.log(`Unsubscribe called: ${this.onUnsubscribeCallbacks.length}`) for(var onUnsubscribeCallback of this.onUnsubscribeCallbacks) { Logger.log("onUnsubscribe called for a callback") onUnsubscribeCallback.call() } this.subscribed = false }
}