2015-11-26 01:44:58 +08:00
|
|
|
var _this = this;
|
2015-11-25 08:37:29 +08:00
|
|
|
function get(obj, path) {
|
|
|
|
for (var i = 0, path = path.split('.'), len = path.length; i < len; i++) {
|
|
|
|
obj = obj[path[i]];
|
|
|
|
}
|
|
|
|
return obj;
|
|
|
|
}
|
|
|
|
exports.get = get;
|
|
|
|
;
|
2015-11-26 01:44:58 +08:00
|
|
|
exports.promisify = function (pluginRef, methodName, successIndex, errorIndex) {
|
|
|
|
return function () {
|
|
|
|
var args = [];
|
|
|
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
|
|
args[_i - 0] = arguments[_i];
|
|
|
|
}
|
|
|
|
return new Promise(function (resolve, reject) {
|
|
|
|
args[successIndex] = resolve;
|
|
|
|
args[errorIndex] = reject;
|
|
|
|
get(window, pluginRef)[methodName].apply(_this, args);
|
|
|
|
});
|
|
|
|
};
|
|
|
|
};
|
2015-11-29 06:17:04 +08:00
|
|
|
exports.wrap = function (pluginRef, methodName, successIndex, errorIndex) {
|
|
|
|
if (successIndex === void 0) { successIndex = null; }
|
|
|
|
if (errorIndex === void 0) { errorIndex = null; }
|
|
|
|
return function () {
|
|
|
|
var args = [];
|
|
|
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
|
|
args[_i - 0] = arguments[_i];
|
|
|
|
}
|
|
|
|
return new Promise(function (resolve, reject) {
|
|
|
|
if (successIndex) {
|
|
|
|
args[successIndex] = resolve;
|
|
|
|
}
|
|
|
|
if (errorIndex) {
|
|
|
|
args[errorIndex] = reject;
|
|
|
|
}
|
|
|
|
get(window, pluginRef)[methodName].apply(_this, args);
|
|
|
|
});
|
|
|
|
};
|
|
|
|
};
|