awesome-cordova-plugins/dist/util.js

42 lines
1.3 KiB
JavaScript
Raw Normal View History

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);
});
};
};