Update JS snapshot to version 5.0.1 (via coho)
diff --git a/cordova-lib/cordova.js b/cordova-lib/cordova.js
index 4ac61ed..4a07b5c 100644
--- a/cordova-lib/cordova.js
+++ b/cordova-lib/cordova.js
@@ -1,5 +1,5 @@
// Platform: browser
-// f623343b9ff11fbe7c72d319932cc1fd3fdafed2
+// ff66178b108b93be36a1aafe341af17381a727a3
/*
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
@@ -22,32 +22,30 @@
var PLATFORM_VERSION_BUILD_LABEL = '5.0.1';
// file: src/scripts/require.js
-/*jshint -W079 */
-/*jshint -W020 */
+/* jshint -W079 */
+/* jshint -W020 */
-var require,
- define;
+var require;
+var define;
(function () {
- var modules = {},
+ var modules = {};
// Stack of moduleIds currently being built.
- requireStack = [],
+ var requireStack = [];
// Map of module ID -> index into requireStack of modules currently being built.
- inProgressModules = {},
- SEPARATOR = ".";
+ var inProgressModules = {};
+ var SEPARATOR = '.';
-
-
- function build(module) {
- var factory = module.factory,
- localRequire = function (id) {
- var resultantId = id;
- //Its a relative path, so lop off the last portion and add the id (minus "./")
- if (id.charAt(0) === ".") {
- resultantId = module.id.slice(0, module.id.lastIndexOf(SEPARATOR)) + SEPARATOR + id.slice(2);
- }
- return require(resultantId);
- };
+ function build (module) {
+ var factory = module.factory;
+ var localRequire = function (id) {
+ var resultantId = id;
+ // Its a relative path, so lop off the last portion and add the id (minus "./")
+ if (id.charAt(0) === '.') {
+ resultantId = module.id.slice(0, module.id.lastIndexOf(SEPARATOR)) + SEPARATOR + id.slice(2);
+ }
+ return require(resultantId);
+ };
module.exports = {};
delete module.factory;
factory(localRequire, module.exports, module);
@@ -56,10 +54,10 @@
require = function (id) {
if (!modules[id]) {
- throw "module " + id + " not found";
+ throw 'module ' + id + ' not found';
} else if (id in inProgressModules) {
var cycle = requireStack.slice(inProgressModules[id]).join('->') + '->' + id;
- throw "Cycle in require graph: " + cycle;
+ throw 'Cycle in require graph: ' + cycle;
}
if (modules[id].factory) {
try {
@@ -76,7 +74,7 @@
define = function (id, factory) {
if (modules[id]) {
- throw "module " + id + " already defined";
+ throw 'module ' + id + ' already defined';
}
modules[id] = {
@@ -92,8 +90,8 @@
define.moduleMap = modules;
})();
-//Export for use in node
-if (typeof module === "object" && typeof require === "function") {
+// Export for use in node
+if (typeof module === 'object' && typeof require === 'function') {
module.exports.require = require;
module.exports.define = define;
}
@@ -103,15 +101,13 @@
// Workaround for Windows 10 in hosted environment case
// http://www.w3.org/html/wg/drafts/html/master/browsers.html#named-access-on-the-window-object
-if (window.cordova && !(window.cordova instanceof HTMLElement)) {
- throw new Error("cordova already defined");
+if (window.cordova && !(window.cordova instanceof HTMLElement)) { // eslint-disable-line no-undef
+ throw new Error('cordova already defined');
}
-
var channel = require('cordova/channel');
var platform = require('cordova/platform');
-
/**
* Intercept calls to addEventListener + removeEventListener and handle deviceready,
* resume, and pause events.
@@ -124,48 +120,48 @@
/**
* Houses custom event handlers to intercept on document + window event listeners.
*/
-var documentEventHandlers = {},
- windowEventHandlers = {};
+var documentEventHandlers = {};
+var windowEventHandlers = {};
-document.addEventListener = function(evt, handler, capture) {
+document.addEventListener = function (evt, handler, capture) {
var e = evt.toLowerCase();
- if (typeof documentEventHandlers[e] != 'undefined') {
+ if (typeof documentEventHandlers[e] !== 'undefined') {
documentEventHandlers[e].subscribe(handler);
} else {
m_document_addEventListener.call(document, evt, handler, capture);
}
};
-window.addEventListener = function(evt, handler, capture) {
+window.addEventListener = function (evt, handler, capture) {
var e = evt.toLowerCase();
- if (typeof windowEventHandlers[e] != 'undefined') {
+ if (typeof windowEventHandlers[e] !== 'undefined') {
windowEventHandlers[e].subscribe(handler);
} else {
m_window_addEventListener.call(window, evt, handler, capture);
}
};
-document.removeEventListener = function(evt, handler, capture) {
+document.removeEventListener = function (evt, handler, capture) {
var e = evt.toLowerCase();
// If unsubscribing from an event that is handled by a plugin
- if (typeof documentEventHandlers[e] != "undefined") {
+ if (typeof documentEventHandlers[e] !== 'undefined') {
documentEventHandlers[e].unsubscribe(handler);
} else {
m_document_removeEventListener.call(document, evt, handler, capture);
}
};
-window.removeEventListener = function(evt, handler, capture) {
+window.removeEventListener = function (evt, handler, capture) {
var e = evt.toLowerCase();
// If unsubscribing from an event that is handled by a plugin
- if (typeof windowEventHandlers[e] != "undefined") {
+ if (typeof windowEventHandlers[e] !== 'undefined') {
windowEventHandlers[e].unsubscribe(handler);
} else {
m_window_removeEventListener.call(window, evt, handler, capture);
}
};
-function createEvent(type, data) {
+function createEvent (type, data) {
var event = document.createEvent('Events');
event.initEvent(type, false, false);
if (data) {
@@ -178,29 +174,32 @@
return event;
}
-
+/* eslint-disable no-undef */
var cordova = {
- define:define,
- require:require,
- version:PLATFORM_VERSION_BUILD_LABEL,
- platformVersion:PLATFORM_VERSION_BUILD_LABEL,
- platformId:platform.id,
+ define: define,
+ require: require,
+ version: PLATFORM_VERSION_BUILD_LABEL,
+ platformVersion: PLATFORM_VERSION_BUILD_LABEL,
+ platformId: platform.id,
+
+ /* eslint-enable no-undef */
+
/**
* Methods to add/remove your own addEventListener hijacking on document + window.
*/
- addWindowEventHandler:function(event) {
+ addWindowEventHandler: function (event) {
return (windowEventHandlers[event] = channel.create(event));
},
- addStickyDocumentEventHandler:function(event) {
+ addStickyDocumentEventHandler: function (event) {
return (documentEventHandlers[event] = channel.createSticky(event));
},
- addDocumentEventHandler:function(event) {
+ addDocumentEventHandler: function (event) {
return (documentEventHandlers[event] = channel.create(event));
},
- removeWindowEventHandler:function(event) {
+ removeWindowEventHandler: function (event) {
delete windowEventHandlers[event];
},
- removeDocumentEventHandler:function(event) {
+ removeDocumentEventHandler: function (event) {
delete documentEventHandlers[event];
},
/**
@@ -208,24 +207,23 @@
*
* @return object
*/
- getOriginalHandlers: function() {
+ getOriginalHandlers: function () {
return {'document': {'addEventListener': m_document_addEventListener, 'removeEventListener': m_document_removeEventListener},
- 'window': {'addEventListener': m_window_addEventListener, 'removeEventListener': m_window_removeEventListener}};
+ 'window': {'addEventListener': m_window_addEventListener, 'removeEventListener': m_window_removeEventListener}};
},
/**
* Method to fire event from native code
* bNoDetach is required for events which cause an exception which needs to be caught in native code
*/
- fireDocumentEvent: function(type, data, bNoDetach) {
+ fireDocumentEvent: function (type, data, bNoDetach) {
var evt = createEvent(type, data);
- if (typeof documentEventHandlers[type] != 'undefined') {
- if( bNoDetach ) {
+ if (typeof documentEventHandlers[type] !== 'undefined') {
+ if (bNoDetach) {
documentEventHandlers[type].fire(evt);
- }
- else {
- setTimeout(function() {
+ } else {
+ setTimeout(function () {
// Fire deviceready on listeners that were registered before cordova.js was loaded.
- if (type == 'deviceready') {
+ if (type === 'deviceready') {
document.dispatchEvent(evt);
}
documentEventHandlers[type].fire(evt);
@@ -235,10 +233,10 @@
document.dispatchEvent(evt);
}
},
- fireWindowEvent: function(type, data) {
- var evt = createEvent(type,data);
- if (typeof windowEventHandlers[type] != 'undefined') {
- setTimeout(function() {
+ fireWindowEvent: function (type, data) {
+ var evt = createEvent(type, data);
+ if (typeof windowEventHandlers[type] !== 'undefined') {
+ setTimeout(function () {
windowEventHandlers[type].fire(evt);
}, 0);
} else {
@@ -252,7 +250,7 @@
// Randomize the starting callbackId to avoid collisions after refreshing or navigating.
// This way, it's very unlikely that any new callback would get the same callbackId as an old callback.
callbackId: Math.floor(Math.random() * 2000000000),
- callbacks: {},
+ callbacks: {},
callbackStatus: {
NO_RESULT: 0,
OK: 1,
@@ -269,14 +267,14 @@
/**
* Called by native code when returning successful result from an action.
*/
- callbackSuccess: function(callbackId, args) {
+ callbackSuccess: function (callbackId, args) {
cordova.callbackFromNative(callbackId, true, args.status, [args.message], args.keepCallback);
},
/**
* Called by native code when returning error result from an action.
*/
- callbackError: function(callbackId, args) {
+ callbackError: function (callbackId, args) {
// TODO: Deprecate callbackSuccess and callbackError in favour of callbackFromNative.
// Derive success from status.
cordova.callbackFromNative(callbackId, false, args.status, [args.message], args.keepCallback);
@@ -285,11 +283,11 @@
/**
* Called by native code when returning the result from an action.
*/
- callbackFromNative: function(callbackId, isSuccess, status, args, keepCallback) {
+ callbackFromNative: function (callbackId, isSuccess, status, args, keepCallback) {
try {
var callback = cordova.callbacks[callbackId];
if (callback) {
- if (isSuccess && status == cordova.callbackStatus.OK) {
+ if (isSuccess && status === cordova.callbackStatus.OK) {
callback.success && callback.success.apply(null, args);
} else if (!isSuccess) {
callback.fail && callback.fail.apply(null, args);
@@ -306,26 +304,24 @@
delete cordova.callbacks[callbackId];
}
}
- }
- catch (err) {
- var msg = "Error in " + (isSuccess ? "Success" : "Error") + " callbackId: " + callbackId + " : " + err;
+ } catch (err) {
+ var msg = 'Error in ' + (isSuccess ? 'Success' : 'Error') + ' callbackId: ' + callbackId + ' : ' + err;
console && console.log && console.log(msg);
- cordova.fireWindowEvent("cordovacallbackerror", { 'message': msg });
+ cordova.fireWindowEvent('cordovacallbackerror', { 'message': msg });
throw err;
}
},
- addConstructor: function(func) {
- channel.onCordovaReady.subscribe(function() {
+ addConstructor: function (func) {
+ channel.onCordovaReady.subscribe(function () {
try {
func();
- } catch(e) {
- console.log("Failed to run constructor: " + e);
+ } catch (e) {
+ console.log('Failed to run constructor: ' + e);
}
});
}
};
-
module.exports = cordova;
});
@@ -346,29 +342,29 @@
'O': 'Object'
};
-function extractParamName(callee, argIndex) {
+function extractParamName (callee, argIndex) {
return (/.*?\((.*?)\)/).exec(callee)[1].split(', ')[argIndex];
}
-function checkArgs(spec, functionName, args, opt_callee) {
+function checkArgs (spec, functionName, args, opt_callee) {
if (!moduleExports.enableChecks) {
return;
}
var errMsg = null;
var typeName;
for (var i = 0; i < spec.length; ++i) {
- var c = spec.charAt(i),
- cUpper = c.toUpperCase(),
- arg = args[i];
+ var c = spec.charAt(i);
+ var cUpper = c.toUpperCase();
+ var arg = args[i];
// Asterix means allow anything.
- if (c == '*') {
+ if (c === '*') {
continue;
}
typeName = utils.typeName(arg);
- if ((arg === null || arg === undefined) && c == cUpper) {
+ if ((arg === null || arg === undefined) && c === cUpper) {
continue;
}
- if (typeName != typeMap[cUpper]) {
+ if (typeName !== typeMap[cUpper]) {
errMsg = 'Expected ' + typeMap[cUpper];
break;
}
@@ -377,14 +373,14 @@
errMsg += ', but got ' + typeName + '.';
errMsg = 'Wrong type for parameter "' + extractParamName(opt_callee || args.callee, i) + '" of ' + functionName + ': ' + errMsg;
// Don't log when running unit tests.
- if (typeof jasmine == 'undefined') {
+ if (typeof jasmine === 'undefined') {
console.error(errMsg);
}
throw TypeError(errMsg);
}
}
-function getValue(value, defaultValue) {
+function getValue (value, defaultValue) {
return value === undefined ? defaultValue : value;
}
@@ -392,7 +388,6 @@
moduleExports.getValue = getValue;
moduleExports.enableChecks = true;
-
});
// file: src/common/base64.js
@@ -400,58 +395,58 @@
var base64 = exports;
-base64.fromArrayBuffer = function(arrayBuffer) {
+base64.fromArrayBuffer = function (arrayBuffer) {
var array = new Uint8Array(arrayBuffer);
return uint8ToBase64(array);
};
-base64.toArrayBuffer = function(str) {
- var decodedStr = typeof atob != 'undefined' ? atob(str) : new Buffer(str,'base64').toString('binary');
+base64.toArrayBuffer = function (str) {
+ var decodedStr = typeof atob !== 'undefined' ? atob(str) : Buffer.from(str, 'base64').toString('binary'); // eslint-disable-line no-undef
var arrayBuffer = new ArrayBuffer(decodedStr.length);
var array = new Uint8Array(arrayBuffer);
- for (var i=0, len=decodedStr.length; i < len; i++) {
+ for (var i = 0, len = decodedStr.length; i < len; i++) {
array[i] = decodedStr.charCodeAt(i);
}
return arrayBuffer;
};
-//------------------------------------------------------------------------------
+// ------------------------------------------------------------------------------
/* This code is based on the performance tests at http://jsperf.com/b64tests
* This 12-bit-at-a-time algorithm was the best performing version on all
* platforms tested.
*/
-var b64_6bit = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+var b64_6bit = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
var b64_12bit;
-var b64_12bitTable = function() {
+var b64_12bitTable = function () {
b64_12bit = [];
- for (var i=0; i<64; i++) {
- for (var j=0; j<64; j++) {
- b64_12bit[i*64+j] = b64_6bit[i] + b64_6bit[j];
+ for (var i = 0; i < 64; i++) {
+ for (var j = 0; j < 64; j++) {
+ b64_12bit[i * 64 + j] = b64_6bit[i] + b64_6bit[j];
}
}
- b64_12bitTable = function() { return b64_12bit; };
+ b64_12bitTable = function () { return b64_12bit; };
return b64_12bit;
};
-function uint8ToBase64(rawData) {
+function uint8ToBase64 (rawData) {
var numBytes = rawData.byteLength;
- var output="";
+ var output = '';
var segment;
var table = b64_12bitTable();
- for (var i=0;i<numBytes-2;i+=3) {
- segment = (rawData[i] << 16) + (rawData[i+1] << 8) + rawData[i+2];
+ for (var i = 0; i < numBytes - 2; i += 3) {
+ segment = (rawData[i] << 16) + (rawData[i + 1] << 8) + rawData[i + 2];
output += table[segment >> 12];
output += table[segment & 0xfff];
}
- if (numBytes - i == 2) {
- segment = (rawData[i] << 16) + (rawData[i+1] << 8);
+ if (numBytes - i === 2) {
+ segment = (rawData[i] << 16) + (rawData[i + 1] << 8);
output += table[segment >> 12];
output += b64_6bit[(segment & 0xfff) >> 6];
output += '=';
- } else if (numBytes - i == 1) {
+ } else if (numBytes - i === 1) {
segment = (rawData[i] << 16);
output += table[segment >> 12];
output += '==';
@@ -466,7 +461,7 @@
var utils = require('cordova/utils');
-function each(objects, func, context) {
+function each (objects, func, context) {
for (var prop in objects) {
if (objects.hasOwnProperty(prop)) {
func.apply(context, [objects[prop], prop]);
@@ -474,7 +469,7 @@
}
}
-function clobber(obj, key, value) {
+function clobber (obj, key, value) {
exports.replaceHookForTesting(obj, key);
var needsProperty = false;
try {
@@ -484,15 +479,15 @@
}
// Getters can only be overridden by getters.
if (needsProperty || obj[key] !== value) {
- utils.defineGetter(obj, key, function() {
+ utils.defineGetter(obj, key, function () {
return value;
});
}
}
-function assignOrWrapInDeprecateGetter(obj, key, value, message) {
+function assignOrWrapInDeprecateGetter (obj, key, value, message) {
if (message) {
- utils.defineGetter(obj, key, function() {
+ utils.defineGetter(obj, key, function () {
console.log(message);
delete obj[key];
clobber(obj, key, value);
@@ -503,7 +498,7 @@
}
}
-function include(parent, objects, clobber, merge) {
+function include (parent, objects, clobber, merge) {
each(objects, function (obj, key) {
try {
var result = obj.path ? require(obj.path) : {};
@@ -523,7 +518,7 @@
result = parent[key];
} else {
// Overwrite if not currently defined.
- if (typeof parent[key] == 'undefined') {
+ if (typeof parent[key] === 'undefined') {
assignOrWrapInDeprecateGetter(parent, key, result, obj.deprecated);
} else {
// Set result to what already exists, so we can build children into it if they exist.
@@ -534,7 +529,7 @@
if (obj.children) {
include(result, obj.children, clobber, merge);
}
- } catch(e) {
+ } catch (e) {
utils.alert('Exception building Cordova JS globals: ' + e + ' for key "' + key + '"');
}
});
@@ -547,7 +542,7 @@
* @param target Object to merge properties into.
* @param src Object to merge properties from.
*/
-function recursiveMerge(target, src) {
+function recursiveMerge (target, src) {
for (var prop in src) {
if (src.hasOwnProperty(prop)) {
if (target.prototype && target.prototype.constructor === target) {
@@ -564,26 +559,26 @@
}
}
-exports.buildIntoButDoNotClobber = function(objects, target) {
+exports.buildIntoButDoNotClobber = function (objects, target) {
include(target, objects, false, false);
};
-exports.buildIntoAndClobber = function(objects, target) {
+exports.buildIntoAndClobber = function (objects, target) {
include(target, objects, true, false);
};
-exports.buildIntoAndMerge = function(objects, target) {
+exports.buildIntoAndMerge = function (objects, target) {
include(target, objects, true, true);
};
exports.recursiveMerge = recursiveMerge;
exports.assignOrWrapInDeprecateGetter = assignOrWrapInDeprecateGetter;
-exports.replaceHookForTesting = function() {};
+exports.replaceHookForTesting = function () {};
});
// file: src/common/channel.js
define("cordova/channel", function(require, exports, module) {
-var utils = require('cordova/utils'),
- nextGuid = 1;
+var utils = require('cordova/utils');
+var nextGuid = 1;
/**
* Custom pub-sub "channel" that can have functions subscribed to it
@@ -623,7 +618,7 @@
* @constructor
* @param type String the channel name
*/
-var Channel = function(type, sticky) {
+var Channel = function (type, sticky) {
this.type = type;
// Map of guid -> function.
this.handlers = {};
@@ -636,72 +631,73 @@
// Function that is called when the first listener is subscribed, or when
// the last listener is unsubscribed.
this.onHasSubscribersChange = null;
-},
- channel = {
- /**
- * Calls the provided function only after all of the channels specified
- * have been fired. All channels must be sticky channels.
- */
- join: function(h, c) {
- var len = c.length,
- i = len,
- f = function() {
- if (!(--i)) h();
- };
- for (var j=0; j<len; j++) {
- if (c[j].state === 0) {
- throw Error('Can only use join with sticky channels.');
- }
- c[j].subscribe(f);
+};
+var channel = {
+ /**
+ * Calls the provided function only after all of the channels specified
+ * have been fired. All channels must be sticky channels.
+ */
+ join: function (h, c) {
+ var len = c.length;
+ var i = len;
+ var f = function () {
+ if (!(--i)) h();
+ };
+ for (var j = 0; j < len; j++) {
+ if (c[j].state === 0) {
+ throw Error('Can only use join with sticky channels.');
}
- if (!len) h();
- },
- create: function(type) {
- return channel[type] = new Channel(type, false);
- },
- createSticky: function(type) {
- return channel[type] = new Channel(type, true);
- },
-
- /**
- * cordova Channels that must fire before "deviceready" is fired.
- */
- deviceReadyChannelsArray: [],
- deviceReadyChannelsMap: {},
-
- /**
- * Indicate that a feature needs to be initialized before it is ready to be used.
- * This holds up Cordova's "deviceready" event until the feature has been initialized
- * and Cordova.initComplete(feature) is called.
- *
- * @param feature {String} The unique feature name
- */
- waitForInitialization: function(feature) {
- if (feature) {
- var c = channel[feature] || this.createSticky(feature);
- this.deviceReadyChannelsMap[feature] = c;
- this.deviceReadyChannelsArray.push(c);
- }
- },
-
- /**
- * Indicate that initialization code has completed and the feature is ready to be used.
- *
- * @param feature {String} The unique feature name
- */
- initializationComplete: function(feature) {
- var c = this.deviceReadyChannelsMap[feature];
- if (c) {
- c.fire();
- }
+ c[j].subscribe(f);
}
- };
+ if (!len) h();
+ },
+ /* eslint-disable no-return-assign */
+ create: function (type) {
+ return channel[type] = new Channel(type, false);
+ },
+ createSticky: function (type) {
+ return channel[type] = new Channel(type, true);
+ },
+ /* eslint-enable no-return-assign */
+ /**
+ * cordova Channels that must fire before "deviceready" is fired.
+ */
+ deviceReadyChannelsArray: [],
+ deviceReadyChannelsMap: {},
-function checkSubscriptionArgument(argument) {
- if (typeof argument !== "function" && typeof argument.handleEvent !== "function") {
+ /**
+ * Indicate that a feature needs to be initialized before it is ready to be used.
+ * This holds up Cordova's "deviceready" event until the feature has been initialized
+ * and Cordova.initComplete(feature) is called.
+ *
+ * @param feature {String} The unique feature name
+ */
+ waitForInitialization: function (feature) {
+ if (feature) {
+ var c = channel[feature] || this.createSticky(feature);
+ this.deviceReadyChannelsMap[feature] = c;
+ this.deviceReadyChannelsArray.push(c);
+ }
+ },
+
+ /**
+ * Indicate that initialization code has completed and the feature is ready to be used.
+ *
+ * @param feature {String} The unique feature name
+ */
+ initializationComplete: function (feature) {
+ var c = this.deviceReadyChannelsMap[feature];
+ if (c) {
+ c.fire();
+ }
+ }
+};
+
+function checkSubscriptionArgument (argument) {
+ if (typeof argument !== 'function' && typeof argument.handleEvent !== 'function') {
throw new Error(
- "Must provide a function or an EventListener object " +
- "implementing the handleEvent interface."
+ 'Must provide a function or an EventListener object ' +
+ 'implementing the handleEvent interface.'
);
}
}
@@ -713,11 +709,11 @@
* and a guid that can be used to stop subscribing to the channel.
* Returns the guid.
*/
-Channel.prototype.subscribe = function(eventListenerOrFunction, eventListener) {
+Channel.prototype.subscribe = function (eventListenerOrFunction, eventListener) {
checkSubscriptionArgument(eventListenerOrFunction);
var handleEvent, guid;
- if (eventListenerOrFunction && typeof eventListenerOrFunction === "object") {
+ if (eventListenerOrFunction && typeof eventListenerOrFunction === 'object') {
// Received an EventListener object implementing the handleEvent interface
handleEvent = eventListenerOrFunction.handleEvent;
eventListener = eventListenerOrFunction;
@@ -726,13 +722,13 @@
handleEvent = eventListenerOrFunction;
}
- if (this.state == 2) {
+ if (this.state === 2) {
handleEvent.apply(eventListener || this, this.fireArgs);
return;
}
guid = eventListenerOrFunction.observer_guid;
- if (typeof eventListener === "object") {
+ if (typeof eventListener === 'object') {
handleEvent = utils.close(eventListener, handleEvent);
}
@@ -747,7 +743,7 @@
if (!this.handlers[guid]) {
this.handlers[guid] = handleEvent;
this.numHandlers++;
- if (this.numHandlers == 1) {
+ if (this.numHandlers === 1) {
this.onHasSubscribersChange && this.onHasSubscribersChange();
}
}
@@ -756,11 +752,11 @@
/**
* Unsubscribes the function with the given guid from the channel.
*/
-Channel.prototype.unsubscribe = function(eventListenerOrFunction) {
+Channel.prototype.unsubscribe = function (eventListenerOrFunction) {
checkSubscriptionArgument(eventListenerOrFunction);
var handleEvent, guid, handler;
- if (eventListenerOrFunction && typeof eventListenerOrFunction === "object") {
+ if (eventListenerOrFunction && typeof eventListenerOrFunction === 'object') {
// Received an EventListener object implementing the handleEvent interface
handleEvent = eventListenerOrFunction.handleEvent;
} else {
@@ -782,11 +778,11 @@
/**
* Calls all functions subscribed to this channel.
*/
-Channel.prototype.fire = function(e) {
- var fail = false,
- fireArgs = Array.prototype.slice.call(arguments);
+Channel.prototype.fire = function (e) {
+ var fail = false; // eslint-disable-line no-unused-vars
+ var fireArgs = Array.prototype.slice.call(arguments);
// Apply stickiness.
- if (this.state == 1) {
+ if (this.state === 1) {
this.state = 2;
this.fireArgs = fireArgs;
}
@@ -800,7 +796,7 @@
for (var i = 0; i < toCall.length; ++i) {
toCall[i].apply(this, fireArgs);
}
- if (this.state == 2 && this.numHandlers) {
+ if (this.state === 2 && this.numHandlers) {
this.numHandlers = 0;
this.handlers = {};
this.onHasSubscribersChange && this.onHasSubscribersChange();
@@ -808,7 +804,6 @@
}
};
-
// defining them here so they are ready super fast!
// DOM event that is received when the web page is loaded and parsed.
channel.createSticky('onDOMContentLoaded');
@@ -1018,31 +1013,31 @@
// file: src/common/exec/proxy.js
define("cordova/exec/proxy", function(require, exports, module) {
-
// internal map of proxy function
var CommandProxyMap = {};
module.exports = {
// example: cordova.commandProxy.add("Accelerometer",{getCurrentAcceleration: function(successCallback, errorCallback, options) {...},...);
- add:function(id,proxyObj) {
- console.log("adding proxy for " + id);
+ add: function (id, proxyObj) {
+ console.log('adding proxy for ' + id);
CommandProxyMap[id] = proxyObj;
return proxyObj;
},
// cordova.commandProxy.remove("Accelerometer");
- remove:function(id) {
+ remove: function (id) {
var proxy = CommandProxyMap[id];
delete CommandProxyMap[id];
CommandProxyMap[id] = null;
return proxy;
},
- get:function(service,action) {
- return ( CommandProxyMap[service] ? CommandProxyMap[service][action] : null );
+ get: function (service, action) {
+ return (CommandProxyMap[service] ? CommandProxyMap[service][action] : null);
}
};
+
});
// file: src/common/init.js
@@ -1057,16 +1052,16 @@
var platformInitChannelsArray = [channel.onNativeReady, channel.onPluginsReady];
-function logUnfiredChannels(arr) {
+function logUnfiredChannels (arr) {
for (var i = 0; i < arr.length; ++i) {
- if (arr[i].state != 2) {
+ if (arr[i].state !== 2) {
console.log('Channel not fired: ' + arr[i].type);
}
}
}
-window.setTimeout(function() {
- if (channel.onDeviceReady.state != 2) {
+window.setTimeout(function () {
+ if (channel.onDeviceReady.state !== 2) {
console.log('deviceready has not fired after 5 seconds.');
logUnfiredChannels(platformInitChannelsArray);
logUnfiredChannels(channel.deviceReadyChannelsArray);
@@ -1075,20 +1070,19 @@
// Replace navigator before any modules are required(), to ensure it happens as soon as possible.
// We replace it so that properties that can't be clobbered can instead be overridden.
-function replaceNavigator(origNavigator) {
- var CordovaNavigator = function() {};
+function replaceNavigator (origNavigator) {
+ var CordovaNavigator = function () {};
CordovaNavigator.prototype = origNavigator;
var newNavigator = new CordovaNavigator();
// This work-around really only applies to new APIs that are newer than Function.bind.
// Without it, APIs such as getGamepads() break.
if (CordovaNavigator.bind) {
for (var key in origNavigator) {
- if (typeof origNavigator[key] == 'function') {
+ if (typeof origNavigator[key] === 'function') {
newNavigator[key] = origNavigator[key].bind(origNavigator);
- }
- else {
- (function(k) {
- utils.defineGetterSetter(newNavigator,key,function() {
+ } else {
+ (function (k) {
+ utils.defineGetterSetter(newNavigator, key, function () {
return origNavigator[k];
});
})(key);
@@ -1104,12 +1098,12 @@
if (!window.console) {
window.console = {
- log: function(){}
+ log: function () {}
};
}
if (!window.console.warn) {
- window.console.warn = function(msg) {
- this.log("warn: " + msg);
+ window.console.warn = function (msg) {
+ this.log('warn: ' + msg);
};
}
@@ -1120,10 +1114,10 @@
channel.onDeviceReady = cordova.addStickyDocumentEventHandler('deviceready');
// Listen for DOMContentLoaded and notify our channel subscribers.
-if (document.readyState == 'complete' || document.readyState == 'interactive') {
+if (document.readyState === 'complete' || document.readyState === 'interactive') {
channel.onDOMContentLoaded.fire();
} else {
- document.addEventListener('DOMContentLoaded', function() {
+ document.addEventListener('DOMContentLoaded', function () {
channel.onDOMContentLoaded.fire();
}, false);
}
@@ -1144,8 +1138,8 @@
// Wrap in a setTimeout to support the use-case of having plugin JS appended to cordova.js.
// The delay allows the attached modules to be defined before the plugin loader looks for them.
-setTimeout(function() {
- pluginloader.load(function() {
+setTimeout(function () {
+ pluginloader.load(function () {
channel.onPluginsReady.fire();
});
}, 0);
@@ -1153,7 +1147,7 @@
/**
* Create all cordova objects once native side is ready.
*/
-channel.join(function() {
+channel.join(function () {
modulemapper.mapModules(window);
platform.initialize && platform.initialize();
@@ -1164,13 +1158,12 @@
// Fire onDeviceReady event once page has fully loaded, all
// constructors have run and cordova info has been received from native
// side.
- channel.join(function() {
+ channel.join(function () {
require('cordova').fireDocumentEvent('deviceready');
}, channel.deviceReadyChannelsArray);
}, platformInitChannelsArray);
-
});
// file: src/common/init_b.js
@@ -1188,16 +1181,16 @@
// setting exec
cordova.exec = require('cordova/exec');
-function logUnfiredChannels(arr) {
+function logUnfiredChannels (arr) {
for (var i = 0; i < arr.length; ++i) {
- if (arr[i].state != 2) {
+ if (arr[i].state !== 2) {
console.log('Channel not fired: ' + arr[i].type);
}
}
}
-window.setTimeout(function() {
- if (channel.onDeviceReady.state != 2) {
+window.setTimeout(function () {
+ if (channel.onDeviceReady.state !== 2) {
console.log('deviceready has not fired after 5 seconds.');
logUnfiredChannels(platformInitChannelsArray);
logUnfiredChannels(channel.deviceReadyChannelsArray);
@@ -1206,20 +1199,19 @@
// Replace navigator before any modules are required(), to ensure it happens as soon as possible.
// We replace it so that properties that can't be clobbered can instead be overridden.
-function replaceNavigator(origNavigator) {
- var CordovaNavigator = function() {};
+function replaceNavigator (origNavigator) {
+ var CordovaNavigator = function () {};
CordovaNavigator.prototype = origNavigator;
var newNavigator = new CordovaNavigator();
// This work-around really only applies to new APIs that are newer than Function.bind.
// Without it, APIs such as getGamepads() break.
if (CordovaNavigator.bind) {
for (var key in origNavigator) {
- if (typeof origNavigator[key] == 'function') {
+ if (typeof origNavigator[key] === 'function') {
newNavigator[key] = origNavigator[key].bind(origNavigator);
- }
- else {
- (function(k) {
- utils.defineGetterSetter(newNavigator,key,function() {
+ } else {
+ (function (k) {
+ utils.defineGetterSetter(newNavigator, key, function () {
return origNavigator[k];
});
})(key);
@@ -1234,12 +1226,12 @@
if (!window.console) {
window.console = {
- log: function(){}
+ log: function () {}
};
}
if (!window.console.warn) {
- window.console.warn = function(msg) {
- this.log("warn: " + msg);
+ window.console.warn = function (msg) {
+ this.log('warn: ' + msg);
};
}
@@ -1250,10 +1242,10 @@
channel.onDeviceReady = cordova.addStickyDocumentEventHandler('deviceready');
// Listen for DOMContentLoaded and notify our channel subscribers.
-if (document.readyState == 'complete' || document.readyState == 'interactive') {
+if (document.readyState === 'complete' || document.readyState === 'interactive') {
channel.onDOMContentLoaded.fire();
} else {
- document.addEventListener('DOMContentLoaded', function() {
+ document.addEventListener('DOMContentLoaded', function () {
channel.onDOMContentLoaded.fire();
}, false);
}
@@ -1270,8 +1262,8 @@
// Wrap in a setTimeout to support the use-case of having plugin JS appended to cordova.js.
// The delay allows the attached modules to be defined before the plugin loader looks for them.
-setTimeout(function() {
- pluginloader.load(function() {
+setTimeout(function () {
+ pluginloader.load(function () {
channel.onPluginsReady.fire();
});
}, 0);
@@ -1279,7 +1271,7 @@
/**
* Create all cordova objects once native side is ready.
*/
-channel.join(function() {
+channel.join(function () {
modulemapper.mapModules(window);
platform.initialize && platform.initialize();
@@ -1290,7 +1282,7 @@
// Fire onDeviceReady event once page has fully loaded, all
// constructors have run and cordova info has been received from native
// side.
- channel.join(function() {
+ channel.join(function () {
require('cordova').fireDocumentEvent('deviceready');
}, channel.deviceReadyChannelsArray);
@@ -1301,17 +1293,17 @@
// file: src/common/modulemapper.js
define("cordova/modulemapper", function(require, exports, module) {
-var builder = require('cordova/builder'),
- moduleMap = define.moduleMap,
- symbolList,
- deprecationMap;
+var builder = require('cordova/builder');
+var moduleMap = define.moduleMap; // eslint-disable-line no-undef
+var symbolList;
+var deprecationMap;
-exports.reset = function() {
+exports.reset = function () {
symbolList = [];
deprecationMap = {};
};
-function addEntry(strategy, moduleName, symbolPath, opt_deprecationMessage) {
+function addEntry (strategy, moduleName, symbolPath, opt_deprecationMessage) {
if (!(moduleName in moduleMap)) {
throw new Error('Module ' + moduleName + ' does not exist.');
}
@@ -1322,35 +1314,35 @@
}
// Note: Android 2.3 does have Function.bind().
-exports.clobbers = function(moduleName, symbolPath, opt_deprecationMessage) {
+exports.clobbers = function (moduleName, symbolPath, opt_deprecationMessage) {
addEntry('c', moduleName, symbolPath, opt_deprecationMessage);
};
-exports.merges = function(moduleName, symbolPath, opt_deprecationMessage) {
+exports.merges = function (moduleName, symbolPath, opt_deprecationMessage) {
addEntry('m', moduleName, symbolPath, opt_deprecationMessage);
};
-exports.defaults = function(moduleName, symbolPath, opt_deprecationMessage) {
+exports.defaults = function (moduleName, symbolPath, opt_deprecationMessage) {
addEntry('d', moduleName, symbolPath, opt_deprecationMessage);
};
-exports.runs = function(moduleName) {
+exports.runs = function (moduleName) {
addEntry('r', moduleName, null);
};
-function prepareNamespace(symbolPath, context) {
+function prepareNamespace (symbolPath, context) {
if (!symbolPath) {
return context;
}
var parts = symbolPath.split('.');
var cur = context;
- for (var i = 0, part; part = parts[i]; ++i) {
+ for (var i = 0, part; part = parts[i]; ++i) { // eslint-disable-line no-cond-assign
cur = cur[part] = cur[part] || {};
}
return cur;
}
-exports.mapModules = function(context) {
+exports.mapModules = function (context) {
var origSymbols = {};
context.CDV_origSymbols = origSymbols;
for (var i = 0, len = symbolList.length; i < len; i += 3) {
@@ -1358,7 +1350,7 @@
var moduleName = symbolList[i + 1];
var module = require(moduleName);
// <runs/>
- if (strategy == 'r') {
+ if (strategy === 'r') {
continue;
}
var symbolPath = symbolList[i + 2];
@@ -1370,9 +1362,9 @@
var parentObj = prepareNamespace(namespace, context);
var target = parentObj[lastName];
- if (strategy == 'm' && target) {
+ if (strategy === 'm' && target) {
builder.recursiveMerge(target, module);
- } else if ((strategy == 'd' && !target) || (strategy != 'd')) {
+ } else if ((strategy === 'd' && !target) || (strategy !== 'd')) {
if (!(symbolPath in origSymbols)) {
origSymbols[symbolPath] = target;
}
@@ -1381,7 +1373,7 @@
}
};
-exports.getOriginalSymbol = function(context, symbolPath) {
+exports.getOriginalSymbol = function (context, symbolPath) {
var origSymbols = context.CDV_origSymbols;
if (origSymbols && (symbolPath in origSymbols)) {
return origSymbols[symbolPath];
@@ -1396,22 +1388,21 @@
exports.reset();
-
});
// file: src/common/modulemapper_b.js
define("cordova/modulemapper_b", function(require, exports, module) {
-var builder = require('cordova/builder'),
- symbolList = [],
- deprecationMap;
+var builder = require('cordova/builder');
+var symbolList = [];
+var deprecationMap;
-exports.reset = function() {
+exports.reset = function () {
symbolList = [];
deprecationMap = {};
};
-function addEntry(strategy, moduleName, symbolPath, opt_deprecationMessage) {
+function addEntry (strategy, moduleName, symbolPath, opt_deprecationMessage) {
symbolList.push(strategy, moduleName, symbolPath);
if (opt_deprecationMessage) {
deprecationMap[symbolPath] = opt_deprecationMessage;
@@ -1419,35 +1410,35 @@
}
// Note: Android 2.3 does have Function.bind().
-exports.clobbers = function(moduleName, symbolPath, opt_deprecationMessage) {
+exports.clobbers = function (moduleName, symbolPath, opt_deprecationMessage) {
addEntry('c', moduleName, symbolPath, opt_deprecationMessage);
};
-exports.merges = function(moduleName, symbolPath, opt_deprecationMessage) {
+exports.merges = function (moduleName, symbolPath, opt_deprecationMessage) {
addEntry('m', moduleName, symbolPath, opt_deprecationMessage);
};
-exports.defaults = function(moduleName, symbolPath, opt_deprecationMessage) {
+exports.defaults = function (moduleName, symbolPath, opt_deprecationMessage) {
addEntry('d', moduleName, symbolPath, opt_deprecationMessage);
};
-exports.runs = function(moduleName) {
+exports.runs = function (moduleName) {
addEntry('r', moduleName, null);
};
-function prepareNamespace(symbolPath, context) {
+function prepareNamespace (symbolPath, context) {
if (!symbolPath) {
return context;
}
var parts = symbolPath.split('.');
var cur = context;
- for (var i = 0, part; part = parts[i]; ++i) {
+ for (var i = 0, part; part = parts[i]; ++i) { // eslint-disable-line no-cond-assign
cur = cur[part] = cur[part] || {};
}
return cur;
}
-exports.mapModules = function(context) {
+exports.mapModules = function (context) {
var origSymbols = {};
context.CDV_origSymbols = origSymbols;
for (var i = 0, len = symbolList.length; i < len; i += 3) {
@@ -1455,7 +1446,7 @@
var moduleName = symbolList[i + 1];
var module = require(moduleName);
// <runs/>
- if (strategy == 'r') {
+ if (strategy === 'r') {
continue;
}
var symbolPath = symbolList[i + 2];
@@ -1467,9 +1458,9 @@
var parentObj = prepareNamespace(namespace, context);
var target = parentObj[lastName];
- if (strategy == 'm' && target) {
+ if (strategy === 'm' && target) {
builder.recursiveMerge(target, module);
- } else if ((strategy == 'd' && !target) || (strategy != 'd')) {
+ } else if ((strategy === 'd' && !target) || (strategy !== 'd')) {
if (!(symbolPath in origSymbols)) {
origSymbols[symbolPath] = target;
}
@@ -1478,7 +1469,7 @@
}
};
-exports.getOriginalSymbol = function(context, symbolPath) {
+exports.getOriginalSymbol = function (context, symbolPath) {
var origSymbols = context.CDV_origSymbols;
if (origSymbols && (symbolPath in origSymbols)) {
return origSymbols[symbolPath];
@@ -1493,7 +1484,6 @@
exports.reset();
-
});
// file: /Users/steveng/repo/cordova/cordova-browser/cordova-js-src/platform.js
@@ -1531,12 +1521,11 @@
define("cordova/pluginloader", function(require, exports, module) {
var modulemapper = require('cordova/modulemapper');
-var urlutil = require('cordova/urlutil');
// Helper function to inject a <script> tag.
// Exported for testing.
-exports.injectScript = function(url, onload, onerror) {
- var script = document.createElement("script");
+exports.injectScript = function (url, onload, onerror) {
+ var script = document.createElement('script');
// onload fires even when script fails loads with an error.
script.onload = onload;
// onerror fires for malformed URLs.
@@ -1545,13 +1534,13 @@
document.head.appendChild(script);
};
-function injectIfNecessary(id, url, onload, onerror) {
+function injectIfNecessary (id, url, onload, onerror) {
onerror = onerror || onload;
- if (id in define.moduleMap) {
+ if (id in define.moduleMap) { // eslint-disable-line no-undef
onload();
} else {
- exports.injectScript(url, function() {
- if (id in define.moduleMap) {
+ exports.injectScript(url, function () {
+ if (id in define.moduleMap) { // eslint-disable-line no-undef
onload();
} else {
onerror();
@@ -1560,9 +1549,9 @@
}
}
-function onScriptLoadingComplete(moduleList, finishPluginLoading) {
+function onScriptLoadingComplete (moduleList, finishPluginLoading) {
// Loop through all the plugins and then through their clobbers and merges.
- for (var i = 0, module; module = moduleList[i]; i++) {
+ for (var i = 0, module; module = moduleList[i]; i++) { // eslint-disable-line no-cond-assign
if (module.clobbers && module.clobbers.length) {
for (var j = 0; j < module.clobbers.length; j++) {
modulemapper.clobbers(module.id, module.clobbers[j]);
@@ -1588,7 +1577,7 @@
// See plugman's plugin_loader.js for the details of this object.
// This function is only called if the really is a plugins array that isn't empty.
// Otherwise the onerror response handler will just call finishPluginLoading().
-function handlePluginsObject(path, moduleList, finishPluginLoading) {
+function handlePluginsObject (path, moduleList, finishPluginLoading) {
// Now inject the scripts.
var scriptCounter = moduleList.length;
@@ -1596,7 +1585,7 @@
finishPluginLoading();
return;
}
- function scriptLoadedCallback() {
+ function scriptLoadedCallback () {
if (!--scriptCounter) {
onScriptLoadingComplete(moduleList, finishPluginLoading);
}
@@ -1607,13 +1596,13 @@
}
}
-function findCordovaPath() {
+function findCordovaPath () {
var path = null;
var scripts = document.getElementsByTagName('script');
var term = '/cordova.js';
- for (var n = scripts.length-1; n>-1; n--) {
+ for (var n = scripts.length - 1; n > -1; n--) {
var src = scripts[n].src.replace(/\?.*$/, ''); // Strip any query param (CB-6007).
- if (src.indexOf(term) == (src.length - term.length)) {
+ if (src.indexOf(term) === (src.length - term.length)) {
path = src.substring(0, src.length - term.length) + '/';
break;
}
@@ -1624,19 +1613,18 @@
// Tries to load all plugins' js-modules.
// This is an async process, but onDeviceReady is blocked on onPluginsReady.
// onPluginsReady is fired when there are no plugins to load, or they are all done.
-exports.load = function(callback) {
+exports.load = function (callback) {
var pathPrefix = findCordovaPath();
if (pathPrefix === null) {
console.log('Could not find cordova.js script tag. Plugin loading may fail.');
pathPrefix = '';
}
- injectIfNecessary('cordova/plugin_list', pathPrefix + 'cordova_plugins.js', function() {
- var moduleList = require("cordova/plugin_list");
+ injectIfNecessary('cordova/plugin_list', pathPrefix + 'cordova_plugins.js', function () {
+ var moduleList = require('cordova/plugin_list');
handlePluginsObject(pathPrefix, moduleList, callback);
}, callback);
};
-
});
// file: src/common/pluginloader_b.js
@@ -1646,14 +1634,14 @@
// Handler for the cordova_plugins.js content.
// See plugman's plugin_loader.js for the details of this object.
-function handlePluginsObject(moduleList) {
+function handlePluginsObject (moduleList) {
// if moduleList is not defined or empty, we've nothing to do
if (!moduleList || !moduleList.length) {
return;
}
// Loop through all the modules and then through their clobbers and merges.
- for (var i = 0, module; module = moduleList[i]; i++) {
+ for (var i = 0, module; module = moduleList[i]; i++) { // eslint-disable-line no-cond-assign
if (module.clobbers && module.clobbers.length) {
for (var j = 0; j < module.clobbers.length; j++) {
modulemapper.clobbers(module.id, module.clobbers[j]);
@@ -1677,31 +1665,28 @@
// but the method accepts callback to be compatible with non-browserify flow.
// onDeviceReady is blocked on onPluginsReady. onPluginsReady is fired when there are
// no plugins to load, or they are all done.
-exports.load = function(callback) {
- var moduleList = require("cordova/plugin_list");
+exports.load = function (callback) {
+ var moduleList = require('cordova/plugin_list');
handlePluginsObject(moduleList);
callback();
};
-
});
// file: src/common/urlutil.js
define("cordova/urlutil", function(require, exports, module) {
-
/**
* For already absolute URLs, returns what is passed in.
* For relative URLs, converts them to absolute ones.
*/
-exports.makeAbsolute = function makeAbsolute(url) {
+exports.makeAbsolute = function makeAbsolute (url) {
var anchorEl = document.createElement('a');
anchorEl.href = url;
return anchorEl.href;
};
-
});
// file: src/common/utils.js
@@ -1712,7 +1697,7 @@
/**
* Defines a property getter / setter for obj[key].
*/
-utils.defineGetterSetter = function(obj, key, getFunc, opt_setFunc) {
+utils.defineGetterSetter = function (obj, key, getFunc, opt_setFunc) {
if (Object.defineProperty) {
var desc = {
get: getFunc,
@@ -1735,13 +1720,13 @@
*/
utils.defineGetter = utils.defineGetterSetter;
-utils.arrayIndexOf = function(a, item) {
+utils.arrayIndexOf = function (a, item) {
if (a.indexOf) {
return a.indexOf(item);
}
var len = a.length;
for (var i = 0; i < len; ++i) {
- if (a[i] == item) {
+ if (a[i] === item) {
return i;
}
}
@@ -1751,15 +1736,15 @@
/**
* Returns whether the item was found in the array.
*/
-utils.arrayRemove = function(a, item) {
+utils.arrayRemove = function (a, item) {
var index = utils.arrayIndexOf(a, item);
- if (index != -1) {
+ if (index !== -1) {
a.splice(index, 1);
}
- return index != -1;
+ return index !== -1;
};
-utils.typeName = function(val) {
+utils.typeName = function (val) {
return Object.prototype.toString.call(val).slice(8, -1);
};
@@ -1767,39 +1752,39 @@
* Returns an indication of whether the argument is an array or not
*/
utils.isArray = Array.isArray ||
- function(a) {return utils.typeName(a) == 'Array';};
+ function (a) { return utils.typeName(a) === 'Array'; };
/**
* Returns an indication of whether the argument is a Date or not
*/
-utils.isDate = function(d) {
+utils.isDate = function (d) {
return (d instanceof Date);
};
/**
* Does a deep clone of the object.
*/
-utils.clone = function(obj) {
- if(!obj || typeof obj == 'function' || utils.isDate(obj) || typeof obj != 'object') {
+utils.clone = function (obj) {
+ if (!obj || typeof obj === 'function' || utils.isDate(obj) || typeof obj !== 'object') {
return obj;
}
var retVal, i;
- if(utils.isArray(obj)){
+ if (utils.isArray(obj)) {
retVal = [];
- for(i = 0; i < obj.length; ++i){
+ for (i = 0; i < obj.length; ++i) {
retVal.push(utils.clone(obj[i]));
}
return retVal;
}
retVal = {};
- for(i in obj){
+ for (i in obj) {
// https://issues.apache.org/jira/browse/CB-11522 'unknown' type may be returned in
// custom protocol activation case on Windows Phone 8.1 causing "No such interface supported" exception
// on cloning.
- if((!(i in retVal) || retVal[i] != obj[i]) && typeof obj[i] != 'undefined' && typeof obj[i] != 'unknown') {
+ if ((!(i in retVal) || retVal[i] !== obj[i]) && typeof obj[i] !== 'undefined' && typeof obj[i] !== 'unknown') { // eslint-disable-line valid-typeof
retVal[i] = utils.clone(obj[i]);
}
}
@@ -1809,20 +1794,20 @@
/**
* Returns a wrapped version of the function
*/
-utils.close = function(context, func, params) {
- return function() {
+utils.close = function (context, func, params) {
+ return function () {
var args = params || arguments;
return func.apply(context, args);
};
};
-//------------------------------------------------------------------------------
-function UUIDcreatePart(length) {
- var uuidpart = "";
- for (var i=0; i<length; i++) {
+// ------------------------------------------------------------------------------
+function UUIDcreatePart (length) {
+ var uuidpart = '';
+ for (var i = 0; i < length; i++) {
var uuidchar = parseInt((Math.random() * 256), 10).toString(16);
- if (uuidchar.length == 1) {
- uuidchar = "0" + uuidchar;
+ if (uuidchar.length === 1) {
+ uuidchar = '0' + uuidchar;
}
uuidpart += uuidchar;
}
@@ -1832,7 +1817,7 @@
/**
* Create a UUID
*/
-utils.createUUID = function() {
+utils.createUUID = function () {
return UUIDcreatePart(4) + '-' +
UUIDcreatePart(2) + '-' +
UUIDcreatePart(2) + '-' +
@@ -1840,16 +1825,15 @@
UUIDcreatePart(6);
};
-
/**
* Extends a child object from a parent object using classical inheritance
* pattern.
*/
-utils.extend = (function() {
+utils.extend = (function () {
// proxy used to establish prototype chain
- var F = function() {};
+ var F = function () {};
// extend Child from Parent
- return function(Child, Parent) {
+ return function (Child, Parent) {
F.prototype = Parent.prototype;
Child.prototype = new F();
@@ -1861,7 +1845,7 @@
/**
* Alerts a message in any available way: alert or console.log.
*/
-utils.alert = function(msg) {
+utils.alert = function (msg) {
if (window.alert) {
window.alert(msg);
} else if (console && console.log) {
@@ -1869,10 +1853,6 @@
}
};
-
-
-
-
});
window.cordova = require('cordova');
@@ -1880,4 +1860,4 @@
require('cordova/init');
-})();
+})();
\ No newline at end of file