UNPKG

cordova-plugin-ms-adal

Version:
50 lines (37 loc) 1.6 kB
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. /*global module, require*/ var exec = require('cordova/exec'); var Deferred = require('./utility').Utility.Deferred; var GENERIC_ERR_MESSAGE = "Error occurred while executing native method."; var GENERIC_ERR_CODE = "NATIVE_METHOD_GENERAL_FAILURE"; /** * Implements proxy between Cordova JavaScript and Native functionality */ var cordovaBridge = { /** * Helper method to execute Cordova native method * * @param {String} nativeMethodName Method to execute. * @param {Array} args Execution arguments. * * @returns {Promise} Promise which wraps method success/error callbacks. */ executeNativeMethod : function (nativeMethodName, args) { var deferred = new Deferred(); var win = function(res) { deferred.resolve(res); }; var fail = function(err){ if (typeof err === "string") { err = { errorDescription: err }; } var error = new Error(err.errorDescription || err.message || err.Message || GENERIC_ERR_MESSAGE); error.code = err.error || err.errorCode || GENERIC_ERR_CODE; error.details = err; deferred.reject(error); }; exec(win, fail, "ADALProxy", nativeMethodName, args); return deferred; } }; module.exports = cordovaBridge;