Sha256: 8d626e6eda02d49c08957d66be3c16038a08e25aaa83ef9f7d8e16a66a15c942

Contents?: true

Size: 1.56 KB

Versions: 49

Compression:

Stored size: 1.56 KB

Contents

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 class UsingObservable extends Observable {
    constructor(resourceFactory, observableFactory) {
        super();
        this.resourceFactory = resourceFactory;
        this.observableFactory = observableFactory;
    }
    static create(resourceFactory, observableFactory) {
        return new UsingObservable(resourceFactory, observableFactory);
    }
    /** @deprecated internal use only */ _subscribe(subscriber) {
        const { resourceFactory, observableFactory } = this;
        let resource;
        try {
            resource = resourceFactory();
            return new UsingSubscriber(subscriber, resource, observableFactory);
        }
        catch (err) {
            subscriber.error(err);
        }
    }
}
class UsingSubscriber extends OuterSubscriber {
    constructor(destination, resource, observableFactory) {
        super(destination);
        this.resource = resource;
        this.observableFactory = observableFactory;
        destination.add(resource);
        this.tryUse();
    }
    tryUse() {
        try {
            const source = this.observableFactory.call(this, this.resource);
            if (source) {
                this.add(subscribeToResult(this, source));
            }
        }
        catch (err) {
            this._error(err);
        }
    }
}
//# sourceMappingURL=UsingObservable.js.map

Version data entries

49 entries across 49 versions & 4 rubygems

Version Path
ilog-0.4.1 node_modules/rxjs/_esm2015/observable/UsingObservable.js
ilog-0.4.0 node_modules/rxjs/_esm2015/observable/UsingObservable.js
ilog-0.3.3 node_modules/rxjs/_esm2015/observable/UsingObservable.js
govuk_publishing_components-18.0.0 node_modules/rxjs/_esm2015/observable/UsingObservable.js
govuk_publishing_components-17.21.0 node_modules/rxjs/_esm2015/observable/UsingObservable.js
govuk_publishing_components-17.20.0 node_modules/rxjs/_esm2015/observable/UsingObservable.js
govuk_publishing_components-17.19.1 node_modules/rxjs/_esm2015/observable/UsingObservable.js
govuk_publishing_components-17.19.0 node_modules/rxjs/_esm2015/observable/UsingObservable.js
govuk_publishing_components-17.18.0 node_modules/rxjs/_esm2015/observable/UsingObservable.js
govuk_publishing_components-17.17.0 node_modules/rxjs/_esm2015/observable/UsingObservable.js
govuk_publishing_components-17.16.0 node_modules/rxjs/_esm2015/observable/UsingObservable.js
govuk_publishing_components-17.15.0 node_modules/rxjs/_esm2015/observable/UsingObservable.js
govuk_publishing_components-17.14.0 node_modules/rxjs/_esm2015/observable/UsingObservable.js
govuk_publishing_components-17.13.0 node_modules/rxjs/_esm2015/observable/UsingObservable.js
govuk_publishing_components-17.12.2 node_modules/rxjs/_esm2015/observable/UsingObservable.js
govuk_publishing_components-17.12.1 node_modules/rxjs/_esm2015/observable/UsingObservable.js
govuk_publishing_components-17.12.0 node_modules/rxjs/_esm2015/observable/UsingObservable.js
govuk_publishing_components-17.11.0 node_modules/rxjs/_esm2015/observable/UsingObservable.js
govuk_publishing_components-17.10.0 node_modules/rxjs/_esm2015/observable/UsingObservable.js
govuk_publishing_components-17.9.0 node_modules/rxjs/_esm2015/observable/UsingObservable.js