38 lines
1.5 KiB
JavaScript
38 lines
1.5 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var Observable_1 = require("../Observable");
|
|
var isPromise_1 = require("../util/isPromise");
|
|
var isArrayLike_1 = require("../util/isArrayLike");
|
|
var isInteropObservable_1 = require("../util/isInteropObservable");
|
|
var isIterable_1 = require("../util/isIterable");
|
|
var fromArray_1 = require("./fromArray");
|
|
var fromPromise_1 = require("./fromPromise");
|
|
var fromIterable_1 = require("./fromIterable");
|
|
var fromObservable_1 = require("./fromObservable");
|
|
var subscribeTo_1 = require("../util/subscribeTo");
|
|
function from(input, scheduler) {
|
|
if (!scheduler) {
|
|
if (input instanceof Observable_1.Observable) {
|
|
return input;
|
|
}
|
|
return new Observable_1.Observable(subscribeTo_1.subscribeTo(input));
|
|
}
|
|
if (input != null) {
|
|
if (isInteropObservable_1.isInteropObservable(input)) {
|
|
return fromObservable_1.fromObservable(input, scheduler);
|
|
}
|
|
else if (isPromise_1.isPromise(input)) {
|
|
return fromPromise_1.fromPromise(input, scheduler);
|
|
}
|
|
else if (isArrayLike_1.isArrayLike(input)) {
|
|
return fromArray_1.fromArray(input, scheduler);
|
|
}
|
|
else if (isIterable_1.isIterable(input) || typeof input === 'string') {
|
|
return fromIterable_1.fromIterable(input, scheduler);
|
|
}
|
|
}
|
|
throw new TypeError((input !== null && typeof input || input) + ' is not observable');
|
|
}
|
|
exports.from = from;
|
|
//# sourceMappingURL=from.js.map
|