vimo-dt
Version:
A Vue2.x UI Project For Mobile & HyBrid
27 lines (26 loc) • 747 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = prepareComponent;
function prepareComponent(component) {
return new Promise(function (resolve, reject) {
var getType = function getType(val) {
return Object.prototype.toString.call(val).match(/^(\[object )(\w+)\]$/i)[2].toLowerCase();
};
var type = getType(component);
if (type === 'object') {
resolve(component);
} else if (type === 'function') {
component(function (component) {
resolve(component);
});
} else if (type === 'promise') {
component.then(function (component) {
resolve(component);
});
} else {
reject(new Error('need a component'));
}
});
}