"use strict"; 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 __()); }; var Observable_1 = require('../Observable'); var tryCatch_1 = require('../util/tryCatch'); var errorObject_1 = require('../util/errorObject'); var DeferObservable = (function (_super) { __extends(DeferObservable, _super); function DeferObservable(observableFactory) { _super.call(this); this.observableFactory = observableFactory; } DeferObservable.create = function (observableFactory) { return new DeferObservable(observableFactory); }; DeferObservable.prototype._subscribe = function (subscriber) { var result = tryCatch_1.tryCatch(this.observableFactory)(); if (result === errorObject_1.errorObject) { subscriber.error(errorObject_1.errorObject.e); } else { result.subscribe(subscriber); } }; return DeferObservable; }(Observable_1.Observable)); exports.DeferObservable = DeferObservable; //# sourceMappingURL=DeferObservable.js.map