| /** PURE_IMPORTS_START _Observable,_from,_empty PURE_IMPORTS_END */ | 
| import { Observable } from '../Observable'; | 
| import { from } from './from'; | 
| import { EMPTY } from './empty'; | 
| export function using(resourceFactory, observableFactory) { | 
|     return new Observable(function (subscriber) { | 
|         var resource; | 
|         try { | 
|             resource = resourceFactory(); | 
|         } | 
|         catch (err) { | 
|             subscriber.error(err); | 
|             return undefined; | 
|         } | 
|         var result; | 
|         try { | 
|             result = observableFactory(resource); | 
|         } | 
|         catch (err) { | 
|             subscriber.error(err); | 
|             return undefined; | 
|         } | 
|         var source = result ? from(result) : EMPTY; | 
|         var subscription = source.subscribe(subscriber); | 
|         return function () { | 
|             subscription.unsubscribe(); | 
|             if (resource) { | 
|                 resource.unsubscribe(); | 
|             } | 
|         }; | 
|     }); | 
| } | 
| //# sourceMappingURL=using.js.map |