SYMBOL INDEX (335 symbols across 59 files) FILE: fixtures/oscillatorGainParam.ts constant OSCILLATOR_GAIN_PARAM_EVENTS (line 44) | const OSCILLATOR_GAIN_PARAM_EVENTS: Audion.WebAudioEvent[] = [ FILE: simulations/updateGraphRender.ts function main (line 26) | function main() { FILE: src/build/make-chrome-extension.js function main (line 24) | async function main() { function copyFiles (line 48) | async function copyFiles({src, dest, files, cwd = __dirname}) { function generateManifest (line 66) | async function generateManifest({ function zipChromeExtension (line 91) | async function zipChromeExtension({ function readdirRecursive (line 119) | async function readdirRecursive(dir) { function mkdir (line 146) | async function mkdir(dirpath) { function unlink (line 163) | async function unlink(filepath) { FILE: src/chrome/DebuggerPageDomain.ts type PageDebuggerMethod (line 10) | enum PageDebuggerMethod { type PageDebuggerEvent (line 16) | enum PageDebuggerEvent { type PageDebuggerEventParams (line 29) | type PageDebuggerEventParams = FILE: src/chrome/DebuggerWebAudioDomain.ts type WebAudioDebuggerMethod (line 10) | enum WebAudioDebuggerMethod { type WebAudioDebuggerEvent (line 17) | enum WebAudioDebuggerEvent { type WebAudioDebuggerEventParams (line 34) | type WebAudioDebuggerEventParams = FILE: src/chrome/index.js function noopChrome (line 23) | function noopChrome() { function getGlobal (line 71) | function getGlobal() { function getChrome (line 87) | function getChrome() { FILE: src/devtools/DebuggerAttachEventController.ts type AttachPermission (line 48) | enum AttachPermission { type BinaryTransition (line 74) | enum BinaryTransition { type DebuggerAttachEventState (line 81) | interface DebuggerAttachEventState { type ChromeDebuggerAPIEventName (line 97) | enum ChromeDebuggerAPIEventName { type ChromeDebuggerAPIDetachEventParams (line 101) | interface ChromeDebuggerAPIDetachEventParams { type ChromeDebuggerAPIDetachEvent (line 105) | interface ChromeDebuggerAPIDetachEvent { type ChromeDebuggerAPIEvent (line 110) | type ChromeDebuggerAPIEvent = ChromeDebuggerAPIDetachEvent; type ChromeDebuggerAPIEventParams (line 112) | type ChromeDebuggerAPIEventParams = ChromeDebuggerAPIEvent['params']; class DebuggerAttachEventController (line 121) | class DebuggerAttachEventController { method constructor (line 144) | constructor() { method sendCommand (line 271) | sendCommand(method: string): Observable { function activateEventWhileAttached (line 282) | function activateEventWhileAttached( function bindChromeCallback (line 319) | function bindChromeCallback

( function fromChromeEvent (line 340) | function fromChromeEvent( class PermissionSubject (line 396) | class PermissionSubject extends BehaviorSubject { method constructor (line 397) | constructor() { method grantTemporary (line 404) | grantTemporary() { method reject (line 413) | reject() { type BinaryTransitionDescription (line 423) | interface BinaryTransitionDescription { class BinaryTransitionSubject (line 445) | class BinaryTransitionSubject extends BehaviorSubject { method constructor (line 449) | constructor({ method transition (line 481) | transition(description: BinaryTransitionDescription) { method activate (line 516) | activate() { method deactivate (line 523) | deactivate() { class CounterSubject (line 531) | class CounterSubject extends BehaviorSubject { method increment (line 535) | increment() { method decrement (line 542) | decrement() { FILE: src/devtools/DebuggerEvents.ts type DebuggerDomain (line 7) | type DebuggerDomain = 'page' | 'webAudio'; type DebuggerEventsOptions (line 9) | interface DebuggerEventsOptions { type DebuggerDomainEvent (line 13) | type DebuggerDomainEvent = D extends 'page' class DebuggerEventsObservable (line 19) | class DebuggerEventsObservable< method constructor (line 22) | constructor( FILE: src/devtools/DevtoolsGraphPanel.test.js function simulateShowPanel (line 272) | function simulateShowPanel(panel) { function simulateCreatePanel (line 282) | function simulateCreatePanel(panel = mockPanel()) { function simulateConnectPort (line 293) | function simulateConnectPort(port = mockPort()) { function mockEvent (line 301) | function mockEvent() { function mockPort (line 306) | function mockPort() { function mockPanel (line 317) | function mockPanel() { function subscribeWhen (line 327) | function subscribeWhen(subscribeNotifier, unsubscribeNotifier) { FILE: src/devtools/DevtoolsGraphPanel.ts function fromChromeEvent (line 9) | function fromChromeEvent( class DevtoolsGraphPanel (line 21) | class DevtoolsGraphPanel { method constructor (line 29) | constructor(graphs$: Observable) { FILE: src/devtools/Types.ts type ContextRealtimeData (line 25) | type ContextRealtimeData = Protocol.WebAudio.ContextRealtimeData; type GraphEdgeType (line 27) | enum GraphEdgeType { type GraphNodeEdge (line 32) | interface GraphNodeEdge { type GraphParamEdge (line 38) | interface GraphParamEdge { type GraphEdge (line 45) | type GraphEdge = GraphNodeEdge | GraphParamEdge; type GraphlibEdge (line 47) | interface GraphlibEdge { type GraphContext (line 54) | interface GraphContext { type GraphContextMessage (line 64) | interface GraphContextMessage { type GraphContextsById (line 68) | interface GraphContextsById { type AllGraphsMessage (line 72) | interface AllGraphsMessage { type DevtoolsMessage (line 76) | type DevtoolsMessage = GraphContextMessage | AllGraphsMessage; type DevtoolsRequestType (line 78) | enum DevtoolsRequestType { type DevtoolsCollectGarbageRequest (line 82) | interface DevtoolsCollectGarbageRequest { type DevtoolsRequest (line 86) | type DevtoolsRequest = DevtoolsCollectGarbageRequest; type DevtoolsObserver (line 88) | interface DevtoolsObserver extends Utils.Observer {} type GraphNode (line 90) | interface GraphNode { type PageEvent (line 96) | type PageEvent = { type WebAudioEvent (line 101) | type WebAudioEvent< FILE: src/devtools/WebAudioEventObserver.ts class WebAudioEventObservable (line 16) | class WebAudioEventObservable extends Observable { method constructor (line 29) | constructor(debuggerAttachController: DebuggerAttachEventController) { FILE: src/devtools/WebAudioGraphIntegrator.test.js method pollContext (line 37) | pollContext() { method pollContext (line 597) | pollContext() { function mockSubscriber (line 727) | function mockSubscriber() { FILE: src/devtools/WebAudioGraphIntegrator.ts type GraphContextDestroyReasonMessage (line 46) | enum GraphContextDestroyReasonMessage { type MutableContexts (line 51) | type MutableContexts = { type EventHelpers (line 59) | interface EventHelpers { type IntegratableEventName (line 63) | type IntegratableEventName = type IntegratableEvent (line 68) | type IntegratableEvent = type IntegratableEventMapping (line 73) | type IntegratableEventMapping = { type EventHandlers (line 83) | type EventHandlers = constant EVENT_HANDLERS (line 96) | const EVENT_HANDLERS: Partial = { function ensureContextsExist (line 726) | function ensureContextsExist( function removeAll (line 763) | function removeAll(array: T[], fn: (value: T) => boolean) { function integrateWebAudioGraph (line 776) | function integrateWebAudioGraph( FILE: src/devtools/WebAudioRealtimeData.ts type RealtimeDataErrorMessage (line 16) | enum RealtimeDataErrorMessage { type RealtimeDataReason (line 23) | interface RealtimeDataReason { constant INITIAL_CONTEXT_REALTIME_DATA (line 34) | const INITIAL_CONTEXT_REALTIME_DATA = { class WebAudioRealtimeData (line 41) | class WebAudioRealtimeData { method pollContext (line 47) | pollContext(contextId: string) { method parseReason (line 69) | parseReason(reason: any) { method toString (line 78) | toString(reason: any) { method isRealtimeOnlyReason (line 82) | isRealtimeOnlyReason( method isCannotFindReason (line 88) | isCannotFindReason( FILE: src/devtools/deserializeGraphContext.ts type SerializedGraphContext (line 4) | interface SerializedGraphContext extends Audion.GraphContext { function deserializeGraphContext (line 8) | function deserializeGraphContext( FILE: src/devtools/layoutGraphContext.ts function layoutGraphContext (line 5) | function layoutGraphContext( FILE: src/devtools/main.ts method next (line 87) | next() { method next (line 94) | next(value) { FILE: src/devtools/partitionMap.ts type PartitionMapConfig (line 3) | interface PartitionMapConfig { function partitionMap (line 16) | function partitionMap({ FILE: src/devtools/serializeGraphContext.js function serializeGraphContext (line 7) | function serializeGraphContext(graphContext) { FILE: src/devtools/setOptionsToGraphContext.ts function setOptionsToGraphContext (line 5) | function setOptionsToGraphContext([context, layoutOptions]: [ FILE: src/extraSettingPage/options.js function saveOptions (line 15) | function saveOptions() { function restoreOptions (line 23) | function restoreOptions() { FILE: src/panel/GraphSelector.ts type GraphMap (line 6) | type GraphMap = {[key: string]: Audion.GraphContext}; type GraphMapRX (line 8) | type GraphMapRX = Observable; constant EMPTY_GRAPH (line 10) | const EMPTY_GRAPH = { class GraphSelector (line 17) | class GraphSelector { method graphId (line 24) | get graphId(): string { method constructor (line 32) | constructor({allGraphs$: allGraphs$}: {allGraphs$: GraphMapRX}) { method select (line 61) | select(graphId: string) { FILE: src/panel/Observer.runtime.ts function connect (line 11) | function connect(requests$: Observable): Observable { FILE: src/panel/Types.ts type Point (line 26) | interface Point { type Node (line 31) | interface Node { type PortType (line 38) | enum PortType { type Port (line 44) | interface Port { FILE: src/panel/components/WholeGraphButton.ts class WholeGraphButton (line 9) | class WholeGraphButton { method constructor (line 15) | constructor() { method render (line 23) | render() { FILE: src/panel/components/collectGarbage.ts function collectGarbageImageHTML (line 12) | function collectGarbageImageHTML(): string { function renderCollectGarbage (line 22) | function renderCollectGarbage( FILE: src/panel/components/detailPanel.ts function graphContextHTML (line 17) | function graphContextHTML({ function graphNodeBaseHTML (line 41) | function graphNodeBaseHTML({ function graphParamHTML (line 67) | function graphParamHTML({ function graphNodeHTML (line 91) | function graphNodeHTML({node, params}: Audion.GraphNode): string { function renderDetailPanel (line 108) | function renderDetailPanel( FILE: src/panel/components/domUtils.ts function setElementProperty (line 9) | function setElementProperty< type PropertySet (line 38) | interface PropertySet { type PropertySetChange (line 46) | interface PropertySetChange { function toggleElementPropertySet (line 61) | function toggleElementPropertySet< type PropertyMapChange (line 113) | interface PropertyMapChange { function assignElementProperty (line 122) | function assignElementProperty< function querySelector (line 209) | function querySelector( FILE: src/panel/components/realtimeSummary.ts function realtimeSummaryHTML (line 11) | function realtimeSummaryHTML(realtimeData: Audion.ContextRealtimeData) { function renderRealtimeSummary (line 36) | function renderRealtimeSummary( FILE: src/panel/components/selectGraph.ts constant NO_GRAPHS_AVAILABLE_TITLE (line 31) | const NO_GRAPHS_AVAILABLE_TITLE = '(no recordings)'; function graphIdTitle (line 38) | function graphIdTitle(graphId: string) { function graphTitle (line 47) | function graphTitle(graph: Audion.GraphContext) { function graphTitles (line 56) | function graphTitles(allGraphs: Audion.GraphContextsById): { function buttonTitle (line 73) | function buttonTitle([graphId, graphTitles]) { function equalTitles (line 105) | function equalTitles( function renderSelectGraph (line 133) | function renderSelectGraph( FILE: src/panel/graph/AudioEdgeArrowGraphics.ts constant ARROW_LENGTH (line 4) | const ARROW_LENGTH = 16; constant ARROW_HEIGHT (line 5) | const ARROW_HEIGHT = 8; constant ARROW_ANGLE_ROUNDING (line 7) | const ARROW_ANGLE_ROUNDING = 32; class EdgeArrowGraphics (line 9) | class EdgeArrowGraphics { method drawFromPoint (line 12) | drawFromPoint( method drawFromUnit (line 27) | drawFromUnit( method getGeometry (line 48) | getGeometry(pointOnLine: PIXI.Point, end: PIXI.Point) { method createGraphics (line 71) | createGraphics(pointOnLine: PIXI.Point, end: PIXI.Point) { FILE: src/panel/graph/AudioEdgeCurvedLineGraphics.ts constant STEP_RATIO (line 7) | const STEP_RATIO = 1 / 10; constant LINE_COEFF (line 9) | const LINE_COEFF = createLineCoefficients(); type LineCoefficients (line 11) | interface LineCoefficients { class EdgeCurvedLineGraphics (line 22) | class EdgeCurvedLineGraphics { method getGeometry (line 25) | getGeometry(a: PIXI.Point, d: PIXI.Point) { method createGraphics (line 64) | createGraphics(a: PIXI.Point, d: PIXI.Point) { method drawCurvedLine (line 84) | drawCurvedLine( method adjustPoint (line 114) | adjustPoint( function createLineCoefficients (line 130) | function createLineCoefficients(): LineCoefficients { function buildLineCoefficients (line 143) | function buildLineCoefficients( function interpolateCoefficients (line 173) | function interpolateCoefficients( FILE: src/panel/graph/AudioEdgeRender.ts constant ARROW_LENGTH (line 10) | const ARROW_LENGTH = 12; constant ARROW_HEIGHT (line 11) | const ARROW_HEIGHT = 4; constant STEP_RATIO (line 13) | const STEP_RATIO = 1 / 10; constant LINE_COEFF (line 15) | const LINE_COEFF = createLineCoefficients(); type AudioEdgeKey (line 17) | interface AudioEdgeKey { class AudioEdgeRender (line 26) | class AudioEdgeRender { method constructor (line 37) | constructor({ method setPIXIParent (line 59) | setPIXIParent(parent: PIXI.Container) { method remove (line 66) | remove() { method draw (line 75) | draw( method drawArrow (line 112) | drawArrow( method drawCurvedLine (line 145) | drawCurvedLine( method adjustPoint (line 173) | adjustPoint( function createLineCoefficients (line 189) | function createLineCoefficients(): LineCoefficients { function lineCoefficients (line 201) | function lineCoefficients( function interpolateCoefficients (line 232) | function interpolateCoefficients( type LineCoefficients (line 252) | interface LineCoefficients { FILE: src/panel/graph/AudioGraphRender.ts type AnimationFrameId (line 13) | type AnimationFrameId = ReturnType; class AudioGraphRender (line 18) | class AudioGraphRender { method constructor (line 41) | constructor({elementContainer}: {elementContainer: HTMLElement}) { method init (line 64) | init() { method requestRender (line 94) | requestRender() { method _render (line 100) | _render() { method stop (line 110) | stop() { method updateGraphSizes (line 117) | updateGraphSizes(message: Audion.GraphContext): Audion.GraphContext { method update (line 143) | update(message: Audion.GraphContext) { method getNodeAtViewportPoint (line 191) | getNodeAtViewportPoint(viewportPoint: {x: number; y: number}) { method getNodeAtScreenPoint (line 199) | getNodeAtScreenPoint(screenPoint: {x: number; y: number}) { method initEvents (line 212) | initEvents() { method createNodeRender (line 255) | createNodeRender(nodeId: string, node: Audion.GraphNode): AudioNodeRen... method destroyNodeRender (line 271) | destroyNodeRender(nodeId: any) { method compareEdgeKey (line 283) | compareEdgeKey(left: AudioEdgeKey, right: AudioEdgeKey) { method createEdgeId (line 302) | createEdgeId({v, w, name}: Audion.GraphlibEdge) { method destroyEdgeId (line 317) | destroyEdgeId(edgeId: AudioEdgeKey) { method createEdgeRender (line 340) | createEdgeRender( method destroyEdgeRender (line 383) | destroyEdgeRender(edgeId: AudioEdgeKey) { FILE: src/panel/graph/AudioGraphText.ts class AudioGraphText (line 3) | class AudioGraphText { method constructor (line 10) | constructor(textStyle: PIXI.TextStyle, content: string) { method createSprite (line 19) | createSprite() { FILE: src/panel/graph/AudioGraphTextCacheGroup.ts class AudioGraphTextCache (line 6) | class AudioGraphTextCache { method constructor (line 11) | constructor({textStyle}: {textStyle: PIXI.TextStyle}) { method getText (line 15) | getText(content: string) { method getTextBounds (line 23) | getTextBounds(content: string) { class AudioGraphTextCacheGroup (line 28) | class AudioGraphTextCacheGroup { method constructor (line 32) | constructor() { FILE: src/panel/graph/AudioNodeBackground.ts type AudioNodeBackgroundStyle (line 16) | interface AudioNodeBackgroundStyle { class AudioNodeTextMetrics (line 20) | class AudioNodeTextMetrics { method from (line 24) | static from( class AudioNodeMetrics (line 39) | class AudioNodeMetrics { method from (line 46) | static from( class AudioNodeBackground (line 60) | class AudioNodeBackground { method INPUT_GROUP_MARGIN (line 69) | static get INPUT_GROUP_MARGIN() { method INPUT_HEIGHT (line 74) | static get INPUT_HEIGHT() { method INPUT_RADIUS (line 79) | static get INPUT_RADIUS() { method PARAM_GROUP_MARGIN (line 84) | static get PARAM_GROUP_MARGIN() { method PARAM_HEIGHT (line 89) | static get PARAM_HEIGHT() { method PARAM_RADIUS (line 94) | static get PARAM_RADIUS() { method init (line 98) | init(metrics: AudioNodeMetrics) { method _getParamYStart (line 153) | private _getParamYStart({ method _getSize (line 168) | private _getSize( class AudioNodeBackgroundRender (line 208) | class AudioNodeBackgroundRender { method constructor (line 215) | constructor( method draw (line 225) | draw(graphics: PIXI.Graphics) { method getGeometry (line 259) | getGeometry() { method createMesh (line 268) | createMesh() { FILE: src/panel/graph/AudioNodeBackgroundRenderCacheGroup.ts class AudioNodeBackgroundCache (line 14) | class AudioNodeBackgroundCache { method constructor (line 19) | constructor(textCacheGroup: AudioGraphTextCacheGroup) { method getBackground (line 23) | getBackground(node: Audion.GraphNode) { class AudioNodeBackgroundRenderCache (line 33) | class AudioNodeBackgroundRenderCache { method constructor (line 43) | constructor({ method getBackground (line 59) | getBackground(node: Audion.GraphNode) { class AudioNodeBackgroundRenderCacheGroup (line 73) | class AudioNodeBackgroundRenderCacheGroup { method constructor (line 80) | constructor({textCacheGroup}: {textCacheGroup: AudioGraphTextCacheGrou... FILE: src/panel/graph/AudioNodePort.ts constant ZERO_POINT (line 6) | const ZERO_POINT = new PIXI.Point(); type AudioNodePortType (line 8) | enum AudioNodePortType { class AudioNodePort (line 17) | class AudioNodePort { method INPUT_RADIUS (line 27) | static get INPUT_RADIUS() { method PARAM_RADIUS (line 32) | static get PARAM_RADIUS() { method constructor (line 40) | constructor({ method updateNodeDisplay (line 64) | updateNodeDisplay() { method drawSocket (line 71) | drawSocket( method drawConnect (line 89) | drawConnect(graphics: PIXI.Graphics) { FILE: src/panel/graph/AudioNodeRender.ts class AudioNodeRender (line 21) | class AudioNodeRender { method constructor (line 48) | constructor(id: string) { method INPUT_GROUP_MARGIN (line 68) | static get INPUT_GROUP_MARGIN() { method INPUT_HEIGHT (line 73) | static get INPUT_HEIGHT() { method INPUT_RADIUS (line 78) | static get INPUT_RADIUS() { method PARAM_GROUP_MARGIN (line 83) | static get PARAM_GROUP_MARGIN() { method PARAM_HEIGHT (line 88) | static get PARAM_HEIGHT() { method PARAM_RADIUS (line 93) | static get PARAM_RADIUS() { method init (line 101) | init( method setPixiParent (line 152) | setPixiParent(parent: PIXI.Container) { method remove (line 160) | remove() { method initSize (line 165) | initSize(textCacheGroup: AudioGraphTextCacheGroup) { method initPorts (line 212) | initPorts(portCacheGroup: AudioPortCacheGroup) { method setHighlight (line 303) | setHighlight(isHighlighted: boolean) { method updatePortDisplay (line 308) | updatePortDisplay(portType: AudionPanel.PortType, index: number) { method draw (line 324) | draw() { FILE: src/panel/graph/AudioPortCacheGroup.ts class AudioPortCache (line 6) | class AudioPortCache { method constructor (line 11) | constructor(port: AudioNodePort) { method getGeometry (line 15) | getGeometry() { method createGraphics (line 24) | createGraphics(position = new PIXI.Point()) { class AudioPortCacheGroup (line 32) | class AudioPortCacheGroup { method constructor (line 36) | constructor() { FILE: src/panel/graph/Camera.js constant MIN_ZOOM (line 6) | const MIN_ZOOM = 0.5; class Camera (line 11) | class Camera { method constructor (line 13) | constructor() { method update (line 27) | update() {} method move (line 33) | move(dx, dy) { method zoom (line 66) | zoom(screenX, screenY, zoomDelta) { method fitToScreen (line 105) | fitToScreen() { method setGraphSize (line 113) | setGraphSize(width, height) { method setScreenSize (line 124) | setScreenSize(width, height) { FILE: src/panel/graph/GraphicsCache.ts class GraphicsCache (line 7) | class GraphicsCache { FILE: src/panel/graph/graphStyle.ts type GraphColor (line 1) | enum GraphColor { FILE: src/panel/main.ts function isHTMLElement (line 153) | function isHTMLElement(value: unknown): value is HTMLElement { FILE: src/panel/updateGraphRender.ts function updateGraphRender (line 4) | function updateGraphRender( FILE: src/panel/updateGraphSizes.ts function updateGraphSizes (line 5) | function updateGraphSizes( FILE: src/panel/worker.ts type LayoutOptionsMessage (line 20) | interface LayoutOptionsMessage { type GraphContextMessage (line 24) | interface GraphContextMessage { type PanelMessage (line 28) | type PanelMessage = MessageEvent(promise: Promise): Utils.CancelablePromise... class Observer (line 36) | class Observer implements Utils.Observer { method constructor (line 41) | constructor(subscribe: Utils.SubscribeCallback) { method transform (line 52) | static transform( method filter (line 63) | static filter( method reduce (line 76) | static reduce( method throttle (line 90) | static throttle( method onSubscribe (line 105) | static onSubscribe( method props (line 112) | static props( method observe (line 138) | observe( method _onNext (line 152) | protected _onNext(message: T): void { method _onComplete (line 158) | protected _onComplete(): void { method _onError (line 164) | protected _onError(reason: any): void { method _subscribeToParent (line 173) | protected _subscribeToParent(): void { method _unsubscribeFromParent (line 186) | protected _unsubscribeFromParent(): void { class ThrottleObserver (line 199) | class ThrottleObserver extends Observer { method constructor (line 205) | constructor( method _flush (line 269) | private _flush() { class SubscribeImmediateObserver (line 285) | class SubscribeImmediateObserver extends Observer { method constructor (line 291) | constructor(target: Utils.Observer, onSubscribe: () => T2) { method observe (line 299) | observe( FILE: src/utils/Types.ts type Observer (line 102) | interface Observer { type SubscribeCallback (line 116) | interface SubscribeCallback { type SubscribeOnNext (line 124) | interface SubscribeOnNext { type Cancelable (line 128) | interface Cancelable { type CancelablePromise (line 133) | interface CancelablePromise { type ThrottleObserverOptions (line 138) | interface ThrottleObserverOptions { type RetryOptions (line 143) | interface RetryOptions { FILE: src/utils/dlog.js function DLOG (line 10) | function DLOG(message, properties) { FILE: src/utils/error.js class InvariantError (line 6) | class InvariantError extends Error { method constructor (line 12) | constructor(message, args) { method message (line 21) | get message() { function invariant (line 38) | function invariant(test, message, ...args) { FILE: src/utils/mapThruWorker.ts function mapThruWorker (line 4) | function mapThruWorker(worker: Worker) { FILE: src/utils/math.js function clamp (line 10) | function clamp(value, min, max) { function trunc (line 25) | function trunc(value, digits) { FILE: src/utils/retry.js function retry (line 9) | async function retry( FILE: src/utils/rxChrome.ts function bindChromeCallback (line 12) | function bindChromeCallback

( FILE: src/utils/rxInterop.ts function toRX (line 15) | function toRX(observer: Utils.Observer): Observable { function toUtilsObserver (line 25) | function toUtilsObserver(