1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /** PURE_IMPORTS_START .._Observable,.._util_subscribeToResult,.._OuterSubscriber PURE_IMPORTS_END */
- var __extends = (this && this.__extends) || function (d, b) {
- for (var p in b)
- if (b.hasOwnProperty(p))
- d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- import { Observable } from '../Observable';
- import { subscribeToResult } from '../util/subscribeToResult';
- import { OuterSubscriber } from '../OuterSubscriber';
- /**
- * We need this JSDoc comment for affecting ESDoc.
- * @extends {Ignored}
- * @hide true
- */
- export var UsingObservable = /*@__PURE__*/ (/*@__PURE__*/ function (_super) {
- __extends(UsingObservable, _super);
- function UsingObservable(resourceFactory, observableFactory) {
- _super.call(this);
- this.resourceFactory = resourceFactory;
- this.observableFactory = observableFactory;
- }
- UsingObservable.create = function (resourceFactory, observableFactory) {
- return new UsingObservable(resourceFactory, observableFactory);
- };
- /** @deprecated internal use only */ UsingObservable.prototype._subscribe = function (subscriber) {
- var _a = this, resourceFactory = _a.resourceFactory, observableFactory = _a.observableFactory;
- var resource;
- try {
- resource = resourceFactory();
- return new UsingSubscriber(subscriber, resource, observableFactory);
- }
- catch (err) {
- subscriber.error(err);
- }
- };
- return UsingObservable;
- }(Observable));
- var UsingSubscriber = /*@__PURE__*/ (/*@__PURE__*/ function (_super) {
- __extends(UsingSubscriber, _super);
- function UsingSubscriber(destination, resource, observableFactory) {
- _super.call(this, destination);
- this.resource = resource;
- this.observableFactory = observableFactory;
- destination.add(resource);
- this.tryUse();
- }
- UsingSubscriber.prototype.tryUse = function () {
- try {
- var source = this.observableFactory.call(this, this.resource);
- if (source) {
- this.add(subscribeToResult(this, source));
- }
- }
- catch (err) {
- this._error(err);
- }
- };
- return UsingSubscriber;
- }(OuterSubscriber));
- //# sourceMappingURL=UsingObservable.js.map
|