31 lines
868 B
JavaScript
31 lines
868 B
JavaScript
'use strict';
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.default = getObservable;
|
|
|
|
var _symbolObservable = require('symbol-observable');
|
|
|
|
var _symbolObservable2 = _interopRequireDefault(_symbolObservable);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
function getObservable(o) {
|
|
// eslint-disable-line complexity
|
|
var obs = null;
|
|
if (o) {
|
|
// Access foreign method only once
|
|
var method = o[_symbolObservable2.default];
|
|
if (typeof method === 'function') {
|
|
obs = method.call(o);
|
|
if (!(obs && typeof obs.subscribe === 'function')) {
|
|
throw new TypeError('invalid observable ' + obs);
|
|
}
|
|
}
|
|
}
|
|
|
|
return obs;
|
|
} /** @license MIT License (c) copyright 2010-2016 original author or authors */
|
|
/** @author Brian Cavalier */
|
|
/** @author John Hann */ |