multitude
Version:
Comprehensive streams for push and pull
40 lines (31 loc) • 4.86 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isObservableConvertible = isObservableConvertible;
exports.isObservableLike = isObservableLike;
exports.isObservableCompatible = isObservableCompatible;
exports.isObservable = isObservable;
exports.isSubscriptionLike = isSubscriptionLike;
exports.isSubscription = isSubscription;
var _typeCore = require("type-core");
require("symbol-observable");
function isObservableConvertible(item) {
return isObservableLike(item) || isObservableCompatible(item) || _typeCore.TypeGuard.isIterable(item);
}
function isObservableLike(item) {
return _typeCore.TypeGuard.isObject(item) && _typeCore.TypeGuard.isFunction(item.subscribe);
}
function isObservableCompatible(item) {
return _typeCore.TypeGuard.isObject(item) && _typeCore.TypeGuard.isFunction(item[Symbol.observable]);
}
function isObservable(item) {
return _typeCore.TypeGuard.isObject(item) && _typeCore.TypeGuard.isFunction(item[Symbol.observable]) && _typeCore.TypeGuard.isFunction(item.subscribe);
}
function isSubscriptionLike(item) {
return _typeCore.TypeGuard.isObject(item) && _typeCore.TypeGuard.isFunction(item.unsubscribe);
}
function isSubscription(item) {
return _typeCore.TypeGuard.isObject(item) && _typeCore.TypeGuard.isBoolean(item.closed) && _typeCore.TypeGuard.isFunction(item.unsubscribe);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wdXNoL3V0aWxzL3R5cGUtZ3VhcmRzLnRzIl0sIm5hbWVzIjpbImlzT2JzZXJ2YWJsZUNvbnZlcnRpYmxlIiwiaXRlbSIsImlzT2JzZXJ2YWJsZUxpa2UiLCJpc09ic2VydmFibGVDb21wYXRpYmxlIiwiVHlwZUd1YXJkIiwiaXNJdGVyYWJsZSIsImlzT2JqZWN0IiwiaXNGdW5jdGlvbiIsInN1YnNjcmliZSIsIlN5bWJvbCIsIm9ic2VydmFibGUiLCJpc09ic2VydmFibGUiLCJpc1N1YnNjcmlwdGlvbkxpa2UiLCJ1bnN1YnNjcmliZSIsImlzU3Vic2NyaXB0aW9uIiwiaXNCb29sZWFuIiwiY2xvc2VkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFFTyxTQUFTQSx1QkFBVCxDQUNMQyxJQURLLEVBRThCO0FBQ25DLFNBQ0VDLGdCQUFnQixDQUFDRCxJQUFELENBQWhCLElBQ0FFLHNCQUFzQixDQUFDRixJQUFELENBRHRCLElBRUFHLG9CQUFVQyxVQUFWLENBQXFCSixJQUFyQixDQUhGO0FBS0Q7O0FBRU0sU0FBU0MsZ0JBQVQsQ0FBMEJELElBQTFCLEVBQWlFO0FBQ3RFLFNBQU9HLG9CQUFVRSxRQUFWLENBQW1CTCxJQUFuQixLQUE0Qkcsb0JBQVVHLFVBQVYsQ0FBcUJOLElBQUksQ0FBQ08sU0FBMUIsQ0FBbkM7QUFDRDs7QUFFTSxTQUFTTCxzQkFBVCxDQUNMRixJQURLLEVBRTZCO0FBQ2xDLFNBQ0VHLG9CQUFVRSxRQUFWLENBQW1CTCxJQUFuQixLQUE0Qkcsb0JBQVVHLFVBQVYsQ0FBcUJOLElBQUksQ0FBQ1EsTUFBTSxDQUFDQyxVQUFSLENBQXpCLENBRDlCO0FBR0Q7O0FBRU0sU0FBU0MsWUFBVCxDQUFzQlYsSUFBdEIsRUFBbUU7QUFDeEUsU0FDRUcsb0JBQVVFLFFBQVYsQ0FBbUJMLElBQW5CLEtBQ0FHLG9CQUFVRyxVQUFWLENBQXFCTixJQUFJLENBQUNRLE1BQU0sQ0FBQ0MsVUFBUixDQUF6QixDQURBLElBRUFOLG9CQUFVRyxVQUFWLENBQXFCTixJQUFJLENBQUNPLFNBQTFCLENBSEY7QUFLRDs7QUFFTSxTQUFTSSxrQkFBVCxDQUE0QlgsSUFBNUIsRUFBc0U7QUFDM0UsU0FBT0csb0JBQVVFLFFBQVYsQ0FBbUJMLElBQW5CLEtBQTRCRyxvQkFBVUcsVUFBVixDQUFxQk4sSUFBSSxDQUFDWSxXQUExQixDQUFuQztBQUNEOztBQUVNLFNBQVNDLGNBQVQsQ0FBd0JiLElBQXhCLEVBQThEO0FBQ25FLFNBQ0VHLG9CQUFVRSxRQUFWLENBQW1CTCxJQUFuQixLQUNBRyxvQkFBVVcsU0FBVixDQUFvQmQsSUFBSSxDQUFDZSxNQUF6QixDQURBLElBRUFaLG9CQUFVRyxVQUFWLENBQXFCTixJQUFJLENBQUNZLFdBQTFCLENBSEY7QUFLRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFB1c2ggfSBmcm9tICdAZGVmaW5pdGlvbnMnO1xuaW1wb3J0IHsgVHlwZUd1YXJkIH0gZnJvbSAndHlwZS1jb3JlJztcbmltcG9ydCAnc3ltYm9sLW9ic2VydmFibGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNPYnNlcnZhYmxlQ29udmVydGlibGUoXG4gIGl0ZW06IGFueVxuKTogaXRlbSBpcyBQdXNoLkNvbnZlcnRpYmxlPHVua25vd24+IHtcbiAgcmV0dXJuIChcbiAgICBpc09ic2VydmFibGVMaWtlKGl0ZW0pIHx8XG4gICAgaXNPYnNlcnZhYmxlQ29tcGF0aWJsZShpdGVtKSB8fFxuICAgIFR5cGVHdWFyZC5pc0l0ZXJhYmxlKGl0ZW0pXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09ic2VydmFibGVMaWtlKGl0ZW06IGFueSk6IGl0ZW0gaXMgUHVzaC5MaWtlPHVua25vd24+IHtcbiAgcmV0dXJuIFR5cGVHdWFyZC5pc09iamVjdChpdGVtKSAmJiBUeXBlR3VhcmQuaXNGdW5jdGlvbihpdGVtLnN1YnNjcmliZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09ic2VydmFibGVDb21wYXRpYmxlKFxuICBpdGVtOiBhbnlcbik6IGl0ZW0gaXMgUHVzaC5Db21wYXRpYmxlPHVua25vd24+IHtcbiAgcmV0dXJuIChcbiAgICBUeXBlR3VhcmQuaXNPYmplY3QoaXRlbSkgJiYgVHlwZUd1YXJkLmlzRnVuY3Rpb24oaXRlbVtTeW1ib2wub2JzZXJ2YWJsZV0pXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09ic2VydmFibGUoaXRlbTogYW55KTogaXRlbSBpcyBQdXNoLk9ic2VydmFibGU8dW5rbm93bj4ge1xuICByZXR1cm4gKFxuICAgIFR5cGVHdWFyZC5pc09iamVjdChpdGVtKSAmJlxuICAgIFR5cGVHdWFyZC5pc0Z1bmN0aW9uKGl0ZW1bU3ltYm9sLm9ic2VydmFibGVdKSAmJlxuICAgIFR5cGVHdWFyZC5pc0Z1bmN0aW9uKGl0ZW0uc3Vic2NyaWJlKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTdWJzY3JpcHRpb25MaWtlKGl0ZW06IGFueSk6IGl0ZW0gaXMgUHVzaC5TdWJzY3JpcHRpb25MaWtlIHtcbiAgcmV0dXJuIFR5cGVHdWFyZC5pc09iamVjdChpdGVtKSAmJiBUeXBlR3VhcmQuaXNGdW5jdGlvbihpdGVtLnVuc3Vic2NyaWJlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3Vic2NyaXB0aW9uKGl0ZW06IGFueSk6IGl0ZW0gaXMgUHVzaC5TdWJzY3JpcHRpb24ge1xuICByZXR1cm4gKFxuICAgIFR5cGVHdWFyZC5pc09iamVjdChpdGVtKSAmJlxuICAgIFR5cGVHdWFyZC5pc0Jvb2xlYW4oaXRlbS5jbG9zZWQpICYmXG4gICAgVHlwZUd1YXJkLmlzRnVuY3Rpb24oaXRlbS51bnN1YnNjcmliZSlcbiAgKTtcbn1cbiJdfQ==
;