|
123456789101112131415161718192021222324252627282930313233 |
- /** 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
|