You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by st...@apache.org on 2016/06/17 06:17:14 UTC
[03/32] ios commit: CB-11445 Updated checked-in node_modules
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/0d465c30/node_modules/simple-plist/node_modules/plist/dist/plist.js
----------------------------------------------------------------------
diff --git a/node_modules/simple-plist/node_modules/plist/dist/plist.js b/node_modules/simple-plist/node_modules/plist/dist/plist.js
deleted file mode 100644
index aa862c2..0000000
--- a/node_modules/simple-plist/node_modules/plist/dist/plist.js
+++ /dev/null
@@ -1,14920 +0,0 @@
-!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.plist=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
-(function (Buffer){
-
-/**
- * Module dependencies.
- */
-
-var base64 = require('base64-js');
-var xmlbuilder = require('xmlbuilder');
-
-/**
- * Module exports.
- */
-
-exports.build = build;
-
-/**
- * Accepts a `Date` instance and returns an ISO date string.
- *
- * @param {Date} d - Date instance to serialize
- * @returns {String} ISO date string representation of `d`
- * @api private
- */
-
-function ISODateString(d){
- function pad(n){
- return n < 10 ? '0' + n : n;
- }
- return d.getUTCFullYear()+'-'
- + pad(d.getUTCMonth()+1)+'-'
- + pad(d.getUTCDate())+'T'
- + pad(d.getUTCHours())+':'
- + pad(d.getUTCMinutes())+':'
- + pad(d.getUTCSeconds())+'Z';
-}
-
-/**
- * Returns the internal "type" of `obj` via the
- * `Object.prototype.toString()` trick.
- *
- * @param {Mixed} obj - any value
- * @returns {String} the internal "type" name
- * @api private
- */
-
-var toString = Object.prototype.toString;
-function type (obj) {
- var m = toString.call(obj).match(/\[object (.*)\]/);
- return m ? m[1] : m;
-}
-
-/**
- * Generate an XML plist string from the input object `obj`.
- *
- * @param {Object} obj - the object to convert
- * @param {Object} [opts] - optional options object
- * @returns {String} converted plist XML string
- * @api public
- */
-
-function build (obj, opts) {
- var XMLHDR = {
- version: '1.0',
- encoding: 'UTF-8'
- };
-
- var XMLDTD = {
- pubid: '-//Apple//DTD PLIST 1.0//EN',
- sysid: 'http://www.apple.com/DTDs/PropertyList-1.0.dtd'
- };
-
- var doc = xmlbuilder.create('plist');
-
- doc.dec(XMLHDR.version, XMLHDR.encoding, XMLHDR.standalone);
- doc.dtd(XMLDTD.pubid, XMLDTD.sysid);
- doc.att('version', '1.0');
-
- walk_obj(obj, doc);
-
- if (!opts) opts = {};
- // default `pretty` to `true`
- opts.pretty = opts.pretty !== false;
- return doc.end(opts);
-}
-
-/**
- * depth first, recursive traversal of a javascript object. when complete,
- * next_child contains a reference to the build XML object.
- *
- * @api private
- */
-
-function walk_obj(next, next_child) {
- var tag_type, i, prop;
- var name = type(next);
-
- if (Array.isArray(next)) {
- next_child = next_child.ele('array');
- for (i = 0; i < next.length; i++) {
- walk_obj(next[i], next_child);
- }
-
- } else if (Buffer.isBuffer(next)) {
- next_child.ele('data').raw(next.toString('base64'));
-
- } else if ('Object' == name) {
- next_child = next_child.ele('dict');
- for (prop in next) {
- if (next.hasOwnProperty(prop)) {
- next_child.ele('key').txt(prop);
- walk_obj(next[prop], next_child);
- }
- }
-
- } else if ('Number' == name) {
- // detect if this is an integer or real
- // TODO: add an ability to force one way or another via a "cast"
- tag_type = (next % 1 === 0) ? 'integer' : 'real';
- next_child.ele(tag_type).txt(next.toString());
-
- } else if ('Date' == name) {
- next_child.ele('date').txt(ISODateString(new Date(next)));
-
- } else if ('Boolean' == name) {
- next_child.ele(next ? 'true' : 'false');
-
- } else if ('String' == name) {
- next_child.ele('string').txt(next);
-
- } else if ('ArrayBuffer' == name) {
- next_child.ele('data').raw(base64.fromByteArray(next));
-
- } else if (next.buffer && 'ArrayBuffer' == type(next.buffer)) {
- // a typed array
- next_child.ele('data').raw(base64.fromByteArray(new Uint8Array(next.buffer), next_child));
-
- }
-}
-
-}).call(this,require("buffer").Buffer)
-},{"base64-js":5,"buffer":7,"xmlbuilder":26}],2:[function(require,module,exports){
-/**
- * Module dependencies.
- */
-
-var fs = require('fs');
-var parse = require('./parse');
-var deprecate = require('util-deprecate');
-
-/**
- * Module exports.
- */
-
-exports.parseFile = deprecate(parseFile, '`parseFile()` is deprecated. ' +
- 'Use `parseString()` instead.');
-exports.parseFileSync = deprecate(parseFileSync, '`parseFileSync()` is deprecated. ' +
- 'Use `parseStringSync()` instead.');
-
-/**
- * Parses file `filename` as a .plist file.
- * Invokes `fn` callback function when done.
- *
- * @param {String} filename - name of the file to read
- * @param {Function} fn - callback function
- * @api public
- * @deprecated use parseString() instead
- */
-
-function parseFile (filename, fn) {
- fs.readFile(filename, { encoding: 'utf8' }, onread);
- function onread (err, inxml) {
- if (err) return fn(err);
- parse.parseString(inxml, fn);
- }
-}
-
-/**
- * Parses file `filename` as a .plist file.
- * Returns a when done.
- *
- * @param {String} filename - name of the file to read
- * @param {Function} fn - callback function
- * @api public
- * @deprecated use parseStringSync() instead
- */
-
-function parseFileSync (filename) {
- var inxml = fs.readFileSync(filename, 'utf8');
- return parse.parseStringSync(inxml);
-}
-
-},{"./parse":3,"fs":6,"util-deprecate":9}],3:[function(require,module,exports){
-(function (Buffer){
-
-/**
- * Module dependencies.
- */
-
-var deprecate = require('util-deprecate');
-var DOMParser = require('xmldom').DOMParser;
-
-/**
- * Module exports.
- */
-
-exports.parse = parse;
-exports.parseString = deprecate(parseString, '`parseString()` is deprecated. ' +
- 'It\'s not actually async. Use `parse()` instead.');
-exports.parseStringSync = deprecate(parseStringSync, '`parseStringSync()` is ' +
- 'deprecated. Use `parse()` instead.');
-
-/**
- * We ignore raw text (usually whitespace), <!-- xml comments -->,
- * and raw CDATA nodes.
- *
- * @param {Element} node
- * @returns {Boolean}
- * @api private
- */
-
-function shouldIgnoreNode (node) {
- return node.nodeType === 3 // text
- || node.nodeType === 8 // comment
- || node.nodeType === 4; // cdata
-}
-
-
-/**
- * Parses a Plist XML string. Returns an Object.
- *
- * @param {String} xml - the XML String to decode
- * @returns {Mixed} the decoded value from the Plist XML
- * @api public
- */
-
-function parse (xml) {
- var doc = new DOMParser().parseFromString(xml);
- if (doc.documentElement.nodeName !== 'plist') {
- throw new Error('malformed document. First element should be <plist>');
- }
- var plist = parsePlistXML(doc.documentElement);
-
- // the root <plist> node gets interpreted as an Array,
- // so pull out the inner data first
- if (plist.length == 1) plist = plist[0];
-
- return plist;
-}
-
-/**
- * Parses a Plist XML string. Returns an Object. Takes a `callback` function.
- *
- * @param {String} xml - the XML String to decode
- * @param {Function} callback - callback function
- * @returns {Mixed} the decoded value from the Plist XML
- * @api public
- * @deprecated not actually async. use parse() instead
- */
-
-function parseString (xml, callback) {
- var doc, error, plist;
- try {
- doc = new DOMParser().parseFromString(xml);
- plist = parsePlistXML(doc.documentElement);
- } catch(e) {
- error = e;
- }
- callback(error, plist);
-}
-
-/**
- * Parses a Plist XML string. Returns an Object.
- *
- * @param {String} xml - the XML String to decode
- * @param {Function} callback - callback function
- * @returns {Mixed} the decoded value from the Plist XML
- * @api public
- * @deprecated use parse() instead
- */
-
-function parseStringSync (xml) {
- var doc = new DOMParser().parseFromString(xml);
- var plist;
- if (doc.documentElement.nodeName !== 'plist') {
- throw new Error('malformed document. First element should be <plist>');
- }
- plist = parsePlistXML(doc.documentElement);
-
- // if the plist is an array with 1 element, pull it out of the array
- if (plist.length == 1) {
- plist = plist[0];
- }
- return plist;
-}
-
-/**
- * Convert an XML based plist document into a JSON representation.
- *
- * @param {Object} xml_node - current XML node in the plist
- * @returns {Mixed} built up JSON object
- * @api private
- */
-
-function parsePlistXML (node) {
- var i, new_obj, key, val, new_arr, res, d;
-
- if (!node)
- return null;
-
- if (node.nodeName === 'plist') {
- new_arr = [];
- for (i=0; i < node.childNodes.length; i++) {
- // ignore comment nodes (text)
- if (!shouldIgnoreNode(node.childNodes[i])) {
- new_arr.push( parsePlistXML(node.childNodes[i]));
- }
- }
- return new_arr;
-
- } else if (node.nodeName === 'dict') {
- new_obj = {};
- key = null;
- for (i=0; i < node.childNodes.length; i++) {
- // ignore comment nodes (text)
- if (!shouldIgnoreNode(node.childNodes[i])) {
- if (key === null) {
- key = parsePlistXML(node.childNodes[i]);
- } else {
- new_obj[key] = parsePlistXML(node.childNodes[i]);
- key = null;
- }
- }
- }
- return new_obj;
-
- } else if (node.nodeName === 'array') {
- new_arr = [];
- for (i=0; i < node.childNodes.length; i++) {
- // ignore comment nodes (text)
- if (!shouldIgnoreNode(node.childNodes[i])) {
- res = parsePlistXML(node.childNodes[i]);
- if (null != res) new_arr.push(res);
- }
- }
- return new_arr;
-
- } else if (node.nodeName === '#text') {
- // TODO: what should we do with text types? (CDATA sections)
-
- } else if (node.nodeName === 'key') {
- return node.childNodes[0].nodeValue;
-
- } else if (node.nodeName === 'string') {
- res = '';
- for (d=0; d < node.childNodes.length; d++) {
- res += node.childNodes[d].nodeValue;
- }
- return res;
-
- } else if (node.nodeName === 'integer') {
- // parse as base 10 integer
- return parseInt(node.childNodes[0].nodeValue, 10);
-
- } else if (node.nodeName === 'real') {
- res = '';
- for (d=0; d < node.childNodes.length; d++) {
- if (node.childNodes[d].nodeType === 3) {
- res += node.childNodes[d].nodeValue;
- }
- }
- return parseFloat(res);
-
- } else if (node.nodeName === 'data') {
- res = '';
- for (d=0; d < node.childNodes.length; d++) {
- if (node.childNodes[d].nodeType === 3) {
- res += node.childNodes[d].nodeValue.replace(/\s+/g, '');
- }
- }
-
- // decode base64 data to a Buffer instance
- return new Buffer(res, 'base64');
-
- } else if (node.nodeName === 'date') {
- return new Date(node.childNodes[0].nodeValue);
-
- } else if (node.nodeName === 'true') {
- return true;
-
- } else if (node.nodeName === 'false') {
- return false;
- }
-}
-
-}).call(this,require("buffer").Buffer)
-},{"buffer":7,"util-deprecate":9,"xmldom":202}],4:[function(require,module,exports){
-
-var i;
-
-/**
- * Parser functions.
- */
-
-var parserFunctions = require('./parse');
-for (i in parserFunctions) exports[i] = parserFunctions[i];
-
-/**
- * Builder functions.
- */
-
-var builderFunctions = require('./build');
-for (i in builderFunctions) exports[i] = builderFunctions[i];
-
-/**
- * Add Node.js-specific functions (they're deprecated\u2026).
- */
-
-var nodeFunctions = require('./node');
-for (i in nodeFunctions) exports[i] = nodeFunctions[i];
-
-},{"./build":1,"./node":2,"./parse":3}],5:[function(require,module,exports){
-var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
-
-;(function (exports) {
- 'use strict';
-
- var Arr = (typeof Uint8Array !== 'undefined')
- ? Uint8Array
- : Array
-
- var ZERO = '0'.charCodeAt(0)
- var PLUS = '+'.charCodeAt(0)
- var SLASH = '/'.charCodeAt(0)
- var NUMBER = '0'.charCodeAt(0)
- var LOWER = 'a'.charCodeAt(0)
- var UPPER = 'A'.charCodeAt(0)
-
- function decode (elt) {
- var code = elt.charCodeAt(0)
- if (code === PLUS)
- return 62 // '+'
- if (code === SLASH)
- return 63 // '/'
- if (code < NUMBER)
- return -1 //no match
- if (code < NUMBER + 10)
- return code - NUMBER + 26 + 26
- if (code < UPPER + 26)
- return code - UPPER
- if (code < LOWER + 26)
- return code - LOWER + 26
- }
-
- function b64ToByteArray (b64) {
- var i, j, l, tmp, placeHolders, arr
-
- if (b64.length % 4 > 0) {
- throw new Error('Invalid string. Length must be a multiple of 4')
- }
-
- // the number of equal signs (place holders)
- // if there are two placeholders, than the two characters before it
- // represent one byte
- // if there is only one, then the three characters before it represent 2 bytes
- // this is just a cheap hack to not do indexOf twice
- var len = b64.length
- placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0
-
- // base64 is 4/3 + up to two characters of the original data
- arr = new Arr(b64.length * 3 / 4 - placeHolders)
-
- // if there are placeholders, only get up to the last complete 4 chars
- l = placeHolders > 0 ? b64.length - 4 : b64.length
-
- var L = 0
-
- function push (v) {
- arr[L++] = v
- }
-
- for (i = 0, j = 0; i < l; i += 4, j += 3) {
- tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3))
- push((tmp & 0xFF0000) >> 16)
- push((tmp & 0xFF00) >> 8)
- push(tmp & 0xFF)
- }
-
- if (placeHolders === 2) {
- tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4)
- push(tmp & 0xFF)
- } else if (placeHolders === 1) {
- tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2)
- push((tmp >> 8) & 0xFF)
- push(tmp & 0xFF)
- }
-
- return arr
- }
-
- function uint8ToBase64 (uint8) {
- var i,
- extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes
- output = "",
- temp, length
-
- function encode (num) {
- return lookup.charAt(num)
- }
-
- function tripletToBase64 (num) {
- return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F)
- }
-
- // go through the array every three bytes, we'll deal with trailing stuff later
- for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) {
- temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
- output += tripletToBase64(temp)
- }
-
- // pad the end with zeros, but make sure to not forget the extra bytes
- switch (extraBytes) {
- case 1:
- temp = uint8[uint8.length - 1]
- output += encode(temp >> 2)
- output += encode((temp << 4) & 0x3F)
- output += '=='
- break
- case 2:
- temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1])
- output += encode(temp >> 10)
- output += encode((temp >> 4) & 0x3F)
- output += encode((temp << 2) & 0x3F)
- output += '='
- break
- }
-
- return output
- }
-
- module.exports.toByteArray = b64ToByteArray
- module.exports.fromByteArray = uint8ToBase64
-}())
-
-},{}],6:[function(require,module,exports){
-
-},{}],7:[function(require,module,exports){
-/*!
- * The buffer module from node.js, for the browser.
- *
- * @author Feross Aboukhadijeh <fe...@feross.org> <http://feross.org>
- * @license MIT
- */
-
-var base64 = require('base64-js')
-var ieee754 = require('ieee754')
-
-exports.Buffer = Buffer
-exports.SlowBuffer = Buffer
-exports.INSPECT_MAX_BYTES = 50
-Buffer.poolSize = 8192
-
-/**
- * If `TYPED_ARRAY_SUPPORT`:
- * === true Use Uint8Array implementation (fastest)
- * === false Use Object implementation (most compatible, even IE6)
- *
- * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
- * Opera 11.6+, iOS 4.2+.
- *
- * Note:
- *
- * - Implementation must support adding new properties to `Uint8Array` instances.
- * Firefox 4-29 lacked support, fixed in Firefox 30+.
- * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
- *
- * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
- *
- * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
- * incorrect length in some situations.
- *
- * We detect these buggy browsers and set `TYPED_ARRAY_SUPPORT` to `false` so they will
- * get the Object implementation, which is slower but will work correctly.
- */
-var TYPED_ARRAY_SUPPORT = (function () {
- try {
- var buf = new ArrayBuffer(0)
- var arr = new Uint8Array(buf)
- arr.foo = function () { return 42 }
- return 42 === arr.foo() && // typed array instances can be augmented
- typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
- new Uint8Array(1).subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
- } catch (e) {
- return false
- }
-})()
-
-/**
- * Class: Buffer
- * =============
- *
- * The Buffer constructor returns instances of `Uint8Array` that are augmented
- * with function properties for all the node `Buffer` API functions. We use
- * `Uint8Array` so that square bracket notation works as expected -- it returns
- * a single octet.
- *
- * By augmenting the instances, we can avoid modifying the `Uint8Array`
- * prototype.
- */
-function Buffer (subject, encoding, noZero) {
- if (!(this instanceof Buffer))
- return new Buffer(subject, encoding, noZero)
-
- var type = typeof subject
-
- // Find the length
- var length
- if (type === 'number')
- length = subject > 0 ? subject >>> 0 : 0
- else if (type === 'string') {
- if (encoding === 'base64')
- subject = base64clean(subject)
- length = Buffer.byteLength(subject, encoding)
- } else if (type === 'object' && subject !== null) { // assume object is array-like
- if (subject.type === 'Buffer' && isArray(subject.data))
- subject = subject.data
- length = +subject.length > 0 ? Math.floor(+subject.length) : 0
- } else
- throw new Error('First argument needs to be a number, array or string.')
-
- var buf
- if (TYPED_ARRAY_SUPPORT) {
- // Preferred: Return an augmented `Uint8Array` instance for best performance
- buf = Buffer._augment(new Uint8Array(length))
- } else {
- // Fallback: Return THIS instance of Buffer (created by `new`)
- buf = this
- buf.length = length
- buf._isBuffer = true
- }
-
- var i
- if (TYPED_ARRAY_SUPPORT && typeof subject.byteLength === 'number') {
- // Speed optimization -- use set if we're copying from a typed array
- buf._set(subject)
- } else if (isArrayish(subject)) {
- // Treat array-ish objects as a byte array
- if (Buffer.isBuffer(subject)) {
- for (i = 0; i < length; i++)
- buf[i] = subject.readUInt8(i)
- } else {
- for (i = 0; i < length; i++)
- buf[i] = ((subject[i] % 256) + 256) % 256
- }
- } else if (type === 'string') {
- buf.write(subject, 0, encoding)
- } else if (type === 'number' && !TYPED_ARRAY_SUPPORT && !noZero) {
- for (i = 0; i < length; i++) {
- buf[i] = 0
- }
- }
-
- return buf
-}
-
-// STATIC METHODS
-// ==============
-
-Buffer.isEncoding = function (encoding) {
- switch (String(encoding).toLowerCase()) {
- case 'hex':
- case 'utf8':
- case 'utf-8':
- case 'ascii':
- case 'binary':
- case 'base64':
- case 'raw':
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- return true
- default:
- return false
- }
-}
-
-Buffer.isBuffer = function (b) {
- return !!(b != null && b._isBuffer)
-}
-
-Buffer.byteLength = function (str, encoding) {
- var ret
- str = str.toString()
- switch (encoding || 'utf8') {
- case 'hex':
- ret = str.length / 2
- break
- case 'utf8':
- case 'utf-8':
- ret = utf8ToBytes(str).length
- break
- case 'ascii':
- case 'binary':
- case 'raw':
- ret = str.length
- break
- case 'base64':
- ret = base64ToBytes(str).length
- break
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- ret = str.length * 2
- break
- default:
- throw new Error('Unknown encoding')
- }
- return ret
-}
-
-Buffer.concat = function (list, totalLength) {
- assert(isArray(list), 'Usage: Buffer.concat(list[, length])')
-
- if (list.length === 0) {
- return new Buffer(0)
- } else if (list.length === 1) {
- return list[0]
- }
-
- var i
- if (totalLength === undefined) {
- totalLength = 0
- for (i = 0; i < list.length; i++) {
- totalLength += list[i].length
- }
- }
-
- var buf = new Buffer(totalLength)
- var pos = 0
- for (i = 0; i < list.length; i++) {
- var item = list[i]
- item.copy(buf, pos)
- pos += item.length
- }
- return buf
-}
-
-Buffer.compare = function (a, b) {
- assert(Buffer.isBuffer(a) && Buffer.isBuffer(b), 'Arguments must be Buffers')
- var x = a.length
- var y = b.length
- for (var i = 0, len = Math.min(x, y); i < len && a[i] === b[i]; i++) {}
- if (i !== len) {
- x = a[i]
- y = b[i]
- }
- if (x < y) {
- return -1
- }
- if (y < x) {
- return 1
- }
- return 0
-}
-
-// BUFFER INSTANCE METHODS
-// =======================
-
-function hexWrite (buf, string, offset, length) {
- offset = Number(offset) || 0
- var remaining = buf.length - offset
- if (!length) {
- length = remaining
- } else {
- length = Number(length)
- if (length > remaining) {
- length = remaining
- }
- }
-
- // must be an even number of digits
- var strLen = string.length
- assert(strLen % 2 === 0, 'Invalid hex string')
-
- if (length > strLen / 2) {
- length = strLen / 2
- }
- for (var i = 0; i < length; i++) {
- var byte = parseInt(string.substr(i * 2, 2), 16)
- assert(!isNaN(byte), 'Invalid hex string')
- buf[offset + i] = byte
- }
- return i
-}
-
-function utf8Write (buf, string, offset, length) {
- var charsWritten = blitBuffer(utf8ToBytes(string), buf, offset, length)
- return charsWritten
-}
-
-function asciiWrite (buf, string, offset, length) {
- var charsWritten = blitBuffer(asciiToBytes(string), buf, offset, length)
- return charsWritten
-}
-
-function binaryWrite (buf, string, offset, length) {
- return asciiWrite(buf, string, offset, length)
-}
-
-function base64Write (buf, string, offset, length) {
- var charsWritten = blitBuffer(base64ToBytes(string), buf, offset, length)
- return charsWritten
-}
-
-function utf16leWrite (buf, string, offset, length) {
- var charsWritten = blitBuffer(utf16leToBytes(string), buf, offset, length)
- return charsWritten
-}
-
-Buffer.prototype.write = function (string, offset, length, encoding) {
- // Support both (string, offset, length, encoding)
- // and the legacy (string, encoding, offset, length)
- if (isFinite(offset)) {
- if (!isFinite(length)) {
- encoding = length
- length = undefined
- }
- } else { // legacy
- var swap = encoding
- encoding = offset
- offset = length
- length = swap
- }
-
- offset = Number(offset) || 0
- var remaining = this.length - offset
- if (!length) {
- length = remaining
- } else {
- length = Number(length)
- if (length > remaining) {
- length = remaining
- }
- }
- encoding = String(encoding || 'utf8').toLowerCase()
-
- var ret
- switch (encoding) {
- case 'hex':
- ret = hexWrite(this, string, offset, length)
- break
- case 'utf8':
- case 'utf-8':
- ret = utf8Write(this, string, offset, length)
- break
- case 'ascii':
- ret = asciiWrite(this, string, offset, length)
- break
- case 'binary':
- ret = binaryWrite(this, string, offset, length)
- break
- case 'base64':
- ret = base64Write(this, string, offset, length)
- break
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- ret = utf16leWrite(this, string, offset, length)
- break
- default:
- throw new Error('Unknown encoding')
- }
- return ret
-}
-
-Buffer.prototype.toString = function (encoding, start, end) {
- var self = this
-
- encoding = String(encoding || 'utf8').toLowerCase()
- start = Number(start) || 0
- end = (end === undefined) ? self.length : Number(end)
-
- // Fastpath empty strings
- if (end === start)
- return ''
-
- var ret
- switch (encoding) {
- case 'hex':
- ret = hexSlice(self, start, end)
- break
- case 'utf8':
- case 'utf-8':
- ret = utf8Slice(self, start, end)
- break
- case 'ascii':
- ret = asciiSlice(self, start, end)
- break
- case 'binary':
- ret = binarySlice(self, start, end)
- break
- case 'base64':
- ret = base64Slice(self, start, end)
- break
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- ret = utf16leSlice(self, start, end)
- break
- default:
- throw new Error('Unknown encoding')
- }
- return ret
-}
-
-Buffer.prototype.toJSON = function () {
- return {
- type: 'Buffer',
- data: Array.prototype.slice.call(this._arr || this, 0)
- }
-}
-
-Buffer.prototype.equals = function (b) {
- assert(Buffer.isBuffer(b), 'Argument must be a Buffer')
- return Buffer.compare(this, b) === 0
-}
-
-Buffer.prototype.compare = function (b) {
- assert(Buffer.isBuffer(b), 'Argument must be a Buffer')
- return Buffer.compare(this, b)
-}
-
-// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
-Buffer.prototype.copy = function (target, target_start, start, end) {
- var source = this
-
- if (!start) start = 0
- if (!end && end !== 0) end = this.length
- if (!target_start) target_start = 0
-
- // Copy 0 bytes; we're done
- if (end === start) return
- if (target.length === 0 || source.length === 0) return
-
- // Fatal error conditions
- assert(end >= start, 'sourceEnd < sourceStart')
- assert(target_start >= 0 && target_start < target.length,
- 'targetStart out of bounds')
- assert(start >= 0 && start < source.length, 'sourceStart out of bounds')
- assert(end >= 0 && end <= source.length, 'sourceEnd out of bounds')
-
- // Are we oob?
- if (end > this.length)
- end = this.length
- if (target.length - target_start < end - start)
- end = target.length - target_start + start
-
- var len = end - start
-
- if (len < 100 || !TYPED_ARRAY_SUPPORT) {
- for (var i = 0; i < len; i++) {
- target[i + target_start] = this[i + start]
- }
- } else {
- target._set(this.subarray(start, start + len), target_start)
- }
-}
-
-function base64Slice (buf, start, end) {
- if (start === 0 && end === buf.length) {
- return base64.fromByteArray(buf)
- } else {
- return base64.fromByteArray(buf.slice(start, end))
- }
-}
-
-function utf8Slice (buf, start, end) {
- var res = ''
- var tmp = ''
- end = Math.min(buf.length, end)
-
- for (var i = start; i < end; i++) {
- if (buf[i] <= 0x7F) {
- res += decodeUtf8Char(tmp) + String.fromCharCode(buf[i])
- tmp = ''
- } else {
- tmp += '%' + buf[i].toString(16)
- }
- }
-
- return res + decodeUtf8Char(tmp)
-}
-
-function asciiSlice (buf, start, end) {
- var ret = ''
- end = Math.min(buf.length, end)
-
- for (var i = start; i < end; i++) {
- ret += String.fromCharCode(buf[i])
- }
- return ret
-}
-
-function binarySlice (buf, start, end) {
- return asciiSlice(buf, start, end)
-}
-
-function hexSlice (buf, start, end) {
- var len = buf.length
-
- if (!start || start < 0) start = 0
- if (!end || end < 0 || end > len) end = len
-
- var out = ''
- for (var i = start; i < end; i++) {
- out += toHex(buf[i])
- }
- return out
-}
-
-function utf16leSlice (buf, start, end) {
- var bytes = buf.slice(start, end)
- var res = ''
- for (var i = 0; i < bytes.length; i += 2) {
- res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
- }
- return res
-}
-
-Buffer.prototype.slice = function (start, end) {
- var len = this.length
- start = ~~start
- end = end === undefined ? len : ~~end
-
- if (start < 0) {
- start += len;
- if (start < 0)
- start = 0
- } else if (start > len) {
- start = len
- }
-
- if (end < 0) {
- end += len
- if (end < 0)
- end = 0
- } else if (end > len) {
- end = len
- }
-
- if (end < start)
- end = start
-
- if (TYPED_ARRAY_SUPPORT) {
- return Buffer._augment(this.subarray(start, end))
- } else {
- var sliceLen = end - start
- var newBuf = new Buffer(sliceLen, undefined, true)
- for (var i = 0; i < sliceLen; i++) {
- newBuf[i] = this[i + start]
- }
- return newBuf
- }
-}
-
-// `get` will be removed in Node 0.13+
-Buffer.prototype.get = function (offset) {
- console.log('.get() is deprecated. Access using array indexes instead.')
- return this.readUInt8(offset)
-}
-
-// `set` will be removed in Node 0.13+
-Buffer.prototype.set = function (v, offset) {
- console.log('.set() is deprecated. Access using array indexes instead.')
- return this.writeUInt8(v, offset)
-}
-
-Buffer.prototype.readUInt8 = function (offset, noAssert) {
- if (!noAssert) {
- assert(offset !== undefined && offset !== null, 'missing offset')
- assert(offset < this.length, 'Trying to read beyond buffer length')
- }
-
- if (offset >= this.length)
- return
-
- return this[offset]
-}
-
-function readUInt16 (buf, offset, littleEndian, noAssert) {
- if (!noAssert) {
- assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
- assert(offset !== undefined && offset !== null, 'missing offset')
- assert(offset + 1 < buf.length, 'Trying to read beyond buffer length')
- }
-
- var len = buf.length
- if (offset >= len)
- return
-
- var val
- if (littleEndian) {
- val = buf[offset]
- if (offset + 1 < len)
- val |= buf[offset + 1] << 8
- } else {
- val = buf[offset] << 8
- if (offset + 1 < len)
- val |= buf[offset + 1]
- }
- return val
-}
-
-Buffer.prototype.readUInt16LE = function (offset, noAssert) {
- return readUInt16(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readUInt16BE = function (offset, noAssert) {
- return readUInt16(this, offset, false, noAssert)
-}
-
-function readUInt32 (buf, offset, littleEndian, noAssert) {
- if (!noAssert) {
- assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
- assert(offset !== undefined && offset !== null, 'missing offset')
- assert(offset + 3 < buf.length, 'Trying to read beyond buffer length')
- }
-
- var len = buf.length
- if (offset >= len)
- return
-
- var val
- if (littleEndian) {
- if (offset + 2 < len)
- val = buf[offset + 2] << 16
- if (offset + 1 < len)
- val |= buf[offset + 1] << 8
- val |= buf[offset]
- if (offset + 3 < len)
- val = val + (buf[offset + 3] << 24 >>> 0)
- } else {
- if (offset + 1 < len)
- val = buf[offset + 1] << 16
- if (offset + 2 < len)
- val |= buf[offset + 2] << 8
- if (offset + 3 < len)
- val |= buf[offset + 3]
- val = val + (buf[offset] << 24 >>> 0)
- }
- return val
-}
-
-Buffer.prototype.readUInt32LE = function (offset, noAssert) {
- return readUInt32(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readUInt32BE = function (offset, noAssert) {
- return readUInt32(this, offset, false, noAssert)
-}
-
-Buffer.prototype.readInt8 = function (offset, noAssert) {
- if (!noAssert) {
- assert(offset !== undefined && offset !== null,
- 'missing offset')
- assert(offset < this.length, 'Trying to read beyond buffer length')
- }
-
- if (offset >= this.length)
- return
-
- var neg = this[offset] & 0x80
- if (neg)
- return (0xff - this[offset] + 1) * -1
- else
- return this[offset]
-}
-
-function readInt16 (buf, offset, littleEndian, noAssert) {
- if (!noAssert) {
- assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
- assert(offset !== undefined && offset !== null, 'missing offset')
- assert(offset + 1 < buf.length, 'Trying to read beyond buffer length')
- }
-
- var len = buf.length
- if (offset >= len)
- return
-
- var val = readUInt16(buf, offset, littleEndian, true)
- var neg = val & 0x8000
- if (neg)
- return (0xffff - val + 1) * -1
- else
- return val
-}
-
-Buffer.prototype.readInt16LE = function (offset, noAssert) {
- return readInt16(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readInt16BE = function (offset, noAssert) {
- return readInt16(this, offset, false, noAssert)
-}
-
-function readInt32 (buf, offset, littleEndian, noAssert) {
- if (!noAssert) {
- assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
- assert(offset !== undefined && offset !== null, 'missing offset')
- assert(offset + 3 < buf.length, 'Trying to read beyond buffer length')
- }
-
- var len = buf.length
- if (offset >= len)
- return
-
- var val = readUInt32(buf, offset, littleEndian, true)
- var neg = val & 0x80000000
- if (neg)
- return (0xffffffff - val + 1) * -1
- else
- return val
-}
-
-Buffer.prototype.readInt32LE = function (offset, noAssert) {
- return readInt32(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readInt32BE = function (offset, noAssert) {
- return readInt32(this, offset, false, noAssert)
-}
-
-function readFloat (buf, offset, littleEndian, noAssert) {
- if (!noAssert) {
- assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
- assert(offset + 3 < buf.length, 'Trying to read beyond buffer length')
- }
-
- return ieee754.read(buf, offset, littleEndian, 23, 4)
-}
-
-Buffer.prototype.readFloatLE = function (offset, noAssert) {
- return readFloat(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readFloatBE = function (offset, noAssert) {
- return readFloat(this, offset, false, noAssert)
-}
-
-function readDouble (buf, offset, littleEndian, noAssert) {
- if (!noAssert) {
- assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
- assert(offset + 7 < buf.length, 'Trying to read beyond buffer length')
- }
-
- return ieee754.read(buf, offset, littleEndian, 52, 8)
-}
-
-Buffer.prototype.readDoubleLE = function (offset, noAssert) {
- return readDouble(this, offset, true, noAssert)
-}
-
-Buffer.prototype.readDoubleBE = function (offset, noAssert) {
- return readDouble(this, offset, false, noAssert)
-}
-
-Buffer.prototype.writeUInt8 = function (value, offset, noAssert) {
- if (!noAssert) {
- assert(value !== undefined && value !== null, 'missing value')
- assert(offset !== undefined && offset !== null, 'missing offset')
- assert(offset < this.length, 'trying to write beyond buffer length')
- verifuint(value, 0xff)
- }
-
- if (offset >= this.length) return
-
- this[offset] = value
- return offset + 1
-}
-
-function writeUInt16 (buf, value, offset, littleEndian, noAssert) {
- if (!noAssert) {
- assert(value !== undefined && value !== null, 'missing value')
- assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
- assert(offset !== undefined && offset !== null, 'missing offset')
- assert(offset + 1 < buf.length, 'trying to write beyond buffer length')
- verifuint(value, 0xffff)
- }
-
- var len = buf.length
- if (offset >= len)
- return
-
- for (var i = 0, j = Math.min(len - offset, 2); i < j; i++) {
- buf[offset + i] =
- (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
- (littleEndian ? i : 1 - i) * 8
- }
- return offset + 2
-}
-
-Buffer.prototype.writeUInt16LE = function (value, offset, noAssert) {
- return writeUInt16(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeUInt16BE = function (value, offset, noAssert) {
- return writeUInt16(this, value, offset, false, noAssert)
-}
-
-function writeUInt32 (buf, value, offset, littleEndian, noAssert) {
- if (!noAssert) {
- assert(value !== undefined && value !== null, 'missing value')
- assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
- assert(offset !== undefined && offset !== null, 'missing offset')
- assert(offset + 3 < buf.length, 'trying to write beyond buffer length')
- verifuint(value, 0xffffffff)
- }
-
- var len = buf.length
- if (offset >= len)
- return
-
- for (var i = 0, j = Math.min(len - offset, 4); i < j; i++) {
- buf[offset + i] =
- (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
- }
- return offset + 4
-}
-
-Buffer.prototype.writeUInt32LE = function (value, offset, noAssert) {
- return writeUInt32(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeUInt32BE = function (value, offset, noAssert) {
- return writeUInt32(this, value, offset, false, noAssert)
-}
-
-Buffer.prototype.writeInt8 = function (value, offset, noAssert) {
- if (!noAssert) {
- assert(value !== undefined && value !== null, 'missing value')
- assert(offset !== undefined && offset !== null, 'missing offset')
- assert(offset < this.length, 'Trying to write beyond buffer length')
- verifsint(value, 0x7f, -0x80)
- }
-
- if (offset >= this.length)
- return
-
- if (value >= 0)
- this.writeUInt8(value, offset, noAssert)
- else
- this.writeUInt8(0xff + value + 1, offset, noAssert)
- return offset + 1
-}
-
-function writeInt16 (buf, value, offset, littleEndian, noAssert) {
- if (!noAssert) {
- assert(value !== undefined && value !== null, 'missing value')
- assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
- assert(offset !== undefined && offset !== null, 'missing offset')
- assert(offset + 1 < buf.length, 'Trying to write beyond buffer length')
- verifsint(value, 0x7fff, -0x8000)
- }
-
- var len = buf.length
- if (offset >= len)
- return
-
- if (value >= 0)
- writeUInt16(buf, value, offset, littleEndian, noAssert)
- else
- writeUInt16(buf, 0xffff + value + 1, offset, littleEndian, noAssert)
- return offset + 2
-}
-
-Buffer.prototype.writeInt16LE = function (value, offset, noAssert) {
- return writeInt16(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeInt16BE = function (value, offset, noAssert) {
- return writeInt16(this, value, offset, false, noAssert)
-}
-
-function writeInt32 (buf, value, offset, littleEndian, noAssert) {
- if (!noAssert) {
- assert(value !== undefined && value !== null, 'missing value')
- assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
- assert(offset !== undefined && offset !== null, 'missing offset')
- assert(offset + 3 < buf.length, 'Trying to write beyond buffer length')
- verifsint(value, 0x7fffffff, -0x80000000)
- }
-
- var len = buf.length
- if (offset >= len)
- return
-
- if (value >= 0)
- writeUInt32(buf, value, offset, littleEndian, noAssert)
- else
- writeUInt32(buf, 0xffffffff + value + 1, offset, littleEndian, noAssert)
- return offset + 4
-}
-
-Buffer.prototype.writeInt32LE = function (value, offset, noAssert) {
- return writeInt32(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeInt32BE = function (value, offset, noAssert) {
- return writeInt32(this, value, offset, false, noAssert)
-}
-
-function writeFloat (buf, value, offset, littleEndian, noAssert) {
- if (!noAssert) {
- assert(value !== undefined && value !== null, 'missing value')
- assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
- assert(offset !== undefined && offset !== null, 'missing offset')
- assert(offset + 3 < buf.length, 'Trying to write beyond buffer length')
- verifIEEE754(value, 3.4028234663852886e+38, -3.4028234663852886e+38)
- }
-
- var len = buf.length
- if (offset >= len)
- return
-
- ieee754.write(buf, value, offset, littleEndian, 23, 4)
- return offset + 4
-}
-
-Buffer.prototype.writeFloatLE = function (value, offset, noAssert) {
- return writeFloat(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeFloatBE = function (value, offset, noAssert) {
- return writeFloat(this, value, offset, false, noAssert)
-}
-
-function writeDouble (buf, value, offset, littleEndian, noAssert) {
- if (!noAssert) {
- assert(value !== undefined && value !== null, 'missing value')
- assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
- assert(offset !== undefined && offset !== null, 'missing offset')
- assert(offset + 7 < buf.length,
- 'Trying to write beyond buffer length')
- verifIEEE754(value, 1.7976931348623157E+308, -1.7976931348623157E+308)
- }
-
- var len = buf.length
- if (offset >= len)
- return
-
- ieee754.write(buf, value, offset, littleEndian, 52, 8)
- return offset + 8
-}
-
-Buffer.prototype.writeDoubleLE = function (value, offset, noAssert) {
- return writeDouble(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeDoubleBE = function (value, offset, noAssert) {
- return writeDouble(this, value, offset, false, noAssert)
-}
-
-// fill(value, start=0, end=buffer.length)
-Buffer.prototype.fill = function (value, start, end) {
- if (!value) value = 0
- if (!start) start = 0
- if (!end) end = this.length
-
- assert(end >= start, 'end < start')
-
- // Fill 0 bytes; we're done
- if (end === start) return
- if (this.length === 0) return
-
- assert(start >= 0 && start < this.length, 'start out of bounds')
- assert(end >= 0 && end <= this.length, 'end out of bounds')
-
- var i
- if (typeof value === 'number') {
- for (i = start; i < end; i++) {
- this[i] = value
- }
- } else {
- var bytes = utf8ToBytes(value.toString())
- var len = bytes.length
- for (i = start; i < end; i++) {
- this[i] = bytes[i % len]
- }
- }
-
- return this
-}
-
-Buffer.prototype.inspect = function () {
- var out = []
- var len = this.length
- for (var i = 0; i < len; i++) {
- out[i] = toHex(this[i])
- if (i === exports.INSPECT_MAX_BYTES) {
- out[i + 1] = '...'
- break
- }
- }
- return '<Buffer ' + out.join(' ') + '>'
-}
-
-/**
- * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance.
- * Added in Node 0.12. Only available in browsers that support ArrayBuffer.
- */
-Buffer.prototype.toArrayBuffer = function () {
- if (typeof Uint8Array !== 'undefined') {
- if (TYPED_ARRAY_SUPPORT) {
- return (new Buffer(this)).buffer
- } else {
- var buf = new Uint8Array(this.length)
- for (var i = 0, len = buf.length; i < len; i += 1) {
- buf[i] = this[i]
- }
- return buf.buffer
- }
- } else {
- throw new Error('Buffer.toArrayBuffer not supported in this browser')
- }
-}
-
-// HELPER FUNCTIONS
-// ================
-
-var BP = Buffer.prototype
-
-/**
- * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods
- */
-Buffer._augment = function (arr) {
- arr._isBuffer = true
-
- // save reference to original Uint8Array get/set methods before overwriting
- arr._get = arr.get
- arr._set = arr.set
-
- // deprecated, will be removed in node 0.13+
- arr.get = BP.get
- arr.set = BP.set
-
- arr.write = BP.write
- arr.toString = BP.toString
- arr.toLocaleString = BP.toString
- arr.toJSON = BP.toJSON
- arr.equals = BP.equals
- arr.compare = BP.compare
- arr.copy = BP.copy
- arr.slice = BP.slice
- arr.readUInt8 = BP.readUInt8
- arr.readUInt16LE = BP.readUInt16LE
- arr.readUInt16BE = BP.readUInt16BE
- arr.readUInt32LE = BP.readUInt32LE
- arr.readUInt32BE = BP.readUInt32BE
- arr.readInt8 = BP.readInt8
- arr.readInt16LE = BP.readInt16LE
- arr.readInt16BE = BP.readInt16BE
- arr.readInt32LE = BP.readInt32LE
- arr.readInt32BE = BP.readInt32BE
- arr.readFloatLE = BP.readFloatLE
- arr.readFloatBE = BP.readFloatBE
- arr.readDoubleLE = BP.readDoubleLE
- arr.readDoubleBE = BP.readDoubleBE
- arr.writeUInt8 = BP.writeUInt8
- arr.writeUInt16LE = BP.writeUInt16LE
- arr.writeUInt16BE = BP.writeUInt16BE
- arr.writeUInt32LE = BP.writeUInt32LE
- arr.writeUInt32BE = BP.writeUInt32BE
- arr.writeInt8 = BP.writeInt8
- arr.writeInt16LE = BP.writeInt16LE
- arr.writeInt16BE = BP.writeInt16BE
- arr.writeInt32LE = BP.writeInt32LE
- arr.writeInt32BE = BP.writeInt32BE
- arr.writeFloatLE = BP.writeFloatLE
- arr.writeFloatBE = BP.writeFloatBE
- arr.writeDoubleLE = BP.writeDoubleLE
- arr.writeDoubleBE = BP.writeDoubleBE
- arr.fill = BP.fill
- arr.inspect = BP.inspect
- arr.toArrayBuffer = BP.toArrayBuffer
-
- return arr
-}
-
-var INVALID_BASE64_RE = /[^+\/0-9A-z]/g
-
-function base64clean (str) {
- // Node strips out invalid characters like \n and \t from the string, base64-js does not
- str = stringtrim(str).replace(INVALID_BASE64_RE, '')
- // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
- while (str.length % 4 !== 0) {
- str = str + '='
- }
- return str
-}
-
-function stringtrim (str) {
- if (str.trim) return str.trim()
- return str.replace(/^\s+|\s+$/g, '')
-}
-
-function isArray (subject) {
- return (Array.isArray || function (subject) {
- return Object.prototype.toString.call(subject) === '[object Array]'
- })(subject)
-}
-
-function isArrayish (subject) {
- return isArray(subject) || Buffer.isBuffer(subject) ||
- subject && typeof subject === 'object' &&
- typeof subject.length === 'number'
-}
-
-function toHex (n) {
- if (n < 16) return '0' + n.toString(16)
- return n.toString(16)
-}
-
-function utf8ToBytes (str) {
- var byteArray = []
- for (var i = 0; i < str.length; i++) {
- var b = str.charCodeAt(i)
- if (b <= 0x7F) {
- byteArray.push(b)
- } else {
- var start = i
- if (b >= 0xD800 && b <= 0xDFFF) i++
- var h = encodeURIComponent(str.slice(start, i+1)).substr(1).split('%')
- for (var j = 0; j < h.length; j++) {
- byteArray.push(parseInt(h[j], 16))
- }
- }
- }
- return byteArray
-}
-
-function asciiToBytes (str) {
- var byteArray = []
- for (var i = 0; i < str.length; i++) {
- // Node's code seems to be doing this and not & 0x7F..
- byteArray.push(str.charCodeAt(i) & 0xFF)
- }
- return byteArray
-}
-
-function utf16leToBytes (str) {
- var c, hi, lo
- var byteArray = []
- for (var i = 0; i < str.length; i++) {
- c = str.charCodeAt(i)
- hi = c >> 8
- lo = c % 256
- byteArray.push(lo)
- byteArray.push(hi)
- }
-
- return byteArray
-}
-
-function base64ToBytes (str) {
- return base64.toByteArray(str)
-}
-
-function blitBuffer (src, dst, offset, length) {
- for (var i = 0; i < length; i++) {
- if ((i + offset >= dst.length) || (i >= src.length))
- break
- dst[i + offset] = src[i]
- }
- return i
-}
-
-function decodeUtf8Char (str) {
- try {
- return decodeURIComponent(str)
- } catch (err) {
- return String.fromCharCode(0xFFFD) // UTF 8 invalid char
- }
-}
-
-/*
- * We have to make sure that the value is a valid integer. This means that it
- * is non-negative. It has no fractional component and that it does not
- * exceed the maximum allowed value.
- */
-function verifuint (value, max) {
- assert(typeof value === 'number', 'cannot write a non-number as a number')
- assert(value >= 0, 'specified a negative value for writing an unsigned value')
- assert(value <= max, 'value is larger than maximum value for type')
- assert(Math.floor(value) === value, 'value has a fractional component')
-}
-
-function verifsint (value, max, min) {
- assert(typeof value === 'number', 'cannot write a non-number as a number')
- assert(value <= max, 'value larger than maximum allowed value')
- assert(value >= min, 'value smaller than minimum allowed value')
- assert(Math.floor(value) === value, 'value has a fractional component')
-}
-
-function verifIEEE754 (value, max, min) {
- assert(typeof value === 'number', 'cannot write a non-number as a number')
- assert(value <= max, 'value larger than maximum allowed value')
- assert(value >= min, 'value smaller than minimum allowed value')
-}
-
-function assert (test, message) {
- if (!test) throw new Error(message || 'Failed assertion')
-}
-
-},{"base64-js":5,"ieee754":8}],8:[function(require,module,exports){
-exports.read = function(buffer, offset, isLE, mLen, nBytes) {
- var e, m,
- eLen = nBytes * 8 - mLen - 1,
- eMax = (1 << eLen) - 1,
- eBias = eMax >> 1,
- nBits = -7,
- i = isLE ? (nBytes - 1) : 0,
- d = isLE ? -1 : 1,
- s = buffer[offset + i];
-
- i += d;
-
- e = s & ((1 << (-nBits)) - 1);
- s >>= (-nBits);
- nBits += eLen;
- for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8);
-
- m = e & ((1 << (-nBits)) - 1);
- e >>= (-nBits);
- nBits += mLen;
- for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8);
-
- if (e === 0) {
- e = 1 - eBias;
- } else if (e === eMax) {
- return m ? NaN : ((s ? -1 : 1) * Infinity);
- } else {
- m = m + Math.pow(2, mLen);
- e = e - eBias;
- }
- return (s ? -1 : 1) * m * Math.pow(2, e - mLen);
-};
-
-exports.write = function(buffer, value, offset, isLE, mLen, nBytes) {
- var e, m, c,
- eLen = nBytes * 8 - mLen - 1,
- eMax = (1 << eLen) - 1,
- eBias = eMax >> 1,
- rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0),
- i = isLE ? 0 : (nBytes - 1),
- d = isLE ? 1 : -1,
- s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;
-
- value = Math.abs(value);
-
- if (isNaN(value) || value === Infinity) {
- m = isNaN(value) ? 1 : 0;
- e = eMax;
- } else {
- e = Math.floor(Math.log(value) / Math.LN2);
- if (value * (c = Math.pow(2, -e)) < 1) {
- e--;
- c *= 2;
- }
- if (e + eBias >= 1) {
- value += rt / c;
- } else {
- value += rt * Math.pow(2, 1 - eBias);
- }
- if (value * c >= 2) {
- e++;
- c /= 2;
- }
-
- if (e + eBias >= eMax) {
- m = 0;
- e = eMax;
- } else if (e + eBias >= 1) {
- m = (value * c - 1) * Math.pow(2, mLen);
- e = e + eBias;
- } else {
- m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);
- e = 0;
- }
- }
-
- for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8);
-
- e = (e << mLen) | m;
- eLen += mLen;
- for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8);
-
- buffer[offset + i - d] |= s * 128;
-};
-
-},{}],9:[function(require,module,exports){
-(function (global){
-
-/**
- * Module exports.
- */
-
-module.exports = deprecate;
-
-/**
- * Mark that a method should not be used.
- * Returns a modified function which warns once by default.
- * If --no-deprecation is set, then it is a no-op.
- *
- * @param {Function} fn - the function to deprecate
- * @param {String} msg - the string to print to the console when `fn` is invoked
- * @returns {Function} a new "deprecated" version of `fn`
- * @api public
- */
-
-function deprecate (fn, msg) {
- if (config('noDeprecation')) {
- return fn;
- }
-
- var warned = false;
- function deprecated() {
- if (!warned) {
- if (config('throwDeprecation')) {
- throw new Error(msg);
- } else if (config('traceDeprecation')) {
- console.trace(msg);
- } else {
- console.error(msg);
- }
- warned = true;
- }
- return fn.apply(this, arguments);
- }
-
- return deprecated;
-}
-
-/**
- * Checks `localStorage` for boolean values for the given `name`.
- *
- * @param {String} name
- * @returns {Boolean}
- * @api private
- */
-
-function config (name) {
- if (!global.localStorage) return false;
- var val = global.localStorage[name];
- if (null == val) return false;
- return String(val).toLowerCase() === 'true';
-}
-
-}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{}],10:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
- var XMLAttribute, _;
-
- _ = require('lodash-node');
-
- module.exports = XMLAttribute = (function() {
- function XMLAttribute(parent, name, value) {
- this.stringify = parent.stringify;
- if (name == null) {
- throw new Error("Missing attribute name");
- }
- if (value == null) {
- throw new Error("Missing attribute value");
- }
- this.name = this.stringify.attName(name);
- this.value = this.stringify.attValue(value);
- }
-
- XMLAttribute.prototype.clone = function() {
- return _.create(XMLAttribute.prototype, this);
- };
-
- XMLAttribute.prototype.toString = function(options, level) {
- return ' ' + this.name + '="' + this.value + '"';
- };
-
- return XMLAttribute;
-
- })();
-
-}).call(this);
-
-},{"lodash-node":100}],11:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
- var XMLBuilder, XMLDeclaration, XMLDocType, XMLElement, XMLStringifier, _;
-
- _ = require('lodash-node');
-
- XMLStringifier = require('./XMLStringifier');
-
- XMLDeclaration = require('./XMLDeclaration');
-
- XMLDocType = require('./XMLDocType');
-
- XMLElement = require('./XMLElement');
-
- module.exports = XMLBuilder = (function() {
- function XMLBuilder(name, options) {
- var root, temp;
- if (name == null) {
- throw new Error("Root element needs a name");
- }
- if (options == null) {
- options = {};
- }
- this.options = options;
- this.stringify = new XMLStringifier(options);
- temp = new XMLElement(this, 'doc');
- root = temp.element(name);
- root.isRoot = true;
- root.documentObject = this;
- this.rootObject = root;
- if (!options.headless) {
- root.declaration(options);
- if ((options.pubID != null) || (options.sysID != null)) {
- root.doctype(options);
- }
- }
- }
-
- XMLBuilder.prototype.root = function() {
- return this.rootObject;
- };
-
- XMLBuilder.prototype.end = function(options) {
- return toString(options);
- };
-
- XMLBuilder.prototype.toString = function(options) {
- var indent, newline, pretty, r;
- pretty = (options != null ? options.pretty : void 0) || false;
- indent = (options != null ? options.indent : void 0) || ' ';
- newline = (options != null ? options.newline : void 0) || '\n';
- r = '';
- if (this.xmldec != null) {
- r += this.xmldec.toString(options);
- }
- if (this.doctype != null) {
- r += this.doctype.toString(options);
- }
- r += this.rootObject.toString(options);
- if (pretty && r.slice(-newline.length) === newline) {
- r = r.slice(0, -newline.length);
- }
- return r;
- };
-
- return XMLBuilder;
-
- })();
-
-}).call(this);
-
-},{"./XMLDeclaration":18,"./XMLDocType":19,"./XMLElement":20,"./XMLStringifier":24,"lodash-node":100}],12:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
- var XMLCData, XMLNode, _,
- __hasProp = {}.hasOwnProperty,
- __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
-
- _ = require('lodash-node');
-
- XMLNode = require('./XMLNode');
-
- module.exports = XMLCData = (function(_super) {
- __extends(XMLCData, _super);
-
- function XMLCData(parent, text) {
- XMLCData.__super__.constructor.call(this, parent);
- if (text == null) {
- throw new Error("Missing CDATA text");
- }
- this.text = this.stringify.cdata(text);
- }
-
- XMLCData.prototype.clone = function() {
- return _.create(XMLCData.prototype, this);
- };
-
- XMLCData.prototype.toString = function(options, level) {
- var indent, newline, pretty, r, space;
- pretty = (options != null ? options.pretty : void 0) || false;
- indent = (options != null ? options.indent : void 0) || ' ';
- newline = (options != null ? options.newline : void 0) || '\n';
- level || (level = 0);
- space = new Array(level + 1).join(indent);
- r = '';
- if (pretty) {
- r += space;
- }
- r += '<![CDATA[' + this.text + ']]>';
- if (pretty) {
- r += newline;
- }
- return r;
- };
-
- return XMLCData;
-
- })(XMLNode);
-
-}).call(this);
-
-},{"./XMLNode":21,"lodash-node":100}],13:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
- var XMLComment, XMLNode, _,
- __hasProp = {}.hasOwnProperty,
- __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
-
- _ = require('lodash-node');
-
- XMLNode = require('./XMLNode');
-
- module.exports = XMLComment = (function(_super) {
- __extends(XMLComment, _super);
-
- function XMLComment(parent, text) {
- XMLComment.__super__.constructor.call(this, parent);
- if (text == null) {
- throw new Error("Missing comment text");
- }
- this.text = this.stringify.comment(text);
- }
-
- XMLComment.prototype.clone = function() {
- return _.create(XMLComment.prototype, this);
- };
-
- XMLComment.prototype.toString = function(options, level) {
- var indent, newline, pretty, r, space;
- pretty = (options != null ? options.pretty : void 0) || false;
- indent = (options != null ? options.indent : void 0) || ' ';
- newline = (options != null ? options.newline : void 0) || '\n';
- level || (level = 0);
- space = new Array(level + 1).join(indent);
- r = '';
- if (pretty) {
- r += space;
- }
- r += '<!-- ' + this.text + ' -->';
- if (pretty) {
- r += newline;
- }
- return r;
- };
-
- return XMLComment;
-
- })(XMLNode);
-
-}).call(this);
-
-},{"./XMLNode":21,"lodash-node":100}],14:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
- var XMLDTDAttList, _;
-
- _ = require('lodash-node');
-
- module.exports = XMLDTDAttList = (function() {
- function XMLDTDAttList(parent, elementName, attributeName, attributeType, defaultValueType, defaultValue) {
- this.stringify = parent.stringify;
- if (elementName == null) {
- throw new Error("Missing DTD element name");
- }
- if (attributeName == null) {
- throw new Error("Missing DTD attribute name");
- }
- if (!attributeType) {
- throw new Error("Missing DTD attribute type");
- }
- if (!defaultValueType) {
- throw new Error("Missing DTD attribute default");
- }
- if (defaultValueType.indexOf('#') !== 0) {
- defaultValueType = '#' + defaultValueType;
- }
- if (!defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)) {
- throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT");
- }
- if (defaultValue && !defaultValueType.match(/^(#FIXED|#DEFAULT)$/)) {
- throw new Error("Default value only applies to #FIXED or #DEFAULT");
- }
- this.elementName = this.stringify.eleName(elementName);
- this.attributeName = this.stringify.attName(attributeName);
- this.attributeType = this.stringify.dtdAttType(attributeType);
- this.defaultValue = this.stringify.dtdAttDefault(defaultValue);
- this.defaultValueType = defaultValueType;
- }
-
- XMLDTDAttList.prototype.clone = function() {
- return _.create(XMLDTDAttList.prototype, this);
- };
-
- XMLDTDAttList.prototype.toString = function(options, level) {
- var indent, newline, pretty, r, space;
- pretty = (options != null ? options.pretty : void 0) || false;
- indent = (options != null ? options.indent : void 0) || ' ';
- newline = (options != null ? options.newline : void 0) || '\n';
- level || (level = 0);
- space = new Array(level + 1).join(indent);
- r = '';
- if (pretty) {
- r += space;
- }
- r += '<!ATTLIST ' + this.elementName + ' ' + this.attributeName + ' ' + this.attributeType;
- if (this.defaultValueType !== '#DEFAULT') {
- r += ' ' + this.defaultValueType;
- }
- if (this.defaultValue) {
- r += ' "' + this.defaultValue + '"';
- }
- r += '>';
- if (pretty) {
- r += newline;
- }
- return r;
- };
-
- return XMLDTDAttList;
-
- })();
-
-}).call(this);
-
-},{"lodash-node":100}],15:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
- var XMLDTDElement, _;
-
- _ = require('lodash-node');
-
- module.exports = XMLDTDElement = (function() {
- function XMLDTDElement(parent, name, value) {
- this.stringify = parent.stringify;
- if (name == null) {
- throw new Error("Missing DTD element name");
- }
- if (!value) {
- value = '(#PCDATA)';
- }
- if (_.isArray(value)) {
- value = '(' + value.join(',') + ')';
- }
- this.name = this.stringify.eleName(name);
- this.value = this.stringify.dtdElementValue(value);
- }
-
- XMLDTDElement.prototype.clone = function() {
- return _.create(XMLDTDElement.prototype, this);
- };
-
- XMLDTDElement.prototype.toString = function(options, level) {
- var indent, newline, pretty, r, space;
- pretty = (options != null ? options.pretty : void 0) || false;
- indent = (options != null ? options.indent : void 0) || ' ';
- newline = (options != null ? options.newline : void 0) || '\n';
- level || (level = 0);
- space = new Array(level + 1).join(indent);
- r = '';
- if (pretty) {
- r += space;
- }
- r += '<!ELEMENT ' + this.name + ' ' + this.value + '>';
- if (pretty) {
- r += newline;
- }
- return r;
- };
-
- return XMLDTDElement;
-
- })();
-
-}).call(this);
-
-},{"lodash-node":100}],16:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
- var XMLDTDEntity, _;
-
- _ = require('lodash-node');
-
- module.exports = XMLDTDEntity = (function() {
- function XMLDTDEntity(parent, pe, name, value) {
- this.stringify = parent.stringify;
- if (name == null) {
- throw new Error("Missing entity name");
- }
- if (value == null) {
- throw new Error("Missing entity value");
- }
- this.pe = !!pe;
- this.name = this.stringify.eleName(name);
- if (!_.isObject(value)) {
- this.value = this.stringify.dtdEntityValue(value);
- } else {
- if (!value.pubID && !value.sysID) {
- throw new Error("Public and/or system identifiers are required for an external entity");
- }
- if (value.pubID && !value.sysID) {
- throw new Error("System identifier is required for a public external entity");
- }
- if (value.pubID != null) {
- this.pubID = this.stringify.dtdPubID(value.pubID);
- }
- if (value.sysID != null) {
- this.sysID = this.stringify.dtdSysID(value.sysID);
- }
- if (value.nData != null) {
- this.nData = this.stringify.dtdNData(value.nData);
- }
- if (this.pe && this.nData) {
- throw new Error("Notation declaration is not allowed in a parameter entity");
- }
- }
- }
-
- XMLDTDEntity.prototype.clone = function() {
- return _.create(XMLDTDEntity.prototype, this);
- };
-
- XMLDTDEntity.prototype.toString = function(options, level) {
- var indent, newline, pretty, r, space;
- pretty = (options != null ? options.pretty : void 0) || false;
- indent = (options != null ? options.indent : void 0) || ' ';
- newline = (options != null ? options.newline : void 0) || '\n';
- level || (level = 0);
- space = new Array(level + 1).join(indent);
- r = '';
- if (pretty) {
- r += space;
- }
- r += '<!ENTITY';
- if (this.pe) {
- r += ' %';
- }
- r += ' ' + this.name;
- if (this.value) {
- r += ' "' + this.value + '"';
- } else {
- if (this.pubID && this.sysID) {
- r += ' PUBLIC "' + this.pubID + '" "' + this.sysID + '"';
- } else if (this.sysID) {
- r += ' SYSTEM "' + this.sysID + '"';
- }
- if (this.nData) {
- r += ' NDATA ' + this.nData;
- }
- }
- r += '>';
- if (pretty) {
- r += newline;
- }
- return r;
- };
-
- return XMLDTDEntity;
-
- })();
-
-}).call(this);
-
-},{"lodash-node":100}],17:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
- var XMLDTDNotation, _;
-
- _ = require('lodash-node');
-
- module.exports = XMLDTDNotation = (function() {
- function XMLDTDNotation(parent, name, value) {
- this.stringify = parent.stringify;
- if (name == null) {
- throw new Error("Missing notation name");
- }
- if (!value.pubID && !value.sysID) {
- throw new Error("Public or system identifiers are required for an external entity");
- }
- this.name = this.stringify.eleName(name);
- if (value.pubID != null) {
- this.pubID = this.stringify.dtdPubID(value.pubID);
- }
- if (value.sysID != null) {
- this.sysID = this.stringify.dtdSysID(value.sysID);
- }
- }
-
- XMLDTDNotation.prototype.clone = function() {
- return _.create(XMLDTDNotation.prototype, this);
- };
-
- XMLDTDNotation.prototype.toString = function(options, level) {
- var indent, newline, pretty, r, space;
- pretty = (options != null ? options.pretty : void 0) || false;
- indent = (options != null ? options.indent : void 0) || ' ';
- newline = (options != null ? options.newline : void 0) || '\n';
- level || (level = 0);
- space = new Array(level + 1).join(indent);
- r = '';
- if (pretty) {
- r += space;
- }
- r += '<!NOTATION ' + this.name;
- if (this.pubID && this.sysID) {
- r += ' PUBLIC "' + this.pubID + '" "' + this.sysID + '"';
- } else if (this.pubID) {
- r += ' PUBLIC "' + this.pubID + '"';
- } else if (this.sysID) {
- r += ' SYSTEM "' + this.sysID + '"';
- }
- r += '>';
- if (pretty) {
- r += newline;
- }
- return r;
- };
-
- return XMLDTDNotation;
-
- })();
-
-}).call(this);
-
-},{"lodash-node":100}],18:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
- var XMLDeclaration, XMLNode, _,
- __hasProp = {}.hasOwnProperty,
- __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
-
- _ = require('lodash-node');
-
- XMLNode = require('./XMLNode');
-
- module.exports = XMLDeclaration = (function(_super) {
- __extends(XMLDeclaration, _super);
-
- function XMLDeclaration(parent, version, encoding, standalone) {
- var _ref;
- XMLDeclaration.__super__.constructor.call(this, parent);
- if (_.isObject(version)) {
- _ref = version, version = _ref.version, encoding = _ref.encoding, standalone = _ref.standalone;
- }
- if (!version) {
- version = '1.0';
- }
- if (version != null) {
- this.version = this.stringify.xmlVersion(version);
- }
- if (encoding != null) {
- this.encoding = this.stringify.xmlEncoding(encoding);
- }
- if (standalone != null) {
- this.standalone = this.stringify.xmlStandalone(standalone);
- }
- }
-
- XMLDeclaration.prototype.clone = function() {
- return _.create(XMLDeclaration.prototype, this);
- };
-
- XMLDeclaration.prototype.toString = function(options, level) {
- var indent, newline, pretty, r, space;
- pretty = (options != null ? options.pretty : void 0) || false;
- indent = (options != null ? options.indent : void 0) || ' ';
- newline = (options != null ? options.newline : void 0) || '\n';
- level || (level = 0);
- space = new Array(level + 1).join(indent);
- r = '';
- if (pretty) {
- r += space;
- }
- r += '<?xml';
- if (this.version != null) {
- r += ' version="' + this.version + '"';
- }
- if (this.encoding != null) {
- r += ' encoding="' + this.encoding + '"';
- }
- if (this.standalone != null) {
- r += ' standalone="' + this.standalone + '"';
- }
- r += '?>';
- if (pretty) {
- r += newline;
- }
- return r;
- };
-
- return XMLDeclaration;
-
- })(XMLNode);
-
-}).call(this);
-
-},{"./XMLNode":21,"lodash-node":100}],19:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
- var XMLDocType, _;
-
- _ = require('lodash-node');
-
- module.exports = XMLDocType = (function() {
- function XMLDocType(parent, pubID, sysID) {
- var _ref, _ref1;
- this.documentObject = parent;
- this.stringify = this.documentObject.stringify;
- this.children = [];
- if (_.isObject(pubID)) {
- _ref = pubID, pubID = _ref.pubID, sysID = _ref.sysID;
- }
- if (sysID == null) {
- _ref1 = [pubID, sysID], sysID = _ref1[0], pubID = _ref1[1];
- }
- if (pubID != null) {
- this.pubID = this.stringify.dtdPubID(pubID);
- }
- if (sysID != null) {
- this.sysID = this.stringify.dtdSysID(sysID);
- }
- }
-
- XMLDocType.prototype.clone = function() {
- return _.create(XMLDocType.prototype, this);
- };
-
- XMLDocType.prototype.element = function(name, value) {
- var XMLDTDElement, child;
- XMLDTDElement = require('./XMLDTDElement');
- child = new XMLDTDElement(this, name, value);
- this.children.push(child);
- return this;
- };
-
- XMLDocType.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {
- var XMLDTDAttList, child;
- XMLDTDAttList = require('./XMLDTDAttList');
- child = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue);
- this.children.push(child);
- return this;
- };
-
- XMLDocType.prototype.entity = function(name, value) {
- var XMLDTDEntity, child;
- XMLDTDEntity = require('./XMLDTDEntity');
- child = new XMLDTDEntity(this, false, name, value);
- this.children.push(child);
- return this;
- };
-
- XMLDocType.prototype.pEntity = function(name, value) {
- var XMLDTDEntity, child;
- XMLDTDEntity = require('./XMLDTDEntity');
- child = new XMLDTDEntity(this, true, name, value);
- this.children.push(child);
- return this;
- };
-
- XMLDocType.prototype.notation = function(name, value) {
- var XMLDTDNotation, child;
- XMLDTDNotation = require('./XMLDTDNotation');
- child = new XMLDTDNotation(this, name, value);
- this.children.push(child);
- return this;
- };
-
- XMLDocType.prototype.cdata = function(value) {
- var XMLCData, child;
- XMLCData = require('./XMLCData');
- child = new XMLCData(this, value);
- this.children.push(child);
- return this;
- };
-
- XMLDocType.prototype.comment = function(value) {
- var XMLComment, child;
- XMLComment = require('./XMLComment');
- child = new XMLComment(this, value);
- this.children.push(child);
- return this;
- };
-
- XMLDocType.prototype.instruction = function(target, value) {
- var XMLProcessingInstruction, child;
- XMLProcessingInstruction = require('./XMLProcessingInstruction');
- child = new XMLProcessingInstruction(this, target, value);
- this.children.push(child);
- return this;
- };
-
- XMLDocType.prototype.root = function() {
- return this.documentObject.root();
- };
-
- XMLDocType.prototype.document = function() {
- return this.documentObject;
- };
-
- XMLDocType.prototype.toString = function(options, level) {
- var child, indent, newline, pretty, r, space, _i, _len, _ref;
- pretty = (options != null ? options.pretty : void 0) || false;
- indent = (options != null ? options.indent : void 0) || ' ';
- newline = (options != null ? options.newline : void 0) || '\n';
- level || (level = 0);
- space = new Array(level + 1).join(indent);
- r = '';
- if (pretty) {
- r += space;
- }
- r += '<!DOCTYPE ' + this.root().name;
- if (this.pubID && this.sysID) {
- r += ' PUBLIC "' + this.pubID + '" "' + this.sysID + '"';
- } else if (this.sysID) {
- r += ' SYSTEM "' + this.sysID + '"';
- }
- if (this.children.length > 0) {
- r += ' [';
- if (pretty) {
- r += newline;
- }
- _ref = this.children;
- for (_i = 0, _len = _ref.length; _i < _len; _i++) {
- child = _ref[_i];
- r += child.toString(options, level + 1);
- }
- r += ']';
- }
- r += '>';
- if (pretty) {
- r += newline;
- }
- return r;
- };
-
- XMLDocType.prototype.ele = function(name, value) {
- return this.element(name, value);
- };
-
- XMLDocType.prototype.att = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {
- return this.attList(elementName, attributeName, attributeType, defaultValueType, defaultValue);
- };
-
- XMLDocType.prototype.ent = function(name, value) {
- return this.entity(name, value);
- };
-
- XMLDocType.prototype.pent = function(name, value) {
- return this.pEntity(name, value);
- };
-
- XMLDocType.prototype.not = function(name, value) {
- return this.notation(name, value);
- };
-
- XMLDocType.prototype.dat = function(value) {
- return this.cdata(value);
- };
-
- XMLDocType.prototype.com = function(value) {
- return this.comment(value);
- };
-
- XMLDocType.prototype.ins = function(target, value) {
- return this.instruction(target, value);
- };
-
- XMLDocType.prototype.up = function() {
- return this.root();
- };
-
- XMLDocType.prototype.doc = function() {
- return this.document();
- };
-
- return XMLDocType;
-
- })();
-
-}).call(this);
-
-},{"./XMLCData":12,"./XMLComment":13,"./XMLDTDAttList":14,"./XMLDTDElement":15,"./XMLDTDEntity":16,"./XMLDTDNotation":17,"./XMLProcessingInstruction":22,"lodash-node":100}],20:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
- var XMLAttribute, XMLElement, XMLNode, XMLProcessingInstruction, _,
- __hasProp = {}.hasOwnProperty,
- __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
-
- _ = require('lodash-node');
-
- XMLNode = require('./XMLNode');
-
- XMLAttribute = require('./XMLAttribute');
-
- XMLProcessingInstruction = require('./XMLProcessingInstruction');
-
- module.exports = XMLElement = (function(_super) {
- __extends(XMLElement, _super);
-
- function XMLElement(parent, name, attributes) {
- XMLElement.__super__.constructor.call(this, parent);
- if (name == null) {
- throw new Error("Missing element name");
- }
- this.name = this.stringify.eleName(name);
- this.children = [];
- this.instructions = [];
- this.attributes = {};
- if (attributes != null) {
- this.attribute(attributes);
- }
- }
-
- XMLElement.prototype.clone = function() {
- var att, attName, clonedSelf, pi, _i, _len, _ref, _ref1;
- clonedSelf = _.create(XMLElement.prototype, this);
- clonedSelf.attributes = {};
- _ref = this.attributes;
- for (attName in _ref) {
- if (!__hasProp.call(_ref, attName)) continue;
- att = _ref[attName];
- clonedSelf.attributes[attName] = att.clone();
- }
- clonedSelf.instructions = [];
- _ref1 = this.instructions;
- for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
- pi = _ref1[_i];
- clonedSelf.instructions.push(pi.clone());
- }
- clonedSelf.children = [];
- this.children.forEach(function(child) {
- var clonedChild;
- clonedChild = child.clone();
- clonedChild.parent = clonedSelf;
- return clonedSelf.children.push(clonedChild);
- });
- return clonedSelf;
- };
-
- XMLElement.prototype.attribute = function(name, value) {
- var attName, attValue;
- if (_.isObject(name)) {
- for (attName in name) {
- if (!__hasProp.call(name, attName)) continue;
- attValue = name[attName];
- this.attribute(attName, attValue);
- }
- } else {
- if (_.isFunction(value)) {
- value = value.apply();
- }
- if (!this.options.skipNullAttributes || (value != null)) {
- this.attributes[name] = new XMLAttribute(this, name, value);
- }
- }
- return this;
- };
-
- XMLElement.prototype.removeAttribute = function(name) {
- var attName, _i, _len;
- if (name == null) {
- throw new Error("Missing attribute name");
- }
- if (_.isArray(name)) {
- for (_i = 0, _len = name.length; _i < _len; _i++) {
- attName = name[_i];
- delete this.attributes[attName];
- }
- } else {
- delete this.attributes[name];
- }
- return this;
- };
-
- XMLElement.prototype.instruction = function(target, value) {
- var insTarget, insValue, instruction, _i, _len;
- if (_.isArray(target)) {
- for (_i = 0, _len = target.length; _i < _len; _i++) {
- insTarget = target[_i];
- this.instruction(insTarget);
- }
- } else if (_.isObject(target)) {
- for (insTarget in target) {
- if (!__hasProp.call(target, insTarget)) continue;
- insValue = target[insTarget];
- this.instruction(insTarget, insValue);
- }
- } else {
- if (_.isFunction(value)) {
- value = value.apply();
- }
- instruction = new XMLProcessingInstruction(this, target, value);
- this.instructions.push(instruction);
- }
- return this;
- };
-
- XMLElement.prototype.toString = function(options, level) {
- var att, child, indent, instruction, name, newline, pretty, r, space, _i, _j, _len, _len1, _ref, _ref1, _ref2;
- pretty = (options != null ? options.pretty : void 0) || false;
- indent = (options != null ? options.indent : void 0) || ' ';
- newline = (options != null ? options.newline : void 0) || '\n';
- level || (level = 0);
- space = new Array(level + 1).join(indent);
- r = '';
- _ref = this.instructions;
- for (_i = 0, _len = _ref.length; _i < _len; _i++) {
- instruction = _ref[_i];
- r += instruction.toString(options, level + 1);
- }
- if (pretty) {
- r += space;
- }
- r += '<' + this.name;
- _ref1 = this.attributes;
- for (name in _ref1) {
- if (!__hasProp.call(_ref1, name)) continue;
- att = _ref1[name];
- r += att.toString(options);
- }
- if (this.children.length === 0) {
- r += '/>';
- if (pretty) {
- r += newline;
- }
- } else if (pretty && this.children.length === 1 && (this.children[0].value != null)) {
- r += '>';
- r += this.children[0].value;
- r += '</' + this.name + '>';
- r += newline;
- } else {
- r += '>';
- if (pretty) {
- r += newline;
- }
- _ref2 = this.children;
- for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
- child = _ref2[_j];
- r += child.toString(options, level + 1);
- }
- if (pretty) {
- r += space;
- }
- r += '</' + this.name + '>';
- if (pretty) {
- r += newline;
- }
- }
- return r;
- };
-
- XMLElement.prototype.att = function(name, value) {
- return this.attribute(name, value);
- };
-
- XMLElement.prototype.ins = function(target, value) {
- return this.instruction(target, value);
- };
-
- XMLElement.prototype.a = function(name, value) {
- return this.attribute(name, value);
- };
-
- XMLElement.prototype.i = function(target, value) {
- return this.instruction(target, value);
- };
-
- return XMLElement;
-
- })(XMLNode);
-
-}).call(this);
-
-},{"./XMLAttribute":10,"./XMLNode":21,"./XMLProcessingInstruction":22,"lodash-node":100}],21:[function(require,module,exports){
-// Generated by CoffeeScript 1.6.3
-(function() {
- var XMLNode, _,
- __hasProp = {}.hasOwnProperty;
-
- _ = require('lodash-node');
-
- module.exports = XMLNode = (function() {
- function XMLNode(parent) {
- this.parent = parent;
- this.options = this.parent.options;
- this.stringify = this.parent.stringify;
- }
-
- XMLNode.prototype.clone = function() {
- throw new Error("Cannot clone generic XMLNode");
- };
-
- XMLNode.prototype.element = function(name, attributes, text) {
- var item, key, lastChild, val, _i, _len, _ref;
- lastChild = null;
- if (attributes == null) {
- attributes = {};
- }
- if (!_.isObject(attributes)) {
- _ref = [attributes, text], text = _ref[0], attributes = _ref[1];
- }
- if (_.isArray(name)) {
- for (_i = 0, _len = name.length; _i < _len; _i++) {
- item = name[_i];
- lastChild = this.element(item);
- }
- } else if (_.isFunction(name)) {
- lastChild = this.element(name.apply());
- } else if (_.isObject(name)) {
- for (key in name) {
- if (!__hasProp.call(name, key)) continue;
- val = name[key];
- if (!(val != null)) {
- continue;
- }
- if (_.isFunction(val)) {
- val = val.apply();
- }
- if (!this.options.ignoreDecorators && this.stringify.convertAttKey && key.indexOf(this.stringify.convertAttKey) === 0) {
- lastChild = this.attribute(key.substr(this.stringify.convertAttKey.length), val);
- } else if (!this.options.ignoreDecorators && this.stringify.convertPIKey && key.indexOf(this.stringify.convertPIKey) === 0) {
- lastChild = this.instruction(key.substr(this.stringify.convertPIKey.length), val);
- } else if (_.isObject(val)) {
- if (!this.options.ignoreDecorators && this.stringify.convertListKey && key.indexOf(this.stringify.convertListKey) === 0 && _.isArray(val)) {
- lastChild = this.element(val);
- } else {
- lastChild = this.element(key);
- lastChild.element(val);
- }
- } else {
- lastChild = this.element(key, val);
- }
- }
- } else {
- if (!this.options.ignoreDecorators && this.stringify.convertTextKey && name.indexOf(this.stringify.convertTextKey) === 0) {
- lastChild = this.text(text);
- } else if (!this.options.ignoreDecorators && this.stringify.convertCDataKey && name.indexOf(this.stringify.convertCDataKey) === 0) {
- lastChild = this.cdata(text);
- } else if (!this.options.ignoreDecorators && this.stringify.convertCommentKey && name.indexOf(this.stringify.convertCommentKey) === 0) {
- lastChild = this.comment(text);
- } else if (!this.options.ignoreDecorators && this.stringify.convertRawKey && name.indexOf(this.stringify.convertRawKey) === 0) {
- lastChild = this.raw(text);
- } else {
- lastChild = this.node(name, attributes, text);
- }
- }
- if (lastChild == null) {
- throw new Error("Could not create any elements with: " + name);
- }
- return lastChild;
- };
-
- XMLNode.prototype.insertBefore = function(name, attributes, text) {
- var child, i, removed;
- if (this.isRoot) {
- throw new Error("Cannot insert elements at root level");
- }
- i = this.parent.children.indexOf(this);
- removed = this.parent.children.splice(i);
- child = this.parent.element(name, attributes, text);
- Array.prototype.push.apply(this.parent.children, removed);
- return child;
- };
-
- XMLNode.prototype.insertAfter = function(name, attributes, text) {
- var child, i, removed;
- if (this.isRoot) {
- throw new Error("Cannot insert elements at root level");
- }
- i = this.parent.children.indexOf(this);
- removed = this.parent.children.splice(i + 1);
- child = this.parent.element(name, attributes, text);
- Array.prototype.push.apply(this.parent.children, removed);
- return child;
- };
-
- XMLNode.prototype.remove = function() {
- var i, _ref;
- if (this.isRoot) {
- throw new Error("Cannot remove the root element");
- }
- i = this.parent.children.indexOf(this);
- [].splice.apply(this.parent.children, [i, i - i + 1].concat(_ref = [])), _ref;
- return this.parent;
- };
-
- XMLNode.prototype.node = function(name, attributes, text) {
- var XMLElement, child, _ref;
- if (attributes == null) {
- attributes = {};
- }
- if (!_.isObject(attributes)) {
- _ref = [attributes, text], text = _ref[0], attributes = _ref[1];
- }
- XMLElement = require('./XMLElement');
- child = new XMLElement(this, name, attributes);
- if (text != null) {
- child.text(text);
- }
- this.children.push(child);
- return child;
- };
-
- XMLNode.prototype.text = function(value) {
- var XMLText, child;
- XMLText = require('./XMLText');
- child = new XMLText(this, value);
- this.children.push(child);
- return this;
- };
-
- XMLNode.prototype.cdata = function(value) {
- var XMLCData, child;
- XMLCData = require('./XMLCData');
- child = new XMLCData(this, value);
- this.children.push(child);
- return this;
- };
-
- XMLNode.prototype.comment = function(value) {
- var XMLComment, child;
- XMLComment = require('./XMLComment');
- child = new XMLComment(this, value);
- this.children.push(child);
- return this;
- };
-
- XMLNode.prototype.raw = function(value) {
- var XMLRaw, child;
- XMLRaw = require('./XMLRaw');
- child = new XMLRaw(this, value);
- this.children.push(child);
- return this;
- };
-
- XMLNode.prototype.declaration = function(version, encoding, standalone) {
- var XMLDeclaration, doc, xmldec;
- doc = this.document();
- XMLDeclaration = require('./XMLDeclaration');
- xmldec = new XMLDeclaration(doc, version, encoding, standalone);
- doc.xmldec = xmldec;
- return doc.root();
- };
-
- XMLNode.prototype.doctype = function(pubID, sysID) {
- var XMLDocType, doc, doctype;
- doc = this.document();
- XMLDocType = require('./XMLDocType');
- doctype = new XMLDocType(doc, pubID, sysID);
- doc.doctype = doctype;
- return doctype;
- };
-
- XMLNode.prototype.up = function() {
- if (this.isRoot) {
- throw new Error("The root node has no parent. Use doc() if you need to get the document object.");
- }
- return this.parent;
- };
-
- XMLNode.prototype.root = function() {
- var child;
- if (this.isRoot) {
- return this;
- }
- child = this.parent;
- while (!child.isRoot) {
- child = child.parent;
- }
- return child;
- };
-
- XMLNode.prototype.document = function() {
- return this.root().documentObject;
- };
-
- XMLNode.prototype.end = function(options) {
- return this.document().toString(options);
- };
-
- XMLNode.prototype.prev = function() {
- var i;
- if (this.isRoot) {
- throw new Error("Root node has no siblings");
- }
- i = this.parent.children.indexOf(this);
- if (i < 1) {
- throw new Error("Already at the first node");
- }
- return this.parent.children[i - 1];
- };
-
- XMLNode.prototype.next = function() {
- var i;
- if (this.isRoot) {
- throw new Error("Root node has no siblings");
- }
- i = this.parent.children.indexOf(this);
-
<TRUNCATED>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org