26 lines
		
	
	
		
			688 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			688 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| // #docregion
 | |
| import {Injectable} from 'angular2/core'
 | |
| import {Subject}    from 'rxjs/Subject';
 | |
| 
 | |
| @Injectable()
 | |
| export class MissionService {
 | |
| 
 | |
|   // Observable string sources
 | |
|   private _missionAnnouncedSource = new Subject<string>();
 | |
|   private _missionConfirmedSource = new Subject<string>();
 | |
| 
 | |
|   // Observable string streams
 | |
|   missionAnnounced$ = this._missionAnnouncedSource.asObservable();
 | |
|   missionConfirmed$ = this._missionConfirmedSource.asObservable();
 | |
| 
 | |
|   // Service message commands
 | |
|   announceMission(mission: string) {
 | |
|     this._missionAnnouncedSource.next(mission)
 | |
|   }
 | |
| 
 | |
|   confirmMission(astronaut: string) {
 | |
|     this._missionConfirmedSource.next(astronaut);
 | |
|   }
 | |
| }
 | |
| // #enddocregion
 |