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
 |