| import { empty } from './observable/empty'; | 
| import { of } from './observable/of'; | 
| import { throwError } from './observable/throwError'; | 
| export var NotificationKind; | 
| (function (NotificationKind) { | 
|     NotificationKind["NEXT"] = "N"; | 
|     NotificationKind["ERROR"] = "E"; | 
|     NotificationKind["COMPLETE"] = "C"; | 
| })(NotificationKind || (NotificationKind = {})); | 
| export class Notification { | 
|     constructor(kind, value, error) { | 
|         this.kind = kind; | 
|         this.value = value; | 
|         this.error = error; | 
|         this.hasValue = kind === 'N'; | 
|     } | 
|     observe(observer) { | 
|         switch (this.kind) { | 
|             case 'N': | 
|                 return observer.next && observer.next(this.value); | 
|             case 'E': | 
|                 return observer.error && observer.error(this.error); | 
|             case 'C': | 
|                 return observer.complete && observer.complete(); | 
|         } | 
|     } | 
|     do(next, error, complete) { | 
|         const kind = this.kind; | 
|         switch (kind) { | 
|             case 'N': | 
|                 return next && next(this.value); | 
|             case 'E': | 
|                 return error && error(this.error); | 
|             case 'C': | 
|                 return complete && complete(); | 
|         } | 
|     } | 
|     accept(nextOrObserver, error, complete) { | 
|         if (nextOrObserver && typeof nextOrObserver.next === 'function') { | 
|             return this.observe(nextOrObserver); | 
|         } | 
|         else { | 
|             return this.do(nextOrObserver, error, complete); | 
|         } | 
|     } | 
|     toObservable() { | 
|         const kind = this.kind; | 
|         switch (kind) { | 
|             case 'N': | 
|                 return of(this.value); | 
|             case 'E': | 
|                 return throwError(this.error); | 
|             case 'C': | 
|                 return empty(); | 
|         } | 
|         throw new Error('unexpected notification kind value'); | 
|     } | 
|     static createNext(value) { | 
|         if (typeof value !== 'undefined') { | 
|             return new Notification('N', value); | 
|         } | 
|         return Notification.undefinedValueNotification; | 
|     } | 
|     static createError(err) { | 
|         return new Notification('E', undefined, err); | 
|     } | 
|     static createComplete() { | 
|         return Notification.completeNotification; | 
|     } | 
| } | 
| Notification.completeNotification = new Notification('C'); | 
| Notification.undefinedValueNotification = new Notification('N', undefined); | 
| //# sourceMappingURL=Notification.js.map |