UNPKG

debug-server-next

Version:

Dev server for hippy-core.

40 lines (39 loc) 1.3 kB
// Copyright 2021 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. import * as Common from '../../core/common/common.js'; import { IssuesManager } from './IssuesManager.js'; /** * A class that facilitates resolving an issueId to an issue. See `ResolverBase` for more info. */ export class IssueResolver extends Common.ResolverBase.ResolverBase { issuesListener = null; issuesManager; constructor(issuesManager = IssuesManager.instance()) { super(); this.issuesManager = issuesManager; } getForId(id) { return this.issuesManager.getIssueById(id) || null; } onIssueAdded(event) { const { issue } = event.data; const id = issue.getIssueId(); if (id) { this.onResolve(id, issue); } } startListening() { if (this.issuesListener) { return; } this.issuesListener = this.issuesManager.addEventListener("IssueAdded" /* IssueAdded */, this.onIssueAdded, this); } stopListening() { if (!this.issuesListener) { return; } Common.EventTarget.removeEventListeners([this.issuesListener]); this.issuesListener = null; } }