--- /dev/null
+import { Observable } from '../Observable';
+import { from } from './from';
+import { EMPTY } from './empty';
+export function using(resourceFactory, observableFactory) {
+ return new Observable(subscriber => {
+ let resource;
+ try {
+ resource = resourceFactory();
+ }
+ catch (err) {
+ subscriber.error(err);
+ return undefined;
+ }
+ let result;
+ try {
+ result = observableFactory(resource);
+ }
+ catch (err) {
+ subscriber.error(err);
+ return undefined;
+ }
+ const source = result ? from(result) : EMPTY;
+ const subscription = source.subscribe(subscriber);
+ return () => {
+ subscription.unsubscribe();
+ if (resource) {
+ resource.unsubscribe();
+ }
+ };
+ });
+}
+//# sourceMappingURL=using.js.map
\ No newline at end of file