cordova-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From an-s...@apache.org
Subject [28/51] [partial] cordova-windows git commit: CB-11334 Merge changes from 4.4.x release branch into master
Date Thu, 09 Jun 2016 07:47:19 GMT
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/trim.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/trim.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/trim.js
new file mode 100644
index 0000000..22cd38a
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/trim.js
@@ -0,0 +1,42 @@
+var baseToString = require('../internal/baseToString'),
+    charsLeftIndex = require('../internal/charsLeftIndex'),
+    charsRightIndex = require('../internal/charsRightIndex'),
+    isIterateeCall = require('../internal/isIterateeCall'),
+    trimmedLeftIndex = require('../internal/trimmedLeftIndex'),
+    trimmedRightIndex = require('../internal/trimmedRightIndex');
+
+/**
+ * Removes leading and trailing whitespace or specified characters from `string`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to trim.
+ * @param {string} [chars=whitespace] The characters to trim.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {string} Returns the trimmed string.
+ * @example
+ *
+ * _.trim('  abc  ');
+ * // => 'abc'
+ *
+ * _.trim('-_-abc-_-', '_-');
+ * // => 'abc'
+ *
+ * _.map(['  foo  ', '  bar  '], _.trim);
+ * // => ['foo', 'bar']
+ */
+function trim(string, chars, guard) {
+  var value = string;
+  string = baseToString(string);
+  if (!string) {
+    return string;
+  }
+  if (guard ? isIterateeCall(value, chars, guard) : chars == null) {
+    return string.slice(trimmedLeftIndex(string), trimmedRightIndex(string) + 1);
+  }
+  chars = (chars + '');
+  return string.slice(charsLeftIndex(string, chars), charsRightIndex(string, chars) + 1);
+}
+
+module.exports = trim;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/trimLeft.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/trimLeft.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/trimLeft.js
new file mode 100644
index 0000000..2929967
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/trimLeft.js
@@ -0,0 +1,36 @@
+var baseToString = require('../internal/baseToString'),
+    charsLeftIndex = require('../internal/charsLeftIndex'),
+    isIterateeCall = require('../internal/isIterateeCall'),
+    trimmedLeftIndex = require('../internal/trimmedLeftIndex');
+
+/**
+ * Removes leading whitespace or specified characters from `string`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to trim.
+ * @param {string} [chars=whitespace] The characters to trim.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {string} Returns the trimmed string.
+ * @example
+ *
+ * _.trimLeft('  abc  ');
+ * // => 'abc  '
+ *
+ * _.trimLeft('-_-abc-_-', '_-');
+ * // => 'abc-_-'
+ */
+function trimLeft(string, chars, guard) {
+  var value = string;
+  string = baseToString(string);
+  if (!string) {
+    return string;
+  }
+  if (guard ? isIterateeCall(value, chars, guard) : chars == null) {
+    return string.slice(trimmedLeftIndex(string));
+  }
+  return string.slice(charsLeftIndex(string, (chars + '')));
+}
+
+module.exports = trimLeft;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/trimRight.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/trimRight.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/trimRight.js
new file mode 100644
index 0000000..0f9be71
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/trimRight.js
@@ -0,0 +1,36 @@
+var baseToString = require('../internal/baseToString'),
+    charsRightIndex = require('../internal/charsRightIndex'),
+    isIterateeCall = require('../internal/isIterateeCall'),
+    trimmedRightIndex = require('../internal/trimmedRightIndex');
+
+/**
+ * Removes trailing whitespace or specified characters from `string`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to trim.
+ * @param {string} [chars=whitespace] The characters to trim.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {string} Returns the trimmed string.
+ * @example
+ *
+ * _.trimRight('  abc  ');
+ * // => '  abc'
+ *
+ * _.trimRight('-_-abc-_-', '_-');
+ * // => '-_-abc'
+ */
+function trimRight(string, chars, guard) {
+  var value = string;
+  string = baseToString(string);
+  if (!string) {
+    return string;
+  }
+  if (guard ? isIterateeCall(value, chars, guard) : chars == null) {
+    return string.slice(0, trimmedRightIndex(string) + 1);
+  }
+  return string.slice(0, charsRightIndex(string, (chars + '')) + 1);
+}
+
+module.exports = trimRight;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/trunc.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/trunc.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/trunc.js
new file mode 100644
index 0000000..29e1939
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/trunc.js
@@ -0,0 +1,105 @@
+var baseToString = require('../internal/baseToString'),
+    isIterateeCall = require('../internal/isIterateeCall'),
+    isObject = require('../lang/isObject'),
+    isRegExp = require('../lang/isRegExp');
+
+/** Used as default options for `_.trunc`. */
+var DEFAULT_TRUNC_LENGTH = 30,
+    DEFAULT_TRUNC_OMISSION = '...';
+
+/** Used to match `RegExp` flags from their coerced string values. */
+var reFlags = /\w*$/;
+
+/**
+ * Truncates `string` if it's longer than the given maximum string length.
+ * The last characters of the truncated string are replaced with the omission
+ * string which defaults to "...".
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to truncate.
+ * @param {Object|number} [options] The options object or maximum string length.
+ * @param {number} [options.length=30] The maximum string length.
+ * @param {string} [options.omission='...'] The string to indicate text is omitted.
+ * @param {RegExp|string} [options.separator] The separator pattern to truncate to.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {string} Returns the truncated string.
+ * @example
+ *
+ * _.trunc('hi-diddly-ho there, neighborino');
+ * // => 'hi-diddly-ho there, neighbo...'
+ *
+ * _.trunc('hi-diddly-ho there, neighborino', 24);
+ * // => 'hi-diddly-ho there, n...'
+ *
+ * _.trunc('hi-diddly-ho there, neighborino', {
+ *   'length': 24,
+ *   'separator': ' '
+ * });
+ * // => 'hi-diddly-ho there,...'
+ *
+ * _.trunc('hi-diddly-ho there, neighborino', {
+ *   'length': 24,
+ *   'separator': /,? +/
+ * });
+ * // => 'hi-diddly-ho there...'
+ *
+ * _.trunc('hi-diddly-ho there, neighborino', {
+ *   'omission': ' [...]'
+ * });
+ * // => 'hi-diddly-ho there, neig [...]'
+ */
+function trunc(string, options, guard) {
+  if (guard && isIterateeCall(string, options, guard)) {
+    options = undefined;
+  }
+  var length = DEFAULT_TRUNC_LENGTH,
+      omission = DEFAULT_TRUNC_OMISSION;
+
+  if (options != null) {
+    if (isObject(options)) {
+      var separator = 'separator' in options ? options.separator : separator;
+      length = 'length' in options ? (+options.length || 0) : length;
+      omission = 'omission' in options ? baseToString(options.omission) : omission;
+    } else {
+      length = +options || 0;
+    }
+  }
+  string = baseToString(string);
+  if (length >= string.length) {
+    return string;
+  }
+  var end = length - omission.length;
+  if (end < 1) {
+    return omission;
+  }
+  var result = string.slice(0, end);
+  if (separator == null) {
+    return result + omission;
+  }
+  if (isRegExp(separator)) {
+    if (string.slice(end).search(separator)) {
+      var match,
+          newEnd,
+          substring = string.slice(0, end);
+
+      if (!separator.global) {
+        separator = RegExp(separator.source, (reFlags.exec(separator) || '') + 'g');
+      }
+      separator.lastIndex = 0;
+      while ((match = separator.exec(substring))) {
+        newEnd = match.index;
+      }
+      result = result.slice(0, newEnd == null ? end : newEnd);
+    }
+  } else if (string.indexOf(separator, end) != end) {
+    var index = result.lastIndexOf(separator);
+    if (index > -1) {
+      result = result.slice(0, index);
+    }
+  }
+  return result + omission;
+}
+
+module.exports = trunc;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/unescape.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/unescape.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/unescape.js
new file mode 100644
index 0000000..b0266a7
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/unescape.js
@@ -0,0 +1,33 @@
+var baseToString = require('../internal/baseToString'),
+    unescapeHtmlChar = require('../internal/unescapeHtmlChar');
+
+/** Used to match HTML entities and HTML characters. */
+var reEscapedHtml = /&(?:amp|lt|gt|quot|#39|#96);/g,
+    reHasEscapedHtml = RegExp(reEscapedHtml.source);
+
+/**
+ * The inverse of `_.escape`; this method converts the HTML entities
+ * `&amp;`, `&lt;`, `&gt;`, `&quot;`, `&#39;`, and `&#96;` in `string` to their
+ * corresponding characters.
+ *
+ * **Note:** No other HTML entities are unescaped. To unescape additional HTML
+ * entities use a third-party library like [_he_](https://mths.be/he).
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to unescape.
+ * @returns {string} Returns the unescaped string.
+ * @example
+ *
+ * _.unescape('fred, barney, &amp; pebbles');
+ * // => 'fred, barney, & pebbles'
+ */
+function unescape(string) {
+  string = baseToString(string);
+  return (string && reHasEscapedHtml.test(string))
+    ? string.replace(reEscapedHtml, unescapeHtmlChar)
+    : string;
+}
+
+module.exports = unescape;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/words.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/words.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/words.js
new file mode 100644
index 0000000..3013ad6
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/words.js
@@ -0,0 +1,38 @@
+var baseToString = require('../internal/baseToString'),
+    isIterateeCall = require('../internal/isIterateeCall');
+
+/** Used to match words to create compound words. */
+var reWords = (function() {
+  var upper = '[A-Z\\xc0-\\xd6\\xd8-\\xde]',
+      lower = '[a-z\\xdf-\\xf6\\xf8-\\xff]+';
+
+  return RegExp(upper + '+(?=' + upper + lower + ')|' + upper + '?' + lower + '|' + upper + '+|[0-9]+', 'g');
+}());
+
+/**
+ * Splits `string` into an array of its words.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to inspect.
+ * @param {RegExp|string} [pattern] The pattern to match words.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Array} Returns the words of `string`.
+ * @example
+ *
+ * _.words('fred, barney, & pebbles');
+ * // => ['fred', 'barney', 'pebbles']
+ *
+ * _.words('fred, barney, & pebbles', /[^, ]+/g);
+ * // => ['fred', 'barney', '&', 'pebbles']
+ */
+function words(string, pattern, guard) {
+  if (guard && isIterateeCall(string, pattern, guard)) {
+    pattern = undefined;
+  }
+  string = baseToString(string);
+  return string.match(pattern || reWords) || [];
+}
+
+module.exports = words;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/support.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/support.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/support.js
new file mode 100644
index 0000000..5009c2c
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/support.js
@@ -0,0 +1,10 @@
+/**
+ * An object environment feature flags.
+ *
+ * @static
+ * @memberOf _
+ * @type Object
+ */
+var support = {};
+
+module.exports = support;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility.js
new file mode 100644
index 0000000..25311fa
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility.js
@@ -0,0 +1,18 @@
+module.exports = {
+  'attempt': require('./utility/attempt'),
+  'callback': require('./utility/callback'),
+  'constant': require('./utility/constant'),
+  'identity': require('./utility/identity'),
+  'iteratee': require('./utility/iteratee'),
+  'matches': require('./utility/matches'),
+  'matchesProperty': require('./utility/matchesProperty'),
+  'method': require('./utility/method'),
+  'methodOf': require('./utility/methodOf'),
+  'mixin': require('./utility/mixin'),
+  'noop': require('./utility/noop'),
+  'property': require('./utility/property'),
+  'propertyOf': require('./utility/propertyOf'),
+  'range': require('./utility/range'),
+  'times': require('./utility/times'),
+  'uniqueId': require('./utility/uniqueId')
+};

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/attempt.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/attempt.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/attempt.js
new file mode 100644
index 0000000..8d8fb98
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/attempt.js
@@ -0,0 +1,32 @@
+var isError = require('../lang/isError'),
+    restParam = require('../function/restParam');
+
+/**
+ * Attempts to invoke `func`, returning either the result or the caught error
+ * object. Any additional arguments are provided to `func` when it's invoked.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Function} func The function to attempt.
+ * @returns {*} Returns the `func` result or error object.
+ * @example
+ *
+ * // avoid throwing errors for invalid selectors
+ * var elements = _.attempt(function(selector) {
+ *   return document.querySelectorAll(selector);
+ * }, '>_>');
+ *
+ * if (_.isError(elements)) {
+ *   elements = [];
+ * }
+ */
+var attempt = restParam(function(func, args) {
+  try {
+    return func.apply(undefined, args);
+  } catch(e) {
+    return isError(e) ? e : new Error(e);
+  }
+});
+
+module.exports = attempt;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/callback.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/callback.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/callback.js
new file mode 100644
index 0000000..21223d0
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/callback.js
@@ -0,0 +1,53 @@
+var baseCallback = require('../internal/baseCallback'),
+    isIterateeCall = require('../internal/isIterateeCall'),
+    isObjectLike = require('../internal/isObjectLike'),
+    matches = require('./matches');
+
+/**
+ * Creates a function that invokes `func` with the `this` binding of `thisArg`
+ * and arguments of the created function. If `func` is a property name the
+ * created callback returns the property value for a given element. If `func`
+ * is an object the created callback returns `true` for elements that contain
+ * the equivalent object properties, otherwise it returns `false`.
+ *
+ * @static
+ * @memberOf _
+ * @alias iteratee
+ * @category Utility
+ * @param {*} [func=_.identity] The value to convert to a callback.
+ * @param {*} [thisArg] The `this` binding of `func`.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Function} Returns the callback.
+ * @example
+ *
+ * var users = [
+ *   { 'user': 'barney', 'age': 36 },
+ *   { 'user': 'fred',   'age': 40 }
+ * ];
+ *
+ * // wrap to create custom callback shorthands
+ * _.callback = _.wrap(_.callback, function(callback, func, thisArg) {
+ *   var match = /^(.+?)__([gl]t)(.+)$/.exec(func);
+ *   if (!match) {
+ *     return callback(func, thisArg);
+ *   }
+ *   return function(object) {
+ *     return match[2] == 'gt'
+ *       ? object[match[1]] > match[3]
+ *       : object[match[1]] < match[3];
+ *   };
+ * });
+ *
+ * _.filter(users, 'age__gt36');
+ * // => [{ 'user': 'fred', 'age': 40 }]
+ */
+function callback(func, thisArg, guard) {
+  if (guard && isIterateeCall(func, thisArg, guard)) {
+    thisArg = undefined;
+  }
+  return isObjectLike(func)
+    ? matches(func)
+    : baseCallback(func, thisArg);
+}
+
+module.exports = callback;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/constant.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/constant.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/constant.js
new file mode 100644
index 0000000..6919b76
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/constant.js
@@ -0,0 +1,23 @@
+/**
+ * Creates a function that returns `value`.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {*} value The value to return from the new function.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var object = { 'user': 'fred' };
+ * var getter = _.constant(object);
+ *
+ * getter() === object;
+ * // => true
+ */
+function constant(value) {
+  return function() {
+    return value;
+  };
+}
+
+module.exports = constant;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/identity.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/identity.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/identity.js
new file mode 100644
index 0000000..3a1d1d4
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/identity.js
@@ -0,0 +1,20 @@
+/**
+ * This method returns the first argument provided to it.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {*} value Any value.
+ * @returns {*} Returns `value`.
+ * @example
+ *
+ * var object = { 'user': 'fred' };
+ *
+ * _.identity(object) === object;
+ * // => true
+ */
+function identity(value) {
+  return value;
+}
+
+module.exports = identity;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/iteratee.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/iteratee.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/iteratee.js
new file mode 100644
index 0000000..fcfa202
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/iteratee.js
@@ -0,0 +1 @@
+module.exports = require('./callback');

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/matches.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/matches.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/matches.js
new file mode 100644
index 0000000..a182637
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/matches.js
@@ -0,0 +1,33 @@
+var baseClone = require('../internal/baseClone'),
+    baseMatches = require('../internal/baseMatches');
+
+/**
+ * Creates a function that performs a deep comparison between a given object
+ * and `source`, returning `true` if the given object has equivalent property
+ * values, else `false`.
+ *
+ * **Note:** This method supports comparing arrays, booleans, `Date` objects,
+ * numbers, `Object` objects, regexes, and strings. Objects are compared by
+ * their own, not inherited, enumerable properties. For comparing a single
+ * own or inherited property value see `_.matchesProperty`.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Object} source The object of property values to match.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var users = [
+ *   { 'user': 'barney', 'age': 36, 'active': true },
+ *   { 'user': 'fred',   'age': 40, 'active': false }
+ * ];
+ *
+ * _.filter(users, _.matches({ 'age': 40, 'active': false }));
+ * // => [{ 'user': 'fred', 'age': 40, 'active': false }]
+ */
+function matches(source) {
+  return baseMatches(baseClone(source, true));
+}
+
+module.exports = matches;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/matchesProperty.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/matchesProperty.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/matchesProperty.js
new file mode 100644
index 0000000..91e51a5
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/matchesProperty.js
@@ -0,0 +1,32 @@
+var baseClone = require('../internal/baseClone'),
+    baseMatchesProperty = require('../internal/baseMatchesProperty');
+
+/**
+ * Creates a function that compares the property value of `path` on a given
+ * object to `value`.
+ *
+ * **Note:** This method supports comparing arrays, booleans, `Date` objects,
+ * numbers, `Object` objects, regexes, and strings. Objects are compared by
+ * their own, not inherited, enumerable properties.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Array|string} path The path of the property to get.
+ * @param {*} srcValue The value to match.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var users = [
+ *   { 'user': 'barney' },
+ *   { 'user': 'fred' }
+ * ];
+ *
+ * _.find(users, _.matchesProperty('user', 'fred'));
+ * // => { 'user': 'fred' }
+ */
+function matchesProperty(path, srcValue) {
+  return baseMatchesProperty(path, baseClone(srcValue, true));
+}
+
+module.exports = matchesProperty;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/method.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/method.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/method.js
new file mode 100644
index 0000000..e315b7f
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/method.js
@@ -0,0 +1,33 @@
+var invokePath = require('../internal/invokePath'),
+    restParam = require('../function/restParam');
+
+/**
+ * Creates a function that invokes the method at `path` on a given object.
+ * Any additional arguments are provided to the invoked method.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Array|string} path The path of the method to invoke.
+ * @param {...*} [args] The arguments to invoke the method with.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var objects = [
+ *   { 'a': { 'b': { 'c': _.constant(2) } } },
+ *   { 'a': { 'b': { 'c': _.constant(1) } } }
+ * ];
+ *
+ * _.map(objects, _.method('a.b.c'));
+ * // => [2, 1]
+ *
+ * _.invoke(_.sortBy(objects, _.method(['a', 'b', 'c'])), 'a.b.c');
+ * // => [1, 2]
+ */
+var method = restParam(function(path, args) {
+  return function(object) {
+    return invokePath(object, path, args);
+  };
+});
+
+module.exports = method;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/methodOf.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/methodOf.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/methodOf.js
new file mode 100644
index 0000000..f61b782
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/methodOf.js
@@ -0,0 +1,32 @@
+var invokePath = require('../internal/invokePath'),
+    restParam = require('../function/restParam');
+
+/**
+ * The opposite of `_.method`; this method creates a function that invokes
+ * the method at a given path on `object`. Any additional arguments are
+ * provided to the invoked method.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Object} object The object to query.
+ * @param {...*} [args] The arguments to invoke the method with.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var array = _.times(3, _.constant),
+ *     object = { 'a': array, 'b': array, 'c': array };
+ *
+ * _.map(['a[2]', 'c[0]'], _.methodOf(object));
+ * // => [2, 0]
+ *
+ * _.map([['a', '2'], ['c', '0']], _.methodOf(object));
+ * // => [2, 0]
+ */
+var methodOf = restParam(function(object, args) {
+  return function(path) {
+    return invokePath(object, path, args);
+  };
+});
+
+module.exports = methodOf;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/mixin.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/mixin.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/mixin.js
new file mode 100644
index 0000000..5c4a372
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/mixin.js
@@ -0,0 +1,82 @@
+var arrayCopy = require('../internal/arrayCopy'),
+    arrayPush = require('../internal/arrayPush'),
+    baseFunctions = require('../internal/baseFunctions'),
+    isFunction = require('../lang/isFunction'),
+    isObject = require('../lang/isObject'),
+    keys = require('../object/keys');
+
+/**
+ * Adds all own enumerable function properties of a source object to the
+ * destination object. If `object` is a function then methods are added to
+ * its prototype as well.
+ *
+ * **Note:** Use `_.runInContext` to create a pristine `lodash` function to
+ * avoid conflicts caused by modifying the original.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Function|Object} [object=lodash] The destination object.
+ * @param {Object} source The object of functions to add.
+ * @param {Object} [options] The options object.
+ * @param {boolean} [options.chain=true] Specify whether the functions added
+ *  are chainable.
+ * @returns {Function|Object} Returns `object`.
+ * @example
+ *
+ * function vowels(string) {
+ *   return _.filter(string, function(v) {
+ *     return /[aeiou]/i.test(v);
+ *   });
+ * }
+ *
+ * _.mixin({ 'vowels': vowels });
+ * _.vowels('fred');
+ * // => ['e']
+ *
+ * _('fred').vowels().value();
+ * // => ['e']
+ *
+ * _.mixin({ 'vowels': vowels }, { 'chain': false });
+ * _('fred').vowels();
+ * // => ['e']
+ */
+function mixin(object, source, options) {
+  var methodNames = baseFunctions(source, keys(source));
+
+  var chain = true,
+      index = -1,
+      isFunc = isFunction(object),
+      length = methodNames.length;
+
+  if (options === false) {
+    chain = false;
+  } else if (isObject(options) && 'chain' in options) {
+    chain = options.chain;
+  }
+  while (++index < length) {
+    var methodName = methodNames[index],
+        func = source[methodName];
+
+    object[methodName] = func;
+    if (isFunc) {
+      object.prototype[methodName] = (function(func) {
+        return function() {
+          var chainAll = this.__chain__;
+          if (chain || chainAll) {
+            var result = object(this.__wrapped__),
+                actions = result.__actions__ = arrayCopy(this.__actions__);
+
+            actions.push({ 'func': func, 'args': arguments, 'thisArg': object });
+            result.__chain__ = chainAll;
+            return result;
+          }
+          return func.apply(object, arrayPush([this.value()], arguments));
+        };
+      }(func));
+    }
+  }
+  return object;
+}
+
+module.exports = mixin;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/noop.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/noop.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/noop.js
new file mode 100644
index 0000000..56d6513
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/noop.js
@@ -0,0 +1,19 @@
+/**
+ * A no-operation function that returns `undefined` regardless of the
+ * arguments it receives.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @example
+ *
+ * var object = { 'user': 'fred' };
+ *
+ * _.noop(object) === undefined;
+ * // => true
+ */
+function noop() {
+  // No operation performed.
+}
+
+module.exports = noop;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/property.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/property.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/property.js
new file mode 100644
index 0000000..ddfd597
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/property.js
@@ -0,0 +1,31 @@
+var baseProperty = require('../internal/baseProperty'),
+    basePropertyDeep = require('../internal/basePropertyDeep'),
+    isKey = require('../internal/isKey');
+
+/**
+ * Creates a function that returns the property value at `path` on a
+ * given object.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Array|string} path The path of the property to get.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var objects = [
+ *   { 'a': { 'b': { 'c': 2 } } },
+ *   { 'a': { 'b': { 'c': 1 } } }
+ * ];
+ *
+ * _.map(objects, _.property('a.b.c'));
+ * // => [2, 1]
+ *
+ * _.pluck(_.sortBy(objects, _.property(['a', 'b', 'c'])), 'a.b.c');
+ * // => [1, 2]
+ */
+function property(path) {
+  return isKey(path) ? baseProperty(path) : basePropertyDeep(path);
+}
+
+module.exports = property;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/propertyOf.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/propertyOf.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/propertyOf.js
new file mode 100644
index 0000000..593a266
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/propertyOf.js
@@ -0,0 +1,30 @@
+var baseGet = require('../internal/baseGet'),
+    toPath = require('../internal/toPath');
+
+/**
+ * The opposite of `_.property`; this method creates a function that returns
+ * the property value at a given path on `object`.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Object} object The object to query.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var array = [0, 1, 2],
+ *     object = { 'a': array, 'b': array, 'c': array };
+ *
+ * _.map(['a[2]', 'c[0]'], _.propertyOf(object));
+ * // => [2, 0]
+ *
+ * _.map([['a', '2'], ['c', '0']], _.propertyOf(object));
+ * // => [2, 0]
+ */
+function propertyOf(object) {
+  return function(path) {
+    return baseGet(object, toPath(path), (path + ''));
+  };
+}
+
+module.exports = propertyOf;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/range.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/range.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/range.js
new file mode 100644
index 0000000..671939a
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/range.js
@@ -0,0 +1,66 @@
+var isIterateeCall = require('../internal/isIterateeCall');
+
+/* Native method references for those with the same name as other `lodash` methods. */
+var nativeCeil = Math.ceil,
+    nativeMax = Math.max;
+
+/**
+ * Creates an array of numbers (positive and/or negative) progressing from
+ * `start` up to, but not including, `end`. If `end` is not specified it's
+ * set to `start` with `start` then set to `0`. If `end` is less than `start`
+ * a zero-length range is created unless a negative `step` is specified.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {number} [start=0] The start of the range.
+ * @param {number} end The end of the range.
+ * @param {number} [step=1] The value to increment or decrement by.
+ * @returns {Array} Returns the new array of numbers.
+ * @example
+ *
+ * _.range(4);
+ * // => [0, 1, 2, 3]
+ *
+ * _.range(1, 5);
+ * // => [1, 2, 3, 4]
+ *
+ * _.range(0, 20, 5);
+ * // => [0, 5, 10, 15]
+ *
+ * _.range(0, -4, -1);
+ * // => [0, -1, -2, -3]
+ *
+ * _.range(1, 4, 0);
+ * // => [1, 1, 1]
+ *
+ * _.range(0);
+ * // => []
+ */
+function range(start, end, step) {
+  if (step && isIterateeCall(start, end, step)) {
+    end = step = undefined;
+  }
+  start = +start || 0;
+  step = step == null ? 1 : (+step || 0);
+
+  if (end == null) {
+    end = start;
+    start = 0;
+  } else {
+    end = +end || 0;
+  }
+  // Use `Array(length)` so engines like Chakra and V8 avoid slower modes.
+  // See https://youtu.be/XAqIpGU8ZZk#t=17m25s for more details.
+  var index = -1,
+      length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),
+      result = Array(length);
+
+  while (++index < length) {
+    result[index] = start;
+    start += step;
+  }
+  return result;
+}
+
+module.exports = range;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/times.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/times.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/times.js
new file mode 100644
index 0000000..9a41e2f
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/times.js
@@ -0,0 +1,60 @@
+var bindCallback = require('../internal/bindCallback');
+
+/* Native method references for those with the same name as other `lodash` methods. */
+var nativeFloor = Math.floor,
+    nativeIsFinite = global.isFinite,
+    nativeMin = Math.min;
+
+/** Used as references for the maximum length and index of an array. */
+var MAX_ARRAY_LENGTH = 4294967295;
+
+/**
+ * Invokes the iteratee function `n` times, returning an array of the results
+ * of each invocation. The `iteratee` is bound to `thisArg` and invoked with
+ * one argument; (index).
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {number} n The number of times to invoke `iteratee`.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Array} Returns the array of results.
+ * @example
+ *
+ * var diceRolls = _.times(3, _.partial(_.random, 1, 6, false));
+ * // => [3, 6, 4]
+ *
+ * _.times(3, function(n) {
+ *   mage.castSpell(n);
+ * });
+ * // => invokes `mage.castSpell(n)` three times with `n` of `0`, `1`, and `2`
+ *
+ * _.times(3, function(n) {
+ *   this.cast(n);
+ * }, mage);
+ * // => also invokes `mage.castSpell(n)` three times
+ */
+function times(n, iteratee, thisArg) {
+  n = nativeFloor(n);
+
+  // Exit early to avoid a JSC JIT bug in Safari 8
+  // where `Array(0)` is treated as `Array(1)`.
+  if (n < 1 || !nativeIsFinite(n)) {
+    return [];
+  }
+  var index = -1,
+      result = Array(nativeMin(n, MAX_ARRAY_LENGTH));
+
+  iteratee = bindCallback(iteratee, thisArg, 1);
+  while (++index < n) {
+    if (index < MAX_ARRAY_LENGTH) {
+      result[index] = iteratee(index);
+    } else {
+      iteratee(index);
+    }
+  }
+  return result;
+}
+
+module.exports = times;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/uniqueId.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/uniqueId.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/uniqueId.js
new file mode 100644
index 0000000..88e02bf
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/uniqueId.js
@@ -0,0 +1,27 @@
+var baseToString = require('../internal/baseToString');
+
+/** Used to generate unique IDs. */
+var idCounter = 0;
+
+/**
+ * Generates a unique ID. If `prefix` is provided the ID is appended to it.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {string} [prefix] The value to prefix the ID with.
+ * @returns {string} Returns the unique ID.
+ * @example
+ *
+ * _.uniqueId('contact_');
+ * // => 'contact_104'
+ *
+ * _.uniqueId();
+ * // => '105'
+ */
+function uniqueId(prefix) {
+  var id = ++idCounter;
+  return baseToString(prefix) + id;
+}
+
+module.exports = uniqueId;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/package.json
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/package.json b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/package.json
new file mode 100644
index 0000000..e6c6948
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/package.json
@@ -0,0 +1,48 @@
+{
+  "name": "xmlbuilder",
+  "version": "4.0.0",
+  "keywords": [
+    "xml",
+    "xmlbuilder"
+  ],
+  "homepage": "http://github.com/oozcitak/xmlbuilder-js",
+  "description": "An XML builder for node.js",
+  "author": {
+    "name": "Ozgur Ozcitak",
+    "email": "oozcitak@gmail.com"
+  },
+  "contributors": [],
+  "license": "MIT",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/oozcitak/xmlbuilder-js.git"
+  },
+  "bugs": {
+    "url": "http://github.com/oozcitak/xmlbuilder-js/issues"
+  },
+  "main": "./lib/index",
+  "engines": {
+    "node": ">=0.8.0"
+  },
+  "dependencies": {
+    "lodash": "^3.5.0"
+  },
+  "devDependencies": {
+    "coffee-script": "*",
+    "mocha": "*",
+    "coffee-coverage": "*",
+    "istanbul": "*",
+    "coveralls": "*"
+  },
+  "scripts": {
+    "prepublish": "coffee -co lib src",
+    "postpublish": "rm -rf lib",
+    "test": "mocha && istanbul report text lcov"
+  },
+  "readme": "# xmlbuilder-js\n\nAn XML builder for [node.js](https://nodejs.org/) similar to \n[java-xmlbuilder](https://github.com/jmurty/java-xmlbuilder).\n\n[![License](http://img.shields.io/npm/l/xmlbuilder.svg?style=flat-square)](http://opensource.org/licenses/MIT)\n[![NPM Version](http://img.shields.io/npm/v/xmlbuilder.svg?style=flat-square)](https://npmjs.com/package/xmlbuilder)\n[![NPM Downloads](https://img.shields.io/npm/dm/xmlbuilder.svg?style=flat-square)](https://npmjs.com/package/xmlbuilder)\n\n[![Build Status](http://img.shields.io/travis/oozcitak/xmlbuilder-js.svg?style=flat-square)](http://travis-ci.org/oozcitak/xmlbuilder-js)\n[![Dependency Status](http://img.shields.io/david/oozcitak/xmlbuilder-js.svg?style=flat-square)](https://david-dm.org/oozcitak/xmlbuilder-js)\n[![Dev Dependency Status](http://img.shields.io/david/dev/oozcitak/xmlbuilder-js.svg?style=flat-square)](https://david-dm.org/oozcitak/xmlbuilder-js)\n[![Code Coverage](https://img.shields.io/coveralls
 /oozcitak/xmlbuilder-js.svg?style=flat-square)](https://coveralls.io/github/oozcitak/xmlbuilder-js)\n\n### Installation:\n\n``` sh\nnpm install xmlbuilder\n```\n\n### Usage:\n\n``` js\nvar builder = require('xmlbuilder');\nvar xml = builder.create('root')\n  .ele('xmlbuilder')\n    .ele('repo', {'type': 'git'}, 'git://github.com/oozcitak/xmlbuilder-js.git')\n  .end({ pretty: true});\n    \nconsole.log(xml);\n```\n\nwill result in:\n\n``` xml\n<?xml version=\"1.0\"?>\n<root>\n  <xmlbuilder>\n    <repo type=\"git\">git://github.com/oozcitak/xmlbuilder-js.git</repo>\n  </xmlbuilder>\n</root>\n```\n\nIt is also possible to convert objects into nodes:\n\n``` js\nbuilder.create({\n  root: {\n    xmlbuilder: {\n      repo: {\n        '@type': 'git', // attributes start with @\n        '#text': 'git://github.com/oozcitak/xmlbuilder-js.git' // text node\n      }\n    }\n  }\n});\n```\n\nIf you need to do some processing:\n\n``` js\nvar root = builder.create('squares');\nroot.com('f(x) = x^2'
 );\nfor(var i = 1; i <= 5; i++)\n{\n  var item = root.ele('data');\n  item.att('x', i);\n  item.att('y', i * i);\n}\n```\n\nThis will result in:\n\n``` xml\n<?xml version=\"1.0\"?>\n<squares>\n  <!-- f(x) = x^2 -->\n  <data x=\"1\" y=\"1\"/>\n  <data x=\"2\" y=\"4\"/>\n  <data x=\"3\" y=\"9\"/>\n  <data x=\"4\" y=\"16\"/>\n  <data x=\"5\" y=\"25\"/>\n</squares>\n```\n\nSee the [wiki](https://github.com/oozcitak/xmlbuilder-js/wiki) for details.\n",
+  "readmeFilename": "README.md",
+  "_id": "xmlbuilder@4.0.0",
+  "_shasum": "98b8f651ca30aa624036f127d11cc66dc7b907a3",
+  "_resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.0.0.tgz",
+  "_from": "xmlbuilder@4.0.0"
+}

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/.npmignore
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/.npmignore b/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/.npmignore
new file mode 100644
index 0000000..b094a44
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/.npmignore
@@ -0,0 +1,5 @@
+test
+t
+travis.yml
+.project
+changelog

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/.travis.yml
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/.travis.yml b/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/.travis.yml
new file mode 100644
index 0000000..b95408e
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/.travis.yml
@@ -0,0 +1,22 @@
+language: node_js
+
+node_js:
+  - '0.10'
+
+branches:
+  only:
+    - master
+    - proof
+    - travis-ci
+
+# Not using `npm install --dev` because it is recursive. It will pull in the all
+# development dependencies for CoffeeScript. Way too much spew in the Travis CI
+# build output.
+
+before_install:
+  - npm install
+  - npm install istanbul coveralls
+
+env:
+  global:
+  - secure: "BxUHTsa1WVANLQoimilbZwa1MCWSdM9hOmPWBE/rsYb7uT/iiqkRXXwnWhKtN5CLvTvIQbiAzq4iyPID0S8UHrnxClYQrOuA6QkrtwgIEuDAmijao/bgxobPOremvkwXcpMGIwzYKyYQQtSEaEIQbqf6gSSKW9dBh/GZ/vfTsqo="

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/LICENSE
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/LICENSE b/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/LICENSE
new file mode 100644
index 0000000..68a9b5e
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/LICENSE
@@ -0,0 +1,8 @@
+You can choose any one of those:
+
+The MIT License (MIT):
+
+link:http://opensource.org/licenses/MIT
+
+LGPL:
+http://www.gnu.org/licenses/lgpl.html

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/__package__.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/__package__.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/__package__.js
new file mode 100644
index 0000000..b4cad28
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/__package__.js
@@ -0,0 +1,4 @@
+this.addScript('dom.js',['DOMImplementation','XMLSerializer']);
+this.addScript('dom-parser.js',['DOMHandler','DOMParser'],
+		['DOMImplementation','XMLReader']);
+this.addScript('sax.js','XMLReader');
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/changelog
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/changelog b/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/changelog
new file mode 100644
index 0000000..ab815bb
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/changelog
@@ -0,0 +1,14 @@
+### Version 0.1.16
+
+Sat May  4 14:58:03 UTC 2013
+
+ * Correctly handle multibyte Unicode greater than two byts. #57. #56.
+ * Initial unit testing and test coverage. #53. #46. #19.
+ * Create Bower `component.json` #52.
+
+### Version 0.1.8
+
+ * Add: some test case from node-o3-xml(excludes xpath support)
+ * Fix: remove existed attribute before setting  (bug introduced in v0.1.5)
+ * Fix: index direct access for childNodes and any NodeList collection(not w3c standard)
+ * Fix: remove last child bug

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/component.json
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/component.json b/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/component.json
new file mode 100644
index 0000000..93b4d57
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/component.json
@@ -0,0 +1,10 @@
+{
+  "name": "xmldom",
+  "version": "0.1.15",
+  "main": "dom-parser.js",
+  "ignore": [
+    "**/.*",
+    "node_modules",
+    "components"
+  ]
+}

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/04a29042/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/dom-parser.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/dom-parser.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/dom-parser.js
new file mode 100644
index 0000000..08c2f70
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/dom-parser.js
@@ -0,0 +1,249 @@
+function DOMParser(options){
+	this.options = options ||{locator:{}};
+	
+}
+DOMParser.prototype.parseFromString = function(source,mimeType){	
+	var options = this.options;
+	var sax =  new XMLReader();
+	var domBuilder = options.domBuilder || new DOMHandler();//contentHandler and LexicalHandler
+	var errorHandler = options.errorHandler;
+	var locator = options.locator;
+	var defaultNSMap = options.xmlns||{};
+	var entityMap = {'lt':'<','gt':'>','amp':'&','quot':'"','apos':"'"}
+	if(locator){
+		domBuilder.setDocumentLocator(locator)
+	}
+	
+	sax.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator);
+	sax.domBuilder = options.domBuilder || domBuilder;
+	if(/\/x?html?$/.test(mimeType)){
+		entityMap.nbsp = '\xa0';
+		entityMap.copy = '\xa9';
+		defaultNSMap['']= 'http://www.w3.org/1999/xhtml';
+	}
+	defaultNSMap.xml = defaultNSMap.xml || 'http://www.w3.org/XML/1998/namespace';
+	if(source){
+		sax.parse(source,defaultNSMap,entityMap);
+	}else{
+		sax.errorHandler.error("invalid document source");
+	}
+	return domBuilder.document;
+}
+function buildErrorHandler(errorImpl,domBuilder,locator){
+	if(!errorImpl){
+		if(domBuilder instanceof DOMHandler){
+			return domBuilder;
+		}
+		errorImpl = domBuilder ;
+	}
+	var errorHandler = {}
+	var isCallback = errorImpl instanceof Function;
+	locator = locator||{}
+	function build(key){
+		var fn = errorImpl[key];
+		if(!fn && isCallback){
+			fn = errorImpl.length == 2?function(msg){errorImpl(key,msg)}:errorImpl;
+		}
+		errorHandler[key] = fn && function(msg){
+			fn('[xmldom '+key+']\t'+msg+_locator(locator));
+		}||function(){};
+	}
+	build('warning');
+	build('error');
+	build('fatalError');
+	return errorHandler;
+}
+
+//console.log('#\n\n\n\n\n\n\n####')
+/**
+ * +ContentHandler+ErrorHandler
+ * +LexicalHandler+EntityResolver2
+ * -DeclHandler-DTDHandler 
+ * 
+ * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler
+ * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2
+ * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html
+ */
+function DOMHandler() {
+    this.cdata = false;
+}
+function position(locator,node){
+	node.lineNumber = locator.lineNumber;
+	node.columnNumber = locator.columnNumber;
+}
+/**
+ * @see org.xml.sax.ContentHandler#startDocument
+ * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html
+ */ 
+DOMHandler.prototype = {
+	startDocument : function() {
+    	this.document = new DOMImplementation().createDocument(null, null, null);
+    	if (this.locator) {
+        	this.document.documentURI = this.locator.systemId;
+    	}
+	},
+	startElement:function(namespaceURI, localName, qName, attrs) {
+		var doc = this.document;
+	    var el = doc.createElementNS(namespaceURI, qName||localName);
+	    var len = attrs.length;
+	    appendElement(this, el);
+	    this.currentElement = el;
+	    
+		this.locator && position(this.locator,el)
+	    for (var i = 0 ; i < len; i++) {
+	        var namespaceURI = attrs.getURI(i);
+	        var value = attrs.getValue(i);
+	        var qName = attrs.getQName(i);
+			var attr = doc.createAttributeNS(namespaceURI, qName);
+			if( attr.getOffset){
+				position(attr.getOffset(1),attr)
+			}
+			attr.value = attr.nodeValue = value;
+			el.setAttributeNode(attr)
+	    }
+	},
+	endElement:function(namespaceURI, localName, qName) {
+		var current = this.currentElement
+	    var tagName = current.tagName;
+	    this.currentElement = current.parentNode;
+	},
+	startPrefixMapping:function(prefix, uri) {
+	},
+	endPrefixMapping:function(prefix) {
+	},
+	processingInstruction:function(target, data) {
+	    var ins = this.document.createProcessingInstruction(target, data);
+	    this.locator && position(this.locator,ins)
+	    appendElement(this, ins);
+	},
+	ignorableWhitespace:function(ch, start, length) {
+	},
+	characters:function(chars, start, length) {
+		chars = _toString.apply(this,arguments)
+		//console.log(chars)
+		if(this.currentElement && chars){
+			if (this.cdata) {
+				var charNode = this.document.createCDATASection(chars);
+				this.currentElement.appendChild(charNode);
+			} else {
+				var charNode = this.document.createTextNode(chars);
+				this.currentElement.appendChild(charNode);
+			}
+			this.locator && position(this.locator,charNode)
+		}
+	},
+	skippedEntity:function(name) {
+	},
+	endDocument:function() {
+		this.document.normalize();
+	},
+	setDocumentLocator:function (locator) {
+	    if(this.locator = locator){// && !('lineNumber' in locator)){
+	    	locator.lineNumber = 0;
+	    }
+	},
+	//LexicalHandler
+	comment:function(chars, start, length) {
+		chars = _toString.apply(this,arguments)
+	    var comm = this.document.createComment(chars);
+	    this.locator && position(this.locator,comm)
+	    appendElement(this, comm);
+	},
+	
+	startCDATA:function() {
+	    //used in characters() methods
+	    this.cdata = true;
+	},
+	endCDATA:function() {
+	    this.cdata = false;
+	},
+	
+	startDTD:function(name, publicId, systemId) {
+		var impl = this.document.implementation;
+	    if (impl && impl.createDocumentType) {
+	        var dt = impl.createDocumentType(name, publicId, systemId);
+	        this.locator && position(this.locator,dt)
+	        appendElement(this, dt);
+	    }
+	},
+	/**
+	 * @see org.xml.sax.ErrorHandler
+	 * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html
+	 */
+	warning:function(error) {
+		console.warn('[xmldom warning]\t'+error,_locator(this.locator));
+	},
+	error:function(error) {
+		console.error('[xmldom error]\t'+error,_locator(this.locator));
+	},
+	fatalError:function(error) {
+		console.error('[xmldom fatalError]\t'+error,_locator(this.locator));
+	    throw error;
+	}
+}
+function _locator(l){
+	if(l){
+		return '\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']'
+	}
+}
+function _toString(chars,start,length){
+	if(typeof chars == 'string'){
+		return chars.substr(start,length)
+	}else{//java sax connect width xmldom on rhino(what about: "? && !(chars instanceof String)")
+		if(chars.length >= start+length || start){
+			return new java.lang.String(chars,start,length)+'';
+		}
+		return chars;
+	}
+}
+
+/*
+ * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html
+ * used method of org.xml.sax.ext.LexicalHandler:
+ *  #comment(chars, start, length)
+ *  #startCDATA()
+ *  #endCDATA()
+ *  #startDTD(name, publicId, systemId)
+ *
+ *
+ * IGNORED method of org.xml.sax.ext.LexicalHandler:
+ *  #endDTD()
+ *  #startEntity(name)
+ *  #endEntity(name)
+ *
+ *
+ * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html
+ * IGNORED method of org.xml.sax.ext.DeclHandler
+ * 	#attributeDecl(eName, aName, type, mode, value)
+ *  #elementDecl(name, model)
+ *  #externalEntityDecl(name, publicId, systemId)
+ *  #internalEntityDecl(name, value)
+ * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html
+ * IGNORED method of org.xml.sax.EntityResolver2
+ *  #resolveEntity(String name,String publicId,String baseURI,String systemId)
+ *  #resolveEntity(publicId, systemId)
+ *  #getExternalSubset(name, baseURI)
+ * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html
+ * IGNORED method of org.xml.sax.DTDHandler
+ *  #notationDecl(name, publicId, systemId) {};
+ *  #unparsedEntityDecl(name, publicId, systemId, notationName) {};
+ */
+"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(key){
+	DOMHandler.prototype[key] = function(){return null}
+})
+
+/* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */
+function appendElement (hander,node) {
+    if (!hander.currentElement) {
+        hander.document.appendChild(node);
+    } else {
+        hander.currentElement.appendChild(node);
+    }
+}//appendChild and setAttributeNS are preformance key
+
+if(typeof require == 'function'){
+	var XMLReader = require('./sax').XMLReader;
+	var DOMImplementation = exports.DOMImplementation = require('./dom').DOMImplementation;
+	exports.XMLSerializer = require('./dom').XMLSerializer ;
+	exports.DOMParser = DOMParser;
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org


Mime
View raw message