UNPKG

multitude

Version:

Comprehensive streams for push and pull

40 lines (31 loc) 4.86 kB
"use strict"; 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==