import { ISignal , Signal } from '@lumino/signaling' ; import { IDebugger } from '../../tokens' ; /**
 * A model for a variable explorer.
 */ export class VariablesModel implements IDebugger . Model . IVariables { /**
     * Get all the scopes.
     */ get scopes ( ) : IDebugger . IScope [ ] { return this . _state ; } /**
     * Set the scopes.
     */ set scopes ( scopes ) { this . _state = scopes ; this . _changed . emit ( ) ; } /**
     * Signal emitted when the current variable has changed.
     */ get changed ( ) : ISignal < this , void > { return this . _changed ; } /**
     * Signal emitted when the current variable has been expanded.
     */ get variableExpanded ( ) : ISignal < this , IDebugger . IVariable > { return this . _variableExpanded ; } param variable expandVariable ( variable ) { this . _variableExpanded . emit ( variable ) ; } private _state : IDebugger . IScope [ ] = [ ] ; private _variableExpanded = new Signal < this , IDebugger . IVariable > ( this ) ; private _changed = new Signal < this , void > ( this ) ; }