aboutsummaryrefslogtreecommitdiff
path: root/cordova/node_modules/elementtree
diff options
context:
space:
mode:
authorKumar Priyansh <[email protected]>2020-01-03 18:34:23 +0530
committerKumar Priyansh <[email protected]>2020-01-03 18:34:23 +0530
commitc3373becc9a1393b2e03c8cd6c154601481a60dd (patch)
treea8a31f613aef864d8d481ed57dc2c97490dfd328 /cordova/node_modules/elementtree
parent2917c8eda330a126b530dd83573670cbc98a4206 (diff)
downloadWeatherApp-c3373becc9a1393b2e03c8cd6c154601481a60dd.tar.xz
WeatherApp-c3373becc9a1393b2e03c8cd6c154601481a60dd.zip
Rewriting the app from scratch with Swift 5
Diffstat (limited to 'cordova/node_modules/elementtree')
-rwxr-xr-xcordova/node_modules/elementtree/.npmignore1
-rwxr-xr-xcordova/node_modules/elementtree/.travis.yml10
-rwxr-xr-xcordova/node_modules/elementtree/CHANGES.md39
-rwxr-xr-xcordova/node_modules/elementtree/LICENSE.txt203
-rwxr-xr-xcordova/node_modules/elementtree/Makefile21
-rwxr-xr-xcordova/node_modules/elementtree/NOTICE5
-rwxr-xr-xcordova/node_modules/elementtree/README.md141
-rwxr-xr-xcordova/node_modules/elementtree/lib/constants.js20
-rwxr-xr-xcordova/node_modules/elementtree/lib/elementpath.js343
-rwxr-xr-xcordova/node_modules/elementtree/lib/elementtree.js611
-rwxr-xr-xcordova/node_modules/elementtree/lib/errors.js31
-rwxr-xr-xcordova/node_modules/elementtree/lib/parser.js33
-rwxr-xr-xcordova/node_modules/elementtree/lib/parsers/index.js1
-rwxr-xr-xcordova/node_modules/elementtree/lib/parsers/sax.js56
-rwxr-xr-xcordova/node_modules/elementtree/lib/sprintf.js86
-rwxr-xr-xcordova/node_modules/elementtree/lib/treebuilder.js60
-rwxr-xr-xcordova/node_modules/elementtree/lib/utils.js72
-rwxr-xr-xcordova/node_modules/elementtree/package.json81
-rwxr-xr-xcordova/node_modules/elementtree/tests/data/xml1.xml17
-rwxr-xr-xcordova/node_modules/elementtree/tests/data/xml2.xml14
-rwxr-xr-xcordova/node_modules/elementtree/tests/test-simple.js339
21 files changed, 0 insertions, 2184 deletions
diff --git a/cordova/node_modules/elementtree/.npmignore b/cordova/node_modules/elementtree/.npmignore
deleted file mode 100755
index 3c3629e..0000000
--- a/cordova/node_modules/elementtree/.npmignore
+++ /dev/null
@@ -1 +0,0 @@
-node_modules
diff --git a/cordova/node_modules/elementtree/.travis.yml b/cordova/node_modules/elementtree/.travis.yml
deleted file mode 100755
index 6f27c96..0000000
--- a/cordova/node_modules/elementtree/.travis.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-language: node_js
-
-node_js:
- - 0.6
-
-script: make test
-
-notifications:
- email:
diff --git a/cordova/node_modules/elementtree/CHANGES.md b/cordova/node_modules/elementtree/CHANGES.md
deleted file mode 100755
index 50d415d..0000000
--- a/cordova/node_modules/elementtree/CHANGES.md
+++ /dev/null
@@ -1,39 +0,0 @@
-elementtree v0.1.6 (in development)
-
-* Add support for CData elements. (#14)
- [hermannpencole]
-
-elementtree v0.1.5 - 2012-11-14
-
-* Fix a bug in the find() and findtext() method which could manifest itself
- under some conditions.
- [metagriffin]
-
-elementtree v0.1.4 - 2012-10-15
-
-* Allow user to use namespaced attributes when using find* functions.
- [Andrew Lunny]
-
-elementtree v0.1.3 - 2012-09-21
-
-* Improve the output of text content in the tags (strip unnecessary line break
- characters).
-
-[Darryl Pogue]
-
-elementtree v0.1.2 - 2012-09-04
-
- * Allow user to pass 'indent' option to ElementTree.write method. If this
- option is specified (e.g. {'indent': 4}). XML will be pretty printed.
- [Darryl Pogue, Tomaz Muraus]
-
- * Bump sax dependency version.
-
-elementtree v0.1.1 - 2011-09-23
-
- * Improve special character escaping.
- [Ryan Phillips]
-
-elementtree v0.1.0 - 2011-09-05
-
- * Initial release.
diff --git a/cordova/node_modules/elementtree/LICENSE.txt b/cordova/node_modules/elementtree/LICENSE.txt
deleted file mode 100755
index 6b0b127..0000000
--- a/cordova/node_modules/elementtree/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
diff --git a/cordova/node_modules/elementtree/Makefile b/cordova/node_modules/elementtree/Makefile
deleted file mode 100755
index ab7c4e0..0000000
--- a/cordova/node_modules/elementtree/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-TESTS := \
- tests/test-simple.js
-
-
-
-PATH := ./node_modules/.bin:$(PATH)
-
-WHISKEY := $(shell bash -c 'PATH=$(PATH) type -p whiskey')
-
-default: test
-
-test:
- NODE_PATH=`pwd`/lib/ ${WHISKEY} --scope-leaks --sequential --real-time --tests "${TESTS}"
-
-tap:
- NODE_PATH=`pwd`/lib/ ${WHISKEY} --test-reporter tap --sequential --real-time --tests "${TESTS}"
-
-coverage:
- NODE_PATH=`pwd`/lib/ ${WHISKEY} --sequential --coverage --coverage-reporter html --coverage-dir coverage_html --tests "${TESTS}"
-
-.PHONY: default test coverage tap scope
diff --git a/cordova/node_modules/elementtree/NOTICE b/cordova/node_modules/elementtree/NOTICE
deleted file mode 100755
index 28ad70a..0000000
--- a/cordova/node_modules/elementtree/NOTICE
+++ /dev/null
@@ -1,5 +0,0 @@
-node-elementtree
-Copyright (c) 2011, Rackspace, Inc.
-
-The ElementTree toolkit is Copyright (c) 1999-2007 by Fredrik Lundh
-
diff --git a/cordova/node_modules/elementtree/README.md b/cordova/node_modules/elementtree/README.md
deleted file mode 100755
index 738420c..0000000
--- a/cordova/node_modules/elementtree/README.md
+++ /dev/null
@@ -1,141 +0,0 @@
-node-elementtree
-====================
-
-node-elementtree is a [Node.js](http://nodejs.org) XML parser and serializer based upon the [Python ElementTree v1.3](http://effbot.org/zone/element-index.htm) module.
-
-Installation
-====================
-
- $ npm install elementtree
-
-Using the library
-====================
-
-For the usage refer to the Python ElementTree library documentation - [http://effbot.org/zone/element-index.htm#usage](http://effbot.org/zone/element-index.htm#usage).
-
-Supported XPath expressions in `find`, `findall` and `findtext` methods are listed on [http://effbot.org/zone/element-xpath.htm](http://effbot.org/zone/element-xpath.htm).
-
-Example 1 – Creating An XML Document
-====================
-
-This example shows how to build a valid XML document that can be published to
-Atom Hopper. Atom Hopper is used internally as a bridge from products all the
-way to collecting revenue, called “Usage.” MaaS and other products send similar
-events to it every time user performs an action on a resource
-(e.g. creates,updates or deletes). Below is an example of leveraging the API
-to create a new XML document.
-
-```javascript
-var et = require('elementtree');
-var XML = et.XML;
-var ElementTree = et.ElementTree;
-var element = et.Element;
-var subElement = et.SubElement;
-
-var date, root, tenantId, serviceName, eventType, usageId, dataCenter, region,
-checks, resourceId, category, startTime, resourceName, etree, xml;
-
-date = new Date();
-
-root = element('entry');
-root.set('xmlns', 'http://www.w3.org/2005/Atom');
-
-tenantId = subElement(root, 'TenantId');
-tenantId.text = '12345';
-
-serviceName = subElement(root, 'ServiceName');
-serviceName.text = 'MaaS';
-
-resourceId = subElement(root, 'ResourceID');
-resourceId.text = 'enAAAA';
-
-usageId = subElement(root, 'UsageID');
-usageId.text = '550e8400-e29b-41d4-a716-446655440000';
-
-eventType = subElement(root, 'EventType');
-eventType.text = 'create';
-
-category = subElement(root, 'category');
-category.set('term', 'monitoring.entity.create');
-
-dataCenter = subElement(root, 'DataCenter');
-dataCenter.text = 'global';
-
-region = subElement(root, 'Region');
-region.text = 'global';
-
-startTime = subElement(root, 'StartTime');
-startTime.text = date;
-
-resourceName = subElement(root, 'ResourceName');
-resourceName.text = 'entity';
-
-etree = new ElementTree(root);
-xml = etree.write({'xml_declaration': false});
-console.log(xml);
-```
-
-As you can see, both et.Element and et.SubElement are factory methods which
-return a new instance of Element and SubElement class, respectively.
-When you create a new element (tag) you can use set method to set an attribute.
-To set the tag value, assign a value to the .text attribute.
-
-This example would output a document that looks like this:
-
-```xml
-<entry xmlns="http://www.w3.org/2005/Atom">
- <TenantId>12345</TenantId>
- <ServiceName>MaaS</ServiceName>
- <ResourceID>enAAAA</ResourceID>
- <UsageID>550e8400-e29b-41d4-a716-446655440000</UsageID>
- <EventType>create</EventType>
- <category term="monitoring.entity.create"/>
- <DataCenter>global</DataCenter>
- <Region>global</Region>
- <StartTime>Sun Apr 29 2012 16:37:32 GMT-0700 (PDT)</StartTime>
- <ResourceName>entity</ResourceName>
-</entry>
-```
-
-Example 2 – Parsing An XML Document
-====================
-
-This example shows how to parse an XML document and use simple XPath selectors.
-For demonstration purposes, we will use the XML document located at
-https://gist.github.com/2554343.
-
-Behind the scenes, node-elementtree uses Isaac’s sax library for parsing XML,
-but the library has a concept of “parsers,” which means it’s pretty simple to
-add support for a different parser.
-
-```javascript
-var fs = require('fs');
-
-var et = require('elementtree');
-
-var XML = et.XML;
-var ElementTree = et.ElementTree;
-var element = et.Element;
-var subElement = et.SubElement;
-
-var data, etree;
-
-data = fs.readFileSync('document.xml').toString();
-etree = et.parse(data);
-
-console.log(etree.findall('./entry/TenantId').length); // 2
-console.log(etree.findtext('./entry/ServiceName')); // MaaS
-console.log(etree.findall('./entry/category')[0].get('term')); // monitoring.entity.create
-console.log(etree.findall('*/category/[@term="monitoring.entity.update"]').length); // 1
-```
-
-Build status
-====================
-
-[![Build Status](https://secure.travis-ci.org/racker/node-elementtree.png)](http://travis-ci.org/racker/node-elementtree)
-
-
-License
-====================
-
-node-elementtree is distributed under the [Apache license](http://www.apache.org/licenses/LICENSE-2.0.html).
diff --git a/cordova/node_modules/elementtree/lib/constants.js b/cordova/node_modules/elementtree/lib/constants.js
deleted file mode 100755
index b057faf..0000000
--- a/cordova/node_modules/elementtree/lib/constants.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2011 Rackspace
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-var DEFAULT_PARSER = 'sax';
-
-exports.DEFAULT_PARSER = DEFAULT_PARSER;
diff --git a/cordova/node_modules/elementtree/lib/elementpath.js b/cordova/node_modules/elementtree/lib/elementpath.js
deleted file mode 100755
index 2e93f47..0000000
--- a/cordova/node_modules/elementtree/lib/elementpath.js
+++ /dev/null
@@ -1,343 +0,0 @@
-/**
- * Copyright 2011 Rackspace
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-var sprintf = require('./sprintf').sprintf;
-
-var utils = require('./utils');
-var SyntaxError = require('./errors').SyntaxError;
-
-var _cache = {};
-
-var RE = new RegExp(
- "(" +
- "'[^']*'|\"[^\"]*\"|" +
- "::|" +
- "//?|" +
- "\\.\\.|" +
- "\\(\\)|" +
- "[/.*:\\[\\]\\(\\)@=])|" +
- "((?:\\{[^}]+\\})?[^/\\[\\]\\(\\)@=\\s]+)|" +
- "\\s+", 'g'
-);
-
-var xpath_tokenizer = utils.findall.bind(null, RE);
-
-function prepare_tag(next, token) {
- var tag = token[0];
-
- function select(context, result) {
- var i, len, elem, rv = [];
-
- for (i = 0, len = result.length; i < len; i++) {
- elem = result[i];
- elem._children.forEach(function(e) {
- if (e.tag === tag) {
- rv.push(e);
- }
- });
- }
-
- return rv;
- }
-
- return select;
-}
-
-function prepare_star(next, token) {
- function select(context, result) {
- var i, len, elem, rv = [];
-
- for (i = 0, len = result.length; i < len; i++) {
- elem = result[i];
- elem._children.forEach(function(e) {
- rv.push(e);
- });
- }
-
- return rv;
- }
-
- return select;
-}
-
-function prepare_dot(next, token) {
- function select(context, result) {
- var i, len, elem, rv = [];
-
- for (i = 0, len = result.length; i < len; i++) {
- elem = result[i];
- rv.push(elem);
- }
-
- return rv;
- }
-
- return select;
-}
-
-function prepare_iter(next, token) {
- var tag;
- token = next();
-
- if (token[1] === '*') {
- tag = '*';
- }
- else if (!token[1]) {
- tag = token[0] || '';
- }
- else {
- throw new SyntaxError(token);
- }
-
- function select(context, result) {
- var i, len, elem, rv = [];
-
- for (i = 0, len = result.length; i < len; i++) {
- elem = result[i];
- elem.iter(tag, function(e) {
- if (e !== elem) {
- rv.push(e);
- }
- });
- }
-
- return rv;
- }
-
- return select;
-}
-
-function prepare_dot_dot(next, token) {
- function select(context, result) {
- var i, len, elem, rv = [], parent_map = context.parent_map;
-
- if (!parent_map) {
- context.parent_map = parent_map = {};
-
- context.root.iter(null, function(p) {
- p._children.forEach(function(e) {
- parent_map[e] = p;
- });
- });
- }
-
- for (i = 0, len = result.length; i < len; i++) {
- elem = result[i];
-
- if (parent_map.hasOwnProperty(elem)) {
- rv.push(parent_map[elem]);
- }
- }
-
- return rv;
- }
-
- return select;
-}
-
-
-function prepare_predicate(next, token) {
- var tag, key, value, select;
- token = next();
-
- if (token[1] === '@') {
- // attribute
- token = next();
-
- if (token[1]) {
- throw new SyntaxError(token, 'Invalid attribute predicate');
- }
-
- key = token[0];
- token = next();
-
- if (token[1] === ']') {
- select = function(context, result) {
- var i, len, elem, rv = [];
-
- for (i = 0, len = result.length; i < len; i++) {
- elem = result[i];
-
- if (elem.get(key)) {
- rv.push(elem);
- }
- }
-
- return rv;
- };
- }
- else if (token[1] === '=') {
- value = next()[1];
-
- if (value[0] === '"' || value[value.length - 1] === '\'') {
- value = value.slice(1, value.length - 1);
- }
- else {
- throw new SyntaxError(token, 'Ivalid comparison target');
- }
-
- token = next();
- select = function(context, result) {
- var i, len, elem, rv = [];
-
- for (i = 0, len = result.length; i < len; i++) {
- elem = result[i];
-
- if (elem.get(key) === value) {
- rv.push(elem);
- }
- }
-
- return rv;
- };
- }
-
- if (token[1] !== ']') {
- throw new SyntaxError(token, 'Invalid attribute predicate');
- }
- }
- else if (!token[1]) {
- tag = token[0] || '';
- token = next();
-
- if (token[1] !== ']') {
- throw new SyntaxError(token, 'Invalid node predicate');
- }
-
- select = function(context, result) {
- var i, len, elem, rv = [];
-
- for (i = 0, len = result.length; i < len; i++) {
- elem = result[i];
-
- if (elem.find(tag)) {
- rv.push(elem);
- }
- }
-
- return rv;
- };
- }
- else {
- throw new SyntaxError(null, 'Invalid predicate');
- }
-
- return select;
-}
-
-
-
-var ops = {
- "": prepare_tag,
- "*": prepare_star,
- ".": prepare_dot,
- "..": prepare_dot_dot,
- "//": prepare_iter,
- "[": prepare_predicate,
-};
-
-function _SelectorContext(root) {
- this.parent_map = null;
- this.root = root;
-}
-
-function findall(elem, path) {
- var selector, result, i, len, token, value, select, context;
-
- if (_cache.hasOwnProperty(path)) {
- selector = _cache[path];
- }
- else {
- // TODO: Use smarter cache purging approach
- if (Object.keys(_cache).length > 100) {
- _cache = {};
- }
-
- if (path.charAt(0) === '/') {
- throw new SyntaxError(null, 'Cannot use absolute path on element');
- }
-
- result = xpath_tokenizer(path);
- selector = [];
-
- function getToken() {
- return result.shift();
- }
-
- token = getToken();
- while (true) {
- var c = token[1] || '';
- value = ops[c](getToken, token);
-
- if (!value) {
- throw new SyntaxError(null, sprintf('Invalid path: %s', path));
- }
-
- selector.push(value);
- token = getToken();
-
- if (!token) {
- break;
- }
- else if (token[1] === '/') {
- token = getToken();
- }
-
- if (!token) {
- break;
- }
- }
-
- _cache[path] = selector;
- }
-
- // Execute slector pattern
- result = [elem];
- context = new _SelectorContext(elem);
-
- for (i = 0, len = selector.length; i < len; i++) {
- select = selector[i];
- result = select(context, result);
- }
-
- return result || [];
-}
-
-function find(element, path) {
- var resultElements = findall(element, path);
-
- if (resultElements && resultElements.length > 0) {
- return resultElements[0];
- }
-
- return null;
-}
-
-function findtext(element, path, defvalue) {
- var resultElements = findall(element, path);
-
- if (resultElements && resultElements.length > 0) {
- return resultElements[0].text;
- }
-
- return defvalue;
-}
-
-
-exports.find = find;
-exports.findall = findall;
-exports.findtext = findtext;
diff --git a/cordova/node_modules/elementtree/lib/elementtree.js b/cordova/node_modules/elementtree/lib/elementtree.js
deleted file mode 100755
index 61d9276..0000000
--- a/cordova/node_modules/elementtree/lib/elementtree.js
+++ /dev/null
@@ -1,611 +0,0 @@
-/**
- * Copyright 2011 Rackspace
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-var sprintf = require('./sprintf').sprintf;
-
-var utils = require('./utils');
-var ElementPath = require('./elementpath');
-var TreeBuilder = require('./treebuilder').TreeBuilder;
-var get_parser = require('./parser').get_parser;
-var constants = require('./constants');
-
-var element_ids = 0;
-
-function Element(tag, attrib)
-{
- this._id = element_ids++;
- this.tag = tag;
- this.attrib = {};
- this.text = null;
- this.tail = null;
- this._children = [];
-
- if (attrib) {
- this.attrib = utils.merge(this.attrib, attrib);
- }
-}
-
-Element.prototype.toString = function()
-{
- return sprintf("<Element %s at %s>", this.tag, this._id);
-};
-
-Element.prototype.makeelement = function(tag, attrib)
-{
- return new Element(tag, attrib);
-};
-
-Element.prototype.len = function()
-{
- return this._children.length;
-};
-
-Element.prototype.getItem = function(index)
-{
- return this._children[index];
-};
-
-Element.prototype.setItem = function(index, element)
-{
- this._children[index] = element;
-};
-
-Element.prototype.delItem = function(index)
-{
- this._children.splice(index, 1);
-};
-
-Element.prototype.getSlice = function(start, stop)
-{
- return this._children.slice(start, stop);
-};
-
-Element.prototype.setSlice = function(start, stop, elements)
-{
- var i;
- var k = 0;
- for (i = start; i < stop; i++, k++) {
- this._children[i] = elements[k];
- }
-};
-
-Element.prototype.delSlice = function(start, stop)
-{
- this._children.splice(start, stop - start);
-};
-
-Element.prototype.append = function(element)
-{
- this._children.push(element);
-};
-
-Element.prototype.extend = function(elements)
-{
- this._children.concat(elements);
-};
-
-Element.prototype.insert = function(index, element)
-{
- this._children[index] = element;
-};
-
-Element.prototype.remove = function(element)
-{
- this._children = this._children.filter(function(e) {
- /* TODO: is this the right way to do this? */
- if (e._id === element._id) {
- return false;
- }
- return true;
- });
-};
-
-Element.prototype.getchildren = function() {
- return this._children;
-};
-
-Element.prototype.find = function(path)
-{
- return ElementPath.find(this, path);
-};
-
-Element.prototype.findtext = function(path, defvalue)
-{
- return ElementPath.findtext(this, path, defvalue);
-};
-
-Element.prototype.findall = function(path, defvalue)
-{
- return ElementPath.findall(this, path, defvalue);
-};
-
-Element.prototype.clear = function()
-{
- this.attrib = {};
- this._children = [];
- this.text = null;
- this.tail = null;
-};
-
-Element.prototype.get = function(key, defvalue)
-{
- if (this.attrib[key] !== undefined) {
- return this.attrib[key];
- }
- else {
- return defvalue;
- }
-};
-
-Element.prototype.set = function(key, value)
-{
- this.attrib[key] = value;
-};
-
-Element.prototype.keys = function()
-{
- return Object.keys(this.attrib);
-};
-
-Element.prototype.items = function()
-{
- return utils.items(this.attrib);
-};
-
-/*
- * In python this uses a generator, but in v8 we don't have em,
- * so we use a callback instead.
- **/
-Element.prototype.iter = function(tag, callback)
-{
- var self = this;
- var i, child;
-
- if (tag === "*") {
- tag = null;
- }
-
- if (tag === null || this.tag === tag) {
- callback(self);
- }
-
- for (i = 0; i < this._children.length; i++) {
- child = this._children[i];
- child.iter(tag, function(e) {
- callback(e);
- });
- }
-};
-
-Element.prototype.itertext = function(callback)
-{
- this.iter(null, function(e) {
- if (e.text) {
- callback(e.text);
- }
-
- if (e.tail) {
- callback(e.tail);
- }
- });
-};
-
-
-function SubElement(parent, tag, attrib) {
- var element = parent.makeelement(tag, attrib);
- parent.append(element);
- return element;
-}
-
-function Comment(text) {
- var element = new Element(Comment);
- if (text) {
- element.text = text;
- }
- return element;
-}
-
-function CData(text) {
- var element = new Element(CData);
- if (text) {
- element.text = text;
- }
- return element;
-}
-
-function ProcessingInstruction(target, text)
-{
- var element = new Element(ProcessingInstruction);
- element.text = target;
- if (text) {
- element.text = element.text + " " + text;
- }
- return element;
-}
-
-function QName(text_or_uri, tag)
-{
- if (tag) {
- text_or_uri = sprintf("{%s}%s", text_or_uri, tag);
- }
- this.text = text_or_uri;
-}
-
-QName.prototype.toString = function() {
- return this.text;
-};
-
-function ElementTree(element)
-{
- this._root = element;
-}
-
-ElementTree.prototype.getroot = function() {
- return this._root;
-};
-
-ElementTree.prototype._setroot = function(element) {
- this._root = element;
-};
-
-ElementTree.prototype.parse = function(source, parser) {
- if (!parser) {
- parser = get_parser(constants.DEFAULT_PARSER);
- parser = new parser.XMLParser(new TreeBuilder());
- }
-
- parser.feed(source);
- this._root = parser.close();
- return this._root;
-};
-
-ElementTree.prototype.iter = function(tag, callback) {
- this._root.iter(tag, callback);
-};
-
-ElementTree.prototype.find = function(path) {
- return this._root.find(path);
-};
-
-ElementTree.prototype.findtext = function(path, defvalue) {
- return this._root.findtext(path, defvalue);
-};
-
-ElementTree.prototype.findall = function(path) {
- return this._root.findall(path);
-};
-
-/**
- * Unlike ElementTree, we don't write to a file, we return you a string.
- */
-ElementTree.prototype.write = function(options) {
- var sb = [];
- options = utils.merge({
- encoding: 'utf-8',
- xml_declaration: null,
- default_namespace: null,
- method: 'xml'}, options);
-
- if (options.xml_declaration !== false) {
- sb.push("<?xml version='1.0' encoding='"+options.encoding +"'?>\n");
- }
-
- if (options.method === "text") {
- _serialize_text(sb, self._root, encoding);
- }
- else {
- var qnames, namespaces, indent, indent_string;
- var x = _namespaces(this._root, options.encoding, options.default_namespace);
- qnames = x[0];
- namespaces = x[1];
-
- if (options.hasOwnProperty('indent')) {
- indent = 0;
- indent_string = new Array(options.indent + 1).join(' ');
- }
- else {
- indent = false;
- }
-
- if (options.method === "xml") {
- _serialize_xml(function(data) {
- sb.push(data);
- }, this._root, options.encoding, qnames, namespaces, indent, indent_string);
- }
- else {
- /* TODO: html */
- throw new Error("unknown serialization method "+ options.method);
- }
- }
-
- return sb.join("");
-};
-
-var _namespace_map = {
- /* "well-known" namespace prefixes */
- "http://www.w3.org/XML/1998/namespace": "xml",
- "http://www.w3.org/1999/xhtml": "html",
- "http://www.w3.org/1999/02/22-rdf-syntax-ns#": "rdf",
- "http://schemas.xmlsoap.org/wsdl/": "wsdl",
- /* xml schema */
- "http://www.w3.org/2001/XMLSchema": "xs",
- "http://www.w3.org/2001/XMLSchema-instance": "xsi",
- /* dublic core */
- "http://purl.org/dc/elements/1.1/": "dc",
-};
-
-function register_namespace(prefix, uri) {
- if (/ns\d+$/.test(prefix)) {
- throw new Error('Prefix format reserved for internal use');
- }
-
- if (_namespace_map.hasOwnProperty(uri) && _namespace_map[uri] === prefix) {
- delete _namespace_map[uri];
- }
-
- _namespace_map[uri] = prefix;
-}
-
-
-function _escape(text, encoding, isAttribute, isText) {
- if (text) {
- text = text.toString();
- text = text.replace(/&/g, '&amp;');
- text = text.replace(/</g, '&lt;');
- text = text.replace(/>/g, '&gt;');
- if (!isText) {
- text = text.replace(/\n/g, '&#xA;');
- text = text.replace(/\r/g, '&#xD;');
- }
- if (isAttribute) {
- text = text.replace(/"/g, '&quot;');
- }
- }
- return text;
-}
-
-/* TODO: benchmark single regex */
-function _escape_attrib(text, encoding) {
- return _escape(text, encoding, true);
-}
-
-function _escape_cdata(text, encoding) {
- return _escape(text, encoding, false);
-}
-
-function _escape_text(text, encoding) {
- return _escape(text, encoding, false, true);
-}
-
-function _namespaces(elem, encoding, default_namespace) {
- var qnames = {};
- var namespaces = {};
-
- if (default_namespace) {
- namespaces[default_namespace] = "";
- }
-
- function encode(text) {
- return text;
- }
-
- function add_qname(qname) {
- if (qname[0] === "{") {
- var tmp = qname.substring(1).split("}", 2);
- var uri = tmp[0];
- var tag = tmp[1];
- var prefix = namespaces[uri];
-
- if (prefix === undefined) {
- prefix = _namespace_map[uri];
- if (prefix === undefined) {
- prefix = "ns" + Object.keys(namespaces).length;
- }
- if (prefix !== "xml") {
- namespaces[uri] = prefix;
- }
- }
-
- if (prefix) {
- qnames[qname] = sprintf("%s:%s", prefix, tag);
- }
- else {
- qnames[qname] = tag;
- }
- }
- else {
- if (default_namespace) {
- throw new Error('cannot use non-qualified names with default_namespace option');
- }
-
- qnames[qname] = qname;
- }
- }
-
-
- elem.iter(null, function(e) {
- var i;
- var tag = e.tag;
- var text = e.text;
- var items = e.items();
-
- if (tag instanceof QName && qnames[tag.text] === undefined) {
- add_qname(tag.text);
- }
- else if (typeof(tag) === "string") {
- add_qname(tag);
- }
- else if (tag !== null && tag !== Comment && tag !== CData && tag !== ProcessingInstruction) {
- throw new Error('Invalid tag type for serialization: '+ tag);
- }
-
- if (text instanceof QName && qnames[text.text] === undefined) {
- add_qname(text.text);
- }
-
- items.forEach(function(item) {
- var key = item[0],
- value = item[1];
- if (key instanceof QName) {
- key = key.text;
- }
-
- if (qnames[key] === undefined) {
- add_qname(key);
- }
-
- if (value instanceof QName && qnames[value.text] === undefined) {
- add_qname(value.text);
- }
- });
- });
- return [qnames, namespaces];
-}
-
-function _serialize_xml(write, elem, encoding, qnames, namespaces, indent, indent_string) {
- var tag = elem.tag;
- var text = elem.text;
- var items;
- var i;
-
- var newlines = indent || (indent === 0);
- write(Array(indent + 1).join(indent_string));
-
- if (tag === Comment) {
- write(sprintf("<!--%s-->", _escape_cdata(text, encoding)));
- }
- else if (tag === ProcessingInstruction) {
- write(sprintf("<?%s?>", _escape_cdata(text, encoding)));
- }
- else if (tag === CData) {
- text = text || '';
- write(sprintf("<![CDATA[%s]]>", text));
- }
- else {
- tag = qnames[tag];
- if (tag === undefined) {
- if (text) {
- write(_escape_text(text, encoding));
- }
- elem.iter(function(e) {
- _serialize_xml(write, e, encoding, qnames, null, newlines ? indent + 1 : false, indent_string);
- });
- }
- else {
- write("<" + tag);
- items = elem.items();
-
- if (items || namespaces) {
- items.sort(); // lexical order
-
- items.forEach(function(item) {
- var k = item[0],
- v = item[1];
-
- if (k instanceof QName) {
- k = k.text;
- }
-
- if (v instanceof QName) {
- v = qnames[v.text];
- }
- else {
- v = _escape_attrib(v, encoding);
- }
- write(sprintf(" %s=\"%s\"", qnames[k], v));
- });
-
- if (namespaces) {
- items = utils.items(namespaces);
- items.sort(function(a, b) { return a[1] < b[1]; });
-
- items.forEach(function(item) {
- var k = item[1],
- v = item[0];
-
- if (k) {
- k = ':' + k;
- }
-
- write(sprintf(" xmlns%s=\"%s\"", k, _escape_attrib(v, encoding)));
- });
- }
- }
-
- if (text || elem.len()) {
- if (text && text.toString().match(/^\s*$/)) {
- text = null;
- }
-
- write(">");
- if (!text && newlines) {
- write("\n");
- }
-
- if (text) {
- write(_escape_text(text, encoding));
- }
- elem._children.forEach(function(e) {
- _serialize_xml(write, e, encoding, qnames, null, newlines ? indent + 1 : false, indent_string);
- });
-
- if (!text && indent) {
- write(Array(indent + 1).join(indent_string));
- }
- write("</" + tag + ">");
- }
- else {
- write(" />");
- }
- }
- }
-
- if (newlines) {
- write("\n");
- }
-}
-
-function parse(source, parser) {
- var tree = new ElementTree();
- tree.parse(source, parser);
- return tree;
-}
-
-function tostring(element, options) {
- return new ElementTree(element).write(options);
-}
-
-exports.PI = ProcessingInstruction;
-exports.Comment = Comment;
-exports.CData = CData;
-exports.ProcessingInstruction = ProcessingInstruction;
-exports.SubElement = SubElement;
-exports.QName = QName;
-exports.ElementTree = ElementTree;
-exports.ElementPath = ElementPath;
-exports.Element = function(tag, attrib) {
- return new Element(tag, attrib);
-};
-
-exports.XML = function(data) {
- var et = new ElementTree();
- return et.parse(data);
-};
-
-exports.parse = parse;
-exports.register_namespace = register_namespace;
-exports.tostring = tostring;
diff --git a/cordova/node_modules/elementtree/lib/errors.js b/cordova/node_modules/elementtree/lib/errors.js
deleted file mode 100755
index e8742be..0000000
--- a/cordova/node_modules/elementtree/lib/errors.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Copyright 2011 Rackspace
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-var util = require('util');
-
-var sprintf = require('./sprintf').sprintf;
-
-function SyntaxError(token, msg) {
- msg = msg || sprintf('Syntax Error at token %s', token.toString());
- this.token = token;
- this.message = msg;
- Error.call(this, msg);
-}
-
-util.inherits(SyntaxError, Error);
-
-exports.SyntaxError = SyntaxError;
diff --git a/cordova/node_modules/elementtree/lib/parser.js b/cordova/node_modules/elementtree/lib/parser.js
deleted file mode 100755
index 7307ee4..0000000
--- a/cordova/node_modules/elementtree/lib/parser.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright 2011 Rackspace
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-/* TODO: support node-expat C++ module optionally */
-
-var util = require('util');
-var parsers = require('./parsers/index');
-
-function get_parser(name) {
- if (name === 'sax') {
- return parsers.sax;
- }
- else {
- throw new Error('Invalid parser: ' + name);
- }
-}
-
-
-exports.get_parser = get_parser;
diff --git a/cordova/node_modules/elementtree/lib/parsers/index.js b/cordova/node_modules/elementtree/lib/parsers/index.js
deleted file mode 100755
index 5eac5c8..0000000
--- a/cordova/node_modules/elementtree/lib/parsers/index.js
+++ /dev/null
@@ -1 +0,0 @@
-exports.sax = require('./sax');
diff --git a/cordova/node_modules/elementtree/lib/parsers/sax.js b/cordova/node_modules/elementtree/lib/parsers/sax.js
deleted file mode 100755
index 69b0a59..0000000
--- a/cordova/node_modules/elementtree/lib/parsers/sax.js
+++ /dev/null
@@ -1,56 +0,0 @@
-var util = require('util');
-
-var sax = require('sax');
-
-var TreeBuilder = require('./../treebuilder').TreeBuilder;
-
-function XMLParser(target) {
- this.parser = sax.parser(true);
-
- this.target = (target) ? target : new TreeBuilder();
-
- this.parser.onopentag = this._handleOpenTag.bind(this);
- this.parser.ontext = this._handleText.bind(this);
- this.parser.oncdata = this._handleCdata.bind(this);
- this.parser.ondoctype = this._handleDoctype.bind(this);
- this.parser.oncomment = this._handleComment.bind(this);
- this.parser.onclosetag = this._handleCloseTag.bind(this);
- this.parser.onerror = this._handleError.bind(this);
-}
-
-XMLParser.prototype._handleOpenTag = function(tag) {
- this.target.start(tag.name, tag.attributes);
-};
-
-XMLParser.prototype._handleText = function(text) {
- this.target.data(text);
-};
-
-XMLParser.prototype._handleCdata = function(text) {
- this.target.data(text);
-};
-
-XMLParser.prototype._handleDoctype = function(text) {
-};
-
-XMLParser.prototype._handleComment = function(comment) {
-};
-
-XMLParser.prototype._handleCloseTag = function(tag) {
- this.target.end(tag);
-};
-
-XMLParser.prototype._handleError = function(err) {
- throw err;
-};
-
-XMLParser.prototype.feed = function(chunk) {
- this.parser.write(chunk);
-};
-
-XMLParser.prototype.close = function() {
- this.parser.close();
- return this.target.close();
-};
-
-exports.XMLParser = XMLParser;
diff --git a/cordova/node_modules/elementtree/lib/sprintf.js b/cordova/node_modules/elementtree/lib/sprintf.js
deleted file mode 100755
index f802c1b..0000000
--- a/cordova/node_modules/elementtree/lib/sprintf.js
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright 2011 Rackspace
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-var cache = {};
-
-
-// Do any others need escaping?
-var TO_ESCAPE = {
- '\'': '\\\'',
- '\n': '\\n'
-};
-
-
-function populate(formatter) {
- var i, type,
- key = formatter,
- prev = 0,
- arg = 1,
- builder = 'return \'';
-
- for (i = 0; i < formatter.length; i++) {
- if (formatter[i] === '%') {
- type = formatter[i + 1];
-
- switch (type) {
- case 's':
- builder += formatter.slice(prev, i) + '\' + arguments[' + arg + '] + \'';
- prev = i + 2;
- arg++;
- break;
- case 'j':
- builder += formatter.slice(prev, i) + '\' + JSON.stringify(arguments[' + arg + ']) + \'';
- prev = i + 2;
- arg++;
- break;
- case '%':
- builder += formatter.slice(prev, i + 1);
- prev = i + 2;
- i++;
- break;
- }
-
-
- } else if (TO_ESCAPE[formatter[i]]) {
- builder += formatter.slice(prev, i) + TO_ESCAPE[formatter[i]];
- prev = i + 1;
- }
- }
-
- builder += formatter.slice(prev) + '\';';
- cache[key] = new Function(builder);
-}
-
-
-/**
- * A fast version of sprintf(), which currently only supports the %s and %j.
- * This caches a formatting function for each format string that is used, so
- * you should only use this sprintf() will be called many times with a single
- * format string and a limited number of format strings will ever be used (in
- * general this means that format strings should be string literals).
- *
- * @param {String} formatter A format string.
- * @param {...String} var_args Values that will be formatted by %s and %j.
- * @return {String} The formatted output.
- */
-exports.sprintf = function(formatter, var_args) {
- if (!cache[formatter]) {
- populate(formatter);
- }
-
- return cache[formatter].apply(null, arguments);
-};
diff --git a/cordova/node_modules/elementtree/lib/treebuilder.js b/cordova/node_modules/elementtree/lib/treebuilder.js
deleted file mode 100755
index 393a98f..0000000
--- a/cordova/node_modules/elementtree/lib/treebuilder.js
+++ /dev/null
@@ -1,60 +0,0 @@
-function TreeBuilder(element_factory) {
- this._data = [];
- this._elem = [];
- this._last = null;
- this._tail = null;
- if (!element_factory) {
- /* evil circular dep */
- element_factory = require('./elementtree').Element;
- }
- this._factory = element_factory;
-}
-
-TreeBuilder.prototype.close = function() {
- return this._last;
-};
-
-TreeBuilder.prototype._flush = function() {
- if (this._data) {
- if (this._last !== null) {
- var text = this._data.join("");
- if (this._tail) {
- this._last.tail = text;
- }
- else {
- this._last.text = text;
- }
- }
- this._data = [];
- }
-};
-
-TreeBuilder.prototype.data = function(data) {
- this._data.push(data);
-};
-
-TreeBuilder.prototype.start = function(tag, attrs) {
- this._flush();
- var elem = this._factory(tag, attrs);
- this._last = elem;
-
- if (this._elem.length) {
- this._elem[this._elem.length - 1].append(elem);
- }
-
- this._elem.push(elem);
-
- this._tail = null;
-};
-
-TreeBuilder.prototype.end = function(tag) {
- this._flush();
- this._last = this._elem.pop();
- if (this._last.tag !== tag) {
- throw new Error("end tag mismatch");
- }
- this._tail = 1;
- return this._last;
-};
-
-exports.TreeBuilder = TreeBuilder;
diff --git a/cordova/node_modules/elementtree/lib/utils.js b/cordova/node_modules/elementtree/lib/utils.js
deleted file mode 100755
index b08a670..0000000
--- a/cordova/node_modules/elementtree/lib/utils.js
+++ /dev/null
@@ -1,72 +0,0 @@
-/**
- * Copyright 2011 Rackspace
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-/**
- * @param {Object} hash.
- * @param {Array} ignored.
- */
-function items(hash, ignored) {
- ignored = ignored || null;
- var k, rv = [];
-
- function is_ignored(key) {
- if (!ignored || ignored.length === 0) {
- return false;
- }
-
- return ignored.indexOf(key);
- }
-
- for (k in hash) {
- if (hash.hasOwnProperty(k) && !(is_ignored(ignored))) {
- rv.push([k, hash[k]]);
- }
- }
-
- return rv;
-}
-
-
-function findall(re, str) {
- var match, matches = [];
-
- while ((match = re.exec(str))) {
- matches.push(match);
- }
-
- return matches;
-}
-
-function merge(a, b) {
- var c = {}, attrname;
-
- for (attrname in a) {
- if (a.hasOwnProperty(attrname)) {
- c[attrname] = a[attrname];
- }
- }
- for (attrname in b) {
- if (b.hasOwnProperty(attrname)) {
- c[attrname] = b[attrname];
- }
- }
- return c;
-}
-
-exports.items = items;
-exports.findall = findall;
-exports.merge = merge;
diff --git a/cordova/node_modules/elementtree/package.json b/cordova/node_modules/elementtree/package.json
deleted file mode 100755
index bfd44aa..0000000
--- a/cordova/node_modules/elementtree/package.json
+++ /dev/null
@@ -1,81 +0,0 @@
-{
- "_from": "[email protected]",
- "_id": "[email protected]",
- "_inBundle": true,
- "_integrity": "sha1-KsTEbqMFFsjEy9teOsdBjlkt4gw=",
- "_location": "/cordova-ios/elementtree",
- "_phantomChildren": {},
- "_requested": {
- "type": "version",
- "registry": true,
- "raw": "[email protected]",
- "name": "elementtree",
- "escapedName": "elementtree",
- "rawSpec": "0.1.6",
- "saveSpec": null,
- "fetchSpec": "0.1.6"
- },
- "_requiredBy": [
- "/cordova-ios",
- "/cordova-ios/cordova-common"
- ],
- "_resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.6.tgz",
- "_shasum": "2ac4c46ea30516c8c4cbdb5e3ac7418e592de20c",
- "_spec": "[email protected]",
- "_where": "/Users/brodybits/Documents/cordova/cordova-ios/node_modules/cordova-common",
- "author": {
- "name": "Rackspace US, Inc."
- },
- "bugs": {
- "url": "https://github.com/racker/node-elementtree/issues"
- },
- "bundleDependencies": false,
- "contributors": [
- {
- "name": "Paul Querna",
- "email": "[email protected]"
- },
- {
- "name": "Tomaz Muraus",
- "email": "[email protected]"
- }
- ],
- "dependencies": {
- "sax": "0.3.5"
- },
- "deprecated": false,
- "description": "XML Serialization and Parsing module based on Python's ElementTree.",
- "devDependencies": {
- "whiskey": "0.8.x"
- },
- "directories": {
- "lib": "lib"
- },
- "engines": {
- "node": ">= 0.4.0"
- },
- "homepage": "https://github.com/racker/node-elementtree",
- "keywords": [
- "xml",
- "sax",
- "parser",
- "seralization",
- "elementtree"
- ],
- "licenses": [
- {
- "type": "Apache",
- "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
- }
- ],
- "main": "lib/elementtree.js",
- "name": "elementtree",
- "repository": {
- "type": "git",
- "url": "git://github.com/racker/node-elementtree.git"
- },
- "scripts": {
- "test": "make test"
- },
- "version": "0.1.6"
-}
diff --git a/cordova/node_modules/elementtree/tests/data/xml1.xml b/cordova/node_modules/elementtree/tests/data/xml1.xml
deleted file mode 100755
index 72c33ae..0000000
--- a/cordova/node_modules/elementtree/tests/data/xml1.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0"?>
-<container name="test_container_1" xmlns:android="http://schemas.android.com/apk/res/android">
- <object>dd
- <name>test_object_1</name>
- <hash>4281c348eaf83e70ddce0e07221c3d28</hash>
- <bytes android:type="cool">14</bytes>
- <content_type>application/octetstream</content_type>
- <last_modified>2009-02-03T05:26:32.612278</last_modified>
- </object>
- <object>
- <name>test_object_2</name>
- <hash>b039efe731ad111bc1b0ef221c3849d0</hash>
- <bytes android:type="lame">64</bytes>
- <content_type>application/octetstream</content_type>
- <last_modified>2009-02-03T05:26:32.612278</last_modified>
- </object>
-</container>
diff --git a/cordova/node_modules/elementtree/tests/data/xml2.xml b/cordova/node_modules/elementtree/tests/data/xml2.xml
deleted file mode 100755
index 5f94bbd..0000000
--- a/cordova/node_modules/elementtree/tests/data/xml2.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0"?>
-<object>
- <title>
- Hello World
- </title>
- <children>
- <object id="obj1" />
- <object id="obj2" />
- <object id="obj3" />
- </children>
- <text><![CDATA[
- Test & Test & Test
- ]]></text>
-</object>
diff --git a/cordova/node_modules/elementtree/tests/test-simple.js b/cordova/node_modules/elementtree/tests/test-simple.js
deleted file mode 100755
index 1fc04b8..0000000
--- a/cordova/node_modules/elementtree/tests/test-simple.js
+++ /dev/null
@@ -1,339 +0,0 @@
-/**
- * Copyright 2011 Rackspace
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-var fs = require('fs');
-var path = require('path');
-
-var sprintf = require('./../lib/sprintf').sprintf;
-var et = require('elementtree');
-var XML = et.XML;
-var ElementTree = et.ElementTree;
-var Element = et.Element;
-var SubElement = et.SubElement;
-var SyntaxError = require('./../lib/errors').SyntaxError;
-
-function readFile(name) {
- return fs.readFileSync(path.join(__dirname, '/data/', name), 'utf8');
-}
-
-exports['test_simplest'] = function(test, assert) {
- /* Ported from <https://github.com/lxml/lxml/blob/master/src/lxml/tests/test_elementtree.py> */
- var Element = et.Element;
- var root = Element('root');
- root.append(Element('one'));
- root.append(Element('two'));
- root.append(Element('three'));
- assert.equal(3, root.len());
- assert.equal('one', root.getItem(0).tag);
- assert.equal('two', root.getItem(1).tag);
- assert.equal('three', root.getItem(2).tag);
- test.finish();
-};
-
-
-exports['test_attribute_values'] = function(test, assert) {
- var XML = et.XML;
- var root = XML('<doc alpha="Alpha" beta="Beta" gamma="Gamma"/>');
- assert.equal('Alpha', root.attrib['alpha']);
- assert.equal('Beta', root.attrib['beta']);
- assert.equal('Gamma', root.attrib['gamma']);
- test.finish();
-};
-
-
-exports['test_findall'] = function(test, assert) {
- var XML = et.XML;
- var root = XML('<a><b><c/></b><b/><c><b/></c></a>');
-
- assert.equal(root.findall("c").length, 1);
- assert.equal(root.findall(".//c").length, 2);
- assert.equal(root.findall(".//b").length, 3);
- assert.equal(root.findall(".//b")[0]._children.length, 1);
- assert.equal(root.findall(".//b")[1]._children.length, 0);
- assert.equal(root.findall(".//b")[2]._children.length, 0);
- assert.deepEqual(root.findall('.//b')[0], root.getchildren()[0]);
-
- test.finish();
-};
-
-exports['test_find'] = function(test, assert) {
- var a = Element('a');
- var b = SubElement(a, 'b');
- var c = SubElement(a, 'c');
-
- assert.deepEqual(a.find('./b/..'), a);
- test.finish();
-};
-
-exports['test_elementtree_find_qname'] = function(test, assert) {
- var tree = new et.ElementTree(XML('<a><b><c/></b><b/><c><b/></c></a>'));
- assert.deepEqual(tree.find(new et.QName('c')), tree.getroot()._children[2]);
- test.finish();
-};
-
-exports['test_attrib_ns_clear'] = function(test, assert) {
- var attribNS = '{http://foo/bar}x';
-
- var par = Element('par');
- par.set(attribNS, 'a');
- var child = SubElement(par, 'child');
- child.set(attribNS, 'b');
-
- assert.equal('a', par.get(attribNS));
- assert.equal('b', child.get(attribNS));
-
- par.clear();
- assert.equal(null, par.get(attribNS));
- assert.equal('b', child.get(attribNS));
- test.finish();
-};
-
-exports['test_create_tree_and_parse_simple'] = function(test, assert) {
- var i = 0;
- var e = new Element('bar', {});
- var expected = "<?xml version='1.0' encoding='utf-8'?>\n" +
- '<bar><blah a="11" /><blah a="12" /><gag a="13" b="abc">ponies</gag></bar>';
-
- SubElement(e, "blah", {a: 11});
- SubElement(e, "blah", {a: 12});
- var se = et.SubElement(e, "gag", {a: '13', b: 'abc'});
- se.text = 'ponies';
-
- se.itertext(function(text) {
- assert.equal(text, 'ponies');
- i++;
- });
-
- assert.equal(i, 1);
- var etree = new ElementTree(e);
- var xml = etree.write();
- assert.equal(xml, expected);
- test.finish();
-};
-
-exports['test_write_with_options'] = function(test, assert) {
- var i = 0;
- var e = new Element('bar', {});
- var expected1 = "<?xml version='1.0' encoding='utf-8'?>\n" +
- '<bar>\n' +
- ' <blah a="11">\n' +
- ' <baz d="11">test</baz>\n' +
- ' </blah>\n' +
- ' <blah a="12" />\n' +
- ' <gag a="13" b="abc">ponies</gag>\n' +
- '</bar>\n';
- var expected2 = "<?xml version='1.0' encoding='utf-8'?>\n" +
- '<bar>\n' +
- ' <blah a="11">\n' +
- ' <baz d="11">test</baz>\n' +
- ' </blah>\n' +
- ' <blah a="12" />\n' +
- ' <gag a="13" b="abc">ponies</gag>\n' +
- '</bar>\n';
-
- var expected3 = "<?xml version='1.0' encoding='utf-8'?>\n" +
- '<object>\n' +
- ' <title>\n' +
- ' Hello World\n' +
- ' </title>\n' +
- ' <children>\n' +
- ' <object id="obj1" />\n' +
- ' <object id="obj2" />\n' +
- ' <object id="obj3" />\n' +
- ' </children>\n' +
- ' <text>\n' +
- ' Test &amp; Test &amp; Test\n' +
- ' </text>\n' +
- '</object>\n';
-
- var se1 = SubElement(e, "blah", {a: 11});
- var se2 = SubElement(se1, "baz", {d: 11});
- se2.text = 'test';
- SubElement(e, "blah", {a: 12});
- var se = et.SubElement(e, "gag", {a: '13', b: 'abc'});
- se.text = 'ponies';
-
- se.itertext(function(text) {
- assert.equal(text, 'ponies');
- i++;
- });
-
- assert.equal(i, 1);
- var etree = new ElementTree(e);
- var xml1 = etree.write({'indent': 4});
- var xml2 = etree.write({'indent': 2});
- assert.equal(xml1, expected1);
- assert.equal(xml2, expected2);
-
- var file = readFile('xml2.xml');
- var etree2 = et.parse(file);
- var xml3 = etree2.write({'indent': 4});
- assert.equal(xml3, expected3);
- test.finish();
-};
-
-exports['test_parse_and_find_2'] = function(test, assert) {
- var data = readFile('xml1.xml');
- var etree = et.parse(data);
-
- assert.equal(etree.findall('./object').length, 2);
- assert.equal(etree.findall('[@name]').length, 1);
- assert.equal(etree.findall('[@name="test_container_1"]').length, 1);
- assert.equal(etree.findall('[@name=\'test_container_1\']').length, 1);
- assert.equal(etree.findall('./object')[0].findtext('name'), 'test_object_1');
- assert.equal(etree.findtext('./object/name'), 'test_object_1');
- assert.equal(etree.findall('.//bytes').length, 2);
- assert.equal(etree.findall('*/bytes').length, 2);
- assert.equal(etree.findall('*/foobar').length, 0);
-
- test.finish();
-};
-
-exports['test_namespaced_attribute'] = function(test, assert) {
- var data = readFile('xml1.xml');
- var etree = et.parse(data);
-
- assert.equal(etree.findall('*/bytes[@android:type="cool"]').length, 1);
-
- test.finish();
-}
-
-exports['test_syntax_errors'] = function(test, assert) {
- var expressions = [ './/@bar', '[@bar', '[@foo=bar]', '[@', '/bar' ];
- var errCount = 0;
- var data = readFile('xml1.xml');
- var etree = et.parse(data);
-
- expressions.forEach(function(expression) {
- try {
- etree.findall(expression);
- }
- catch (err) {
- errCount++;
- }
- });
-
- assert.equal(errCount, expressions.length);
- test.finish();
-};
-
-exports['test_register_namespace'] = function(test, assert){
- var prefix = 'TESTPREFIX';
- var namespace = 'http://seriously.unknown/namespace/URI';
- var errCount = 0;
-
- var etree = Element(sprintf('{%s}test', namespace));
- assert.equal(et.tostring(etree, { 'xml_declaration': false}),
- sprintf('<ns0:test xmlns:ns0="%s" />', namespace));
-
- et.register_namespace(prefix, namespace);
- var etree = Element(sprintf('{%s}test', namespace));
- assert.equal(et.tostring(etree, { 'xml_declaration': false}),
- sprintf('<%s:test xmlns:%s="%s" />', prefix, prefix, namespace));
-
- try {
- et.register_namespace('ns25', namespace);
- }
- catch (err) {
- errCount++;
- }
-
- assert.equal(errCount, 1, 'Reserved prefix used, but exception was not thrown');
- test.finish();
-};
-
-exports['test_tostring'] = function(test, assert) {
- var a = Element('a');
- var b = SubElement(a, 'b');
- var c = SubElement(a, 'c');
- c.text = 543;
-
- assert.equal(et.tostring(a, { 'xml_declaration': false }), '<a><b /><c>543</c></a>');
- assert.equal(et.tostring(c, { 'xml_declaration': false }), '<c>543</c>');
- test.finish();
-};
-
-exports['test_escape'] = function(test, assert) {
- var a = Element('a');
- var b = SubElement(a, 'b');
- b.text = '&&&&<>"\n\r';
-
- assert.equal(et.tostring(a, { 'xml_declaration': false }), '<a><b>&amp;&amp;&amp;&amp;&lt;&gt;\"\n\r</b></a>');
- test.finish();
-};
-
-exports['test_find_null'] = function(test, assert) {
- var root = Element('root');
- var node = SubElement(root, 'node');
- var leaf = SubElement(node, 'leaf');
- leaf.text = 'ipsum';
-
- assert.equal(root.find('node/leaf'), leaf);
- assert.equal(root.find('no-such-node/leaf'), null);
- test.finish();
-};
-
-exports['test_findtext_null'] = function(test, assert) {
- var root = Element('root');
- var node = SubElement(root, 'node');
- var leaf = SubElement(node, 'leaf');
- leaf.text = 'ipsum';
-
- assert.equal(root.findtext('node/leaf'), 'ipsum');
- assert.equal(root.findtext('no-such-node/leaf'), null);
- test.finish();
-};
-
-exports['test_remove'] = function(test, assert) {
- var root = Element('root');
- var node1 = SubElement(root, 'node1');
- var node2 = SubElement(root, 'node2');
- var node3 = SubElement(root, 'node3');
-
- assert.equal(root.len(), 3);
-
- root.remove(node2);
-
- assert.equal(root.len(), 2);
- assert.equal(root.getItem(0).tag, 'node1')
- assert.equal(root.getItem(1).tag, 'node3')
-
- test.finish();
-};
-
-exports['test_cdata_write'] = function(test, assert) {
- var root, etree, xml, values, value, i;
-
- values = [
- 'if(0>1) then true;',
- '<test1>ponies hello</test1>',
- ''
- ];
-
- for (i = 0; i < values.length; i++) {
- value = values[i];
-
- root = Element('root');
- root.append(et.CData(value));
- etree = new ElementTree(root);
- xml = etree.write({'xml_declaration': false});
-
- assert.equal(xml, sprintf('<root><![CDATA[%s]]></root>', value));
- }
-
- test.finish();
-};