From bca90452150c6a128f88765d04481a0235059af3 Mon Sep 17 00:00:00 2001 From: nanalelfe Date: Mon, 25 Jul 2016 07:02:14 -0400 Subject: need pull" --- node_modules/jquery/package.json | 5 +++-- .../acorn-globals/node_modules/acorn/package.json | 3 ++- .../jsdom/node_modules/acorn-globals/package.json | 5 +++-- node_modules/jsdom/node_modules/acorn/package.json | 3 ++- .../jsdom/node_modules/browser-request/package.json | 5 +++-- .../contextify/build/Release/contextify.node | Bin 38416 -> 38416 bytes .../contextify/node_modules/bindings/package.json | 3 ++- .../jsdom/node_modules/contextify/package.json | 3 ++- node_modules/jsdom/node_modules/cssom/package.json | 3 ++- .../jsdom/node_modules/cssstyle/package.json | 3 ++- .../escodegen/node_modules/esprima/package.json | 3 ++- .../escodegen/node_modules/estraverse/package.json | 5 +++-- .../escodegen/node_modules/esutils/package.json | 5 +++-- .../optionator/node_modules/deep-is/package.json | 5 +++-- .../node_modules/fast-levenshtein/package.json | 3 ++- .../optionator/node_modules/levn/package.json | 3 ++- .../optionator/node_modules/prelude-ls/package.json | 3 ++- .../optionator/node_modules/type-check/package.json | 3 ++- .../optionator/node_modules/wordwrap/package.json | 3 ++- .../escodegen/node_modules/optionator/package.json | 3 ++- .../escodegen/node_modules/source-map/package.json | 5 +++-- .../jsdom/node_modules/escodegen/package.json | 3 ++- .../node_modules/domelementtype/package.json | 3 ++- .../node_modules/domhandler/package.json | 3 ++- .../node_modules/domelementtype/package.json | 3 ++- .../node_modules/dom-serializer/package.json | 3 ++- .../htmlparser2/node_modules/domutils/package.json | 3 ++- .../htmlparser2/node_modules/entities/package.json | 3 ++- .../jsdom/node_modules/htmlparser2/package.json | 3 ++- .../jsdom/node_modules/nwmatcher/package.json | 3 ++- node_modules/jsdom/node_modules/parse5/package.json | 3 ++- .../request/node_modules/aws-sign2/package.json | 3 ++- .../request/node_modules/aws4/package.json | 3 ++- .../bl/node_modules/readable-stream/package.json | 3 ++- .../request/node_modules/bl/package.json | 5 +++-- .../request/node_modules/caseless/package.json | 3 ++- .../node_modules/delayed-stream/package.json | 3 ++- .../node_modules/combined-stream/package.json | 3 ++- .../request/node_modules/extend/package.json | 3 ++- .../request/node_modules/forever-agent/package.json | 5 +++-- .../request/node_modules/form-data/package.json | 3 ++- .../node_modules/commander/package.json | 3 ++- .../node_modules/generate-function/package.json | 5 +++-- .../node_modules/is-property/package.json | 3 ++- .../generate-object-property/package.json | 5 +++-- .../node_modules/jsonpointer/package.json | 3 ++- .../node_modules/xtend/package.json | 3 ++- .../node_modules/is-my-json-valid/package.json | 5 +++-- .../request/node_modules/har-validator/package.json | 5 +++-- .../hawk/node_modules/boom/package.json | 3 ++- .../hawk/node_modules/cryptiles/package.json | 3 ++- .../hawk/node_modules/hoek/package.json | 3 ++- .../hawk/node_modules/sntp/package.json | 5 +++-- .../request/node_modules/hawk/package.json | 3 ++- .../node_modules/assert-plus/package.json | 3 ++- .../jsprim/node_modules/extsprintf/package.json | 7 ++++++- .../jsprim/node_modules/json-schema/package.json | 8 ++++++-- .../jsprim/node_modules/verror/package.json | 7 ++++++- .../http-signature/node_modules/jsprim/package.json | 3 ++- .../sshpk/node_modules/asn1/package.json | 3 ++- .../sshpk/node_modules/assert-plus/package.json | 3 ++- .../sshpk/node_modules/dashdash/package.json | 3 ++- .../sshpk/node_modules/ecc-jsbn/package.json | 3 ++- .../sshpk/node_modules/getpass/package.json | 3 ++- .../sshpk/node_modules/jodid25519/package.json | 3 ++- .../sshpk/node_modules/jsbn/package.json | 5 +++-- .../sshpk/node_modules/tweetnacl/package.json | 3 ++- .../http-signature/node_modules/sshpk/package.json | 3 ++- .../node_modules/http-signature/package.json | 3 ++- .../request/node_modules/is-typedarray/package.json | 3 ++- .../request/node_modules/isstream/package.json | 5 +++-- .../node_modules/json-stringify-safe/package.json | 3 ++- .../request/node_modules/oauth-sign/package.json | 3 ++- .../request/node_modules/stringstream/package.json | 3 ++- .../request/node_modules/tough-cookie/package.json | 3 ++- .../request/node_modules/tunnel-agent/package.json | 3 ++- .../jsdom/node_modules/request/package.json | 3 ++- .../node_modules/xml-name-validator/package.json | 5 +++-- .../jsdom/node_modules/xmlhttprequest/package.json | 3 ++- node_modules/jsdom/package.json | 7 ++++--- 80 files changed, 189 insertions(+), 99 deletions(-) (limited to 'node_modules') diff --git a/node_modules/jquery/package.json b/node_modules/jquery/package.json index 63b08e1..875e529 100644 --- a/node_modules/jquery/package.json +++ b/node_modules/jquery/package.json @@ -93,7 +93,7 @@ "gitHead": "6f02bc382c0529d3b4f68f6b2ad21876642dbbfe", "_id": "jquery@3.1.0", "_shasum": "129f6f1ae94b18f09010b008d0d6011e40613d7f", - "_from": "jquery@latest", + "_from": "jquery@>=3.1.0 <4.0.0", "_npmVersion": "2.15.8", "_nodeVersion": "4.4.7", "_npmUser": { @@ -127,5 +127,6 @@ "tmp": "tmp/jquery-3.1.0.tgz_1467927964329_0.882518710102886" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/jquery/-/jquery-3.1.0.tgz" + "_resolved": "https://registry.npmjs.org/jquery/-/jquery-3.1.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/package.json b/node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/package.json index 3e20d2e..5579068 100644 --- a/node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/package.json +++ b/node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/package.json @@ -182,5 +182,6 @@ "tarball": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz" + "_resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/acorn-globals/package.json b/node_modules/jsdom/node_modules/acorn-globals/package.json index 8b518d4..3cebfe8 100644 --- a/node_modules/jsdom/node_modules/acorn-globals/package.json +++ b/node_modules/jsdom/node_modules/acorn-globals/package.json @@ -27,7 +27,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/ForbesLindesay/acorn-globals.git" + "url": "git+https://github.com/ForbesLindesay/acorn-globals.git" }, "author": { "name": "ForbesLindesay" @@ -62,5 +62,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz" + "_resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/acorn/package.json b/node_modules/jsdom/node_modules/acorn/package.json index 27537c5..b125bb4 100644 --- a/node_modules/jsdom/node_modules/acorn/package.json +++ b/node_modules/jsdom/node_modules/acorn/package.json @@ -143,5 +143,6 @@ "tarball": "https://registry.npmjs.org/acorn/-/acorn-0.11.0.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/acorn/-/acorn-0.11.0.tgz" + "_resolved": "https://registry.npmjs.org/acorn/-/acorn-0.11.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/browser-request/package.json b/node_modules/jsdom/node_modules/browser-request/package.json index 68462b1..af6d923 100644 --- a/node_modules/jsdom/node_modules/browser-request/package.json +++ b/node_modules/jsdom/node_modules/browser-request/package.json @@ -15,7 +15,7 @@ "homepage": "http://github.com/iriscouch/browser-request", "repository": { "type": "git", - "url": "git://github.com/iriscouch/browser-request" + "url": "git://github.com/iriscouch/browser-request.git" }, "scripts": { "test": "beefy test.js" @@ -86,5 +86,6 @@ ], "directories": {}, "_shasum": "9ece5b5aca89a29932242e18bf933def9876cc17", - "_resolved": "https://registry.npmjs.org/browser-request/-/browser-request-0.3.3.tgz" + "_resolved": "https://registry.npmjs.org/browser-request/-/browser-request-0.3.3.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/contextify/build/Release/contextify.node b/node_modules/jsdom/node_modules/contextify/build/Release/contextify.node index a56d206..2056e25 100755 Binary files a/node_modules/jsdom/node_modules/contextify/build/Release/contextify.node and b/node_modules/jsdom/node_modules/contextify/build/Release/contextify.node differ diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/bindings/package.json b/node_modules/jsdom/node_modules/contextify/node_modules/bindings/package.json index 8134ba6..8b4ff36 100644 --- a/node_modules/jsdom/node_modules/contextify/node_modules/bindings/package.json +++ b/node_modules/jsdom/node_modules/contextify/node_modules/bindings/package.json @@ -51,5 +51,6 @@ "tarball": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz" + "_resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/contextify/package.json b/node_modules/jsdom/node_modules/contextify/package.json index c9b4269..98f5dba 100644 --- a/node_modules/jsdom/node_modules/contextify/package.json +++ b/node_modules/jsdom/node_modules/contextify/package.json @@ -123,5 +123,6 @@ "tarball": "https://registry.npmjs.org/contextify/-/contextify-0.1.15.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/contextify/-/contextify-0.1.15.tgz" + "_resolved": "https://registry.npmjs.org/contextify/-/contextify-0.1.15.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/cssom/package.json b/node_modules/jsdom/node_modules/cssom/package.json index a1a2573..51759f8 100644 --- a/node_modules/jsdom/node_modules/cssom/package.json +++ b/node_modules/jsdom/node_modules/cssom/package.json @@ -56,5 +56,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.1.tgz" + "_resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/cssstyle/package.json b/node_modules/jsdom/node_modules/cssstyle/package.json index 6488d76..27ad0c0 100644 --- a/node_modules/jsdom/node_modules/cssstyle/package.json +++ b/node_modules/jsdom/node_modules/cssstyle/package.json @@ -63,5 +63,6 @@ "host": "packages-16-east.internal.npmjs.com", "tmp": "tmp/cssstyle-0.2.36.tgz_1464157230715_0.58683220599778" }, - "_resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.36.tgz" + "_resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.36.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/package.json index 7a32f70..f8d92d7 100644 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/package.json +++ b/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/package.json @@ -114,5 +114,6 @@ "tmp": "tmp/esprima-2.7.2.tgz_1454477276067_0.014412595424801111" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.2.tgz" + "_resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.2.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/package.json index cb14c38..bb9eca4 100644 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/package.json +++ b/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/package.json @@ -15,7 +15,7 @@ ], "repository": { "type": "git", - "url": "http://github.com/estools/estraverse.git" + "url": "git+ssh://git@github.com/estools/estraverse.git" }, "devDependencies": { "chai": "^2.1.1", @@ -56,5 +56,6 @@ "tarball": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz" + "_resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/package.json index 158d662..fd1cb04 100644 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/package.json +++ b/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/package.json @@ -27,7 +27,7 @@ ], "repository": { "type": "git", - "url": "http://github.com/estools/esutils.git" + "url": "git+ssh://git@github.com/estools/esutils.git" }, "devDependencies": { "chai": "~1.7.2", @@ -66,5 +66,6 @@ "shasum": "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b", "tarball": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz" }, - "_resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz" + "_resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/package.json index a387c7f..b27c04d 100644 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/package.json +++ b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/package.json @@ -16,7 +16,7 @@ }, "repository": { "type": "git", - "url": "http://github.com/thlorenz/deep-is.git" + "url": "git+ssh://git@github.com/thlorenz/deep-is.git" }, "keywords": [ "equality", @@ -81,5 +81,6 @@ "shasum": "b369d6fb5dbc13eecf524f91b070feedc357cf34", "tarball": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" }, - "_resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" + "_resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/package.json index d9239eb..9e322bf 100644 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/package.json +++ b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/package.json @@ -67,5 +67,6 @@ "tmp": "tmp/fast-levenshtein-1.1.4.tgz_1469168840025_0.9637497058138251" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz" + "_resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/package.json index f46678e..4892b26 100644 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/package.json +++ b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/package.json @@ -70,5 +70,6 @@ "tarball": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" + "_resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/package.json index 7bbf7f7..f26b147 100644 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/package.json +++ b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/package.json @@ -75,5 +75,6 @@ "tarball": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" + "_resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/package.json index 5c396eb..79b506e 100644 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/package.json +++ b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/package.json @@ -63,5 +63,6 @@ "tarball": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" + "_resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/package.json index bb76bd1..c3cd355 100644 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/package.json +++ b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/package.json @@ -55,5 +55,6 @@ "email": "mail@substack.net" } ], - "_resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" + "_resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/package.json index 4c98b52..b05b419 100644 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/package.json +++ b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/package.json @@ -67,5 +67,6 @@ "tarball": "https://registry.npmjs.org/optionator/-/optionator-0.8.1.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.1.tgz" + "_resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/package.json index bb430d3..a21f746 100644 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/package.json +++ b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/package.json @@ -131,7 +131,7 @@ ], "repository": { "type": "git", - "url": "http://github.com/mozilla/source-map.git" + "url": "git+ssh://git@github.com/mozilla/source-map.git" }, "directories": { "lib": "./lib" @@ -185,5 +185,6 @@ "shasum": "dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d", "tarball": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz" }, - "_resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz" + "_resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/escodegen/package.json b/node_modules/jsdom/node_modules/escodegen/package.json index a0a34a7..b2984c9 100644 --- a/node_modules/jsdom/node_modules/escodegen/package.json +++ b/node_modules/jsdom/node_modules/escodegen/package.json @@ -81,5 +81,6 @@ "tarball": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.0.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.0.tgz" + "_resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domelementtype/package.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/domelementtype/package.json index 64d7cdf..2166ff7 100644 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domelementtype/package.json +++ b/node_modules/jsdom/node_modules/htmlparser2/node_modules/domelementtype/package.json @@ -41,5 +41,6 @@ "tarball": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz" + "_resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/package.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/package.json index 5986aed..20b0497 100644 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/package.json +++ b/node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/package.json @@ -64,5 +64,6 @@ "shasum": "2de59a0822d5027fabff6f032c2b25a2a8abe738", "tarball": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz" }, - "_resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz" + "_resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/node_modules/domelementtype/package.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/node_modules/domelementtype/package.json index 60cf576..ba25ab2 100644 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/node_modules/domelementtype/package.json +++ b/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/node_modules/domelementtype/package.json @@ -41,5 +41,6 @@ "tarball": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz" + "_resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/package.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/package.json index 7eb8ce4..e13cab1 100644 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/package.json +++ b/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/package.json @@ -68,5 +68,6 @@ "tarball": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz" + "_resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/package.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/package.json index 85a597d..a93eb4b 100644 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/package.json +++ b/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/package.json @@ -70,5 +70,6 @@ "shasum": "dcd8488a26f563d61079e48c9f7b7e32373682cf", "tarball": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz" }, - "_resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz" + "_resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/package.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/package.json index f083d12..9b27c6c 100644 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/package.json +++ b/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/package.json @@ -75,5 +75,6 @@ } ], "_shasum": "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0", - "_resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz" + "_resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/htmlparser2/package.json b/node_modules/jsdom/node_modules/htmlparser2/package.json index c8badb9..f8ce6d9 100644 --- a/node_modules/jsdom/node_modules/htmlparser2/package.json +++ b/node_modules/jsdom/node_modules/htmlparser2/package.json @@ -80,5 +80,6 @@ "host": "packages-12-west.internal.npmjs.com", "tmp": "tmp/htmlparser2-3.9.1.tgz_1465693408619_0.5511430425103754" }, - "_resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.1.tgz" + "_resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/nwmatcher/package.json b/node_modules/jsdom/node_modules/nwmatcher/package.json index a7cc8ee..05aaad4 100644 --- a/node_modules/jsdom/node_modules/nwmatcher/package.json +++ b/node_modules/jsdom/node_modules/nwmatcher/package.json @@ -59,5 +59,6 @@ "tmp": "tmp/nwmatcher-1.3.8.tgz_1465816031258_0.5114992917515337" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.3.8.tgz" + "_resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.3.8.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/parse5/package.json b/node_modules/jsdom/node_modules/parse5/package.json index 03930c2..5528f25 100644 --- a/node_modules/jsdom/node_modules/parse5/package.json +++ b/node_modules/jsdom/node_modules/parse5/package.json @@ -86,5 +86,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz" + "_resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/aws-sign2/package.json b/node_modules/jsdom/node_modules/request/node_modules/aws-sign2/package.json index 1320e30..68572c7 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/aws-sign2/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/aws-sign2/package.json @@ -44,5 +44,6 @@ "tarball": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" + "_resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/aws4/package.json b/node_modules/jsdom/node_modules/request/node_modules/aws4/package.json index 2ce9a28..d643c93 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/aws4/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/aws4/package.json @@ -101,5 +101,6 @@ "tmp": "tmp/aws4-1.4.1.tgz_1462643218465_0.6527479749638587" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz" + "_resolved": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/package.json b/node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/package.json index 23eafd3..b9fc0da 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/package.json @@ -75,5 +75,6 @@ "tmp": "tmp/readable-stream-2.0.6.tgz_1457893507709_0.369257491780445" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz" + "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/bl/package.json b/node_modules/jsdom/node_modules/request/node_modules/bl/package.json index f00a5a0..2320316 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/bl/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/bl/package.json @@ -8,7 +8,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/rvagg/bl.git" + "url": "git+https://github.com/rvagg/bl.git" }, "homepage": "https://github.com/rvagg/bl", "authors": [ @@ -59,5 +59,6 @@ "tmp": "tmp/bl-1.1.2.tgz_1455246621698_0.6300242957659066" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz" + "_resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/caseless/package.json b/node_modules/jsdom/node_modules/request/node_modules/caseless/package.json index 3da3581..5ba522e 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/caseless/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/caseless/package.json @@ -57,5 +57,6 @@ "tarball": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" + "_resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/package.json b/node_modules/jsdom/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/package.json index 8f5885f..a471728 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/package.json @@ -59,5 +59,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + "_resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/combined-stream/package.json b/node_modules/jsdom/node_modules/request/node_modules/combined-stream/package.json index 0cb78ff..74d35f1 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/combined-stream/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/combined-stream/package.json @@ -62,5 +62,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz" + "_resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/extend/package.json b/node_modules/jsdom/node_modules/request/node_modules/extend/package.json index 02288c9..f834143 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/extend/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/extend/package.json @@ -68,5 +68,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" + "_resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/forever-agent/package.json b/node_modules/jsdom/node_modules/request/node_modules/forever-agent/package.json index c551751..36c4f59 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/forever-agent/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/forever-agent/package.json @@ -9,7 +9,7 @@ "version": "0.6.1", "license": "Apache-2.0", "repository": { - "url": "https://github.com/mikeal/forever-agent" + "url": "git+https://github.com/mikeal/forever-agent.git" }, "main": "index.js", "dependencies": {}, @@ -51,5 +51,6 @@ "tarball": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" + "_resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/form-data/package.json b/node_modules/jsdom/node_modules/request/node_modules/form-data/package.json index 05701d0..a230be3 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/form-data/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/form-data/package.json @@ -99,5 +99,6 @@ "tmp": "tmp/form-data-1.0.0-rc4.tgz_1458059747097_0.14101114077493548" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz" + "_resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/commander/package.json b/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/commander/package.json index cf00681..8d4aa4e 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/commander/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/commander/package.json @@ -66,5 +66,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz" + "_resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/package.json b/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/package.json index c27f095..1554b2e 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/package.json @@ -8,7 +8,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/mafintosh/generate-function" + "url": "git+https://github.com/mafintosh/generate-function.git" }, "keywords": [ "generate", @@ -48,5 +48,6 @@ "tarball": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" + "_resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/package.json b/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/package.json index c4b9b95..5244786 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/package.json @@ -54,5 +54,6 @@ "shasum": "57fe1c4e48474edd65b09911f26b1cd4095dda84", "tarball": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" }, - "_resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" + "_resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/package.json b/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/package.json index 72201a9..8442cb1 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/package.json @@ -4,7 +4,7 @@ "description": "Generate safe JS code that can used to reference a object property", "repository": { "type": "git", - "url": "https://github.com/mafintosh/generate-object-property" + "url": "git+https://github.com/mafintosh/generate-object-property.git" }, "devDependencies": { "tape": "^2.13.0" @@ -46,5 +46,6 @@ "tarball": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz" + "_resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/package.json b/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/package.json index 18c3a10..4ec4bbb 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/package.json @@ -59,5 +59,6 @@ "tarball": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz" + "_resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/package.json b/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/package.json index cf22d38..08542c5 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/package.json @@ -79,5 +79,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" + "_resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/package.json b/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/package.json index f0f2e5a..2273952 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/package.json @@ -17,7 +17,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/mafintosh/is-my-json-valid" + "url": "git+https://github.com/mafintosh/is-my-json-valid.git" }, "keywords": [ "json", @@ -70,5 +70,6 @@ "tmp": "tmp/is-my-json-valid-2.13.1.tgz_1456180270224_0.17748022079467773" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz" + "_resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/har-validator/package.json b/node_modules/jsdom/node_modules/request/node_modules/har-validator/package.json index 6813768..4348379 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/har-validator/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/har-validator/package.json @@ -10,7 +10,7 @@ "homepage": "https://github.com/ahmadnassri/har-validator", "repository": { "type": "git", - "url": "https://github.com/ahmadnassri/har-validator" + "url": "git+https://github.com/ahmadnassri/har-validator.git" }, "license": "ISC", "main": "lib/index", @@ -82,5 +82,6 @@ "tarball": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz" + "_resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/boom/package.json b/node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/boom/package.json index f89de57..9a9fa16 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/boom/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/boom/package.json @@ -59,5 +59,6 @@ "tarball": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" + "_resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/cryptiles/package.json b/node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/cryptiles/package.json index 6155041..bf368d3 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/cryptiles/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/cryptiles/package.json @@ -56,5 +56,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" + "_resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/hoek/package.json b/node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/hoek/package.json index ab78170..ef22487 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/hoek/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/hoek/package.json @@ -56,5 +56,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" + "_resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/sntp/package.json b/node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/sntp/package.json index e29f066..36a4c03 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/sntp/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/sntp/package.json @@ -10,7 +10,7 @@ "contributors": [], "repository": { "type": "git", - "url": "git://github.com/hueniverse/sntp" + "url": "git://github.com/hueniverse/sntp.git" }, "main": "index", "keywords": [ @@ -60,5 +60,6 @@ "tarball": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" + "_resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/hawk/package.json b/node_modules/jsdom/node_modules/request/node_modules/hawk/package.json index ca87d10..0882fa8 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/hawk/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/hawk/package.json @@ -63,5 +63,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz" + "_resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/assert-plus/package.json b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/assert-plus/package.json index 6bb2841..6b14225 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/assert-plus/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/assert-plus/package.json @@ -78,5 +78,6 @@ "email": "patrick.f.mooney@gmail.com" } ], - "directories": {} + "directories": {}, + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/extsprintf/package.json b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/extsprintf/package.json index 98f992e..ed08acb 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/extsprintf/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/extsprintf/package.json @@ -29,5 +29,10 @@ "directories": {}, "_shasum": "e1080e0658e300b06294990cc70e1502235fd550", "_resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "_from": "extsprintf@1.0.2" + "_from": "extsprintf@1.0.2", + "bugs": { + "url": "https://github.com/davepacheco/node-extsprintf/issues" + }, + "readme": "ERROR: No README data found!", + "homepage": "https://github.com/davepacheco/node-extsprintf#readme" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/package.json b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/package.json index 3ba4747..bce830a 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/package.json @@ -27,7 +27,7 @@ ], "repository": { "type": "git", - "url": "http://github.com/kriszyp/json-schema" + "url": "git+ssh://git@github.com/kriszyp/json-schema.git" }, "directories": { "lib": "./lib" @@ -52,5 +52,9 @@ }, "_shasum": "50354f19f603917c695f70b85afa77c3b0f23506", "_resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz", - "_from": "json-schema@0.2.2" + "_from": "json-schema@0.2.2", + "bugs": { + "url": "https://github.com/kriszyp/json-schema/issues" + }, + "homepage": "https://github.com/kriszyp/json-schema#readme" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/package.json b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/package.json index b0ebf79..20a35ea 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/package.json @@ -35,5 +35,10 @@ "directories": {}, "_shasum": "cff5df12946d297d2baaefaa2689e25be01c005c", "_resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "_from": "verror@1.3.6" + "_from": "verror@1.3.6", + "bugs": { + "url": "https://github.com/davepacheco/node-verror/issues" + }, + "readme": "ERROR: No README data found!", + "homepage": "https://github.com/davepacheco/node-verror#readme" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/package.json b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/package.json index cdfa8ce..ab64d86 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/package.json @@ -46,5 +46,6 @@ "tmp": "tmp/jsprim-1.3.0.tgz_1466708163640_0.5282344303559512" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz" + "_resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/package.json b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/package.json index b8760de..fa0ac24 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/package.json @@ -60,5 +60,6 @@ "shasum": "dac8787713c9966849fc8180777ebe9c1ddf3b86", "tarball": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" }, - "directories": {} + "directories": {}, + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/assert-plus/package.json b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/assert-plus/package.json index 824f313..32e06bf 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/assert-plus/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/assert-plus/package.json @@ -78,5 +78,6 @@ "shasum": "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525", "tarball": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" }, - "directories": {} + "directories": {}, + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/dashdash/package.json b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/dashdash/package.json index 1a91a40..d4c70ff 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/dashdash/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/dashdash/package.json @@ -86,5 +86,6 @@ "tmp": "tmp/dashdash-1.14.0.tgz_1464847169030_0.07120498712174594" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz" + "_resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/package.json b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/package.json index 1c813b9..25fa110 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/package.json @@ -51,5 +51,6 @@ "tarball": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" + "_resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/getpass/package.json b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/getpass/package.json index 420abc6..93a8042 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/getpass/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/getpass/package.json @@ -52,5 +52,6 @@ "tmp": "tmp/getpass-0.1.6.tgz_1461907090215_0.6450737570412457" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz" + "_resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/package.json b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/package.json index e3d2f7e..22f89a9 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/package.json @@ -66,5 +66,6 @@ "email": "alex@cooperi.net" } ], - "_resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz" + "_resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jsbn/package.json b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jsbn/package.json index aa0a55c..0113b45 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jsbn/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jsbn/package.json @@ -8,7 +8,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/andyperlitch/jsbn.git" + "url": "git+https://github.com/andyperlitch/jsbn.git" }, "keywords": [ "biginteger", @@ -45,5 +45,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz" + "_resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/tweetnacl/package.json b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/tweetnacl/package.json index feca1d4..bc307dc 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/tweetnacl/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/tweetnacl/package.json @@ -89,5 +89,6 @@ "email": "dmitry@codingrobots.com" } ], - "_resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz" + "_resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/package.json b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/package.json index 686188b..f46a6bd 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/package.json @@ -96,5 +96,6 @@ "host": "packages-16-east.internal.npmjs.com", "tmp": "tmp/sshpk-1.8.3.tgz_1461968607532_0.32797130732797086" }, - "_resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz" + "_resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/http-signature/package.json b/node_modules/jsdom/node_modules/request/node_modules/http-signature/package.json index a003ab2..12b32f8 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/http-signature/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/http-signature/package.json @@ -78,5 +78,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz" + "_resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/is-typedarray/package.json b/node_modules/jsdom/node_modules/request/node_modules/is-typedarray/package.json index 2619aaf..750da78 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/is-typedarray/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/is-typedarray/package.json @@ -52,5 +52,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + "_resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/isstream/package.json b/node_modules/jsdom/node_modules/request/node_modules/isstream/package.json index 6bb0a0a..266fd5d 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/isstream/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/isstream/package.json @@ -8,7 +8,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/rvagg/isstream.git" + "url": "git+https://github.com/rvagg/isstream.git" }, "keywords": [ "stream", @@ -54,5 +54,6 @@ "tarball": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" + "_resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/json-stringify-safe/package.json b/node_modules/jsdom/node_modules/request/node_modules/json-stringify-safe/package.json index 586ab0b..1ba97c9 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/json-stringify-safe/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/json-stringify-safe/package.json @@ -63,5 +63,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + "_resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/oauth-sign/package.json b/node_modules/jsdom/node_modules/request/node_modules/oauth-sign/package.json index 259e3ae..cf1eeb7 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/oauth-sign/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/oauth-sign/package.json @@ -61,5 +61,6 @@ "tmp": "tmp/oauth-sign-0.8.2.tgz_1462396399020_0.8175400267355144" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz" + "_resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/stringstream/package.json b/node_modules/jsdom/node_modules/request/node_modules/stringstream/package.json index b8db408..2c6d7cd 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/stringstream/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/stringstream/package.json @@ -45,5 +45,6 @@ "tarball": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" + "_resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/tough-cookie/package.json b/node_modules/jsdom/node_modules/request/node_modules/tough-cookie/package.json index 37d3593..bf0c5df 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/tough-cookie/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/tough-cookie/package.json @@ -89,5 +89,6 @@ "tmp": "tmp/tough-cookie-2.3.0.tgz_1469126657901_0.29259776300750673" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.0.tgz" + "_resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/node_modules/tunnel-agent/package.json b/node_modules/jsdom/node_modules/request/node_modules/tunnel-agent/package.json index 677af34..6677690 100644 --- a/node_modules/jsdom/node_modules/request/node_modules/tunnel-agent/package.json +++ b/node_modules/jsdom/node_modules/request/node_modules/tunnel-agent/package.json @@ -63,5 +63,6 @@ "tmp": "tmp/tunnel-agent-0.4.3.tgz_1462396470295_0.23639482469297945" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz" + "_resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/request/package.json b/node_modules/jsdom/node_modules/request/package.json index 4ef92b2..6e6cd90 100644 --- a/node_modules/jsdom/node_modules/request/package.json +++ b/node_modules/jsdom/node_modules/request/package.json @@ -114,5 +114,6 @@ "tmp": "tmp/request-2.74.0.tgz_1469231082306_0.13140005595050752" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/request/-/request-2.74.0.tgz" + "_resolved": "https://registry.npmjs.org/request/-/request-2.74.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/xml-name-validator/package.json b/node_modules/jsdom/node_modules/xml-name-validator/package.json index 28f24fd..1bae9a4 100644 --- a/node_modules/jsdom/node_modules/xml-name-validator/package.json +++ b/node_modules/jsdom/node_modules/xml-name-validator/package.json @@ -15,7 +15,7 @@ "license": "WTFPL", "repository": { "type": "git", - "url": "https://github.com/jsdom/xml-name-validator" + "url": "git+https://github.com/jsdom/xml-name-validator.git" }, "main": "lib/xml-name-validator.js", "files": [ @@ -58,5 +58,6 @@ "tarball": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-1.0.0.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-1.0.0.tgz" + "_resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-1.0.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/node_modules/xmlhttprequest/package.json b/node_modules/jsdom/node_modules/xmlhttprequest/package.json index 4e5a14f..2a5e43f 100644 --- a/node_modules/jsdom/node_modules/xmlhttprequest/package.json +++ b/node_modules/jsdom/node_modules/xmlhttprequest/package.json @@ -48,5 +48,6 @@ "email": "dan@driverdan.com" } ], - "_resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz" + "_resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/jsdom/package.json b/node_modules/jsdom/package.json index 8256e74..e2392cf 100644 --- a/node_modules/jsdom/package.json +++ b/node_modules/jsdom/package.json @@ -172,7 +172,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/tmpvar/jsdom" + "url": "git+https://github.com/tmpvar/jsdom.git" }, "dependencies": { "browser-request": ">= 0.3.1 < 0.4.0", @@ -225,7 +225,7 @@ "homepage": "https://github.com/tmpvar/jsdom", "_id": "jsdom@3.1.2", "_shasum": "88e5fe2d3b45b628a153011e2aa0ead7f395b19c", - "_from": "jsdom@3.1.2", + "_from": "jsdom@>=3.1.2 <4.0.0", "_npmVersion": "2.1.2", "_nodeVersion": "0.10.36", "_npmUser": { @@ -237,5 +237,6 @@ "tarball": "https://registry.npmjs.org/jsdom/-/jsdom-3.1.2.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/jsdom/-/jsdom-3.1.2.tgz" + "_resolved": "https://registry.npmjs.org/jsdom/-/jsdom-3.1.2.tgz", + "readme": "ERROR: No README data found!" } -- cgit v1.2.3 From 5e73fe37c32faf821d3d16f0251007e366cb090b Mon Sep 17 00:00:00 2001 From: nanalelfe Date: Mon, 25 Jul 2016 22:04:30 -0400 Subject: Removed jsdom - causing issues on windows --- node_modules/jsdom/README.md | 435 - node_modules/jsdom/lib/README.md | 17 - node_modules/jsdom/lib/jsdom.js | 379 - node_modules/jsdom/lib/jsdom/browser/Window.js | 291 - .../jsdom/lib/jsdom/browser/documentAdapter.js | 62 - .../jsdom/lib/jsdom/browser/documentfeatures.js | 52 - node_modules/jsdom/lib/jsdom/browser/domtohtml.js | 24 - node_modules/jsdom/lib/jsdom/browser/history.js | 94 - node_modules/jsdom/lib/jsdom/browser/htmltodom.js | 231 - node_modules/jsdom/lib/jsdom/browser/index.js | 85 - node_modules/jsdom/lib/jsdom/browser/location.js | 103 - node_modules/jsdom/lib/jsdom/browser/utils.js | 15 - node_modules/jsdom/lib/jsdom/contextify-shim.js | 53 - node_modules/jsdom/lib/jsdom/level1/core.js | 1794 -- node_modules/jsdom/lib/jsdom/level2/core.js | 306 - node_modules/jsdom/lib/jsdom/level2/events.js | 441 - node_modules/jsdom/lib/jsdom/level2/html.js | 2140 -- .../jsdom/lib/jsdom/level2/languages/javascript.js | 13 - node_modules/jsdom/lib/jsdom/level2/style.js | 263 - node_modules/jsdom/lib/jsdom/level3/core.js | 597 - node_modules/jsdom/lib/jsdom/level3/ls.js | 211 - node_modules/jsdom/lib/jsdom/level3/xpath.js | 1866 -- .../jsdom/lib/jsdom/living/character-data.js | 90 - node_modules/jsdom/lib/jsdom/living/comment.js | 13 - .../jsdom/lib/jsdom/living/document-type.js | 19 - node_modules/jsdom/lib/jsdom/living/document.js | 26 - .../jsdom/lib/jsdom/living/dom-implementation.js | 85 - .../lib/jsdom/living/helpers/validate-names.js | 63 - node_modules/jsdom/lib/jsdom/living/index.js | 23 - node_modules/jsdom/lib/jsdom/living/node-filter.js | 47 - node_modules/jsdom/lib/jsdom/living/node.js | 261 - .../lib/jsdom/living/processing-instruction.js | 15 - node_modules/jsdom/lib/jsdom/living/selectors.js | 32 - node_modules/jsdom/lib/jsdom/living/text.js | 41 - node_modules/jsdom/lib/jsdom/utils.js | 223 - node_modules/jsdom/lib/jsdom/virtual-console.js | 24 - node_modules/jsdom/node_modules/.bin/acorn | 1 - node_modules/jsdom/node_modules/.bin/escodegen | 1 - node_modules/jsdom/node_modules/.bin/esgenerate | 1 - .../jsdom/node_modules/acorn-globals/LICENSE | 19 - .../jsdom/node_modules/acorn-globals/README.md | 76 - .../jsdom/node_modules/acorn-globals/index.js | 180 - .../acorn-globals/node_modules/.bin/acorn | 1 - .../acorn-globals/node_modules/acorn/.editorconfig | 7 - .../node_modules/acorn/.gitattributes | 1 - .../acorn-globals/node_modules/acorn/.npmignore | 3 - .../acorn-globals/node_modules/acorn/.tern-project | 6 - .../acorn-globals/node_modules/acorn/.travis.yml | 6 - .../acorn-globals/node_modules/acorn/AUTHORS | 43 - .../acorn-globals/node_modules/acorn/LICENSE | 19 - .../acorn-globals/node_modules/acorn/README.md | 396 - .../acorn-globals/node_modules/acorn/bin/acorn | 71 - .../node_modules/acorn/bin/build-acorn.js | 82 - .../acorn/bin/generate-identifier-regex.js | 47 - .../node_modules/acorn/bin/update_authors.sh | 6 - .../acorn-globals/node_modules/acorn/dist/.keep | 0 .../acorn-globals/node_modules/acorn/dist/acorn.js | 3340 --- .../node_modules/acorn/dist/acorn_loose.js | 1300 - .../acorn-globals/node_modules/acorn/dist/walk.js | 377 - .../acorn-globals/node_modules/acorn/package.json | 187 - .../node_modules/acorn/src/bin/acorn.js | 59 - .../node_modules/acorn/src/expression.js | 707 - .../node_modules/acorn/src/identifier.js | 90 - .../acorn-globals/node_modules/acorn/src/index.js | 67 - .../node_modules/acorn/src/location.js | 24 - .../node_modules/acorn/src/locutil.js | 42 - .../node_modules/acorn/src/loose/acorn_loose.js | 0 .../node_modules/acorn/src/loose/expression.js | 501 - .../node_modules/acorn/src/loose/index.js | 50 - .../node_modules/acorn/src/loose/parseutil.js | 1 - .../node_modules/acorn/src/loose/state.js | 160 - .../node_modules/acorn/src/loose/statement.js | 420 - .../node_modules/acorn/src/loose/tokenize.js | 108 - .../acorn-globals/node_modules/acorn/src/lval.js | 215 - .../acorn-globals/node_modules/acorn/src/node.js | 50 - .../node_modules/acorn/src/options.js | 121 - .../node_modules/acorn/src/parseutil.js | 102 - .../acorn-globals/node_modules/acorn/src/state.js | 104 - .../node_modules/acorn/src/statement.js | 626 - .../node_modules/acorn/src/tokencontext.js | 109 - .../node_modules/acorn/src/tokenize.js | 682 - .../node_modules/acorn/src/tokentype.js | 147 - .../acorn-globals/node_modules/acorn/src/util.js | 9 - .../node_modules/acorn/src/walk/index.js | 340 - .../node_modules/acorn/src/whitespace.js | 12 - .../jsdom/node_modules/acorn-globals/package.json | 67 - .../jsdom/node_modules/acorn/.editorconfig | 7 - .../jsdom/node_modules/acorn/.gitattributes | 1 - node_modules/jsdom/node_modules/acorn/.npmignore | 2 - .../jsdom/node_modules/acorn/.tern-project | 1 - node_modules/jsdom/node_modules/acorn/.travis.yml | 2 - node_modules/jsdom/node_modules/acorn/AUTHORS | 32 - node_modules/jsdom/node_modules/acorn/LICENSE | 19 - node_modules/jsdom/node_modules/acorn/README.md | 296 - node_modules/jsdom/node_modules/acorn/acorn.js | 2653 -- node_modules/jsdom/node_modules/acorn/acorn_csp.js | 2628 -- .../jsdom/node_modules/acorn/acorn_loose.js | 1168 - node_modules/jsdom/node_modules/acorn/bin/acorn | 40 - .../jsdom/node_modules/acorn/bin/update_authors.sh | 6 - .../jsdom/node_modules/acorn/bin/without_eval | 45 - node_modules/jsdom/node_modules/acorn/docco.css | 192 - node_modules/jsdom/node_modules/acorn/package.json | 148 - .../jsdom/node_modules/acorn/test/bench.html | 96 - .../jsdom/node_modules/acorn/test/bench.js | 17 - .../node_modules/acorn/test/codemirror-string.js | 3995 --- .../node_modules/acorn/test/compare/esprima.js | 5218 ---- .../node_modules/acorn/test/compare/traceur.js | 23622 --------------- .../jsdom/node_modules/acorn/test/driver.js | 116 - .../jsdom/node_modules/acorn/test/index.html | 14 - .../jsdom/node_modules/acorn/test/jquery-string.js | 10315 ------- node_modules/jsdom/node_modules/acorn/test/run.js | 109 - .../jsdom/node_modules/acorn/test/tests-harmony.js | 14407 --------- .../jsdom/node_modules/acorn/test/tests.js | 28836 ------------------- .../acorn/tools/generate-identifier-regex.js | 51 - .../jsdom/node_modules/acorn/util/test_walk.js | 55 - node_modules/jsdom/node_modules/acorn/util/walk.js | 351 - .../jsdom/node_modules/browser-request/.npmignore | 3 - .../jsdom/node_modules/browser-request/AUTHORS | 4 - .../jsdom/node_modules/browser-request/LICENSE | 202 - .../jsdom/node_modules/browser-request/README.md | 118 - .../jsdom/node_modules/browser-request/index.js | 494 - .../node_modules/browser-request/package.json | 91 - .../jsdom/node_modules/browser-request/test.js | 20 - node_modules/jsdom/node_modules/contextify/.dntrc | 19 - .../jsdom/node_modules/contextify/.npmignore | 12 - .../jsdom/node_modules/contextify/.travis.yml | 14 - .../jsdom/node_modules/contextify/LICENSE.txt | 22 - .../jsdom/node_modules/contextify/README.md | 118 - .../jsdom/node_modules/contextify/binding.gyp | 9 - .../jsdom/node_modules/contextify/build/Makefile | 342 - .../build/Release/.deps/Release/contextify.node.d | 1 - .../obj.target/contextify/src/contextify.o.d | 52 - .../contextify/build/Release/contextify.node | Bin 38416 -> 0 bytes .../Release/obj.target/contextify/src/contextify.o | Bin 348256 -> 0 bytes .../node_modules/contextify/build/binding.Makefile | 6 - .../node_modules/contextify/build/config.gypi | 138 - .../contextify/build/contextify.target.mk | 165 - .../node_modules/contextify/build/gyp-mac-tool | 611 - .../jsdom/node_modules/contextify/changelog | 67 - .../node_modules/contextify/lib/contextify.js | 48 - .../contextify/node_modules/bindings/README.md | 97 - .../contextify/node_modules/bindings/bindings.js | 166 - .../contextify/node_modules/bindings/package.json | 56 - .../contextify/node_modules/nan/CHANGELOG.md | 430 - .../contextify/node_modules/nan/LICENSE.md | 13 - .../contextify/node_modules/nan/README.md | 403 - .../contextify/node_modules/nan/doc/asyncworker.md | 103 - .../contextify/node_modules/nan/doc/buffers.md | 54 - .../contextify/node_modules/nan/doc/callback.md | 56 - .../contextify/node_modules/nan/doc/converters.md | 41 - .../contextify/node_modules/nan/doc/errors.md | 226 - .../contextify/node_modules/nan/doc/maybe_types.md | 512 - .../contextify/node_modules/nan/doc/methods.md | 659 - .../contextify/node_modules/nan/doc/new.md | 147 - .../contextify/node_modules/nan/doc/node_misc.md | 63 - .../node_modules/nan/doc/object_wrappers.md | 263 - .../contextify/node_modules/nan/doc/persistent.md | 295 - .../contextify/node_modules/nan/doc/scopes.md | 73 - .../contextify/node_modules/nan/doc/script.md | 38 - .../node_modules/nan/doc/string_bytes.md | 62 - .../node_modules/nan/doc/v8_internals.md | 199 - .../contextify/node_modules/nan/doc/v8_misc.md | 85 - .../contextify/node_modules/nan/include_dirs.js | 1 - .../node_modules/contextify/node_modules/nan/nan.h | 2274 -- .../contextify/node_modules/nan/nan_callbacks.h | 88 - .../node_modules/nan/nan_callbacks_12_inl.h | 512 - .../node_modules/nan/nan_callbacks_pre_12_inl.h | 506 - .../contextify/node_modules/nan/nan_converters.h | 64 - .../node_modules/nan/nan_converters_43_inl.h | 42 - .../node_modules/nan/nan_converters_pre_43_inl.h | 42 - .../node_modules/nan/nan_implementation_12_inl.h | 409 - .../nan/nan_implementation_pre_12_inl.h | 264 - .../contextify/node_modules/nan/nan_maybe_43_inl.h | 245 - .../node_modules/nan/nan_maybe_pre_43_inl.h | 303 - .../contextify/node_modules/nan/nan_new.h | 340 - .../contextify/node_modules/nan/nan_object_wrap.h | 155 - .../node_modules/nan/nan_persistent_12_inl.h | 129 - .../node_modules/nan/nan_persistent_pre_12_inl.h | 242 - .../contextify/node_modules/nan/nan_string_bytes.h | 305 - .../node_modules/nan/nan_typedarray_contents.h | 87 - .../contextify/node_modules/nan/nan_weak.h | 432 - .../contextify/node_modules/nan/package.json | 96 - .../contextify/node_modules/nan/tools/1to2.js | 412 - .../contextify/node_modules/nan/tools/README.md | 14 - .../contextify/node_modules/nan/tools/package.json | 19 - .../jsdom/node_modules/contextify/package.json | 128 - .../node_modules/contextify/src/contextify.cc | 362 - .../node_modules/contextify/test/contextify.js | 598 - node_modules/jsdom/node_modules/contextify/wscript | 18 - node_modules/jsdom/node_modules/cssom/LICENSE.txt | 20 - node_modules/jsdom/node_modules/cssom/README.mdown | 69 - .../node_modules/cssom/lib/CSSDocumentRule.js | 39 - .../node_modules/cssom/lib/CSSFontFaceRule.js | 36 - .../jsdom/node_modules/cssom/lib/CSSImportRule.js | 132 - .../node_modules/cssom/lib/CSSKeyframeRule.js | 37 - .../node_modules/cssom/lib/CSSKeyframesRule.js | 39 - .../jsdom/node_modules/cssom/lib/CSSMediaRule.js | 41 - .../jsdom/node_modules/cssom/lib/CSSRule.js | 43 - .../node_modules/cssom/lib/CSSStyleDeclaration.js | 148 - .../jsdom/node_modules/cssom/lib/CSSStyleRule.js | 190 - .../jsdom/node_modules/cssom/lib/CSSStyleSheet.js | 88 - .../jsdom/node_modules/cssom/lib/CSSValue.js | 43 - .../node_modules/cssom/lib/CSSValueExpression.js | 344 - .../jsdom/node_modules/cssom/lib/MatcherList.js | 62 - .../jsdom/node_modules/cssom/lib/MediaList.js | 61 - .../jsdom/node_modules/cssom/lib/StyleSheet.js | 17 - node_modules/jsdom/node_modules/cssom/lib/clone.js | 76 - node_modules/jsdom/node_modules/cssom/lib/index.js | 19 - node_modules/jsdom/node_modules/cssom/lib/parse.js | 381 - node_modules/jsdom/node_modules/cssom/package.json | 61 - .../jsdom/node_modules/cssstyle/.npmignore | 1 - .../jsdom/node_modules/cssstyle/MIT-LICENSE.txt | 20 - node_modules/jsdom/node_modules/cssstyle/README.md | 27 - .../cssstyle/lib/CSSStyleDeclaration.js | 233 - .../jsdom/node_modules/cssstyle/lib/parsers.js | 670 - .../jsdom/node_modules/cssstyle/lib/properties.js | 1140 - .../cssstyle/lib/properties/alignmentBaseline.js | 12 - .../cssstyle/lib/properties/azimuth.js | 65 - .../cssstyle/lib/properties/background.js | 24 - .../lib/properties/backgroundAttachment.js | 22 - .../cssstyle/lib/properties/backgroundClip.js | 12 - .../cssstyle/lib/properties/backgroundColor.js | 33 - .../cssstyle/lib/properties/backgroundImage.js | 29 - .../cssstyle/lib/properties/backgroundOrigin.js | 12 - .../cssstyle/lib/properties/backgroundPosition.js | 56 - .../cssstyle/lib/properties/backgroundPositionX.js | 12 - .../cssstyle/lib/properties/backgroundPositionY.js | 12 - .../cssstyle/lib/properties/backgroundRepeat.js | 25 - .../cssstyle/lib/properties/backgroundRepeatX.js | 12 - .../cssstyle/lib/properties/backgroundRepeatY.js | 12 - .../cssstyle/lib/properties/backgroundSize.js | 12 - .../cssstyle/lib/properties/baselineShift.js | 12 - .../node_modules/cssstyle/lib/properties/border.js | 49 - .../cssstyle/lib/properties/borderBottom.js | 23 - .../cssstyle/lib/properties/borderBottomColor.js | 16 - .../lib/properties/borderBottomLeftRadius.js | 12 - .../lib/properties/borderBottomRightRadius.js | 12 - .../cssstyle/lib/properties/borderBottomStyle.js | 21 - .../cssstyle/lib/properties/borderBottomWidth.js | 16 - .../cssstyle/lib/properties/borderCollapse.js | 25 - .../cssstyle/lib/properties/borderColor.js | 28 - .../cssstyle/lib/properties/borderImage.js | 12 - .../cssstyle/lib/properties/borderImageOutset.js | 12 - .../cssstyle/lib/properties/borderImageRepeat.js | 12 - .../cssstyle/lib/properties/borderImageSlice.js | 12 - .../cssstyle/lib/properties/borderImageSource.js | 12 - .../cssstyle/lib/properties/borderImageWidth.js | 12 - .../cssstyle/lib/properties/borderLeft.js | 23 - .../cssstyle/lib/properties/borderLeftColor.js | 16 - .../cssstyle/lib/properties/borderLeftStyle.js | 21 - .../cssstyle/lib/properties/borderLeftWidth.js | 16 - .../cssstyle/lib/properties/borderRadius.js | 12 - .../cssstyle/lib/properties/borderRight.js | 23 - .../cssstyle/lib/properties/borderRightColor.js | 16 - .../cssstyle/lib/properties/borderRightStyle.js | 21 - .../cssstyle/lib/properties/borderRightWidth.js | 16 - .../cssstyle/lib/properties/borderSpacing.js | 42 - .../cssstyle/lib/properties/borderStyle.js | 27 - .../cssstyle/lib/properties/borderTop.js | 22 - .../cssstyle/lib/properties/borderTopColor.js | 16 - .../cssstyle/lib/properties/borderTopLeftRadius.js | 12 - .../lib/properties/borderTopRightRadius.js | 12 - .../cssstyle/lib/properties/borderTopStyle.js | 21 - .../cssstyle/lib/properties/borderTopWidth.js | 17 - .../cssstyle/lib/properties/borderWidth.js | 47 - .../node_modules/cssstyle/lib/properties/bottom.js | 14 - .../cssstyle/lib/properties/boxShadow.js | 12 - .../cssstyle/lib/properties/boxSizing.js | 12 - .../cssstyle/lib/properties/captionSide.js | 12 - .../node_modules/cssstyle/lib/properties/clear.js | 16 - .../node_modules/cssstyle/lib/properties/clip.js | 49 - .../node_modules/cssstyle/lib/properties/color.js | 14 - .../cssstyle/lib/properties/colorInterpolation.js | 12 - .../lib/properties/colorInterpolationFilters.js | 12 - .../cssstyle/lib/properties/colorProfile.js | 12 - .../cssstyle/lib/properties/colorRendering.js | 12 - .../cssstyle/lib/properties/content.js | 12 - .../cssstyle/lib/properties/counterIncrement.js | 12 - .../cssstyle/lib/properties/counterReset.js | 12 - .../cssstyle/lib/properties/cssFloat.js | 12 - .../node_modules/cssstyle/lib/properties/cue.js | 12 - .../cssstyle/lib/properties/cueAfter.js | 12 - .../cssstyle/lib/properties/cueBefore.js | 12 - .../node_modules/cssstyle/lib/properties/cursor.js | 12 - .../cssstyle/lib/properties/direction.js | 12 - .../cssstyle/lib/properties/display.js | 12 - .../cssstyle/lib/properties/dominantBaseline.js | 12 - .../cssstyle/lib/properties/elevation.js | 12 - .../cssstyle/lib/properties/emptyCells.js | 12 - .../cssstyle/lib/properties/enableBackground.js | 12 - .../node_modules/cssstyle/lib/properties/fill.js | 12 - .../cssstyle/lib/properties/fillOpacity.js | 12 - .../cssstyle/lib/properties/fillRule.js | 12 - .../node_modules/cssstyle/lib/properties/filter.js | 12 - .../cssstyle/lib/properties/floodColor.js | 14 - .../cssstyle/lib/properties/floodOpacity.js | 12 - .../node_modules/cssstyle/lib/properties/font.js | 40 - .../cssstyle/lib/properties/fontFamily.js | 33 - .../cssstyle/lib/properties/fontSize.js | 25 - .../cssstyle/lib/properties/fontSizeAdjust.js | 12 - .../cssstyle/lib/properties/fontStretch.js | 12 - .../cssstyle/lib/properties/fontStyle.js | 18 - .../cssstyle/lib/properties/fontVariant.js | 18 - .../cssstyle/lib/properties/fontWeight.js | 18 - .../lib/properties/glyphOrientationHorizontal.js | 12 - .../lib/properties/glyphOrientationVertical.js | 12 - .../node_modules/cssstyle/lib/properties/height.js | 24 - .../cssstyle/lib/properties/imageRendering.js | 12 - .../cssstyle/lib/properties/kerning.js | 12 - .../node_modules/cssstyle/lib/properties/left.js | 14 - .../cssstyle/lib/properties/letterSpacing.js | 12 - .../cssstyle/lib/properties/lightingColor.js | 14 - .../cssstyle/lib/properties/lineHeight.js | 21 - .../cssstyle/lib/properties/listStyle.js | 12 - .../cssstyle/lib/properties/listStyleImage.js | 12 - .../cssstyle/lib/properties/listStylePosition.js | 12 - .../cssstyle/lib/properties/listStyleType.js | 12 - .../node_modules/cssstyle/lib/properties/margin.js | 59 - .../cssstyle/lib/properties/marginBottom.js | 13 - .../cssstyle/lib/properties/marginLeft.js | 13 - .../cssstyle/lib/properties/marginRight.js | 13 - .../cssstyle/lib/properties/marginTop.js | 13 - .../node_modules/cssstyle/lib/properties/marker.js | 12 - .../cssstyle/lib/properties/markerEnd.js | 12 - .../cssstyle/lib/properties/markerMid.js | 12 - .../cssstyle/lib/properties/markerOffset.js | 12 - .../cssstyle/lib/properties/markerStart.js | 12 - .../node_modules/cssstyle/lib/properties/marks.js | 12 - .../node_modules/cssstyle/lib/properties/mask.js | 12 - .../cssstyle/lib/properties/maxHeight.js | 12 - .../cssstyle/lib/properties/maxWidth.js | 12 - .../cssstyle/lib/properties/minHeight.js | 12 - .../cssstyle/lib/properties/minWidth.js | 12 - .../cssstyle/lib/properties/opacity.js | 14 - .../cssstyle/lib/properties/orphans.js | 12 - .../cssstyle/lib/properties/outline.js | 12 - .../cssstyle/lib/properties/outlineColor.js | 14 - .../cssstyle/lib/properties/outlineOffset.js | 12 - .../cssstyle/lib/properties/outlineStyle.js | 12 - .../cssstyle/lib/properties/outlineWidth.js | 12 - .../cssstyle/lib/properties/overflow.js | 12 - .../cssstyle/lib/properties/overflowX.js | 12 - .../cssstyle/lib/properties/overflowY.js | 12 - .../cssstyle/lib/properties/padding.js | 52 - .../cssstyle/lib/properties/paddingBottom.js | 13 - .../cssstyle/lib/properties/paddingLeft.js | 13 - .../cssstyle/lib/properties/paddingRight.js | 13 - .../cssstyle/lib/properties/paddingTop.js | 13 - .../node_modules/cssstyle/lib/properties/page.js | 12 - .../cssstyle/lib/properties/pageBreakAfter.js | 12 - .../cssstyle/lib/properties/pageBreakBefore.js | 12 - .../cssstyle/lib/properties/pageBreakInside.js | 12 - .../node_modules/cssstyle/lib/properties/pause.js | 12 - .../cssstyle/lib/properties/pauseAfter.js | 12 - .../cssstyle/lib/properties/pauseBefore.js | 12 - .../node_modules/cssstyle/lib/properties/pitch.js | 12 - .../cssstyle/lib/properties/pitchRange.js | 12 - .../cssstyle/lib/properties/playDuring.js | 12 - .../cssstyle/lib/properties/pointerEvents.js | 12 - .../cssstyle/lib/properties/position.js | 12 - .../node_modules/cssstyle/lib/properties/quotes.js | 12 - .../node_modules/cssstyle/lib/properties/resize.js | 12 - .../cssstyle/lib/properties/richness.js | 12 - .../node_modules/cssstyle/lib/properties/right.js | 14 - .../cssstyle/lib/properties/shapeRendering.js | 12 - .../node_modules/cssstyle/lib/properties/size.js | 12 - .../node_modules/cssstyle/lib/properties/speak.js | 12 - .../cssstyle/lib/properties/speakHeader.js | 12 - .../cssstyle/lib/properties/speakNumeral.js | 12 - .../cssstyle/lib/properties/speakPunctuation.js | 12 - .../cssstyle/lib/properties/speechRate.js | 12 - .../node_modules/cssstyle/lib/properties/src.js | 12 - .../cssstyle/lib/properties/stopColor.js | 14 - .../cssstyle/lib/properties/stopOpacity.js | 12 - .../node_modules/cssstyle/lib/properties/stress.js | 12 - .../node_modules/cssstyle/lib/properties/stroke.js | 12 - .../cssstyle/lib/properties/strokeDasharray.js | 12 - .../cssstyle/lib/properties/strokeDashoffset.js | 12 - .../cssstyle/lib/properties/strokeLinecap.js | 12 - .../cssstyle/lib/properties/strokeLinejoin.js | 12 - .../cssstyle/lib/properties/strokeMiterlimit.js | 12 - .../cssstyle/lib/properties/strokeOpacity.js | 12 - .../cssstyle/lib/properties/strokeWidth.js | 12 - .../cssstyle/lib/properties/tableLayout.js | 12 - .../cssstyle/lib/properties/textAlign.js | 12 - .../cssstyle/lib/properties/textAnchor.js | 12 - .../cssstyle/lib/properties/textDecoration.js | 12 - .../cssstyle/lib/properties/textIndent.js | 12 - .../cssstyle/lib/properties/textLineThrough.js | 12 - .../lib/properties/textLineThroughColor.js | 14 - .../cssstyle/lib/properties/textLineThroughMode.js | 12 - .../lib/properties/textLineThroughStyle.js | 12 - .../lib/properties/textLineThroughWidth.js | 12 - .../cssstyle/lib/properties/textOverflow.js | 12 - .../cssstyle/lib/properties/textOverline.js | 12 - .../cssstyle/lib/properties/textOverlineColor.js | 14 - .../cssstyle/lib/properties/textOverlineMode.js | 12 - .../cssstyle/lib/properties/textOverlineStyle.js | 12 - .../cssstyle/lib/properties/textOverlineWidth.js | 12 - .../cssstyle/lib/properties/textRendering.js | 12 - .../cssstyle/lib/properties/textShadow.js | 12 - .../cssstyle/lib/properties/textTransform.js | 12 - .../cssstyle/lib/properties/textUnderline.js | 12 - .../cssstyle/lib/properties/textUnderlineColor.js | 14 - .../cssstyle/lib/properties/textUnderlineMode.js | 12 - .../cssstyle/lib/properties/textUnderlineStyle.js | 12 - .../cssstyle/lib/properties/textUnderlineWidth.js | 12 - .../node_modules/cssstyle/lib/properties/top.js | 14 - .../cssstyle/lib/properties/unicodeBidi.js | 12 - .../cssstyle/lib/properties/unicodeRange.js | 12 - .../cssstyle/lib/properties/vectorEffect.js | 12 - .../cssstyle/lib/properties/verticalAlign.js | 12 - .../cssstyle/lib/properties/visibility.js | 12 - .../cssstyle/lib/properties/voiceFamily.js | 12 - .../node_modules/cssstyle/lib/properties/volume.js | 12 - .../cssstyle/lib/properties/webkitAnimation.js | 12 - .../lib/properties/webkitAnimationDelay.js | 12 - .../lib/properties/webkitAnimationDirection.js | 12 - .../lib/properties/webkitAnimationDuration.js | 12 - .../lib/properties/webkitAnimationFillMode.js | 12 - .../properties/webkitAnimationIterationCount.js | 12 - .../cssstyle/lib/properties/webkitAnimationName.js | 12 - .../lib/properties/webkitAnimationPlayState.js | 12 - .../properties/webkitAnimationTimingFunction.js | 12 - .../cssstyle/lib/properties/webkitAppearance.js | 12 - .../cssstyle/lib/properties/webkitAspectRatio.js | 12 - .../lib/properties/webkitBackfaceVisibility.js | 12 - .../lib/properties/webkitBackgroundClip.js | 12 - .../lib/properties/webkitBackgroundComposite.js | 12 - .../lib/properties/webkitBackgroundOrigin.js | 12 - .../lib/properties/webkitBackgroundSize.js | 12 - .../cssstyle/lib/properties/webkitBorderAfter.js | 12 - .../lib/properties/webkitBorderAfterColor.js | 14 - .../lib/properties/webkitBorderAfterStyle.js | 12 - .../lib/properties/webkitBorderAfterWidth.js | 12 - .../cssstyle/lib/properties/webkitBorderBefore.js | 12 - .../lib/properties/webkitBorderBeforeColor.js | 14 - .../lib/properties/webkitBorderBeforeStyle.js | 12 - .../lib/properties/webkitBorderBeforeWidth.js | 12 - .../cssstyle/lib/properties/webkitBorderEnd.js | 12 - .../lib/properties/webkitBorderEndColor.js | 14 - .../lib/properties/webkitBorderEndStyle.js | 12 - .../lib/properties/webkitBorderEndWidth.js | 12 - .../cssstyle/lib/properties/webkitBorderFit.js | 12 - .../properties/webkitBorderHorizontalSpacing.js | 12 - .../cssstyle/lib/properties/webkitBorderImage.js | 12 - .../cssstyle/lib/properties/webkitBorderRadius.js | 12 - .../cssstyle/lib/properties/webkitBorderStart.js | 12 - .../lib/properties/webkitBorderStartColor.js | 14 - .../lib/properties/webkitBorderStartStyle.js | 12 - .../lib/properties/webkitBorderStartWidth.js | 12 - .../lib/properties/webkitBorderVerticalSpacing.js | 12 - .../cssstyle/lib/properties/webkitBoxAlign.js | 12 - .../cssstyle/lib/properties/webkitBoxDirection.js | 12 - .../cssstyle/lib/properties/webkitBoxFlex.js | 12 - .../cssstyle/lib/properties/webkitBoxFlexGroup.js | 12 - .../cssstyle/lib/properties/webkitBoxLines.js | 12 - .../lib/properties/webkitBoxOrdinalGroup.js | 12 - .../cssstyle/lib/properties/webkitBoxOrient.js | 12 - .../cssstyle/lib/properties/webkitBoxPack.js | 12 - .../cssstyle/lib/properties/webkitBoxReflect.js | 12 - .../cssstyle/lib/properties/webkitBoxShadow.js | 12 - .../lib/properties/webkitColorCorrection.js | 12 - .../cssstyle/lib/properties/webkitColumnAxis.js | 12 - .../lib/properties/webkitColumnBreakAfter.js | 12 - .../lib/properties/webkitColumnBreakBefore.js | 12 - .../lib/properties/webkitColumnBreakInside.js | 12 - .../cssstyle/lib/properties/webkitColumnCount.js | 12 - .../cssstyle/lib/properties/webkitColumnGap.js | 12 - .../cssstyle/lib/properties/webkitColumnRule.js | 12 - .../lib/properties/webkitColumnRuleColor.js | 14 - .../lib/properties/webkitColumnRuleStyle.js | 12 - .../lib/properties/webkitColumnRuleWidth.js | 12 - .../cssstyle/lib/properties/webkitColumnSpan.js | 12 - .../cssstyle/lib/properties/webkitColumnWidth.js | 12 - .../cssstyle/lib/properties/webkitColumns.js | 12 - .../cssstyle/lib/properties/webkitFilter.js | 12 - .../cssstyle/lib/properties/webkitFlexAlign.js | 12 - .../cssstyle/lib/properties/webkitFlexDirection.js | 12 - .../cssstyle/lib/properties/webkitFlexFlow.js | 12 - .../cssstyle/lib/properties/webkitFlexItemAlign.js | 12 - .../cssstyle/lib/properties/webkitFlexLinePack.js | 12 - .../cssstyle/lib/properties/webkitFlexOrder.js | 12 - .../cssstyle/lib/properties/webkitFlexPack.js | 12 - .../cssstyle/lib/properties/webkitFlexWrap.js | 12 - .../cssstyle/lib/properties/webkitFlowFrom.js | 12 - .../cssstyle/lib/properties/webkitFlowInto.js | 12 - .../lib/properties/webkitFontFeatureSettings.js | 12 - .../cssstyle/lib/properties/webkitFontKerning.js | 12 - .../cssstyle/lib/properties/webkitFontSizeDelta.js | 12 - .../cssstyle/lib/properties/webkitFontSmoothing.js | 12 - .../lib/properties/webkitFontVariantLigatures.js | 12 - .../cssstyle/lib/properties/webkitHighlight.js | 12 - .../lib/properties/webkitHyphenateCharacter.js | 12 - .../lib/properties/webkitHyphenateLimitAfter.js | 12 - .../lib/properties/webkitHyphenateLimitBefore.js | 12 - .../lib/properties/webkitHyphenateLimitLines.js | 12 - .../cssstyle/lib/properties/webkitHyphens.js | 12 - .../cssstyle/lib/properties/webkitLineAlign.js | 12 - .../lib/properties/webkitLineBoxContain.js | 12 - .../cssstyle/lib/properties/webkitLineBreak.js | 12 - .../cssstyle/lib/properties/webkitLineClamp.js | 12 - .../cssstyle/lib/properties/webkitLineGrid.js | 12 - .../cssstyle/lib/properties/webkitLineSnap.js | 12 - .../cssstyle/lib/properties/webkitLocale.js | 12 - .../cssstyle/lib/properties/webkitLogicalHeight.js | 12 - .../cssstyle/lib/properties/webkitLogicalWidth.js | 12 - .../cssstyle/lib/properties/webkitMarginAfter.js | 12 - .../lib/properties/webkitMarginAfterCollapse.js | 12 - .../cssstyle/lib/properties/webkitMarginBefore.js | 12 - .../lib/properties/webkitMarginBeforeCollapse.js | 12 - .../lib/properties/webkitMarginBottomCollapse.js | 12 - .../lib/properties/webkitMarginCollapse.js | 12 - .../cssstyle/lib/properties/webkitMarginEnd.js | 12 - .../cssstyle/lib/properties/webkitMarginStart.js | 12 - .../lib/properties/webkitMarginTopCollapse.js | 12 - .../cssstyle/lib/properties/webkitMarquee.js | 12 - .../lib/properties/webkitMarqueeDirection.js | 12 - .../lib/properties/webkitMarqueeIncrement.js | 12 - .../lib/properties/webkitMarqueeRepetition.js | 12 - .../cssstyle/lib/properties/webkitMarqueeSpeed.js | 12 - .../cssstyle/lib/properties/webkitMarqueeStyle.js | 12 - .../cssstyle/lib/properties/webkitMask.js | 12 - .../lib/properties/webkitMaskAttachment.js | 12 - .../cssstyle/lib/properties/webkitMaskBoxImage.js | 12 - .../lib/properties/webkitMaskBoxImageOutset.js | 12 - .../lib/properties/webkitMaskBoxImageRepeat.js | 12 - .../lib/properties/webkitMaskBoxImageSlice.js | 12 - .../lib/properties/webkitMaskBoxImageSource.js | 12 - .../lib/properties/webkitMaskBoxImageWidth.js | 12 - .../cssstyle/lib/properties/webkitMaskClip.js | 12 - .../cssstyle/lib/properties/webkitMaskComposite.js | 12 - .../cssstyle/lib/properties/webkitMaskImage.js | 12 - .../cssstyle/lib/properties/webkitMaskOrigin.js | 12 - .../cssstyle/lib/properties/webkitMaskPosition.js | 12 - .../cssstyle/lib/properties/webkitMaskPositionX.js | 12 - .../cssstyle/lib/properties/webkitMaskPositionY.js | 12 - .../cssstyle/lib/properties/webkitMaskRepeat.js | 12 - .../cssstyle/lib/properties/webkitMaskRepeatX.js | 12 - .../cssstyle/lib/properties/webkitMaskRepeatY.js | 12 - .../cssstyle/lib/properties/webkitMaskSize.js | 12 - .../webkitMatchNearestMailBlockquoteColor.js | 14 - .../lib/properties/webkitMaxLogicalHeight.js | 12 - .../lib/properties/webkitMaxLogicalWidth.js | 12 - .../lib/properties/webkitMinLogicalHeight.js | 12 - .../lib/properties/webkitMinLogicalWidth.js | 12 - .../cssstyle/lib/properties/webkitNbspMode.js | 12 - .../lib/properties/webkitOverflowScrolling.js | 12 - .../cssstyle/lib/properties/webkitPaddingAfter.js | 12 - .../cssstyle/lib/properties/webkitPaddingBefore.js | 12 - .../cssstyle/lib/properties/webkitPaddingEnd.js | 12 - .../cssstyle/lib/properties/webkitPaddingStart.js | 12 - .../cssstyle/lib/properties/webkitPerspective.js | 12 - .../lib/properties/webkitPerspectiveOrigin.js | 12 - .../lib/properties/webkitPerspectiveOriginX.js | 12 - .../lib/properties/webkitPerspectiveOriginY.js | 12 - .../lib/properties/webkitPrintColorAdjust.js | 12 - .../lib/properties/webkitRegionBreakAfter.js | 12 - .../lib/properties/webkitRegionBreakBefore.js | 12 - .../lib/properties/webkitRegionBreakInside.js | 12 - .../lib/properties/webkitRegionOverflow.js | 12 - .../cssstyle/lib/properties/webkitRtlOrdering.js | 12 - .../cssstyle/lib/properties/webkitSvgShadow.js | 12 - .../lib/properties/webkitTapHighlightColor.js | 14 - .../cssstyle/lib/properties/webkitTextCombine.js | 12 - .../properties/webkitTextDecorationsInEffect.js | 12 - .../cssstyle/lib/properties/webkitTextEmphasis.js | 12 - .../lib/properties/webkitTextEmphasisColor.js | 14 - .../lib/properties/webkitTextEmphasisPosition.js | 12 - .../lib/properties/webkitTextEmphasisStyle.js | 12 - .../cssstyle/lib/properties/webkitTextFillColor.js | 14 - .../lib/properties/webkitTextOrientation.js | 12 - .../cssstyle/lib/properties/webkitTextSecurity.js | 12 - .../lib/properties/webkitTextSizeAdjust.js | 12 - .../cssstyle/lib/properties/webkitTextStroke.js | 12 - .../lib/properties/webkitTextStrokeColor.js | 14 - .../lib/properties/webkitTextStrokeWidth.js | 12 - .../cssstyle/lib/properties/webkitTransform.js | 12 - .../lib/properties/webkitTransformOrigin.js | 12 - .../lib/properties/webkitTransformOriginX.js | 12 - .../lib/properties/webkitTransformOriginY.js | 12 - .../lib/properties/webkitTransformOriginZ.js | 12 - .../lib/properties/webkitTransformStyle.js | 12 - .../cssstyle/lib/properties/webkitTransition.js | 12 - .../lib/properties/webkitTransitionDelay.js | 12 - .../lib/properties/webkitTransitionDuration.js | 12 - .../lib/properties/webkitTransitionProperty.js | 12 - .../properties/webkitTransitionTimingFunction.js | 12 - .../cssstyle/lib/properties/webkitUserDrag.js | 12 - .../cssstyle/lib/properties/webkitUserModify.js | 12 - .../cssstyle/lib/properties/webkitUserSelect.js | 12 - .../cssstyle/lib/properties/webkitWrap.js | 12 - .../cssstyle/lib/properties/webkitWrapFlow.js | 12 - .../cssstyle/lib/properties/webkitWrapMargin.js | 12 - .../cssstyle/lib/properties/webkitWrapPadding.js | 12 - .../lib/properties/webkitWrapShapeInside.js | 12 - .../lib/properties/webkitWrapShapeOutside.js | 12 - .../cssstyle/lib/properties/webkitWrapThrough.js | 12 - .../cssstyle/lib/properties/webkitWritingMode.js | 12 - .../cssstyle/lib/properties/whiteSpace.js | 12 - .../node_modules/cssstyle/lib/properties/widows.js | 12 - .../node_modules/cssstyle/lib/properties/width.js | 24 - .../cssstyle/lib/properties/wordBreak.js | 12 - .../cssstyle/lib/properties/wordSpacing.js | 12 - .../cssstyle/lib/properties/wordWrap.js | 12 - .../cssstyle/lib/properties/writingMode.js | 12 - .../node_modules/cssstyle/lib/properties/zIndex.js | 12 - .../node_modules/cssstyle/lib/properties/zoom.js | 12 - .../jsdom/node_modules/cssstyle/package.json | 68 - .../cssstyle/scripts/generate_properties.js | 33 - .../node_modules/cssstyle/scripts/run_tests.sh | 4 - .../jsdom/node_modules/cssstyle/tests/tests.js | 405 - .../jsdom/node_modules/escodegen/LICENSE.BSD | 19 - .../node_modules/escodegen/LICENSE.source-map | 27 - .../jsdom/node_modules/escodegen/bin/escodegen.js | 77 - .../jsdom/node_modules/escodegen/bin/esgenerate.js | 64 - .../jsdom/node_modules/escodegen/escodegen.js | 2599 -- .../escodegen/node_modules/.bin/esparse | 1 - .../escodegen/node_modules/.bin/esvalidate | 1 - .../escodegen/node_modules/esprima/ChangeLog | 170 - .../escodegen/node_modules/esprima/LICENSE.BSD | 21 - .../escodegen/node_modules/esprima/README.md | 27 - .../escodegen/node_modules/esprima/bin/esparse.js | 126 - .../node_modules/esprima/bin/esvalidate.js | 199 - .../escodegen/node_modules/esprima/esprima.js | 5739 ---- .../escodegen/node_modules/esprima/package.json | 119 - .../node_modules/estraverse/.editorconfig | 10 - .../escodegen/node_modules/estraverse/.jshintrc | 16 - .../escodegen/node_modules/estraverse/LICENSE.BSD | 19 - .../escodegen/node_modules/estraverse/README.md | 124 - .../node_modules/estraverse/estraverse.js | 845 - .../escodegen/node_modules/estraverse/gulpfile.js | 70 - .../escodegen/node_modules/estraverse/package.json | 61 - .../escodegen/node_modules/esutils/LICENSE.BSD | 19 - .../escodegen/node_modules/esutils/README.md | 169 - .../escodegen/node_modules/esutils/lib/ast.js | 144 - .../escodegen/node_modules/esutils/lib/code.js | 135 - .../escodegen/node_modules/esutils/lib/keyword.js | 165 - .../escodegen/node_modules/esutils/lib/utils.js | 33 - .../escodegen/node_modules/esutils/package.json | 71 - .../escodegen/node_modules/optionator/CHANGELOG.md | 48 - .../escodegen/node_modules/optionator/LICENSE | 22 - .../escodegen/node_modules/optionator/README.md | 236 - .../node_modules/optionator/lib/coerce.js | 367 - .../escodegen/node_modules/optionator/lib/help.js | 247 - .../escodegen/node_modules/optionator/lib/index.js | 461 - .../node_modules/optionator/lib/parse-type.js | 143 - .../escodegen/node_modules/optionator/lib/util.js | 54 - .../optionator/node_modules/deep-is/.npmignore | 1 - .../optionator/node_modules/deep-is/.travis.yml | 6 - .../optionator/node_modules/deep-is/LICENSE | 22 - .../node_modules/deep-is/README.markdown | 70 - .../optionator/node_modules/deep-is/example/cmp.js | 11 - .../optionator/node_modules/deep-is/index.js | 102 - .../optionator/node_modules/deep-is/package.json | 86 - .../optionator/node_modules/deep-is/test/NaN.js | 16 - .../optionator/node_modules/deep-is/test/cmp.js | 23 - .../node_modules/deep-is/test/neg-vs-pos-0.js | 15 - .../node_modules/fast-levenshtein/LICENSE.md | 25 - .../node_modules/fast-levenshtein/README.md | 120 - .../node_modules/fast-levenshtein/levenshtein.js | 211 - .../node_modules/fast-levenshtein/package.json | 72 - .../optionator/node_modules/levn/LICENSE | 22 - .../optionator/node_modules/levn/README.md | 196 - .../optionator/node_modules/levn/lib/cast.js | 298 - .../optionator/node_modules/levn/lib/coerce.js | 285 - .../optionator/node_modules/levn/lib/index.js | 22 - .../node_modules/levn/lib/parse-string.js | 113 - .../optionator/node_modules/levn/lib/parse.js | 102 - .../optionator/node_modules/levn/package.json | 75 - .../node_modules/prelude-ls/CHANGELOG.md | 99 - .../optionator/node_modules/prelude-ls/LICENSE | 22 - .../optionator/node_modules/prelude-ls/README.md | 15 - .../optionator/node_modules/prelude-ls/lib/Func.js | 65 - .../optionator/node_modules/prelude-ls/lib/List.js | 686 - .../optionator/node_modules/prelude-ls/lib/Num.js | 130 - .../optionator/node_modules/prelude-ls/lib/Obj.js | 154 - .../optionator/node_modules/prelude-ls/lib/Str.js | 92 - .../node_modules/prelude-ls/lib/index.js | 178 - .../node_modules/prelude-ls/package.json | 80 - .../optionator/node_modules/type-check/LICENSE | 22 - .../optionator/node_modules/type-check/README.md | 210 - .../node_modules/type-check/lib/check.js | 126 - .../node_modules/type-check/lib/index.js | 16 - .../node_modules/type-check/lib/parse-type.js | 196 - .../node_modules/type-check/package.json | 68 - .../optionator/node_modules/wordwrap/LICENSE | 18 - .../node_modules/wordwrap/README.markdown | 70 - .../node_modules/wordwrap/example/center.js | 10 - .../node_modules/wordwrap/example/meat.js | 3 - .../optionator/node_modules/wordwrap/index.js | 76 - .../optionator/node_modules/wordwrap/package.json | 60 - .../optionator/node_modules/wordwrap/test/break.js | 32 - .../node_modules/wordwrap/test/idleness.txt | 63 - .../optionator/node_modules/wordwrap/test/wrap.js | 33 - .../escodegen/node_modules/optionator/package.json | 72 - .../escodegen/node_modules/source-map/.npmignore | 2 - .../escodegen/node_modules/source-map/.travis.yml | 4 - .../escodegen/node_modules/source-map/CHANGELOG.md | 201 - .../escodegen/node_modules/source-map/LICENSE | 28 - .../node_modules/source-map/Makefile.dryice.js | 166 - .../escodegen/node_modules/source-map/README.md | 479 - .../node_modules/source-map/build/assert-shim.js | 56 - .../node_modules/source-map/build/mini-require.js | 152 - .../source-map/build/prefix-source-map.jsm | 20 - .../node_modules/source-map/build/prefix-utils.jsm | 18 - .../source-map/build/suffix-browser.js | 8 - .../source-map/build/suffix-source-map.jsm | 6 - .../node_modules/source-map/build/suffix-utils.jsm | 21 - .../node_modules/source-map/build/test-prefix.js | 8 - .../node_modules/source-map/build/test-suffix.js | 3 - .../node_modules/source-map/lib/source-map.js | 8 - .../source-map/lib/source-map/array-set.js | 97 - .../source-map/lib/source-map/base64-vlq.js | 142 - .../source-map/lib/source-map/base64.js | 42 - .../lib/source-map/basic-source-map-consumer.js | 420 - .../source-map/lib/source-map/binary-search.js | 80 - .../lib/source-map/indexed-source-map-consumer.js | 303 - .../source-map/lib/source-map/mapping-list.js | 86 - .../lib/source-map/source-map-consumer.js | 222 - .../lib/source-map/source-map-generator.js | 400 - .../source-map/lib/source-map/source-node.js | 414 - .../node_modules/source-map/lib/source-map/util.js | 319 - .../source-map/node_modules/amdefine/LICENSE | 58 - .../source-map/node_modules/amdefine/README.md | 171 - .../source-map/node_modules/amdefine/amdefine.js | 301 - .../source-map/node_modules/amdefine/intercept.js | 36 - .../source-map/node_modules/amdefine/package.json | 47 - .../escodegen/node_modules/source-map/package.json | 190 - .../node_modules/source-map/test/run-tests.js | 62 - .../source-map/test/source-map/test-api.js | 26 - .../source-map/test/source-map/test-array-set.js | 104 - .../source-map/test/source-map/test-base64-vlq.js | 23 - .../source-map/test/source-map/test-base64.js | 35 - .../test/source-map/test-binary-search.js | 54 - .../source-map/test/source-map/test-dog-fooding.js | 84 - .../test/source-map/test-source-map-consumer.js | 874 - .../test/source-map/test-source-map-generator.js | 679 - .../source-map/test/source-map/test-source-node.js | 612 - .../source-map/test/source-map/test-util.js | 216 - .../source-map/test/source-map/util.js | 299 - .../jsdom/node_modules/escodegen/package.json | 86 - .../jsdom/node_modules/htmlparser2/LICENSE | 18 - .../htmlparser2/lib/CollectingHandler.js | 55 - .../node_modules/htmlparser2/lib/FeedHandler.js | 95 - .../jsdom/node_modules/htmlparser2/lib/Parser.js | 353 - .../node_modules/htmlparser2/lib/ProxyHandler.js | 27 - .../jsdom/node_modules/htmlparser2/lib/Stream.js | 35 - .../node_modules/htmlparser2/lib/Tokenizer.js | 906 - .../node_modules/htmlparser2/lib/WritableStream.js | 25 - .../jsdom/node_modules/htmlparser2/lib/index.js | 68 - .../node_modules/domelementtype/LICENSE | 11 - .../node_modules/domelementtype/index.js | 15 - .../node_modules/domelementtype/package.json | 46 - .../node_modules/domelementtype/readme.md | 1 - .../node_modules/domhandler/.travis.yml | 7 - .../htmlparser2/node_modules/domhandler/LICENSE | 11 - .../htmlparser2/node_modules/domhandler/index.js | 182 - .../node_modules/domhandler/lib/element.js | 20 - .../node_modules/domhandler/lib/node.js | 44 - .../node_modules/domhandler/package.json | 69 - .../htmlparser2/node_modules/domhandler/readme.md | 105 - .../domhandler/test/cases/01-basic.json | 57 - .../domhandler/test/cases/02-single_tag_1.json | 21 - .../domhandler/test/cases/03-single_tag_2.json | 21 - .../test/cases/04-unescaped_in_script.json | 27 - .../domhandler/test/cases/05-tags_in_comment.json | 18 - .../test/cases/06-comment_in_script.json | 18 - .../test/cases/07-unescaped_in_style.json | 20 - .../test/cases/08-extra_spaces_in_tag.json | 20 - .../domhandler/test/cases/09-unquoted_attrib.json | 20 - .../test/cases/10-singular_attribute.json | 15 - .../test/cases/11-text_outside_tags.json | 40 - .../domhandler/test/cases/12-text_only.json | 11 - .../domhandler/test/cases/13-comment_in_text.json | 19 - .../test/cases/14-comment_in_text_in_script.json | 18 - .../domhandler/test/cases/15-non-verbose.json | 22 - .../test/cases/16-normalize_whitespace.json | 47 - .../domhandler/test/cases/17-xml_namespace.json | 18 - .../test/cases/18-enforce_empty_tags.json | 16 - .../test/cases/19-ignore_empty_tags.json | 20 - .../test/cases/20-template_script_tags.json | 20 - .../test/cases/21-conditional_comments.json | 15 - .../domhandler/test/cases/22-lowercase_tags.json | 41 - .../domhandler/test/cases/23-dom-lvl1.json | 131 - .../test/cases/24-with-start-indices.json | 85 - .../node_modules/domhandler/test/tests.js | 60 - .../htmlparser2/node_modules/domutils/.npmignore | 1 - .../htmlparser2/node_modules/domutils/LICENSE | 11 - .../htmlparser2/node_modules/domutils/index.js | 14 - .../node_modules/domutils/lib/helpers.js | 141 - .../node_modules/domutils/lib/legacy.js | 87 - .../node_modules/domutils/lib/manipulation.js | 77 - .../node_modules/domutils/lib/querying.js | 94 - .../node_modules/domutils/lib/stringify.js | 22 - .../node_modules/domutils/lib/traversal.js | 24 - .../domutils/node_modules/dom-serializer/LICENSE | 11 - .../domutils/node_modules/dom-serializer/index.js | 178 - .../node_modules/domelementtype/LICENSE | 11 - .../node_modules/domelementtype/index.js | 14 - .../node_modules/domelementtype/package.json | 46 - .../node_modules/domelementtype/readme.md | 1 - .../node_modules/dom-serializer/package.json | 73 - .../htmlparser2/node_modules/domutils/package.json | 75 - .../htmlparser2/node_modules/domutils/readme.md | 1 - .../node_modules/domutils/test/fixture.js | 6 - .../node_modules/domutils/test/tests/helpers.js | 89 - .../node_modules/domutils/test/tests/legacy.js | 119 - .../node_modules/domutils/test/tests/traversal.js | 17 - .../node_modules/domutils/test/utils.js | 9 - .../htmlparser2/node_modules/entities/.travis.yml | 7 - .../htmlparser2/node_modules/entities/LICENSE | 11 - .../htmlparser2/node_modules/entities/index.js | 33 - .../node_modules/entities/lib/decode.js | 72 - .../node_modules/entities/lib/decode_codepoint.js | 26 - .../node_modules/entities/lib/encode.js | 73 - .../node_modules/entities/maps/decode.json | 1 - .../node_modules/entities/maps/entities.json | 1 - .../node_modules/entities/maps/legacy.json | 1 - .../node_modules/entities/maps/xml.json | 1 - .../htmlparser2/node_modules/entities/package.json | 80 - .../htmlparser2/node_modules/entities/readme.md | 27 - .../node_modules/entities/test/mocha.opts | 2 - .../htmlparser2/node_modules/entities/test/test.js | 168 - .../node_modules/readable-stream/.npmignore | 8 - .../node_modules/readable-stream/.travis.yml | 54 - .../node_modules/readable-stream/LICENSE | 18 - .../node_modules/readable-stream/README.md | 36 - .../node_modules/readable-stream/doc/stream.md | 1772 -- .../readable-stream/doc/wg-meetings/2015-01-30.md | 60 - .../node_modules/readable-stream/duplex.js | 1 - .../readable-stream/lib/_stream_duplex.js | 75 - .../readable-stream/lib/_stream_passthrough.js | 26 - .../readable-stream/lib/_stream_readable.js | 893 - .../readable-stream/lib/_stream_transform.js | 180 - .../readable-stream/lib/_stream_writable.js | 526 - .../node_modules/buffer-shims/index.js | 108 - .../node_modules/buffer-shims/license.md | 19 - .../node_modules/buffer-shims/package.json | 51 - .../node_modules/buffer-shims/readme.md | 21 - .../node_modules/isarray/.npmignore | 1 - .../node_modules/isarray/.travis.yml | 4 - .../readable-stream/node_modules/isarray/Makefile | 6 - .../readable-stream/node_modules/isarray/README.md | 60 - .../node_modules/isarray/component.json | 19 - .../readable-stream/node_modules/isarray/index.js | 5 - .../node_modules/isarray/package.json | 71 - .../readable-stream/node_modules/isarray/test.js | 20 - .../node_modules/process-nextick-args/.travis.yml | 12 - .../node_modules/process-nextick-args/index.js | 43 - .../node_modules/process-nextick-args/license.md | 19 - .../node_modules/process-nextick-args/package.json | 49 - .../node_modules/process-nextick-args/readme.md | 18 - .../node_modules/process-nextick-args/test.js | 24 - .../node_modules/util-deprecate/History.md | 16 - .../node_modules/util-deprecate/LICENSE | 24 - .../node_modules/util-deprecate/README.md | 53 - .../node_modules/util-deprecate/browser.js | 67 - .../node_modules/util-deprecate/node.js | 6 - .../node_modules/util-deprecate/package.json | 54 - .../node_modules/readable-stream/package.json | 92 - .../node_modules/readable-stream/passthrough.js | 1 - .../node_modules/readable-stream/readable.js | 16 - .../node_modules/readable-stream/transform.js | 1 - .../node_modules/readable-stream/writable.js | 1 - .../jsdom/node_modules/htmlparser2/package.json | 85 - node_modules/jsdom/node_modules/nwmatcher/LICENSE | 22 - .../jsdom/node_modules/nwmatcher/README.md | 107 - .../jsdom/node_modules/nwmatcher/package.json | 64 - .../nwmatcher/src/modules/nwmatcher-cache.js | 184 - .../nwmatcher/src/modules/nwmatcher-jquery.js | 126 - .../nwmatcher/src/modules/nwmatcher-pseudos.js | 273 - .../nwmatcher/src/modules/nwmatcher-shortcuts.js | 35 - .../nwmatcher/src/modules/nwmatcher-traversal.js | 90 - .../nwmatcher/src/modules/nwmatcher-webforms.js | 104 - .../node_modules/nwmatcher/src/nwmatcher-base.js | 747 - .../node_modules/nwmatcher/src/nwmatcher-noqsa.js | 906 - .../jsdom/node_modules/nwmatcher/src/nwmatcher.js | 1726 -- .../jsdom/node_modules/parse5/CHANGELOG.md | 69 - node_modules/jsdom/node_modules/parse5/LICENSE | 19 - node_modules/jsdom/node_modules/parse5/README.md | 247 - .../jsdom/node_modules/parse5/docs/build/index.md | 963 - node_modules/jsdom/node_modules/parse5/index.js | 12 - .../node_modules/parse5/lib/common/doctype.js | 134 - .../parse5/lib/common/foreign_content.js | 257 - .../jsdom/node_modules/parse5/lib/common/html.js | 268 - .../node_modules/parse5/lib/common/unicode.js | 48 - .../jsdom/node_modules/parse5/lib/common/utils.js | 13 - .../node_modules/parse5/lib/jsdom/jsdom_parser.js | 39 - .../node_modules/parse5/lib/jsdom/parsing_unit.js | 53 - .../parse5/lib/serialization/serializer.js | 178 - .../parse5/lib/simple_api/simple_api_parser.js | 107 - .../parse5/lib/simple_api/tokenizer_proxy.js | 122 - .../parse5/lib/tokenization/location_info_mixin.js | 80 - .../parse5/lib/tokenization/named_entity_trie.js | 6 - .../parse5/lib/tokenization/preprocessor.js | 115 - .../parse5/lib/tokenization/tokenizer.js | 2317 -- .../parse5/lib/tree_adapters/default.js | 200 - .../parse5/lib/tree_adapters/htmlparser2.js | 317 - .../tree_construction/formatting_element_list.js | 167 - .../lib/tree_construction/location_info_mixin.js | 197 - .../lib/tree_construction/open_element_stack.js | 379 - .../parse5/lib/tree_construction/parser.js | 2827 -- .../jsdom/node_modules/parse5/package.json | 91 - node_modules/jsdom/node_modules/request/.eslintrc | 45 - node_modules/jsdom/node_modules/request/.npmignore | 6 - .../jsdom/node_modules/request/.travis.yml | 21 - .../jsdom/node_modules/request/CHANGELOG.md | 633 - .../jsdom/node_modules/request/CONTRIBUTING.md | 81 - node_modules/jsdom/node_modules/request/LICENSE | 55 - node_modules/jsdom/node_modules/request/README.md | 1097 - .../jsdom/node_modules/request/codecov.yml | 2 - node_modules/jsdom/node_modules/request/index.js | 157 - .../jsdom/node_modules/request/lib/auth.js | 168 - .../jsdom/node_modules/request/lib/cookies.js | 39 - .../node_modules/request/lib/getProxyFromURI.js | 79 - node_modules/jsdom/node_modules/request/lib/har.js | 215 - .../jsdom/node_modules/request/lib/helpers.js | 74 - .../jsdom/node_modules/request/lib/multipart.js | 112 - .../jsdom/node_modules/request/lib/oauth.js | 147 - .../jsdom/node_modules/request/lib/querystring.js | 51 - .../jsdom/node_modules/request/lib/redirect.js | 153 - .../jsdom/node_modules/request/lib/tunnel.js | 176 - .../request/node_modules/.bin/har-validator | 1 - .../node_modules/request/node_modules/.bin/uuid | 1 - .../request/node_modules/aws-sign2/LICENSE | 55 - .../request/node_modules/aws-sign2/README.md | 4 - .../request/node_modules/aws-sign2/index.js | 212 - .../request/node_modules/aws-sign2/package.json | 49 - .../request/node_modules/aws4/.npmignore | 4 - .../request/node_modules/aws4/.tern-port | 1 - .../request/node_modules/aws4/.travis.yml | 5 - .../node_modules/request/node_modules/aws4/LICENSE | 19 - .../request/node_modules/aws4/README.md | 514 - .../node_modules/request/node_modules/aws4/aws4.js | 318 - .../node_modules/request/node_modules/aws4/lru.js | 96 - .../request/node_modules/aws4/package.json | 106 - .../node_modules/request/node_modules/bl/.jshintrc | 59 - .../request/node_modules/bl/.npmignore | 1 - .../request/node_modules/bl/.travis.yml | 13 - .../request/node_modules/bl/LICENSE.md | 13 - .../node_modules/request/node_modules/bl/README.md | 200 - .../node_modules/request/node_modules/bl/bl.js | 243 - .../bl/node_modules/readable-stream/.npmignore | 5 - .../bl/node_modules/readable-stream/.travis.yml | 52 - .../bl/node_modules/readable-stream/.zuul.yml | 1 - .../bl/node_modules/readable-stream/LICENSE | 18 - .../bl/node_modules/readable-stream/README.md | 36 - .../readable-stream/doc/stream.markdown | 1760 -- .../readable-stream/doc/wg-meetings/2015-01-30.md | 60 - .../bl/node_modules/readable-stream/duplex.js | 1 - .../readable-stream/lib/_stream_duplex.js | 75 - .../readable-stream/lib/_stream_passthrough.js | 26 - .../readable-stream/lib/_stream_readable.js | 880 - .../readable-stream/lib/_stream_transform.js | 180 - .../readable-stream/lib/_stream_writable.js | 516 - .../node_modules/isarray/.npmignore | 1 - .../node_modules/isarray/.travis.yml | 4 - .../readable-stream/node_modules/isarray/Makefile | 6 - .../readable-stream/node_modules/isarray/README.md | 60 - .../node_modules/isarray/component.json | 19 - .../readable-stream/node_modules/isarray/index.js | 5 - .../node_modules/isarray/package.json | 71 - .../readable-stream/node_modules/isarray/test.js | 20 - .../node_modules/process-nextick-args/.travis.yml | 12 - .../node_modules/process-nextick-args/index.js | 43 - .../node_modules/process-nextick-args/license.md | 19 - .../node_modules/process-nextick-args/package.json | 49 - .../node_modules/process-nextick-args/readme.md | 18 - .../node_modules/process-nextick-args/test.js | 24 - .../node_modules/util-deprecate/History.md | 16 - .../node_modules/util-deprecate/LICENSE | 24 - .../node_modules/util-deprecate/README.md | 53 - .../node_modules/util-deprecate/browser.js | 67 - .../node_modules/util-deprecate/node.js | 6 - .../node_modules/util-deprecate/package.json | 54 - .../bl/node_modules/readable-stream/package.json | 80 - .../bl/node_modules/readable-stream/passthrough.js | 1 - .../bl/node_modules/readable-stream/readable.js | 12 - .../bl/node_modules/readable-stream/transform.js | 1 - .../bl/node_modules/readable-stream/writable.js | 1 - .../request/node_modules/bl/package.json | 64 - .../request/node_modules/bl/test/test.js | 640 - .../request/node_modules/caseless/LICENSE | 28 - .../request/node_modules/caseless/README.md | 45 - .../request/node_modules/caseless/index.js | 66 - .../request/node_modules/caseless/package.json | 62 - .../request/node_modules/caseless/test.js | 40 - .../request/node_modules/combined-stream/License | 19 - .../request/node_modules/combined-stream/Readme.md | 138 - .../combined-stream/lib/combined_stream.js | 188 - .../node_modules/delayed-stream/.npmignore | 1 - .../node_modules/delayed-stream/License | 19 - .../node_modules/delayed-stream/Makefile | 7 - .../node_modules/delayed-stream/Readme.md | 141 - .../delayed-stream/lib/delayed_stream.js | 107 - .../node_modules/delayed-stream/package.json | 64 - .../node_modules/combined-stream/package.json | 67 - .../request/node_modules/extend/.eslintrc | 192 - .../request/node_modules/extend/.jscs.json | 104 - .../request/node_modules/extend/.npmignore | 1 - .../request/node_modules/extend/.travis.yml | 44 - .../request/node_modules/extend/CHANGELOG.md | 69 - .../request/node_modules/extend/LICENSE | 23 - .../request/node_modules/extend/README.md | 62 - .../request/node_modules/extend/component.json | 32 - .../request/node_modules/extend/index.js | 86 - .../request/node_modules/extend/package.json | 73 - .../request/node_modules/forever-agent/LICENSE | 55 - .../request/node_modules/forever-agent/README.md | 4 - .../request/node_modules/forever-agent/index.js | 138 - .../node_modules/forever-agent/package.json | 56 - .../request/node_modules/form-data/.dockerignore | 7 - .../request/node_modules/form-data/.editorconfig | 10 - .../request/node_modules/form-data/.eslintignore | 1 - .../request/node_modules/form-data/.eslintrc | 64 - .../request/node_modules/form-data/License | 19 - .../request/node_modules/form-data/README.md | 218 - .../request/node_modules/form-data/lib/browser.js | 2 - .../node_modules/form-data/lib/form_data.js | 411 - .../request/node_modules/form-data/lib/populate.js | 9 - .../form-data/node_modules/async/CHANGELOG.md | 125 - .../form-data/node_modules/async/LICENSE | 19 - .../form-data/node_modules/async/README.md | 1877 -- .../form-data/node_modules/async/dist/async.js | 1265 - .../form-data/node_modules/async/dist/async.min.js | 2 - .../form-data/node_modules/async/lib/async.js | 1265 - .../form-data/node_modules/async/package.json | 123 - .../request/node_modules/form-data/package.json | 104 - .../request/node_modules/form-data/wercker.yml | 36 - .../request/node_modules/har-validator/LICENSE | 13 - .../request/node_modules/har-validator/README.md | 309 - .../node_modules/har-validator/bin/har-validator | 56 - .../node_modules/har-validator/lib/async.js | 14 - .../node_modules/har-validator/lib/error.js | 10 - .../node_modules/har-validator/lib/index.js | 22 - .../node_modules/har-validator/lib/runner.js | 29 - .../har-validator/lib/schemas/cache.json | 13 - .../har-validator/lib/schemas/cacheEntry.json | 31 - .../har-validator/lib/schemas/content.json | 27 - .../har-validator/lib/schemas/cookie.json | 34 - .../har-validator/lib/schemas/creator.json | 18 - .../har-validator/lib/schemas/entry.json | 51 - .../har-validator/lib/schemas/har.json | 11 - .../har-validator/lib/schemas/index.js | 49 - .../har-validator/lib/schemas/log.json | 34 - .../har-validator/lib/schemas/page.json | 30 - .../har-validator/lib/schemas/pageTimings.json | 16 - .../har-validator/lib/schemas/postData.json | 41 - .../har-validator/lib/schemas/record.json | 18 - .../har-validator/lib/schemas/request.json | 55 - .../har-validator/lib/schemas/response.json | 52 - .../har-validator/lib/schemas/timings.json | 40 - .../har-validator/node_modules/chalk/index.js | 116 - .../har-validator/node_modules/chalk/license | 21 - .../chalk/node_modules/ansi-styles/index.js | 65 - .../chalk/node_modules/ansi-styles/license | 21 - .../chalk/node_modules/ansi-styles/package.json | 80 - .../chalk/node_modules/ansi-styles/readme.md | 86 - .../node_modules/escape-string-regexp/index.js | 11 - .../node_modules/escape-string-regexp/license | 21 - .../node_modules/escape-string-regexp/package.json | 75 - .../node_modules/escape-string-regexp/readme.md | 27 - .../chalk/node_modules/has-ansi/index.js | 4 - .../chalk/node_modules/has-ansi/license | 21 - .../has-ansi/node_modules/ansi-regex/index.js | 4 - .../has-ansi/node_modules/ansi-regex/license | 21 - .../has-ansi/node_modules/ansi-regex/package.json | 86 - .../has-ansi/node_modules/ansi-regex/readme.md | 31 - .../chalk/node_modules/has-ansi/package.json | 85 - .../chalk/node_modules/has-ansi/readme.md | 36 - .../chalk/node_modules/strip-ansi/index.js | 6 - .../chalk/node_modules/strip-ansi/license | 21 - .../strip-ansi/node_modules/ansi-regex/index.js | 4 - .../strip-ansi/node_modules/ansi-regex/license | 21 - .../node_modules/ansi-regex/package.json | 86 - .../strip-ansi/node_modules/ansi-regex/readme.md | 31 - .../chalk/node_modules/strip-ansi/package.json | 90 - .../chalk/node_modules/strip-ansi/readme.md | 33 - .../chalk/node_modules/supports-color/index.js | 50 - .../chalk/node_modules/supports-color/license | 21 - .../chalk/node_modules/supports-color/package.json | 79 - .../chalk/node_modules/supports-color/readme.md | 36 - .../har-validator/node_modules/chalk/package.json | 107 - .../har-validator/node_modules/chalk/readme.md | 213 - .../node_modules/commander/History.md | 261 - .../har-validator/node_modules/commander/LICENSE | 22 - .../har-validator/node_modules/commander/Readme.md | 351 - .../har-validator/node_modules/commander/index.js | 1110 - .../node_modules/graceful-readlink/.npmignore | 3 - .../node_modules/graceful-readlink/.travis.yml | 5 - .../node_modules/graceful-readlink/LICENSE | 22 - .../node_modules/graceful-readlink/README.md | 17 - .../node_modules/graceful-readlink/index.js | 12 - .../node_modules/graceful-readlink/package.json | 48 - .../node_modules/commander/package.json | 71 - .../node_modules/is-my-json-valid/.npmignore | 2 - .../node_modules/is-my-json-valid/.travis.yml | 3 - .../node_modules/is-my-json-valid/LICENSE | 21 - .../node_modules/is-my-json-valid/README.md | 173 - .../node_modules/is-my-json-valid/example.js | 18 - .../node_modules/is-my-json-valid/formats.js | 14 - .../node_modules/is-my-json-valid/index.js | 584 - .../node_modules/generate-function/.npmignore | 1 - .../node_modules/generate-function/.travis.yml | 3 - .../node_modules/generate-function/README.md | 72 - .../node_modules/generate-function/example.js | 27 - .../node_modules/generate-function/index.js | 61 - .../node_modules/generate-function/package.json | 53 - .../node_modules/generate-function/test.js | 33 - .../generate-object-property/.npmignore | 1 - .../generate-object-property/.travis.yml | 3 - .../node_modules/generate-object-property/LICENSE | 21 - .../generate-object-property/README.md | 19 - .../node_modules/generate-object-property/index.js | 12 - .../node_modules/is-property/.npmignore | 17 - .../node_modules/is-property/LICENSE | 22 - .../node_modules/is-property/README.md | 28 - .../node_modules/is-property/is-property.js | 5 - .../node_modules/is-property/package.json | 59 - .../generate-object-property/package.json | 51 - .../node_modules/generate-object-property/test.js | 12 - .../node_modules/jsonpointer/.travis.yml | 10 - .../node_modules/jsonpointer/README.md | 32 - .../node_modules/jsonpointer/jsonpointer.js | 76 - .../node_modules/jsonpointer/package.json | 64 - .../node_modules/jsonpointer/test.js | 98 - .../is-my-json-valid/node_modules/xtend/.jshintrc | 30 - .../is-my-json-valid/node_modules/xtend/.npmignore | 1 - .../is-my-json-valid/node_modules/xtend/LICENCE | 19 - .../is-my-json-valid/node_modules/xtend/Makefile | 4 - .../is-my-json-valid/node_modules/xtend/README.md | 32 - .../node_modules/xtend/immutable.js | 19 - .../is-my-json-valid/node_modules/xtend/mutable.js | 17 - .../node_modules/xtend/package.json | 84 - .../is-my-json-valid/node_modules/xtend/test.js | 83 - .../node_modules/is-my-json-valid/package.json | 75 - .../node_modules/is-my-json-valid/require.js | 12 - .../is-my-json-valid/test/fixtures/cosmic.js | 84 - .../test/json-schema-draft4/additionalItems.json | 82 - .../json-schema-draft4/additionalProperties.json | 88 - .../test/json-schema-draft4/allOf.json | 112 - .../test/json-schema-draft4/anyOf.json | 68 - .../test/json-schema-draft4/bignum.json | 107 - .../test/json-schema-draft4/default.json | 49 - .../test/json-schema-draft4/definitions.json | 32 - .../test/json-schema-draft4/dependencies.json | 113 - .../test/json-schema-draft4/enum.json | 72 - .../test/json-schema-draft4/format.json | 143 - .../test/json-schema-draft4/items.json | 46 - .../test/json-schema-draft4/maxItems.json | 28 - .../test/json-schema-draft4/maxLength.json | 28 - .../test/json-schema-draft4/maxProperties.json | 28 - .../test/json-schema-draft4/maximum.json | 42 - .../test/json-schema-draft4/minItems.json | 28 - .../test/json-schema-draft4/minLength.json | 28 - .../test/json-schema-draft4/minProperties.json | 28 - .../test/json-schema-draft4/minimum.json | 42 - .../test/json-schema-draft4/multipleOf.json | 96 - .../test/json-schema-draft4/not.json | 96 - .../test/json-schema-draft4/nullAndFormat.json | 18 - .../test/json-schema-draft4/nullAndObject.json | 18 - .../test/json-schema-draft4/oneOf.json | 68 - .../test/json-schema-draft4/pattern.json | 23 - .../test/json-schema-draft4/patternProperties.json | 110 - .../test/json-schema-draft4/properties.json | 92 - .../test/json-schema-draft4/ref.json | 128 - .../test/json-schema-draft4/refRemote.json | 74 - .../test/json-schema-draft4/required.json | 39 - .../test/json-schema-draft4/type.json | 330 - .../test/json-schema-draft4/uniqueItems.json | 79 - .../is-my-json-valid/test/json-schema.js | 23 - .../node_modules/is-my-json-valid/test/misc.js | 447 - .../node_modules/pinkie-promise/index.js | 3 - .../node_modules/pinkie-promise/license | 21 - .../pinkie-promise/node_modules/pinkie/index.js | 292 - .../pinkie-promise/node_modules/pinkie/license | 21 - .../node_modules/pinkie/package.json | 66 - .../pinkie-promise/node_modules/pinkie/readme.md | 83 - .../node_modules/pinkie-promise/package.json | 69 - .../node_modules/pinkie-promise/readme.md | 28 - .../node_modules/har-validator/package.json | 87 - .../request/node_modules/hawk/.npmignore | 20 - .../request/node_modules/hawk/.travis.yml | 5 - .../node_modules/request/node_modules/hawk/LICENSE | 28 - .../request/node_modules/hawk/README.md | 634 - .../request/node_modules/hawk/bower.json | 24 - .../request/node_modules/hawk/component.json | 19 - .../request/node_modules/hawk/dist/client.js | 343 - .../request/node_modules/hawk/example/usage.js | 78 - .../request/node_modules/hawk/images/hawk.png | Bin 6945 -> 0 bytes .../request/node_modules/hawk/images/logo.png | Bin 71732 -> 0 bytes .../request/node_modules/hawk/lib/browser.js | 637 - .../request/node_modules/hawk/lib/client.js | 369 - .../request/node_modules/hawk/lib/crypto.js | 126 - .../request/node_modules/hawk/lib/index.js | 15 - .../request/node_modules/hawk/lib/server.js | 548 - .../request/node_modules/hawk/lib/utils.js | 184 - .../node_modules/hawk/node_modules/boom/.npmignore | 18 - .../hawk/node_modules/boom/.travis.yml | 8 - .../hawk/node_modules/boom/CONTRIBUTING.md | 1 - .../node_modules/hawk/node_modules/boom/LICENSE | 28 - .../node_modules/hawk/node_modules/boom/README.md | 652 - .../hawk/node_modules/boom/images/boom.png | Bin 29479 -> 0 bytes .../hawk/node_modules/boom/lib/index.js | 318 - .../hawk/node_modules/boom/package.json | 64 - .../hawk/node_modules/boom/test/index.js | 654 - .../hawk/node_modules/cryptiles/.npmignore | 18 - .../hawk/node_modules/cryptiles/.travis.yml | 8 - .../hawk/node_modules/cryptiles/LICENSE | 28 - .../hawk/node_modules/cryptiles/README.md | 16 - .../hawk/node_modules/cryptiles/lib/index.js | 68 - .../hawk/node_modules/cryptiles/package.json | 61 - .../hawk/node_modules/cryptiles/test/index.js | 102 - .../node_modules/hawk/node_modules/hoek/.npmignore | 18 - .../hawk/node_modules/hoek/.travis.yml | 7 - .../hawk/node_modules/hoek/CONTRIBUTING.md | 1 - .../node_modules/hawk/node_modules/hoek/LICENSE | 31 - .../node_modules/hawk/node_modules/hoek/README.md | 584 - .../hawk/node_modules/hoek/images/hoek.png | Bin 37939 -> 0 bytes .../hawk/node_modules/hoek/lib/escape.js | 132 - .../hawk/node_modules/hoek/lib/index.js | 993 - .../hawk/node_modules/hoek/package.json | 61 - .../hawk/node_modules/hoek/test/escaper.js | 88 - .../hawk/node_modules/hoek/test/index.js | 2513 -- .../hawk/node_modules/hoek/test/modules/ignore.txt | 0 .../hawk/node_modules/hoek/test/modules/test1.js | 1 - .../hawk/node_modules/hoek/test/modules/test2.js | 1 - .../hawk/node_modules/hoek/test/modules/test3.js | 1 - .../node_modules/hawk/node_modules/sntp/.npmignore | 18 - .../hawk/node_modules/sntp/.travis.yml | 5 - .../node_modules/hawk/node_modules/sntp/LICENSE | 28 - .../node_modules/hawk/node_modules/sntp/Makefile | 9 - .../node_modules/hawk/node_modules/sntp/README.md | 68 - .../hawk/node_modules/sntp/examples/offset.js | 16 - .../hawk/node_modules/sntp/examples/time.js | 25 - .../node_modules/hawk/node_modules/sntp/index.js | 1 - .../hawk/node_modules/sntp/lib/index.js | 412 - .../hawk/node_modules/sntp/package.json | 65 - .../hawk/node_modules/sntp/test/index.js | 435 - .../request/node_modules/hawk/package.json | 68 - .../request/node_modules/hawk/test/browser.js | 1492 - .../request/node_modules/hawk/test/client.js | 440 - .../request/node_modules/hawk/test/crypto.js | 70 - .../request/node_modules/hawk/test/index.js | 378 - .../request/node_modules/hawk/test/readme.js | 95 - .../request/node_modules/hawk/test/server.js | 1329 - .../request/node_modules/hawk/test/uri.js | 838 - .../request/node_modules/hawk/test/utils.js | 149 - .../node_modules/http-signature/.dir-locals.el | 6 - .../request/node_modules/http-signature/.npmignore | 7 - .../request/node_modules/http-signature/CHANGES.md | 46 - .../request/node_modules/http-signature/LICENSE | 18 - .../request/node_modules/http-signature/README.md | 79 - .../node_modules/http-signature/http_signing.md | 363 - .../node_modules/http-signature/lib/index.js | 29 - .../node_modules/http-signature/lib/parser.js | 318 - .../node_modules/http-signature/lib/signer.js | 399 - .../node_modules/http-signature/lib/utils.js | 112 - .../node_modules/http-signature/lib/verify.js | 88 - .../http-signature/node_modules/.bin/sshpk-conv | 1 - .../http-signature/node_modules/.bin/sshpk-sign | 1 - .../http-signature/node_modules/.bin/sshpk-verify | 1 - .../node_modules/assert-plus/AUTHORS | 6 - .../node_modules/assert-plus/CHANGES.md | 8 - .../node_modules/assert-plus/README.md | 155 - .../node_modules/assert-plus/assert.js | 206 - .../node_modules/assert-plus/package.json | 83 - .../http-signature/node_modules/jsprim/CHANGES.md | 35 - .../http-signature/node_modules/jsprim/LICENSE | 19 - .../http-signature/node_modules/jsprim/README.md | 237 - .../node_modules/jsprim/lib/jsprim.js | 488 - .../jsprim/node_modules/extsprintf/.gitmodules | 6 - .../jsprim/node_modules/extsprintf/LICENSE | 19 - .../jsprim/node_modules/extsprintf/Makefile | 23 - .../jsprim/node_modules/extsprintf/Makefile.deps | 39 - .../jsprim/node_modules/extsprintf/Makefile.targ | 285 - .../jsprim/node_modules/extsprintf/README.md | 39 - .../node_modules/extsprintf/examples/simple.js | 2 - .../jsprim/node_modules/extsprintf/jsl.node.conf | 137 - .../node_modules/extsprintf/lib/extsprintf.js | 166 - .../jsprim/node_modules/extsprintf/package.json | 38 - .../jsprim/node_modules/json-schema/README.md | 5 - .../node_modules/json-schema/draft-00/hyper-schema | 68 - .../node_modules/json-schema/draft-00/json-ref | 26 - .../jsprim/node_modules/json-schema/draft-00/links | 33 - .../node_modules/json-schema/draft-00/schema | 155 - .../node_modules/json-schema/draft-01/hyper-schema | 68 - .../node_modules/json-schema/draft-01/json-ref | 26 - .../jsprim/node_modules/json-schema/draft-01/links | 33 - .../node_modules/json-schema/draft-01/schema | 155 - .../node_modules/json-schema/draft-02/hyper-schema | 68 - .../node_modules/json-schema/draft-02/json-ref | 26 - .../jsprim/node_modules/json-schema/draft-02/links | 35 - .../node_modules/json-schema/draft-02/schema | 166 - .../json-schema/draft-03/examples/address | 20 - .../json-schema/draft-03/examples/calendar | 53 - .../json-schema/draft-03/examples/card | 105 - .../node_modules/json-schema/draft-03/examples/geo | 8 - .../json-schema/draft-03/examples/interfaces | 23 - .../node_modules/json-schema/draft-03/hyper-schema | 60 - .../node_modules/json-schema/draft-03/json-ref | 26 - .../jsprim/node_modules/json-schema/draft-03/links | 35 - .../node_modules/json-schema/draft-03/schema | 174 - .../node_modules/json-schema/draft-04/hyper-schema | 60 - .../jsprim/node_modules/json-schema/draft-04/links | 41 - .../node_modules/json-schema/draft-04/schema | 189 - .../json-schema/draft-zyp-json-schema-03.xml | 1120 - .../json-schema/draft-zyp-json-schema-04.xml | 1072 - .../jsprim/node_modules/json-schema/lib/links.js | 52 - .../node_modules/json-schema/lib/validate.js | 260 - .../jsprim/node_modules/json-schema/package.json | 60 - .../jsprim/node_modules/json-schema/test/tests.js | 95 - .../jsprim/node_modules/verror/.gitmodules | 0 .../jsprim/node_modules/verror/.npmignore | 1 - .../jsprim/node_modules/verror/LICENSE | 19 - .../jsprim/node_modules/verror/Makefile | 35 - .../jsprim/node_modules/verror/Makefile.targ | 285 - .../jsprim/node_modules/verror/README.md | 120 - .../node_modules/verror/examples/levels-verror.js | 36 - .../node_modules/verror/examples/levels-werror.js | 34 - .../jsprim/node_modules/verror/examples/varargs.js | 6 - .../jsprim/node_modules/verror/examples/verror.js | 13 - .../jsprim/node_modules/verror/examples/werror.js | 14 - .../jsprim/node_modules/verror/jsl.node.conf | 139 - .../jsprim/node_modules/verror/lib/verror.js | 157 - .../jsprim/node_modules/verror/package.json | 44 - .../node_modules/verror/tests/tst.inherit.js | 100 - .../jsprim/node_modules/verror/tests/tst.verror.js | 156 - .../jsprim/node_modules/verror/tests/tst.werror.js | 179 - .../node_modules/jsprim/package.json | 51 - .../http-signature/node_modules/sshpk/.npmignore | 9 - .../http-signature/node_modules/sshpk/.travis.yml | 11 - .../http-signature/node_modules/sshpk/LICENSE | 18 - .../http-signature/node_modules/sshpk/README.md | 455 - .../node_modules/sshpk/bin/sshpk-conv | 195 - .../node_modules/sshpk/bin/sshpk-sign | 191 - .../node_modules/sshpk/bin/sshpk-verify | 166 - .../http-signature/node_modules/sshpk/lib/algs.js | 168 - .../http-signature/node_modules/sshpk/lib/dhe.js | 311 - .../node_modules/sshpk/lib/ed-compat.js | 96 - .../node_modules/sshpk/lib/errors.js | 71 - .../node_modules/sshpk/lib/fingerprint.js | 140 - .../node_modules/sshpk/lib/formats/auto.js | 73 - .../node_modules/sshpk/lib/formats/pem.js | 186 - .../node_modules/sshpk/lib/formats/pkcs1.js | 320 - .../node_modules/sshpk/lib/formats/pkcs8.js | 510 - .../node_modules/sshpk/lib/formats/rfc4253.js | 146 - .../node_modules/sshpk/lib/formats/ssh-private.js | 138 - .../node_modules/sshpk/lib/formats/ssh.js | 114 - .../http-signature/node_modules/sshpk/lib/index.js | 26 - .../http-signature/node_modules/sshpk/lib/key.js | 269 - .../node_modules/sshpk/lib/private-key.js | 231 - .../node_modules/sshpk/lib/signature.js | 237 - .../node_modules/sshpk/lib/ssh-buffer.js | 124 - .../http-signature/node_modules/sshpk/lib/utils.js | 246 - .../node_modules/sshpk/man/man1/sshpk-conv.1 | 135 - .../node_modules/sshpk/man/man1/sshpk-sign.1 | 81 - .../node_modules/sshpk/man/man1/sshpk-verify.1 | 68 - .../sshpk/node_modules/asn1/.npmignore | 2 - .../sshpk/node_modules/asn1/.travis.yml | 4 - .../node_modules/sshpk/node_modules/asn1/LICENSE | 19 - .../node_modules/sshpk/node_modules/asn1/README.md | 50 - .../sshpk/node_modules/asn1/lib/ber/errors.js | 13 - .../sshpk/node_modules/asn1/lib/ber/index.js | 27 - .../sshpk/node_modules/asn1/lib/ber/reader.js | 261 - .../sshpk/node_modules/asn1/lib/ber/types.js | 36 - .../sshpk/node_modules/asn1/lib/ber/writer.js | 316 - .../sshpk/node_modules/asn1/lib/index.js | 20 - .../sshpk/node_modules/asn1/package.json | 65 - .../sshpk/node_modules/asn1/tst/ber/reader.test.js | 208 - .../sshpk/node_modules/asn1/tst/ber/writer.test.js | 370 - .../sshpk/node_modules/assert-plus/AUTHORS | 6 - .../sshpk/node_modules/assert-plus/CHANGES.md | 14 - .../sshpk/node_modules/assert-plus/README.md | 162 - .../sshpk/node_modules/assert-plus/assert.js | 211 - .../sshpk/node_modules/assert-plus/package.json | 83 - .../sshpk/node_modules/dashdash/README.md | 574 - .../dashdash/etc/dashdash.bash_completion.in | 388 - .../sshpk/node_modules/dashdash/lib/dashdash.js | 1055 - .../sshpk/node_modules/dashdash/package.json | 91 - .../sshpk/node_modules/ecc-jsbn/.npmignore | 15 - .../sshpk/node_modules/ecc-jsbn/LICENSE | 21 - .../sshpk/node_modules/ecc-jsbn/README.md | 8 - .../sshpk/node_modules/ecc-jsbn/index.js | 57 - .../sshpk/node_modules/ecc-jsbn/lib/LICENSE-jsbn | 40 - .../sshpk/node_modules/ecc-jsbn/lib/ec.js | 561 - .../sshpk/node_modules/ecc-jsbn/lib/sec.js | 170 - .../sshpk/node_modules/ecc-jsbn/package.json | 56 - .../sshpk/node_modules/ecc-jsbn/test.js | 14 - .../sshpk/node_modules/getpass/.npmignore | 8 - .../sshpk/node_modules/getpass/.travis.yml | 9 - .../sshpk/node_modules/getpass/LICENSE | 18 - .../sshpk/node_modules/getpass/README.md | 32 - .../sshpk/node_modules/getpass/lib/index.js | 123 - .../sshpk/node_modules/getpass/package.json | 57 - .../sshpk/node_modules/jodid25519/.npmignore | 11 - .../sshpk/node_modules/jodid25519/.travis.yml | 7 - .../sshpk/node_modules/jodid25519/AUTHORS.md | 3 - .../sshpk/node_modules/jodid25519/LICENSE | 23 - .../sshpk/node_modules/jodid25519/README.md | 51 - .../sshpk/node_modules/jodid25519/almond.0 | 42 - .../sshpk/node_modules/jodid25519/almond.1 | 13 - .../sshpk/node_modules/jodid25519/index.js | 35 - .../sshpk/node_modules/jodid25519/jsdoc.json | 19 - .../sshpk/node_modules/jodid25519/lib/core.js | 481 - .../sshpk/node_modules/jodid25519/lib/curve255.js | 221 - .../sshpk/node_modules/jodid25519/lib/dh.js | 111 - .../sshpk/node_modules/jodid25519/lib/eddsa.js | 573 - .../sshpk/node_modules/jodid25519/lib/utils.js | 198 - .../sshpk/node_modules/jodid25519/package.json | 71 - .../sshpk/node_modules/jsbn/.npmignore | 2 - .../node_modules/sshpk/node_modules/jsbn/LICENSE | 40 - .../node_modules/sshpk/node_modules/jsbn/README.md | 175 - .../sshpk/node_modules/jsbn/example.html | 12 - .../sshpk/node_modules/jsbn/example.js | 3 - .../node_modules/sshpk/node_modules/jsbn/index.js | 1358 - .../sshpk/node_modules/jsbn/package.json | 50 - .../sshpk/node_modules/tweetnacl/.npmignore | 4 - .../sshpk/node_modules/tweetnacl/CHANGELOG.md | 128 - .../sshpk/node_modules/tweetnacl/README.md | 463 - .../sshpk/node_modules/tweetnacl/nacl-fast.js | 2418 -- .../sshpk/node_modules/tweetnacl/nacl-fast.min.js | 2 - .../sshpk/node_modules/tweetnacl/nacl.js | 1205 - .../sshpk/node_modules/tweetnacl/nacl.min.js | 1 - .../sshpk/node_modules/tweetnacl/package.json | 94 - .../http-signature/node_modules/sshpk/package.json | 101 - .../node_modules/http-signature/package.json | 83 - .../request/node_modules/is-typedarray/LICENSE.md | 18 - .../request/node_modules/is-typedarray/README.md | 16 - .../request/node_modules/is-typedarray/index.js | 41 - .../node_modules/is-typedarray/package.json | 57 - .../request/node_modules/is-typedarray/test.js | 34 - .../request/node_modules/isstream/.jshintrc | 59 - .../request/node_modules/isstream/.npmignore | 1 - .../request/node_modules/isstream/.travis.yml | 12 - .../request/node_modules/isstream/LICENSE.md | 11 - .../request/node_modules/isstream/README.md | 66 - .../request/node_modules/isstream/isstream.js | 27 - .../request/node_modules/isstream/package.json | 59 - .../request/node_modules/isstream/test.js | 168 - .../node_modules/json-stringify-safe/.npmignore | 1 - .../node_modules/json-stringify-safe/CHANGELOG.md | 14 - .../node_modules/json-stringify-safe/LICENSE | 15 - .../node_modules/json-stringify-safe/Makefile | 35 - .../node_modules/json-stringify-safe/README.md | 52 - .../node_modules/json-stringify-safe/package.json | 68 - .../node_modules/json-stringify-safe/stringify.js | 27 - .../json-stringify-safe/test/mocha.opts | 2 - .../json-stringify-safe/test/stringify_test.js | 246 - .../request/node_modules/node-uuid/.npmignore | 4 - .../request/node_modules/node-uuid/LICENSE.md | 21 - .../request/node_modules/node-uuid/README.md | 254 - .../node_modules/node-uuid/benchmark/README.md | 53 - .../node_modules/node-uuid/benchmark/bench.gnu | 174 - .../node_modules/node-uuid/benchmark/bench.sh | 34 - .../node-uuid/benchmark/benchmark-native.c | 34 - .../node_modules/node-uuid/benchmark/benchmark.js | 84 - .../request/node_modules/node-uuid/bin/uuid | 26 - .../request/node_modules/node-uuid/bower.json | 23 - .../request/node_modules/node-uuid/component.json | 25 - .../request/node_modules/node-uuid/package.json | 81 - .../node_modules/node-uuid/test/compare_v1.js | 63 - .../request/node_modules/node-uuid/test/test.html | 17 - .../request/node_modules/node-uuid/test/test.js | 231 - .../request/node_modules/node-uuid/uuid.js | 272 - .../request/node_modules/oauth-sign/LICENSE | 55 - .../request/node_modules/oauth-sign/README.md | 4 - .../request/node_modules/oauth-sign/index.js | 136 - .../request/node_modules/oauth-sign/package.json | 66 - .../request/node_modules/stringstream/.npmignore | 15 - .../request/node_modules/stringstream/.travis.yml | 4 - .../request/node_modules/stringstream/LICENSE.txt | 22 - .../request/node_modules/stringstream/README.md | 38 - .../request/node_modules/stringstream/example.js | 27 - .../request/node_modules/stringstream/package.json | 50 - .../node_modules/stringstream/stringstream.js | 102 - .../request/node_modules/tough-cookie/LICENSE | 27 - .../request/node_modules/tough-cookie/README.md | 503 - .../node_modules/tough-cookie/lib/cookie.js | 1336 - .../node_modules/tough-cookie/lib/cookie.js.orig | 1336 - .../node_modules/tough-cookie/lib/memstore.js | 170 - .../node_modules/tough-cookie/lib/pathMatch.js | 61 - .../node_modules/tough-cookie/lib/permuteDomain.js | 56 - .../node_modules/tough-cookie/lib/pubsuffix.js | 98 - .../request/node_modules/tough-cookie/lib/store.js | 71 - .../request/node_modules/tough-cookie/package.json | 94 - .../request/node_modules/tunnel-agent/LICENSE | 55 - .../request/node_modules/tunnel-agent/README.md | 4 - .../request/node_modules/tunnel-agent/index.js | 243 - .../request/node_modules/tunnel-agent/package.json | 68 - .../jsdom/node_modules/request/package.json | 119 - node_modules/jsdom/node_modules/request/request.js | 1434 - .../node_modules/xml-name-validator/README.md | 36 - .../xml-name-validator/lib/generated-parser.js | 819 - .../xml-name-validator/lib/grammar.pegjs | 35 - .../xml-name-validator/lib/xml-name-validator.js | 12 - .../node_modules/xml-name-validator/package.json | 63 - .../jsdom/node_modules/xmlhttprequest/.jshintrc | 26 - .../jsdom/node_modules/xmlhttprequest/.npmignore | 4 - .../jsdom/node_modules/xmlhttprequest/LICENSE | 22 - .../jsdom/node_modules/xmlhttprequest/README.md | 55 - .../xmlhttprequest/lib/XMLHttpRequest.js | 620 - .../jsdom/node_modules/xmlhttprequest/package.json | 53 - node_modules/jsdom/package.json | 242 - 1505 files changed, 268898 deletions(-) delete mode 100644 node_modules/jsdom/README.md delete mode 100644 node_modules/jsdom/lib/README.md delete mode 100644 node_modules/jsdom/lib/jsdom.js delete mode 100644 node_modules/jsdom/lib/jsdom/browser/Window.js delete mode 100644 node_modules/jsdom/lib/jsdom/browser/documentAdapter.js delete mode 100644 node_modules/jsdom/lib/jsdom/browser/documentfeatures.js delete mode 100644 node_modules/jsdom/lib/jsdom/browser/domtohtml.js delete mode 100644 node_modules/jsdom/lib/jsdom/browser/history.js delete mode 100644 node_modules/jsdom/lib/jsdom/browser/htmltodom.js delete mode 100644 node_modules/jsdom/lib/jsdom/browser/index.js delete mode 100644 node_modules/jsdom/lib/jsdom/browser/location.js delete mode 100644 node_modules/jsdom/lib/jsdom/browser/utils.js delete mode 100644 node_modules/jsdom/lib/jsdom/contextify-shim.js delete mode 100644 node_modules/jsdom/lib/jsdom/level1/core.js delete mode 100644 node_modules/jsdom/lib/jsdom/level2/core.js delete mode 100644 node_modules/jsdom/lib/jsdom/level2/events.js delete mode 100644 node_modules/jsdom/lib/jsdom/level2/html.js delete mode 100644 node_modules/jsdom/lib/jsdom/level2/languages/javascript.js delete mode 100644 node_modules/jsdom/lib/jsdom/level2/style.js delete mode 100644 node_modules/jsdom/lib/jsdom/level3/core.js delete mode 100644 node_modules/jsdom/lib/jsdom/level3/ls.js delete mode 100644 node_modules/jsdom/lib/jsdom/level3/xpath.js delete mode 100644 node_modules/jsdom/lib/jsdom/living/character-data.js delete mode 100644 node_modules/jsdom/lib/jsdom/living/comment.js delete mode 100644 node_modules/jsdom/lib/jsdom/living/document-type.js delete mode 100644 node_modules/jsdom/lib/jsdom/living/document.js delete mode 100644 node_modules/jsdom/lib/jsdom/living/dom-implementation.js delete mode 100644 node_modules/jsdom/lib/jsdom/living/helpers/validate-names.js delete mode 100644 node_modules/jsdom/lib/jsdom/living/index.js delete mode 100644 node_modules/jsdom/lib/jsdom/living/node-filter.js delete mode 100644 node_modules/jsdom/lib/jsdom/living/node.js delete mode 100644 node_modules/jsdom/lib/jsdom/living/processing-instruction.js delete mode 100644 node_modules/jsdom/lib/jsdom/living/selectors.js delete mode 100644 node_modules/jsdom/lib/jsdom/living/text.js delete mode 100644 node_modules/jsdom/lib/jsdom/utils.js delete mode 100644 node_modules/jsdom/lib/jsdom/virtual-console.js delete mode 120000 node_modules/jsdom/node_modules/.bin/acorn delete mode 120000 node_modules/jsdom/node_modules/.bin/escodegen delete mode 120000 node_modules/jsdom/node_modules/.bin/esgenerate delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/LICENSE delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/README.md delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/index.js delete mode 120000 node_modules/jsdom/node_modules/acorn-globals/node_modules/.bin/acorn delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/.editorconfig delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/.gitattributes delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/.npmignore delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/.tern-project delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/AUTHORS delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/LICENSE delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/README.md delete mode 100755 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/bin/acorn delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/bin/build-acorn.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/bin/generate-identifier-regex.js delete mode 100755 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/bin/update_authors.sh delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/dist/.keep delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/dist/acorn.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/dist/acorn_loose.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/dist/walk.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/package.json delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/bin/acorn.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/expression.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/identifier.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/index.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/location.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/locutil.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/loose/acorn_loose.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/loose/expression.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/loose/index.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/loose/parseutil.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/loose/state.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/loose/statement.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/loose/tokenize.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/lval.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/node.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/options.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/parseutil.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/state.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/statement.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/tokencontext.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/tokenize.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/tokentype.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/util.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/walk/index.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/node_modules/acorn/src/whitespace.js delete mode 100644 node_modules/jsdom/node_modules/acorn-globals/package.json delete mode 100644 node_modules/jsdom/node_modules/acorn/.editorconfig delete mode 100644 node_modules/jsdom/node_modules/acorn/.gitattributes delete mode 100644 node_modules/jsdom/node_modules/acorn/.npmignore delete mode 100644 node_modules/jsdom/node_modules/acorn/.tern-project delete mode 100644 node_modules/jsdom/node_modules/acorn/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/acorn/AUTHORS delete mode 100644 node_modules/jsdom/node_modules/acorn/LICENSE delete mode 100644 node_modules/jsdom/node_modules/acorn/README.md delete mode 100644 node_modules/jsdom/node_modules/acorn/acorn.js delete mode 100644 node_modules/jsdom/node_modules/acorn/acorn_csp.js delete mode 100644 node_modules/jsdom/node_modules/acorn/acorn_loose.js delete mode 100755 node_modules/jsdom/node_modules/acorn/bin/acorn delete mode 100755 node_modules/jsdom/node_modules/acorn/bin/update_authors.sh delete mode 100755 node_modules/jsdom/node_modules/acorn/bin/without_eval delete mode 100644 node_modules/jsdom/node_modules/acorn/docco.css delete mode 100644 node_modules/jsdom/node_modules/acorn/package.json delete mode 100644 node_modules/jsdom/node_modules/acorn/test/bench.html delete mode 100644 node_modules/jsdom/node_modules/acorn/test/bench.js delete mode 100644 node_modules/jsdom/node_modules/acorn/test/codemirror-string.js delete mode 100644 node_modules/jsdom/node_modules/acorn/test/compare/esprima.js delete mode 100644 node_modules/jsdom/node_modules/acorn/test/compare/traceur.js delete mode 100644 node_modules/jsdom/node_modules/acorn/test/driver.js delete mode 100644 node_modules/jsdom/node_modules/acorn/test/index.html delete mode 100644 node_modules/jsdom/node_modules/acorn/test/jquery-string.js delete mode 100644 node_modules/jsdom/node_modules/acorn/test/run.js delete mode 100644 node_modules/jsdom/node_modules/acorn/test/tests-harmony.js delete mode 100644 node_modules/jsdom/node_modules/acorn/test/tests.js delete mode 100644 node_modules/jsdom/node_modules/acorn/tools/generate-identifier-regex.js delete mode 100644 node_modules/jsdom/node_modules/acorn/util/test_walk.js delete mode 100644 node_modules/jsdom/node_modules/acorn/util/walk.js delete mode 100644 node_modules/jsdom/node_modules/browser-request/.npmignore delete mode 100644 node_modules/jsdom/node_modules/browser-request/AUTHORS delete mode 100644 node_modules/jsdom/node_modules/browser-request/LICENSE delete mode 100644 node_modules/jsdom/node_modules/browser-request/README.md delete mode 100755 node_modules/jsdom/node_modules/browser-request/index.js delete mode 100644 node_modules/jsdom/node_modules/browser-request/package.json delete mode 100644 node_modules/jsdom/node_modules/browser-request/test.js delete mode 100644 node_modules/jsdom/node_modules/contextify/.dntrc delete mode 100644 node_modules/jsdom/node_modules/contextify/.npmignore delete mode 100644 node_modules/jsdom/node_modules/contextify/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/contextify/LICENSE.txt delete mode 100644 node_modules/jsdom/node_modules/contextify/README.md delete mode 100644 node_modules/jsdom/node_modules/contextify/binding.gyp delete mode 100644 node_modules/jsdom/node_modules/contextify/build/Makefile delete mode 100644 node_modules/jsdom/node_modules/contextify/build/Release/.deps/Release/contextify.node.d delete mode 100644 node_modules/jsdom/node_modules/contextify/build/Release/.deps/Release/obj.target/contextify/src/contextify.o.d delete mode 100755 node_modules/jsdom/node_modules/contextify/build/Release/contextify.node delete mode 100644 node_modules/jsdom/node_modules/contextify/build/Release/obj.target/contextify/src/contextify.o delete mode 100644 node_modules/jsdom/node_modules/contextify/build/binding.Makefile delete mode 100644 node_modules/jsdom/node_modules/contextify/build/config.gypi delete mode 100644 node_modules/jsdom/node_modules/contextify/build/contextify.target.mk delete mode 100755 node_modules/jsdom/node_modules/contextify/build/gyp-mac-tool delete mode 100644 node_modules/jsdom/node_modules/contextify/changelog delete mode 100644 node_modules/jsdom/node_modules/contextify/lib/contextify.js delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/bindings/README.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/bindings/bindings.js delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/bindings/package.json delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/CHANGELOG.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/LICENSE.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/README.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/asyncworker.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/buffers.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/callback.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/converters.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/errors.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/maybe_types.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/methods.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/new.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/node_misc.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/object_wrappers.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/persistent.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/scopes.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/script.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/string_bytes.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/v8_internals.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/v8_misc.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/include_dirs.js delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/nan.h delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_callbacks.h delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_callbacks_12_inl.h delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_callbacks_pre_12_inl.h delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_converters.h delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_converters_43_inl.h delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_converters_pre_43_inl.h delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_implementation_12_inl.h delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_implementation_pre_12_inl.h delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_maybe_43_inl.h delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_maybe_pre_43_inl.h delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_new.h delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_object_wrap.h delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_persistent_12_inl.h delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_persistent_pre_12_inl.h delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_string_bytes.h delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_typedarray_contents.h delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_weak.h delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/package.json delete mode 100755 node_modules/jsdom/node_modules/contextify/node_modules/nan/tools/1to2.js delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/tools/README.md delete mode 100644 node_modules/jsdom/node_modules/contextify/node_modules/nan/tools/package.json delete mode 100644 node_modules/jsdom/node_modules/contextify/package.json delete mode 100644 node_modules/jsdom/node_modules/contextify/src/contextify.cc delete mode 100644 node_modules/jsdom/node_modules/contextify/test/contextify.js delete mode 100644 node_modules/jsdom/node_modules/contextify/wscript delete mode 100644 node_modules/jsdom/node_modules/cssom/LICENSE.txt delete mode 100644 node_modules/jsdom/node_modules/cssom/README.mdown delete mode 100644 node_modules/jsdom/node_modules/cssom/lib/CSSDocumentRule.js delete mode 100644 node_modules/jsdom/node_modules/cssom/lib/CSSFontFaceRule.js delete mode 100644 node_modules/jsdom/node_modules/cssom/lib/CSSImportRule.js delete mode 100644 node_modules/jsdom/node_modules/cssom/lib/CSSKeyframeRule.js delete mode 100644 node_modules/jsdom/node_modules/cssom/lib/CSSKeyframesRule.js delete mode 100644 node_modules/jsdom/node_modules/cssom/lib/CSSMediaRule.js delete mode 100644 node_modules/jsdom/node_modules/cssom/lib/CSSRule.js delete mode 100644 node_modules/jsdom/node_modules/cssom/lib/CSSStyleDeclaration.js delete mode 100644 node_modules/jsdom/node_modules/cssom/lib/CSSStyleRule.js delete mode 100644 node_modules/jsdom/node_modules/cssom/lib/CSSStyleSheet.js delete mode 100644 node_modules/jsdom/node_modules/cssom/lib/CSSValue.js delete mode 100644 node_modules/jsdom/node_modules/cssom/lib/CSSValueExpression.js delete mode 100644 node_modules/jsdom/node_modules/cssom/lib/MatcherList.js delete mode 100644 node_modules/jsdom/node_modules/cssom/lib/MediaList.js delete mode 100644 node_modules/jsdom/node_modules/cssom/lib/StyleSheet.js delete mode 100644 node_modules/jsdom/node_modules/cssom/lib/clone.js delete mode 100644 node_modules/jsdom/node_modules/cssom/lib/index.js delete mode 100644 node_modules/jsdom/node_modules/cssom/lib/parse.js delete mode 100644 node_modules/jsdom/node_modules/cssom/package.json delete mode 100644 node_modules/jsdom/node_modules/cssstyle/.npmignore delete mode 100644 node_modules/jsdom/node_modules/cssstyle/MIT-LICENSE.txt delete mode 100644 node_modules/jsdom/node_modules/cssstyle/README.md delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/CSSStyleDeclaration.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/parsers.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/alignmentBaseline.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/azimuth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/background.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundAttachment.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundClip.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundImage.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundOrigin.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundPosition.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundPositionX.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundPositionY.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundRepeat.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundRepeatX.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundRepeatY.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundSize.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/baselineShift.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/border.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottom.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottomColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottomLeftRadius.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottomRightRadius.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottomStyle.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottomWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderCollapse.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImage.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImageOutset.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImageRepeat.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImageSlice.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImageSource.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImageWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderLeft.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderLeftColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderLeftStyle.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderLeftWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderRadius.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderRight.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderRightColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderRightStyle.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderRightWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderSpacing.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderStyle.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTop.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTopColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTopLeftRadius.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTopRightRadius.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTopStyle.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTopWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/borderWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/bottom.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/boxShadow.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/boxSizing.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/captionSide.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/clear.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/clip.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/color.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/colorInterpolation.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/colorInterpolationFilters.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/colorProfile.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/colorRendering.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/content.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/counterIncrement.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/counterReset.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/cssFloat.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/cue.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/cueAfter.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/cueBefore.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/cursor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/direction.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/display.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/dominantBaseline.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/elevation.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/emptyCells.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/enableBackground.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/fill.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/fillOpacity.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/fillRule.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/filter.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/floodColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/floodOpacity.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/font.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/fontFamily.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/fontSize.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/fontSizeAdjust.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/fontStretch.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/fontStyle.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/fontVariant.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/fontWeight.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/glyphOrientationHorizontal.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/glyphOrientationVertical.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/height.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/imageRendering.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/kerning.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/left.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/letterSpacing.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/lightingColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/lineHeight.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/listStyle.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/listStyleImage.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/listStylePosition.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/listStyleType.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/margin.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/marginBottom.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/marginLeft.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/marginRight.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/marginTop.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/marker.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/markerEnd.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/markerMid.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/markerOffset.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/markerStart.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/marks.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/mask.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/maxHeight.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/maxWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/minHeight.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/minWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/opacity.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/orphans.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/outline.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/outlineColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/outlineOffset.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/outlineStyle.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/outlineWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/overflow.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/overflowX.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/overflowY.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/padding.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/paddingBottom.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/paddingLeft.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/paddingRight.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/paddingTop.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/page.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/pageBreakAfter.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/pageBreakBefore.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/pageBreakInside.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/pause.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/pauseAfter.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/pauseBefore.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/pitch.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/pitchRange.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/playDuring.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/pointerEvents.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/position.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/quotes.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/resize.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/richness.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/right.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/shapeRendering.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/size.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/speak.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/speakHeader.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/speakNumeral.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/speakPunctuation.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/speechRate.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/src.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/stopColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/stopOpacity.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/stress.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/stroke.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeDasharray.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeDashoffset.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeLinecap.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeLinejoin.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeMiterlimit.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeOpacity.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/tableLayout.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textAlign.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textAnchor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textDecoration.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textIndent.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textLineThrough.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textLineThroughColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textLineThroughMode.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textLineThroughStyle.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textLineThroughWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverflow.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverline.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverlineColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverlineMode.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverlineStyle.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverlineWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textRendering.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textShadow.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textTransform.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textUnderline.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textUnderlineColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textUnderlineMode.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textUnderlineStyle.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/textUnderlineWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/top.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/unicodeBidi.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/unicodeRange.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/vectorEffect.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/verticalAlign.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/visibility.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/voiceFamily.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/volume.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimation.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationDelay.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationDirection.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationDuration.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationFillMode.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationIterationCount.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationName.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationPlayState.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationTimingFunction.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAppearance.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAspectRatio.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBackfaceVisibility.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBackgroundClip.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBackgroundComposite.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBackgroundOrigin.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBackgroundSize.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderAfter.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderAfterColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderAfterStyle.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderAfterWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderBefore.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderBeforeColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderBeforeStyle.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderBeforeWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderEnd.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderEndColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderEndStyle.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderEndWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderFit.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderHorizontalSpacing.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderImage.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderRadius.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderStart.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderStartColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderStartStyle.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderStartWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderVerticalSpacing.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxAlign.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxDirection.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxFlex.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxFlexGroup.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxLines.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxOrdinalGroup.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxOrient.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxPack.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxReflect.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxShadow.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColorCorrection.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnAxis.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnBreakAfter.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnBreakBefore.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnBreakInside.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnCount.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnGap.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnRule.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnRuleColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnRuleStyle.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnRuleWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnSpan.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumns.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFilter.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexAlign.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexDirection.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexFlow.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexItemAlign.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexLinePack.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexOrder.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexPack.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexWrap.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlowFrom.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlowInto.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFontFeatureSettings.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFontKerning.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFontSizeDelta.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFontSmoothing.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFontVariantLigatures.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHighlight.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHyphenateCharacter.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHyphenateLimitAfter.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHyphenateLimitBefore.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHyphenateLimitLines.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHyphens.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineAlign.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineBoxContain.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineBreak.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineClamp.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineGrid.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineSnap.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLocale.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLogicalHeight.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLogicalWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginAfter.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginAfterCollapse.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginBefore.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginBeforeCollapse.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginBottomCollapse.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginCollapse.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginEnd.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginStart.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginTopCollapse.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarquee.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarqueeDirection.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarqueeIncrement.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarqueeRepetition.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarqueeSpeed.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarqueeStyle.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMask.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskAttachment.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImage.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImageOutset.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImageRepeat.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImageSlice.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImageSource.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImageWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskClip.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskComposite.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskImage.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskOrigin.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskPosition.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskPositionX.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskPositionY.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskRepeat.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskRepeatX.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskRepeatY.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskSize.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMatchNearestMailBlockquoteColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaxLogicalHeight.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaxLogicalWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMinLogicalHeight.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMinLogicalWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitNbspMode.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitOverflowScrolling.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPaddingAfter.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPaddingBefore.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPaddingEnd.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPaddingStart.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPerspective.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPerspectiveOrigin.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPerspectiveOriginX.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPerspectiveOriginY.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPrintColorAdjust.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitRegionBreakAfter.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitRegionBreakBefore.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitRegionBreakInside.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitRegionOverflow.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitRtlOrdering.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitSvgShadow.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTapHighlightColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextCombine.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextDecorationsInEffect.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextEmphasis.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextEmphasisColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextEmphasisPosition.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextEmphasisStyle.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextFillColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextOrientation.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextSecurity.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextSizeAdjust.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextStroke.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextStrokeColor.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextStrokeWidth.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransform.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransformOrigin.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransformOriginX.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransformOriginY.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransformOriginZ.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransformStyle.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransition.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransitionDelay.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransitionDuration.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransitionProperty.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransitionTimingFunction.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitUserDrag.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitUserModify.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitUserSelect.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrap.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapFlow.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapMargin.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapPadding.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapShapeInside.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapShapeOutside.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapThrough.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWritingMode.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/whiteSpace.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/widows.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/width.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/wordBreak.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/wordSpacing.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/wordWrap.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/writingMode.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/zIndex.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/lib/properties/zoom.js delete mode 100644 node_modules/jsdom/node_modules/cssstyle/package.json delete mode 100644 node_modules/jsdom/node_modules/cssstyle/scripts/generate_properties.js delete mode 100755 node_modules/jsdom/node_modules/cssstyle/scripts/run_tests.sh delete mode 100644 node_modules/jsdom/node_modules/cssstyle/tests/tests.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/LICENSE.BSD delete mode 100644 node_modules/jsdom/node_modules/escodegen/LICENSE.source-map delete mode 100755 node_modules/jsdom/node_modules/escodegen/bin/escodegen.js delete mode 100755 node_modules/jsdom/node_modules/escodegen/bin/esgenerate.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/escodegen.js delete mode 120000 node_modules/jsdom/node_modules/escodegen/node_modules/.bin/esparse delete mode 120000 node_modules/jsdom/node_modules/escodegen/node_modules/.bin/esvalidate delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/esprima/ChangeLog delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/esprima/LICENSE.BSD delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/esprima/README.md delete mode 100755 node_modules/jsdom/node_modules/escodegen/node_modules/esprima/bin/esparse.js delete mode 100755 node_modules/jsdom/node_modules/escodegen/node_modules/esprima/bin/esvalidate.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/esprima/esprima.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/esprima/package.json delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/.editorconfig delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/.jshintrc delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/LICENSE.BSD delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/README.md delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/estraverse.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/gulpfile.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/package.json delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/esutils/LICENSE.BSD delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/esutils/README.md delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/esutils/lib/ast.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/esutils/lib/code.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/esutils/lib/keyword.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/esutils/lib/utils.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/esutils/package.json delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/CHANGELOG.md delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/LICENSE delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/README.md delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/lib/coerce.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/lib/help.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/lib/index.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/lib/parse-type.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/lib/util.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/.npmignore delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/LICENSE delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/README.markdown delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/example/cmp.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/index.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/package.json delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/test/NaN.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/test/cmp.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/test/neg-vs-pos-0.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/LICENSE.md delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/README.md delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/levenshtein.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/package.json delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/LICENSE delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/README.md delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/cast.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/coerce.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/index.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/parse-string.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/parse.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/package.json delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/CHANGELOG.md delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/LICENSE delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/README.md delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Func.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/List.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Num.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Obj.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Str.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/index.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/package.json delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/LICENSE delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/README.md delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/lib/check.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/lib/index.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/lib/parse-type.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/package.json delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/LICENSE delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/README.markdown delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/example/center.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/example/meat.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/index.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/package.json delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/test/break.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/test/idleness.txt delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/test/wrap.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/optionator/package.json delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/.npmignore delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/CHANGELOG.md delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/LICENSE delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/Makefile.dryice.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/README.md delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/assert-shim.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/mini-require.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/prefix-source-map.jsm delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/prefix-utils.jsm delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/suffix-browser.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/suffix-source-map.jsm delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/suffix-utils.jsm delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/test-prefix.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/test-suffix.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/array-set.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/base64-vlq.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/base64.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/basic-source-map-consumer.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/binary-search.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/indexed-source-map-consumer.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/mapping-list.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/source-map-consumer.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/source-map-generator.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/source-node.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/util.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/LICENSE delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/README.md delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/amdefine.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/intercept.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/package.json delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/package.json delete mode 100755 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/run-tests.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-api.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-array-set.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-base64-vlq.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-base64.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-binary-search.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-dog-fooding.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-consumer.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-generator.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-node.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-util.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/util.js delete mode 100644 node_modules/jsdom/node_modules/escodegen/package.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/LICENSE delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/lib/CollectingHandler.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/lib/FeedHandler.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/lib/Parser.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/lib/ProxyHandler.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/lib/Stream.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/lib/Tokenizer.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/lib/WritableStream.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/lib/index.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domelementtype/LICENSE delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domelementtype/index.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domelementtype/package.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domelementtype/readme.md delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/LICENSE delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/index.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/lib/element.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/lib/node.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/package.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/readme.md delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/01-basic.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/02-single_tag_1.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/03-single_tag_2.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/04-unescaped_in_script.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/05-tags_in_comment.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/06-comment_in_script.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/07-unescaped_in_style.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/08-extra_spaces_in_tag.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/09-unquoted_attrib.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/10-singular_attribute.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/11-text_outside_tags.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/12-text_only.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/13-comment_in_text.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/14-comment_in_text_in_script.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/15-non-verbose.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/16-normalize_whitespace.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/17-xml_namespace.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/18-enforce_empty_tags.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/19-ignore_empty_tags.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/20-template_script_tags.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/21-conditional_comments.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/22-lowercase_tags.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/23-dom-lvl1.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/24-with-start-indices.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/tests.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/.npmignore delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/LICENSE delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/index.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/lib/helpers.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/lib/legacy.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/lib/manipulation.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/lib/querying.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/lib/stringify.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/lib/traversal.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/LICENSE delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/index.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/node_modules/domelementtype/LICENSE delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/node_modules/domelementtype/index.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/node_modules/domelementtype/package.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/node_modules/domelementtype/readme.md delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/package.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/package.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/readme.md delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/test/fixture.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/test/tests/helpers.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/test/tests/legacy.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/test/tests/traversal.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/test/utils.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/LICENSE delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/index.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/lib/decode.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/lib/decode_codepoint.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/lib/encode.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/maps/decode.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/maps/entities.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/maps/legacy.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/maps/xml.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/package.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/readme.md delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/test/mocha.opts delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/test/test.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/.npmignore delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/LICENSE delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/README.md delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/doc/stream.md delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/duplex.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_duplex.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_passthrough.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_readable.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_transform.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_writable.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/buffer-shims/index.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/buffer-shims/license.md delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/buffer-shims/package.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/buffer-shims/readme.md delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/.npmignore delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/Makefile delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/README.md delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/component.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/index.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/package.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/test.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/index.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/license.md delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/package.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/readme.md delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/test.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/History.md delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/LICENSE delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/README.md delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/browser.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/node.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/package.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/package.json delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/passthrough.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/readable.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/transform.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/writable.js delete mode 100644 node_modules/jsdom/node_modules/htmlparser2/package.json delete mode 100644 node_modules/jsdom/node_modules/nwmatcher/LICENSE delete mode 100644 node_modules/jsdom/node_modules/nwmatcher/README.md delete mode 100644 node_modules/jsdom/node_modules/nwmatcher/package.json delete mode 100644 node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-cache.js delete mode 100644 node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-jquery.js delete mode 100644 node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-pseudos.js delete mode 100644 node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-shortcuts.js delete mode 100644 node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-traversal.js delete mode 100644 node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-webforms.js delete mode 100644 node_modules/jsdom/node_modules/nwmatcher/src/nwmatcher-base.js delete mode 100644 node_modules/jsdom/node_modules/nwmatcher/src/nwmatcher-noqsa.js delete mode 100644 node_modules/jsdom/node_modules/nwmatcher/src/nwmatcher.js delete mode 100644 node_modules/jsdom/node_modules/parse5/CHANGELOG.md delete mode 100644 node_modules/jsdom/node_modules/parse5/LICENSE delete mode 100644 node_modules/jsdom/node_modules/parse5/README.md delete mode 100644 node_modules/jsdom/node_modules/parse5/docs/build/index.md delete mode 100644 node_modules/jsdom/node_modules/parse5/index.js delete mode 100644 node_modules/jsdom/node_modules/parse5/lib/common/doctype.js delete mode 100644 node_modules/jsdom/node_modules/parse5/lib/common/foreign_content.js delete mode 100644 node_modules/jsdom/node_modules/parse5/lib/common/html.js delete mode 100644 node_modules/jsdom/node_modules/parse5/lib/common/unicode.js delete mode 100644 node_modules/jsdom/node_modules/parse5/lib/common/utils.js delete mode 100644 node_modules/jsdom/node_modules/parse5/lib/jsdom/jsdom_parser.js delete mode 100644 node_modules/jsdom/node_modules/parse5/lib/jsdom/parsing_unit.js delete mode 100644 node_modules/jsdom/node_modules/parse5/lib/serialization/serializer.js delete mode 100644 node_modules/jsdom/node_modules/parse5/lib/simple_api/simple_api_parser.js delete mode 100644 node_modules/jsdom/node_modules/parse5/lib/simple_api/tokenizer_proxy.js delete mode 100644 node_modules/jsdom/node_modules/parse5/lib/tokenization/location_info_mixin.js delete mode 100644 node_modules/jsdom/node_modules/parse5/lib/tokenization/named_entity_trie.js delete mode 100644 node_modules/jsdom/node_modules/parse5/lib/tokenization/preprocessor.js delete mode 100644 node_modules/jsdom/node_modules/parse5/lib/tokenization/tokenizer.js delete mode 100644 node_modules/jsdom/node_modules/parse5/lib/tree_adapters/default.js delete mode 100644 node_modules/jsdom/node_modules/parse5/lib/tree_adapters/htmlparser2.js delete mode 100644 node_modules/jsdom/node_modules/parse5/lib/tree_construction/formatting_element_list.js delete mode 100644 node_modules/jsdom/node_modules/parse5/lib/tree_construction/location_info_mixin.js delete mode 100644 node_modules/jsdom/node_modules/parse5/lib/tree_construction/open_element_stack.js delete mode 100644 node_modules/jsdom/node_modules/parse5/lib/tree_construction/parser.js delete mode 100644 node_modules/jsdom/node_modules/parse5/package.json delete mode 100644 node_modules/jsdom/node_modules/request/.eslintrc delete mode 100644 node_modules/jsdom/node_modules/request/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/request/CHANGELOG.md delete mode 100644 node_modules/jsdom/node_modules/request/CONTRIBUTING.md delete mode 100644 node_modules/jsdom/node_modules/request/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/README.md delete mode 100644 node_modules/jsdom/node_modules/request/codecov.yml delete mode 100755 node_modules/jsdom/node_modules/request/index.js delete mode 100644 node_modules/jsdom/node_modules/request/lib/auth.js delete mode 100644 node_modules/jsdom/node_modules/request/lib/cookies.js delete mode 100644 node_modules/jsdom/node_modules/request/lib/getProxyFromURI.js delete mode 100644 node_modules/jsdom/node_modules/request/lib/har.js delete mode 100644 node_modules/jsdom/node_modules/request/lib/helpers.js delete mode 100644 node_modules/jsdom/node_modules/request/lib/multipart.js delete mode 100644 node_modules/jsdom/node_modules/request/lib/oauth.js delete mode 100644 node_modules/jsdom/node_modules/request/lib/querystring.js delete mode 100644 node_modules/jsdom/node_modules/request/lib/redirect.js delete mode 100644 node_modules/jsdom/node_modules/request/lib/tunnel.js delete mode 120000 node_modules/jsdom/node_modules/request/node_modules/.bin/har-validator delete mode 120000 node_modules/jsdom/node_modules/request/node_modules/.bin/uuid delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/aws-sign2/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/aws-sign2/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/aws-sign2/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/aws-sign2/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/aws4/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/aws4/.tern-port delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/aws4/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/aws4/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/aws4/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/aws4/aws4.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/aws4/lru.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/aws4/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/.jshintrc delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/LICENSE.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/bl.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/.zuul.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/doc/stream.markdown delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/duplex.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/Makefile delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/component.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/test.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/license.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/readme.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/test.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/History.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/browser.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/node.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/passthrough.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/readable.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/transform.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/node_modules/readable-stream/writable.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/bl/test/test.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/caseless/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/caseless/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/caseless/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/caseless/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/caseless/test.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/combined-stream/License delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/combined-stream/Readme.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/combined-stream/lib/combined_stream.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/License delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/Makefile delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/Readme.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/lib/delayed_stream.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/combined-stream/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/extend/.eslintrc delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/extend/.jscs.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/extend/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/extend/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/extend/CHANGELOG.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/extend/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/extend/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/extend/component.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/extend/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/extend/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/forever-agent/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/forever-agent/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/forever-agent/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/forever-agent/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/form-data/.dockerignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/form-data/.editorconfig delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/form-data/.eslintignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/form-data/.eslintrc delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/form-data/License delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/form-data/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/form-data/lib/browser.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/form-data/lib/form_data.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/form-data/lib/populate.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/form-data/node_modules/async/CHANGELOG.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/form-data/node_modules/async/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/form-data/node_modules/async/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/form-data/node_modules/async/dist/async.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/form-data/node_modules/async/dist/async.min.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/form-data/node_modules/async/lib/async.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/form-data/node_modules/async/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/form-data/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/form-data/wercker.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/README.md delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/har-validator/bin/har-validator delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/lib/async.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/lib/error.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/lib/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/lib/runner.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/lib/schemas/cache.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/lib/schemas/cacheEntry.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/lib/schemas/content.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/lib/schemas/cookie.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/lib/schemas/creator.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/lib/schemas/entry.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/lib/schemas/har.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/lib/schemas/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/lib/schemas/log.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/lib/schemas/page.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/lib/schemas/pageTimings.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/lib/schemas/postData.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/lib/schemas/record.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/lib/schemas/request.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/lib/schemas/response.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/lib/schemas/timings.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/license delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/license delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/readme.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/license delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/readme.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/license delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/license delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/readme.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/readme.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/license delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/license delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/readme.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/readme.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/license delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/readme.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/chalk/readme.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/commander/History.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/commander/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/commander/Readme.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/commander/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/commander/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/example.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/formats.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/example.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/test.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/is-property.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/test.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/jsonpointer.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/test.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/.jshintrc delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/LICENCE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/Makefile delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/immutable.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/mutable.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/test.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/require.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/fixtures/cosmic.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/additionalItems.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/additionalProperties.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/allOf.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/anyOf.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/bignum.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/default.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/definitions.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/dependencies.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/enum.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/format.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/items.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/maxItems.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/maxLength.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/maxProperties.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/maximum.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/minItems.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/minLength.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/minProperties.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/minimum.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/multipleOf.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/not.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndFormat.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndObject.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/oneOf.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/pattern.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/patternProperties.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/properties.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/ref.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/refRemote.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/required.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/type.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/uniqueItems.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/misc.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/pinkie-promise/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/pinkie-promise/license delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/pinkie-promise/node_modules/pinkie/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/pinkie-promise/node_modules/pinkie/license delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/pinkie-promise/node_modules/pinkie/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/pinkie-promise/node_modules/pinkie/readme.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/pinkie-promise/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/node_modules/pinkie-promise/readme.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/har-validator/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/.npmignore delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/.travis.yml delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/LICENSE delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/bower.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/component.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/dist/client.js delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/example/usage.js delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/images/hawk.png delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/images/logo.png delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/lib/browser.js delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/lib/client.js delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/lib/crypto.js delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/lib/index.js delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/lib/server.js delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/lib/utils.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/boom/.npmignore delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/boom/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/boom/CONTRIBUTING.md delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/boom/LICENSE delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/boom/README.md delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/boom/images/boom.png delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/boom/package.json delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/boom/test/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/cryptiles/.npmignore delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/cryptiles/.travis.yml delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/cryptiles/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/cryptiles/README.md delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/cryptiles/lib/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/cryptiles/package.json delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/cryptiles/test/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/hoek/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/hoek/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/hoek/CONTRIBUTING.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/hoek/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/hoek/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/hoek/images/hoek.png delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/hoek/lib/escape.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/hoek/lib/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/hoek/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/hoek/test/escaper.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/hoek/test/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/ignore.txt delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test1.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test2.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test3.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/sntp/.npmignore delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/sntp/.travis.yml delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/sntp/LICENSE delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/sntp/Makefile delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/sntp/README.md delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/sntp/examples/offset.js delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/sntp/examples/time.js delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/sntp/index.js delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/sntp/lib/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/sntp/package.json delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/node_modules/sntp/test/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/hawk/package.json delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/test/browser.js delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/test/client.js delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/test/crypto.js delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/test/index.js delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/test/readme.js delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/test/server.js delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/test/uri.js delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/hawk/test/utils.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/.dir-locals.el delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/CHANGES.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/http_signing.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/lib/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/lib/parser.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/lib/signer.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/lib/utils.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/lib/verify.js delete mode 120000 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/.bin/sshpk-conv delete mode 120000 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/.bin/sshpk-sign delete mode 120000 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/.bin/sshpk-verify delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/assert-plus/AUTHORS delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/assert-plus/CHANGES.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/assert-plus/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/assert-plus/assert.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/assert-plus/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/CHANGES.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/lib/jsprim.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/extsprintf/.gitmodules delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/extsprintf/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/extsprintf/Makefile delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/extsprintf/Makefile.deps delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/extsprintf/Makefile.targ delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/extsprintf/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/extsprintf/examples/simple.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/extsprintf/jsl.node.conf delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/extsprintf/lib/extsprintf.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/extsprintf/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-00/hyper-schema delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-00/json-ref delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-00/links delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-00/schema delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-01/hyper-schema delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-01/json-ref delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-01/links delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-01/schema delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-02/hyper-schema delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-02/json-ref delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-02/links delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-02/schema delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-03/examples/address delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-03/examples/calendar delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-03/examples/card delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-03/examples/geo delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-03/examples/interfaces delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-03/hyper-schema delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-03/json-ref delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-03/links delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-03/schema delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-04/hyper-schema delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-04/links delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-04/schema delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-zyp-json-schema-03.xml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/draft-zyp-json-schema-04.xml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/lib/links.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/lib/validate.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/json-schema/test/tests.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/.gitmodules delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/Makefile delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/Makefile.targ delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/examples/levels-verror.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/examples/levels-werror.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/examples/varargs.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/examples/verror.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/examples/werror.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/jsl.node.conf delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/lib/verror.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/tests/tst.inherit.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/tests/tst.verror.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/tests/tst.werror.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/jsprim/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/README.md delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/bin/sshpk-conv delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/bin/sshpk-sign delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/bin/sshpk-verify delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/algs.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/dhe.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/ed-compat.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/errors.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/fingerprint.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/formats/auto.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/formats/pem.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/formats/pkcs1.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/formats/pkcs8.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/formats/rfc4253.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/formats/ssh-private.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/formats/ssh.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/key.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/private-key.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/signature.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/ssh-buffer.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/utils.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/man/man1/sshpk-conv.1 delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/man/man1/sshpk-sign.1 delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/man/man1/sshpk-verify.1 delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/lib/ber/errors.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/lib/ber/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/lib/ber/reader.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/lib/ber/types.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/lib/ber/writer.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/lib/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/tst/ber/reader.test.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/tst/ber/writer.test.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/assert-plus/AUTHORS delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/assert-plus/CHANGES.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/assert-plus/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/assert-plus/assert.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/assert-plus/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/dashdash/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/dashdash/etc/dashdash.bash_completion.in delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/dashdash/lib/dashdash.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/dashdash/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/lib/LICENSE-jsbn delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/lib/ec.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/lib/sec.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/test.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/getpass/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/getpass/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/getpass/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/getpass/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/getpass/lib/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/getpass/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/AUTHORS.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/almond.0 delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/almond.1 delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/jsdoc.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/lib/core.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/lib/curve255.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/lib/dh.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/lib/eddsa.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/lib/utils.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jsbn/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jsbn/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jsbn/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jsbn/example.html delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jsbn/example.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jsbn/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jsbn/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/tweetnacl/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/tweetnacl/CHANGELOG.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/tweetnacl/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/tweetnacl/nacl-fast.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/tweetnacl/nacl-fast.min.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/tweetnacl/nacl.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/tweetnacl/nacl.min.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/tweetnacl/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/node_modules/sshpk/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/http-signature/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/is-typedarray/LICENSE.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/is-typedarray/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/is-typedarray/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/is-typedarray/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/is-typedarray/test.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/isstream/.jshintrc delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/isstream/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/isstream/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/isstream/LICENSE.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/isstream/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/isstream/isstream.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/isstream/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/isstream/test.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/json-stringify-safe/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/json-stringify-safe/CHANGELOG.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/json-stringify-safe/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/json-stringify-safe/Makefile delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/json-stringify-safe/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/json-stringify-safe/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/json-stringify-safe/stringify.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/json-stringify-safe/test/mocha.opts delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/json-stringify-safe/test/stringify_test.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/node-uuid/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/node-uuid/LICENSE.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/node-uuid/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/node-uuid/benchmark/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/node-uuid/benchmark/bench.gnu delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/node-uuid/benchmark/bench.sh delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/node-uuid/benchmark/benchmark-native.c delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/node-uuid/benchmark/benchmark.js delete mode 100755 node_modules/jsdom/node_modules/request/node_modules/node-uuid/bin/uuid delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/node-uuid/bower.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/node-uuid/component.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/node-uuid/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/node-uuid/test/compare_v1.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/node-uuid/test/test.html delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/node-uuid/test/test.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/node-uuid/uuid.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/oauth-sign/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/oauth-sign/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/oauth-sign/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/oauth-sign/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/stringstream/.npmignore delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/stringstream/.travis.yml delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/stringstream/LICENSE.txt delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/stringstream/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/stringstream/example.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/stringstream/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/stringstream/stringstream.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/tough-cookie/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/tough-cookie/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/tough-cookie/lib/cookie.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/tough-cookie/lib/cookie.js.orig delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/tough-cookie/lib/memstore.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/tough-cookie/lib/pathMatch.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/tough-cookie/lib/permuteDomain.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/tough-cookie/lib/pubsuffix.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/tough-cookie/lib/store.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/tough-cookie/package.json delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/tunnel-agent/LICENSE delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/tunnel-agent/README.md delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/tunnel-agent/index.js delete mode 100644 node_modules/jsdom/node_modules/request/node_modules/tunnel-agent/package.json delete mode 100644 node_modules/jsdom/node_modules/request/package.json delete mode 100644 node_modules/jsdom/node_modules/request/request.js delete mode 100644 node_modules/jsdom/node_modules/xml-name-validator/README.md delete mode 100644 node_modules/jsdom/node_modules/xml-name-validator/lib/generated-parser.js delete mode 100644 node_modules/jsdom/node_modules/xml-name-validator/lib/grammar.pegjs delete mode 100644 node_modules/jsdom/node_modules/xml-name-validator/lib/xml-name-validator.js delete mode 100644 node_modules/jsdom/node_modules/xml-name-validator/package.json delete mode 100644 node_modules/jsdom/node_modules/xmlhttprequest/.jshintrc delete mode 100644 node_modules/jsdom/node_modules/xmlhttprequest/.npmignore delete mode 100644 node_modules/jsdom/node_modules/xmlhttprequest/LICENSE delete mode 100644 node_modules/jsdom/node_modules/xmlhttprequest/README.md delete mode 100644 node_modules/jsdom/node_modules/xmlhttprequest/lib/XMLHttpRequest.js delete mode 100644 node_modules/jsdom/node_modules/xmlhttprequest/package.json delete mode 100644 node_modules/jsdom/package.json (limited to 'node_modules') diff --git a/node_modules/jsdom/README.md b/node_modules/jsdom/README.md deleted file mode 100644 index b5b00ac..0000000 --- a/node_modules/jsdom/README.md +++ /dev/null @@ -1,435 +0,0 @@ -# jsdom - -A JavaScript implementation of the WHATWG DOM and HTML standards. - -## Install - -```bash -$ npm install jsdom -``` - -If this gives you trouble with errors about installing Contextify, especially on Windows, see [below](#contextify). - -## Human contact - -see: [mailing list](http://groups.google.com/group/jsdom) - -## Easymode: `jsdom.env` - -`jsdom.env` is an API that allows you to throw a bunch of stuff at it, and it will generally do the right thing. - -You can use it with a URL - -```js -// Count all of the links from the Node.js build page -var jsdom = require("jsdom"); - -jsdom.env( - "http://nodejs.org/dist/", - ["http://code.jquery.com/jquery.js"], - function (errors, window) { - console.log("there have been", window.$("a").length, "nodejs releases!"); - } -); -``` - -or with raw HTML - -```js -// Run some jQuery on a html fragment -var jsdom = require("jsdom"); - -jsdom.env( - '

jsdom!

', - ["http://code.jquery.com/jquery.js"], - function (errors, window) { - console.log("contents of a.the-link:", window.$("a.the-link").text()); - } -); -``` - -or with a configuration object - -```js -// Print all of the news items on Hacker News -var jsdom = require("jsdom"); - -jsdom.env({ - url: "http://news.ycombinator.com/", - scripts: ["http://code.jquery.com/jquery.js"], - done: function (errors, window) { - var $ = window.$; - console.log("HN Links"); - $("td.title:not(:last) a").each(function() { - console.log(" -", $(this).text()); - }); - } -}); -``` - -or with raw JavaScript source - -```js -// Print all of the news items on Hacker News -var jsdom = require("jsdom"); -var fs = require("fs"); -var jquery = fs.readFileSync("./jquery.js", "utf-8"); - -jsdom.env({ - url: "http://news.ycombinator.com/", - src: [jquery], - done: function (errors, window) { - var $ = window.$; - console.log("HN Links"); - $("td.title:not(:last) a").each(function () { - console.log(" -", $(this).text()); - }); - } -}); -``` - -### How it works - -The do-what-I-mean API is used like so: - -```js -jsdom.env(string, [scripts], [config], callback); -``` - -- `string`: may be a URL, file name, or HTML fragment -- `scripts`: a string or array of strings, containing file names or URLs that will be inserted as ` -``` - -For more details, see the discussion in [#640](https://github.com/tmpvar/jsdom/issues/640), especially [@matthewkastor](https://github.com/matthewkastor)'s [insightful comment](https://github.com/tmpvar/jsdom/issues/640#issuecomment-22216965). - -### On running scripts and being safe - -By default, `jsdom.env` will not process and run external JavaScript, since our sandbox is not foolproof. That is, code running inside the DOM's ` -``` - -## UMD - -`browser-request` is [UMD](https://github.com/umdjs/umd) wrapped, allowing you to serve it directly to the browser from wherever you store the module. - -```html - -``` - -You may also use an [AMD loader](http://requirejs.org/docs/whyamd.html) by referencing the same file in your loader [config](http://requirejs.org/docs/api.html#config). - -## License - -Browser Request is licensed under the Apache 2.0 license. - diff --git a/node_modules/jsdom/node_modules/browser-request/index.js b/node_modules/jsdom/node_modules/browser-request/index.js deleted file mode 100755 index 51ac8b4..0000000 --- a/node_modules/jsdom/node_modules/browser-request/index.js +++ /dev/null @@ -1,494 +0,0 @@ -// Browser Request -// -// 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. - -// UMD HEADER START -(function (root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define([], factory); - } else if (typeof exports === 'object') { - // Node. Does not work with strict CommonJS, but - // only CommonJS-like enviroments that support module.exports, - // like Node. - module.exports = factory(); - } else { - // Browser globals (root is window) - root.returnExports = factory(); - } -}(this, function () { -// UMD HEADER END - -var XHR = XMLHttpRequest -if (!XHR) throw new Error('missing XMLHttpRequest') -request.log = { - 'trace': noop, 'debug': noop, 'info': noop, 'warn': noop, 'error': noop -} - -var DEFAULT_TIMEOUT = 3 * 60 * 1000 // 3 minutes - -// -// request -// - -function request(options, callback) { - // The entry-point to the API: prep the options object and pass the real work to run_xhr. - if(typeof callback !== 'function') - throw new Error('Bad callback given: ' + callback) - - if(!options) - throw new Error('No options given') - - var options_onResponse = options.onResponse; // Save this for later. - - if(typeof options === 'string') - options = {'uri':options}; - else - options = JSON.parse(JSON.stringify(options)); // Use a duplicate for mutating. - - options.onResponse = options_onResponse // And put it back. - - if (options.verbose) request.log = getLogger(); - - if(options.url) { - options.uri = options.url; - delete options.url; - } - - if(!options.uri && options.uri !== "") - throw new Error("options.uri is a required argument"); - - if(typeof options.uri != "string") - throw new Error("options.uri must be a string"); - - var unsupported_options = ['proxy', '_redirectsFollowed', 'maxRedirects', 'followRedirect'] - for (var i = 0; i < unsupported_options.length; i++) - if(options[ unsupported_options[i] ]) - throw new Error("options." + unsupported_options[i] + " is not supported") - - options.callback = callback - options.method = options.method || 'GET'; - options.headers = options.headers || {}; - options.body = options.body || null - options.timeout = options.timeout || request.DEFAULT_TIMEOUT - - if(options.headers.host) - throw new Error("Options.headers.host is not supported"); - - if(options.json) { - options.headers.accept = options.headers.accept || 'application/json' - if(options.method !== 'GET') - options.headers['content-type'] = 'application/json' - - if(typeof options.json !== 'boolean') - options.body = JSON.stringify(options.json) - else if(typeof options.body !== 'string') - options.body = JSON.stringify(options.body) - } - - //BEGIN QS Hack - var serialize = function(obj) { - var str = []; - for(var p in obj) - if (obj.hasOwnProperty(p)) { - str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); - } - return str.join("&"); - } - - if(options.qs){ - var qs = (typeof options.qs == 'string')? options.qs : serialize(options.qs); - if(options.uri.indexOf('?') !== -1){ //no get params - options.uri = options.uri+'&'+qs; - }else{ //existing get params - options.uri = options.uri+'?'+qs; - } - } - //END QS Hack - - //BEGIN FORM Hack - var multipart = function(obj) { - //todo: support file type (useful?) - var result = {}; - result.boundry = '-------------------------------'+Math.floor(Math.random()*1000000000); - var lines = []; - for(var p in obj){ - if (obj.hasOwnProperty(p)) { - lines.push( - '--'+result.boundry+"\n"+ - 'Content-Disposition: form-data; name="'+p+'"'+"\n"+ - "\n"+ - obj[p]+"\n" - ); - } - } - lines.push( '--'+result.boundry+'--' ); - result.body = lines.join(''); - result.length = result.body.length; - result.type = 'multipart/form-data; boundary='+result.boundry; - return result; - } - - if(options.form){ - if(typeof options.form == 'string') throw('form name unsupported'); - if(options.method === 'POST'){ - var encoding = (options.encoding || 'application/x-www-form-urlencoded').toLowerCase(); - options.headers['content-type'] = encoding; - switch(encoding){ - case 'application/x-www-form-urlencoded': - options.body = serialize(options.form).replace(/%20/g, "+"); - break; - case 'multipart/form-data': - var multi = multipart(options.form); - //options.headers['content-length'] = multi.length; - options.body = multi.body; - options.headers['content-type'] = multi.type; - break; - default : throw new Error('unsupported encoding:'+encoding); - } - } - } - //END FORM Hack - - // If onResponse is boolean true, call back immediately when the response is known, - // not when the full request is complete. - options.onResponse = options.onResponse || noop - if(options.onResponse === true) { - options.onResponse = callback - options.callback = noop - } - - // XXX Browsers do not like this. - //if(options.body) - // options.headers['content-length'] = options.body.length; - - // HTTP basic authentication - if(!options.headers.authorization && options.auth) - options.headers.authorization = 'Basic ' + b64_enc(options.auth.username + ':' + options.auth.password); - - return run_xhr(options) -} - -var req_seq = 0 -function run_xhr(options) { - var xhr = new XHR - , timed_out = false - , is_cors = is_crossDomain(options.uri) - , supports_cors = ('withCredentials' in xhr) - - req_seq += 1 - xhr.seq_id = req_seq - xhr.id = req_seq + ': ' + options.method + ' ' + options.uri - xhr._id = xhr.id // I know I will type "_id" from habit all the time. - - if(is_cors && !supports_cors) { - var cors_err = new Error('Browser does not support cross-origin request: ' + options.uri) - cors_err.cors = 'unsupported' - return options.callback(cors_err, xhr) - } - - xhr.timeoutTimer = setTimeout(too_late, options.timeout) - function too_late() { - timed_out = true - var er = new Error('ETIMEDOUT') - er.code = 'ETIMEDOUT' - er.duration = options.timeout - - request.log.error('Timeout', { 'id':xhr._id, 'milliseconds':options.timeout }) - return options.callback(er, xhr) - } - - // Some states can be skipped over, so remember what is still incomplete. - var did = {'response':false, 'loading':false, 'end':false} - - xhr.onreadystatechange = on_state_change - xhr.open(options.method, options.uri, true) // asynchronous - if(is_cors) - xhr.withCredentials = !! options.withCredentials - xhr.send(options.body) - return xhr - - function on_state_change(event) { - if(timed_out) - return request.log.debug('Ignoring timed out state change', {'state':xhr.readyState, 'id':xhr.id}) - - request.log.debug('State change', {'state':xhr.readyState, 'id':xhr.id, 'timed_out':timed_out}) - - if(xhr.readyState === XHR.OPENED) { - request.log.debug('Request started', {'id':xhr.id}) - for (var key in options.headers) - xhr.setRequestHeader(key, options.headers[key]) - } - - else if(xhr.readyState === XHR.HEADERS_RECEIVED) - on_response() - - else if(xhr.readyState === XHR.LOADING) { - on_response() - on_loading() - } - - else if(xhr.readyState === XHR.DONE) { - on_response() - on_loading() - on_end() - } - } - - function on_response() { - if(did.response) - return - - did.response = true - request.log.debug('Got response', {'id':xhr.id, 'status':xhr.status}) - clearTimeout(xhr.timeoutTimer) - xhr.statusCode = xhr.status // Node request compatibility - - // Detect failed CORS requests. - if(is_cors && xhr.statusCode == 0) { - var cors_err = new Error('CORS request rejected: ' + options.uri) - cors_err.cors = 'rejected' - - // Do not process this request further. - did.loading = true - did.end = true - - return options.callback(cors_err, xhr) - } - - options.onResponse(null, xhr) - } - - function on_loading() { - if(did.loading) - return - - did.loading = true - request.log.debug('Response body loading', {'id':xhr.id}) - // TODO: Maybe simulate "data" events by watching xhr.responseText - } - - function on_end() { - if(did.end) - return - - did.end = true - request.log.debug('Request done', {'id':xhr.id}) - - xhr.body = xhr.responseText - if(options.json) { - try { xhr.body = JSON.parse(xhr.responseText) } - catch (er) { return options.callback(er, xhr) } - } - - options.callback(null, xhr, xhr.body) - } - -} // request - -request.withCredentials = false; -request.DEFAULT_TIMEOUT = DEFAULT_TIMEOUT; - -// -// defaults -// - -request.defaults = function(options, requester) { - var def = function (method) { - var d = function (params, callback) { - if(typeof params === 'string') - params = {'uri': params}; - else { - params = JSON.parse(JSON.stringify(params)); - } - for (var i in options) { - if (params[i] === undefined) params[i] = options[i] - } - return method(params, callback) - } - return d - } - var de = def(request) - de.get = def(request.get) - de.post = def(request.post) - de.put = def(request.put) - de.head = def(request.head) - return de -} - -// -// HTTP method shortcuts -// - -var shortcuts = [ 'get', 'put', 'post', 'head' ]; -shortcuts.forEach(function(shortcut) { - var method = shortcut.toUpperCase(); - var func = shortcut.toLowerCase(); - - request[func] = function(opts) { - if(typeof opts === 'string') - opts = {'method':method, 'uri':opts}; - else { - opts = JSON.parse(JSON.stringify(opts)); - opts.method = method; - } - - var args = [opts].concat(Array.prototype.slice.apply(arguments, [1])); - return request.apply(this, args); - } -}) - -// -// CouchDB shortcut -// - -request.couch = function(options, callback) { - if(typeof options === 'string') - options = {'uri':options} - - // Just use the request API to do JSON. - options.json = true - if(options.body) - options.json = options.body - delete options.body - - callback = callback || noop - - var xhr = request(options, couch_handler) - return xhr - - function couch_handler(er, resp, body) { - if(er) - return callback(er, resp, body) - - if((resp.statusCode < 200 || resp.statusCode > 299) && body.error) { - // The body is a Couch JSON object indicating the error. - er = new Error('CouchDB error: ' + (body.error.reason || body.error.error)) - for (var key in body) - er[key] = body[key] - return callback(er, resp, body); - } - - return callback(er, resp, body); - } -} - -// -// Utility -// - -function noop() {} - -function getLogger() { - var logger = {} - , levels = ['trace', 'debug', 'info', 'warn', 'error'] - , level, i - - for(i = 0; i < levels.length; i++) { - level = levels[i] - - logger[level] = noop - if(typeof console !== 'undefined' && console && console[level]) - logger[level] = formatted(console, level) - } - - return logger -} - -function formatted(obj, method) { - return formatted_logger - - function formatted_logger(str, context) { - if(typeof context === 'object') - str += ' ' + JSON.stringify(context) - - return obj[method].call(obj, str) - } -} - -// Return whether a URL is a cross-domain request. -function is_crossDomain(url) { - var rurl = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/ - - // jQuery #8138, IE may throw an exception when accessing - // a field from window.location if document.domain has been set - var ajaxLocation - try { ajaxLocation = location.href } - catch (e) { - // Use the href attribute of an A element since IE will modify it given document.location - ajaxLocation = document.createElement( "a" ); - ajaxLocation.href = ""; - ajaxLocation = ajaxLocation.href; - } - - var ajaxLocParts = rurl.exec(ajaxLocation.toLowerCase()) || [] - , parts = rurl.exec(url.toLowerCase() ) - - var result = !!( - parts && - ( parts[1] != ajaxLocParts[1] - || parts[2] != ajaxLocParts[2] - || (parts[3] || (parts[1] === "http:" ? 80 : 443)) != (ajaxLocParts[3] || (ajaxLocParts[1] === "http:" ? 80 : 443)) - ) - ) - - //console.debug('is_crossDomain('+url+') -> ' + result) - return result -} - -// MIT License from http://phpjs.org/functions/base64_encode:358 -function b64_enc (data) { - // Encodes string using MIME base64 algorithm - var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; - var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0, enc="", tmp_arr = []; - - if (!data) { - return data; - } - - // assume utf8 data - // data = this.utf8_encode(data+''); - - do { // pack three octets into four hexets - o1 = data.charCodeAt(i++); - o2 = data.charCodeAt(i++); - o3 = data.charCodeAt(i++); - - bits = o1<<16 | o2<<8 | o3; - - h1 = bits>>18 & 0x3f; - h2 = bits>>12 & 0x3f; - h3 = bits>>6 & 0x3f; - h4 = bits & 0x3f; - - // use hexets to index into b64, and append result to encoded string - tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4); - } while (i < data.length); - - enc = tmp_arr.join(''); - - switch (data.length % 3) { - case 1: - enc = enc.slice(0, -2) + '=='; - break; - case 2: - enc = enc.slice(0, -1) + '='; - break; - } - - return enc; -} - return request; -//UMD FOOTER START -})); -//UMD FOOTER END diff --git a/node_modules/jsdom/node_modules/browser-request/package.json b/node_modules/jsdom/node_modules/browser-request/package.json deleted file mode 100644 index af6d923..0000000 --- a/node_modules/jsdom/node_modules/browser-request/package.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "name": "browser-request", - "version": "0.3.3", - "author": { - "name": "Jason Smith", - "email": "jhs@iriscouch.com" - }, - "description": "Browser port of the Node.js 'request' package", - "keywords": [ - "request", - "http", - "browser", - "browserify" - ], - "homepage": "http://github.com/iriscouch/browser-request", - "repository": { - "type": "git", - "url": "git://github.com/iriscouch/browser-request.git" - }, - "scripts": { - "test": "beefy test.js" - }, - "devDependencies": { - "tape": "~1.0.4", - "beefy": "~0.4.0", - "browserify": "~2.25.0" - }, - "engines": [ - "node" - ], - "testling": { - "files": "test.js", - "browsers": [ - "ie/6..latest", - "firefox/3..5", - "firefox/19..nightly", - "chrome/4..7", - "chrome/24..canary", - "opera/10..next", - "safari/4..latest", - "iphone/6", - "ipad/6" - ] - }, - "contributors": [ - { - "name": "Jason Smith Work", - "email": "jhs@iriscouch.com" - }, - { - "name": "Jason Smith", - "email": "jason.h.smith@gmail.com" - }, - { - "name": "maxogden", - "email": "max@maxogden.com" - }, - { - "name": "Abbey Sparrow via Google", - "email": "abbeys@google.com" - } - ], - "bugs": { - "url": "https://github.com/iriscouch/browser-request/issues" - }, - "_id": "browser-request@0.3.3", - "dist": { - "shasum": "9ece5b5aca89a29932242e18bf933def9876cc17", - "tarball": "https://registry.npmjs.org/browser-request/-/browser-request-0.3.3.tgz" - }, - "_from": "browser-request@>=0.3.1 <0.4.0", - "_npmVersion": "1.3.24", - "_npmUser": { - "name": "jhs", - "email": "jhs@iriscouch.com" - }, - "maintainers": [ - { - "name": "jhs", - "email": "jhs@iriscouch.com" - }, - { - "name": "maxogden", - "email": "max@maxogden.com" - } - ], - "directories": {}, - "_shasum": "9ece5b5aca89a29932242e18bf933def9876cc17", - "_resolved": "https://registry.npmjs.org/browser-request/-/browser-request-0.3.3.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/browser-request/test.js b/node_modules/jsdom/node_modules/browser-request/test.js deleted file mode 100644 index f427f23..0000000 --- a/node_modules/jsdom/node_modules/browser-request/test.js +++ /dev/null @@ -1,20 +0,0 @@ -var test = require('tape') - -var request = require('./') - -test('try a CORS GET', function (t) { - var url = 'https://www.googleapis.com/plus/v1/activities' - request(url, function(err, resp, body) { - t.equal(resp.statusCode, 400) - t.equal(!!resp.body.match(/Required parameter/), true) - t.end() - }) -}) - -test('json true', function (t) { - var url = 'https://www.googleapis.com/plus/v1/activities' - request({url: url, json: true}, function(err, resp, body) { - t.equal(body.error.code, 400) - t.end() - }) -}) diff --git a/node_modules/jsdom/node_modules/contextify/.dntrc b/node_modules/jsdom/node_modules/contextify/.dntrc deleted file mode 100644 index e6f6509..0000000 --- a/node_modules/jsdom/node_modules/contextify/.dntrc +++ /dev/null @@ -1,19 +0,0 @@ -## DNT config file -## see https://github.com/rvagg/dnt - -NODE_VERSIONS="\ - v0.10.40 \ - v0.12.7 \ - v1.8.4 \ - v2.5.0 \ - v3.3.0 \ - v4.2.2 \ - v5.0.0 \ -" -OUTPUT_PREFIX="contextify-" -TEST_CMD="\ - cd /dnt/ && \ - npm install --nodedir=/usr/src/node && \ - npm test; \ -" -LOG_OK_CMD="tail -1 | sed 's/.\[1m.\[32mOK: .\[39m.\[22m.* assertions.*/ok/'" diff --git a/node_modules/jsdom/node_modules/contextify/.npmignore b/node_modules/jsdom/node_modules/contextify/.npmignore deleted file mode 100644 index 4c0b0bb..0000000 --- a/node_modules/jsdom/node_modules/contextify/.npmignore +++ /dev/null @@ -1,12 +0,0 @@ -Makefile -.lock-wscript -node_modules -build -*.swp -*.swo -TODO -Makefile.gyp -*.Makefile -*.target.gyp.mk -gyp-mac-tool -out diff --git a/node_modules/jsdom/node_modules/contextify/.travis.yml b/node_modules/jsdom/node_modules/contextify/.travis.yml deleted file mode 100644 index c67812a..0000000 --- a/node_modules/jsdom/node_modules/contextify/.travis.yml +++ /dev/null @@ -1,14 +0,0 @@ -language: node_js -node_js: - - "5" - - "4" - - "0.12" - - "0.10" -addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - g++-4.8 -env: - CXX=g++-4.8 diff --git a/node_modules/jsdom/node_modules/contextify/LICENSE.txt b/node_modules/jsdom/node_modules/contextify/LICENSE.txt deleted file mode 100644 index 49fd917..0000000 --- a/node_modules/jsdom/node_modules/contextify/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2011 Brian McDaniel - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/jsdom/node_modules/contextify/README.md b/node_modules/jsdom/node_modules/contextify/README.md deleted file mode 100644 index 309fec8..0000000 --- a/node_modules/jsdom/node_modules/contextify/README.md +++ /dev/null @@ -1,118 +0,0 @@ -# Contextify - -## YOU DON'T NEED THIS MODULE ON NODE >= 0.12 - -As of Node 0.12, Contextify has been merged into Node (thanks to @domenic), replacing the native `vm` module. -The code has been improved on since then, so if at all possible, you should use a newer Node and the native `vm` module. -Note that newer versions of JSDOM no longer depend on Contextify. - -The README below applies to Node 0.10 and below. - -## Installation issues - -Make sure you have the `node-gyp` prerequisites installed: https://github.com/nodejs/node-gyp#installation - -For Windows issues, see here: https://github.com/brianmcd/contextify/wiki/Windows-Installation-Guide - -## What is Contextify? - -Turn an object into a V8 execution context. A contextified object acts as the global 'this' when executing scripts in its context. Contextify adds 3 methods to the contextified object: run(code, filename), getGlobal(), and dispose(). The main difference between Contextify and Node's vm methods is that Contextify allows asynchronous functions to continue executing in the Contextified object's context. See vm vs. Contextify below for more discussion. - -## Examples -```javascript -var Contextify = require('contextify'); -var sandbox = { console : console, prop1 : 'prop1'}; -Contextify(sandbox); -sandbox.run('console.log(prop1);'); -sandbox.dispose(); // free the resources allocated for the context. -``` - -```javascript -var sandbox = Contextify(); // returns an empty contextified object. -sandbox.run('var x = 3;'); -console.log(sandbox.x); // prints 3 -sandbox.dispose(); -``` - -```javascript -var sandbox = Contextify({setTimeout : setTimeout}); -sandbox.run("setTimeout(function () { x = 3; }, 5);"); -console.log(sandbox.x); // prints undefined -setTimeout(function () { - console.log(sandbox.x); // prints 3 - sandbox.dispose(); -}, 10); -``` -## Details - -**Contextify([sandbox])** - - sandbox - The object to contextify, which will be modified as described below - If no sandbox is specified, an empty object will be allocated and used instead. - - Returns the contextified object. It doesn't make a copy, so if you already have a reference - to the sandbox, you don't need to catch the return value. - -A Contextified object has 2 methods added to it: - -**run(code, [filename])** - - code - string containing JavaScript to execute - filename - an optional filename for debugging. - - Runs the code in the Contextified object's context. - -**getGlobal()** - -Returns the actual global object for the V8 context. The global object is initialized with interceptors (discussed below) which forward accesses on it to the contextified object. This means the contextified object acts like the global object in most cases. Sometimes, though, you need to make a reference to the actual global object. - -For example: - -```javascript -var window = Contextify({console : console}); -window.window = window; -window.run("console.log(window === this);"); -// prints false. -``` - -```javascript -var window = Contextify({console : console}); -window.window = window.getGlobal(); -window.run("console.log(window === this);"); -// prints true -``` - -The global object returned by getGlobal() can be treated like the contextified sandbox object, except that defining getters/setters will not work on it. Define getters and setters on the actual sandbox object instead. - -**dispose()** - -Frees the memory allocated for the underlying V8 context. If you don't call this when you're done, the V8 context memory will leak, as will the sandbox memory, since the context's global stores a strong reference to the sandbox object. You can still use your sandbox object after calling dispose(), but it's unsafe to use a global previously returned from getGlobal(). run, getGlobal, and dispose will be removed from the sandbox object. - -## Install - - npm install contextify - -## require('vm') vs. Contextify - -Node's vm functions (runInContext etc) work by copying the values from the sandbox object onto a context's global object, executing the passed in script, then copying the results back. This means that scripts that create asynchronous functions (using mechanisms like setTimeout) won't have see the results of executing those functions, since the copying in/out only occurs during an explicit call to runInContext and friends. - -Contextify creates a V8 context, and uses interceptors (see: http://code.google.com/apis/v8/embed.html#interceptors) to forward global object accesses to the sandbox object. This means there is no copying in or out, so asynchronous functions have the expected effect on the sandbox object. - -## Tests - -Testing is done with nodeunit. Run the tests with - - nodeunit test/ - -Output: - - OK: 92 assertions (27ms) - - -## Building - - node-gyp rebuild - -## Acknowledgments - -Inspiration taken from Assaf's Zombie.js context solution: https://github.com/assaf/zombie diff --git a/node_modules/jsdom/node_modules/contextify/binding.gyp b/node_modules/jsdom/node_modules/contextify/binding.gyp deleted file mode 100644 index 070b91c..0000000 --- a/node_modules/jsdom/node_modules/contextify/binding.gyp +++ /dev/null @@ -1,9 +0,0 @@ -{ - 'targets': [ - { - 'target_name': 'contextify', - 'include_dirs': ["> $(depfile) -# Add extra rules as in (2). -# We remove slashes and replace spaces with new lines; -# remove blank lines; -# delete the first line and append a colon to the remaining lines. -sed -e 's|\\||' -e 'y| |\n|' $(depfile).raw |\ - grep -v '^$$' |\ - sed -e 1d -e 's|$$|:|' \ - >> $(depfile) -rm $(depfile).raw -endef - -# Command definitions: -# - cmd_foo is the actual command to run; -# - quiet_cmd_foo is the brief-output summary of the command. - -quiet_cmd_cc = CC($(TOOLSET)) $@ -cmd_cc = $(CC.$(TOOLSET)) $(GYP_CFLAGS) $(DEPFLAGS) $(CFLAGS.$(TOOLSET)) -c -o $@ $< - -quiet_cmd_cxx = CXX($(TOOLSET)) $@ -cmd_cxx = $(CXX.$(TOOLSET)) $(GYP_CXXFLAGS) $(DEPFLAGS) $(CXXFLAGS.$(TOOLSET)) -c -o $@ $< - -quiet_cmd_objc = CXX($(TOOLSET)) $@ -cmd_objc = $(CC.$(TOOLSET)) $(GYP_OBJCFLAGS) $(DEPFLAGS) -c -o $@ $< - -quiet_cmd_objcxx = CXX($(TOOLSET)) $@ -cmd_objcxx = $(CXX.$(TOOLSET)) $(GYP_OBJCXXFLAGS) $(DEPFLAGS) -c -o $@ $< - -# Commands for precompiled header files. -quiet_cmd_pch_c = CXX($(TOOLSET)) $@ -cmd_pch_c = $(CC.$(TOOLSET)) $(GYP_PCH_CFLAGS) $(DEPFLAGS) $(CXXFLAGS.$(TOOLSET)) -c -o $@ $< -quiet_cmd_pch_cc = CXX($(TOOLSET)) $@ -cmd_pch_cc = $(CC.$(TOOLSET)) $(GYP_PCH_CXXFLAGS) $(DEPFLAGS) $(CXXFLAGS.$(TOOLSET)) -c -o $@ $< -quiet_cmd_pch_m = CXX($(TOOLSET)) $@ -cmd_pch_m = $(CC.$(TOOLSET)) $(GYP_PCH_OBJCFLAGS) $(DEPFLAGS) -c -o $@ $< -quiet_cmd_pch_mm = CXX($(TOOLSET)) $@ -cmd_pch_mm = $(CC.$(TOOLSET)) $(GYP_PCH_OBJCXXFLAGS) $(DEPFLAGS) -c -o $@ $< - -# gyp-mac-tool is written next to the root Makefile by gyp. -# Use $(4) for the command, since $(2) and $(3) are used as flag by do_cmd -# already. -quiet_cmd_mac_tool = MACTOOL $(4) $< -cmd_mac_tool = ./gyp-mac-tool $(4) $< "$@" - -quiet_cmd_mac_package_framework = PACKAGE FRAMEWORK $@ -cmd_mac_package_framework = ./gyp-mac-tool package-framework "$@" $(4) - -quiet_cmd_infoplist = INFOPLIST $@ -cmd_infoplist = $(CC.$(TOOLSET)) -E -P -Wno-trigraphs -x c $(INFOPLIST_DEFINES) "$<" -o "$@" - -quiet_cmd_touch = TOUCH $@ -cmd_touch = touch $@ - -quiet_cmd_copy = COPY $@ -# send stderr to /dev/null to ignore messages when linking directories. -cmd_copy = rm -rf "$@" && cp -af "$<" "$@" - -quiet_cmd_alink = LIBTOOL-STATIC $@ -cmd_alink = rm -f $@ && ./gyp-mac-tool filter-libtool libtool $(GYP_LIBTOOLFLAGS) -static -o $@ $(filter %.o,$^) - -quiet_cmd_link = LINK($(TOOLSET)) $@ -cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o "$@" $(LD_INPUTS) $(LIBS) - -quiet_cmd_solink = SOLINK($(TOOLSET)) $@ -cmd_solink = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o "$@" $(LD_INPUTS) $(LIBS) - -quiet_cmd_solink_module = SOLINK_MODULE($(TOOLSET)) $@ -cmd_solink_module = $(LINK.$(TOOLSET)) -bundle $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ $(filter-out FORCE_DO_CMD, $^) $(LIBS) - - -# Define an escape_quotes function to escape single quotes. -# This allows us to handle quotes properly as long as we always use -# use single quotes and escape_quotes. -escape_quotes = $(subst ','\'',$(1)) -# This comment is here just to include a ' to unconfuse syntax highlighting. -# Define an escape_vars function to escape '$' variable syntax. -# This allows us to read/write command lines with shell variables (e.g. -# $LD_LIBRARY_PATH), without triggering make substitution. -escape_vars = $(subst $$,$$$$,$(1)) -# Helper that expands to a shell command to echo a string exactly as it is in -# make. This uses printf instead of echo because printf's behaviour with respect -# to escape sequences is more portable than echo's across different shells -# (e.g., dash, bash). -exact_echo = printf '%s\n' '$(call escape_quotes,$(1))' - -# Helper to compare the command we're about to run against the command -# we logged the last time we ran the command. Produces an empty -# string (false) when the commands match. -# Tricky point: Make has no string-equality test function. -# The kernel uses the following, but it seems like it would have false -# positives, where one string reordered its arguments. -# arg_check = $(strip $(filter-out $(cmd_$(1)), $(cmd_$@)) \ -# $(filter-out $(cmd_$@), $(cmd_$(1)))) -# We instead substitute each for the empty string into the other, and -# say they're equal if both substitutions produce the empty string. -# .d files contain ? instead of spaces, take that into account. -command_changed = $(or $(subst $(cmd_$(1)),,$(cmd_$(call replace_spaces,$@))),\ - $(subst $(cmd_$(call replace_spaces,$@)),,$(cmd_$(1)))) - -# Helper that is non-empty when a prerequisite changes. -# Normally make does this implicitly, but we force rules to always run -# so we can check their command lines. -# $? -- new prerequisites -# $| -- order-only dependencies -prereq_changed = $(filter-out FORCE_DO_CMD,$(filter-out $|,$?)) - -# Helper that executes all postbuilds until one fails. -define do_postbuilds - @E=0;\ - for p in $(POSTBUILDS); do\ - eval $$p;\ - E=$$?;\ - if [ $$E -ne 0 ]; then\ - break;\ - fi;\ - done;\ - if [ $$E -ne 0 ]; then\ - rm -rf "$@";\ - exit $$E;\ - fi -endef - -# do_cmd: run a command via the above cmd_foo names, if necessary. -# Should always run for a given target to handle command-line changes. -# Second argument, if non-zero, makes it do asm/C/C++ dependency munging. -# Third argument, if non-zero, makes it do POSTBUILDS processing. -# Note: We intentionally do NOT call dirx for depfile, since it contains ? for -# spaces already and dirx strips the ? characters. -define do_cmd -$(if $(or $(command_changed),$(prereq_changed)), - @$(call exact_echo, $($(quiet)cmd_$(1))) - @mkdir -p "$(call dirx,$@)" "$(dir $(depfile))" - $(if $(findstring flock,$(word 2,$(cmd_$1))), - @$(cmd_$(1)) - @echo " $(quiet_cmd_$(1)): Finished", - @$(cmd_$(1)) - ) - @$(call exact_echo,$(call escape_vars,cmd_$(call replace_spaces,$@) := $(cmd_$(1)))) > $(depfile) - @$(if $(2),$(fixup_dep)) - $(if $(and $(3), $(POSTBUILDS)), - $(call do_postbuilds) - ) -) -endef - -# Declare the "all" target first so it is the default, -# even though we don't have the deps yet. -.PHONY: all -all: - -# make looks for ways to re-generate included makefiles, but in our case, we -# don't have a direct way. Explicitly telling make that it has nothing to do -# for them makes it go faster. -%.d: ; - -# Use FORCE_DO_CMD to force a target to run. Should be coupled with -# do_cmd. -.PHONY: FORCE_DO_CMD -FORCE_DO_CMD: - -TOOLSET := target -# Suffix rules, putting all outputs into $(obj). -$(obj).$(TOOLSET)/%.o: $(srcdir)/%.c FORCE_DO_CMD - @$(call do_cmd,cc,1) -$(obj).$(TOOLSET)/%.o: $(srcdir)/%.cc FORCE_DO_CMD - @$(call do_cmd,cxx,1) -$(obj).$(TOOLSET)/%.o: $(srcdir)/%.cpp FORCE_DO_CMD - @$(call do_cmd,cxx,1) -$(obj).$(TOOLSET)/%.o: $(srcdir)/%.cxx FORCE_DO_CMD - @$(call do_cmd,cxx,1) -$(obj).$(TOOLSET)/%.o: $(srcdir)/%.m FORCE_DO_CMD - @$(call do_cmd,objc,1) -$(obj).$(TOOLSET)/%.o: $(srcdir)/%.mm FORCE_DO_CMD - @$(call do_cmd,objcxx,1) -$(obj).$(TOOLSET)/%.o: $(srcdir)/%.S FORCE_DO_CMD - @$(call do_cmd,cc,1) -$(obj).$(TOOLSET)/%.o: $(srcdir)/%.s FORCE_DO_CMD - @$(call do_cmd,cc,1) - -# Try building from generated source, too. -$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.c FORCE_DO_CMD - @$(call do_cmd,cc,1) -$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.cc FORCE_DO_CMD - @$(call do_cmd,cxx,1) -$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.cpp FORCE_DO_CMD - @$(call do_cmd,cxx,1) -$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.cxx FORCE_DO_CMD - @$(call do_cmd,cxx,1) -$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.m FORCE_DO_CMD - @$(call do_cmd,objc,1) -$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.mm FORCE_DO_CMD - @$(call do_cmd,objcxx,1) -$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.S FORCE_DO_CMD - @$(call do_cmd,cc,1) -$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.s FORCE_DO_CMD - @$(call do_cmd,cc,1) - -$(obj).$(TOOLSET)/%.o: $(obj)/%.c FORCE_DO_CMD - @$(call do_cmd,cc,1) -$(obj).$(TOOLSET)/%.o: $(obj)/%.cc FORCE_DO_CMD - @$(call do_cmd,cxx,1) -$(obj).$(TOOLSET)/%.o: $(obj)/%.cpp FORCE_DO_CMD - @$(call do_cmd,cxx,1) -$(obj).$(TOOLSET)/%.o: $(obj)/%.cxx FORCE_DO_CMD - @$(call do_cmd,cxx,1) -$(obj).$(TOOLSET)/%.o: $(obj)/%.m FORCE_DO_CMD - @$(call do_cmd,objc,1) -$(obj).$(TOOLSET)/%.o: $(obj)/%.mm FORCE_DO_CMD - @$(call do_cmd,objcxx,1) -$(obj).$(TOOLSET)/%.o: $(obj)/%.S FORCE_DO_CMD - @$(call do_cmd,cc,1) -$(obj).$(TOOLSET)/%.o: $(obj)/%.s FORCE_DO_CMD - @$(call do_cmd,cc,1) - - -ifeq ($(strip $(foreach prefix,$(NO_LOAD),\ - $(findstring $(join ^,$(prefix)),\ - $(join ^,contextify.target.mk)))),) - include contextify.target.mk -endif - -quiet_cmd_regen_makefile = ACTION Regenerating $@ -cmd_regen_makefile = cd $(srcdir); /usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "--toplevel-dir=." -I/Users/nanalelfe/html/solutions_repo/node_modules/jsdom/node_modules/contextify/build/config.gypi -I/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi -I/Users/nanalelfe/.node-gyp/4.4.6/include/node/common.gypi "--depth=." "-Goutput_dir=." "--generator-output=build" "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/Users/nanalelfe/.node-gyp/4.4.6" "-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp" "-Dnode_lib_file=node.lib" "-Dmodule_root_dir=/Users/nanalelfe/html/solutions_repo/node_modules/jsdom/node_modules/contextify" binding.gyp -Makefile: $(srcdir)/../../../../../../.node-gyp/4.4.6/include/node/common.gypi $(srcdir)/build/config.gypi $(srcdir)/binding.gyp $(srcdir)/../../../../../../../../usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi - $(call do_cmd,regen_makefile) - -# "all" is a concatenation of the "all" targets from all the included -# sub-makefiles. This is just here to clarify. -all: - -# Add in dependency-tracking rules. $(all_deps) is the list of every single -# target in our tree. Only consider the ones with .d (dependency) info: -d_files := $(wildcard $(foreach f,$(all_deps),$(depsdir)/$(f).d)) -ifneq ($(d_files),) - include $(d_files) -endif diff --git a/node_modules/jsdom/node_modules/contextify/build/Release/.deps/Release/contextify.node.d b/node_modules/jsdom/node_modules/contextify/build/Release/.deps/Release/contextify.node.d deleted file mode 100644 index df7d933..0000000 --- a/node_modules/jsdom/node_modules/contextify/build/Release/.deps/Release/contextify.node.d +++ /dev/null @@ -1 +0,0 @@ -cmd_Release/contextify.node := c++ -bundle -undefined dynamic_lookup -Wl,-search_paths_first -mmacosx-version-min=10.5 -arch x86_64 -L./Release -o Release/contextify.node Release/obj.target/contextify/src/contextify.o diff --git a/node_modules/jsdom/node_modules/contextify/build/Release/.deps/Release/obj.target/contextify/src/contextify.o.d b/node_modules/jsdom/node_modules/contextify/build/Release/.deps/Release/obj.target/contextify/src/contextify.o.d deleted file mode 100644 index c0082cf..0000000 --- a/node_modules/jsdom/node_modules/contextify/build/Release/.deps/Release/obj.target/contextify/src/contextify.o.d +++ /dev/null @@ -1,52 +0,0 @@ -cmd_Release/obj.target/contextify/src/contextify.o := c++ '-DNODE_GYP_MODULE_NAME=contextify' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DBUILDING_NODE_EXTENSION' -I/Users/nanalelfe/.node-gyp/4.4.6/include/node -I/Users/nanalelfe/.node-gyp/4.4.6/src -I/Users/nanalelfe/.node-gyp/4.4.6/deps/uv/include -I/Users/nanalelfe/.node-gyp/4.4.6/deps/v8/include -I../node_modules/nan -Os -gdwarf-2 -mmacosx-version-min=10.5 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++0x -fno-rtti -fno-exceptions -fno-threadsafe-statics -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/contextify/src/contextify.o.d.raw -c -o Release/obj.target/contextify/src/contextify.o ../src/contextify.cc -Release/obj.target/contextify/src/contextify.o: ../src/contextify.cc \ - /Users/nanalelfe/.node-gyp/4.4.6/include/node/node.h \ - /Users/nanalelfe/.node-gyp/4.4.6/include/node/v8.h \ - /Users/nanalelfe/.node-gyp/4.4.6/include/node/v8-version.h \ - /Users/nanalelfe/.node-gyp/4.4.6/include/node/v8config.h \ - /Users/nanalelfe/.node-gyp/4.4.6/include/node/node_version.h \ - ../node_modules/nan/nan.h \ - /Users/nanalelfe/.node-gyp/4.4.6/include/node/uv.h \ - /Users/nanalelfe/.node-gyp/4.4.6/include/node/uv-errno.h \ - /Users/nanalelfe/.node-gyp/4.4.6/include/node/uv-version.h \ - /Users/nanalelfe/.node-gyp/4.4.6/include/node/uv-unix.h \ - /Users/nanalelfe/.node-gyp/4.4.6/include/node/uv-threadpool.h \ - /Users/nanalelfe/.node-gyp/4.4.6/include/node/uv-darwin.h \ - /Users/nanalelfe/.node-gyp/4.4.6/include/node/node_buffer.h \ - /Users/nanalelfe/.node-gyp/4.4.6/include/node/node_object_wrap.h \ - ../node_modules/nan/nan_callbacks.h \ - ../node_modules/nan/nan_callbacks_12_inl.h \ - ../node_modules/nan/nan_maybe_43_inl.h \ - ../node_modules/nan/nan_converters.h \ - ../node_modules/nan/nan_converters_43_inl.h \ - ../node_modules/nan/nan_new.h \ - ../node_modules/nan/nan_implementation_12_inl.h \ - ../node_modules/nan/nan_persistent_12_inl.h \ - ../node_modules/nan/nan_weak.h ../node_modules/nan/nan_object_wrap.h \ - ../node_modules/nan/nan_typedarray_contents.h -../src/contextify.cc: -/Users/nanalelfe/.node-gyp/4.4.6/include/node/node.h: -/Users/nanalelfe/.node-gyp/4.4.6/include/node/v8.h: -/Users/nanalelfe/.node-gyp/4.4.6/include/node/v8-version.h: -/Users/nanalelfe/.node-gyp/4.4.6/include/node/v8config.h: -/Users/nanalelfe/.node-gyp/4.4.6/include/node/node_version.h: -../node_modules/nan/nan.h: -/Users/nanalelfe/.node-gyp/4.4.6/include/node/uv.h: -/Users/nanalelfe/.node-gyp/4.4.6/include/node/uv-errno.h: -/Users/nanalelfe/.node-gyp/4.4.6/include/node/uv-version.h: -/Users/nanalelfe/.node-gyp/4.4.6/include/node/uv-unix.h: -/Users/nanalelfe/.node-gyp/4.4.6/include/node/uv-threadpool.h: -/Users/nanalelfe/.node-gyp/4.4.6/include/node/uv-darwin.h: -/Users/nanalelfe/.node-gyp/4.4.6/include/node/node_buffer.h: -/Users/nanalelfe/.node-gyp/4.4.6/include/node/node_object_wrap.h: -../node_modules/nan/nan_callbacks.h: -../node_modules/nan/nan_callbacks_12_inl.h: -../node_modules/nan/nan_maybe_43_inl.h: -../node_modules/nan/nan_converters.h: -../node_modules/nan/nan_converters_43_inl.h: -../node_modules/nan/nan_new.h: -../node_modules/nan/nan_implementation_12_inl.h: -../node_modules/nan/nan_persistent_12_inl.h: -../node_modules/nan/nan_weak.h: -../node_modules/nan/nan_object_wrap.h: -../node_modules/nan/nan_typedarray_contents.h: diff --git a/node_modules/jsdom/node_modules/contextify/build/Release/contextify.node b/node_modules/jsdom/node_modules/contextify/build/Release/contextify.node deleted file mode 100755 index 2056e25..0000000 Binary files a/node_modules/jsdom/node_modules/contextify/build/Release/contextify.node and /dev/null differ diff --git a/node_modules/jsdom/node_modules/contextify/build/Release/obj.target/contextify/src/contextify.o b/node_modules/jsdom/node_modules/contextify/build/Release/obj.target/contextify/src/contextify.o deleted file mode 100644 index ebe7bd4..0000000 Binary files a/node_modules/jsdom/node_modules/contextify/build/Release/obj.target/contextify/src/contextify.o and /dev/null differ diff --git a/node_modules/jsdom/node_modules/contextify/build/binding.Makefile b/node_modules/jsdom/node_modules/contextify/build/binding.Makefile deleted file mode 100644 index dff27df..0000000 --- a/node_modules/jsdom/node_modules/contextify/build/binding.Makefile +++ /dev/null @@ -1,6 +0,0 @@ -# This file is generated by gyp; do not edit. - -export builddir_name ?= ./build/. -.PHONY: all -all: - $(MAKE) contextify diff --git a/node_modules/jsdom/node_modules/contextify/build/config.gypi b/node_modules/jsdom/node_modules/contextify/build/config.gypi deleted file mode 100644 index 3bfead0..0000000 --- a/node_modules/jsdom/node_modules/contextify/build/config.gypi +++ /dev/null @@ -1,138 +0,0 @@ -# Do not edit. File was generated by node-gyp's "configure" step -{ - "target_defaults": { - "cflags": [], - "default_configuration": "Release", - "defines": [], - "include_dirs": [], - "libraries": [] - }, - "variables": { - "asan": 0, - "host_arch": "x64", - "icu_data_file": "icudt56l.dat", - "icu_data_in": "../../deps/icu/source/data/in/icudt56l.dat", - "icu_endianness": "l", - "icu_gyp_path": "tools/icu/icu-generic.gyp", - "icu_locales": "en,root", - "icu_path": "./deps/icu", - "icu_small": "true", - "icu_ver_major": "56", - "llvm_version": 0, - "node_byteorder": "little", - "node_install_npm": "true", - "node_prefix": "/usr/local", - "node_release_urlbase": "https://nodejs.org/download/release/", - "node_shared_http_parser": "false", - "node_shared_libuv": "false", - "node_shared_openssl": "false", - "node_shared_zlib": "false", - "node_tag": "", - "node_use_dtrace": "true", - "node_use_etw": "false", - "node_use_lttng": "false", - "node_use_openssl": "true", - "node_use_perfctr": "false", - "openssl_fips": "", - "openssl_no_asm": 0, - "target_arch": "x64", - "uv_parent_path": "/deps/uv/", - "uv_use_dtrace": "true", - "v8_enable_gdbjit": 0, - "v8_enable_i18n_support": 1, - "v8_no_strict_aliasing": 1, - "v8_optimized_debug": 0, - "v8_random_seed": 0, - "v8_use_snapshot": "true", - "want_separate_host_toolset": 0, - "xcode_version": "7.0", - "nodedir": "/Users/nanalelfe/.node-gyp/4.4.6", - "copy_dev_lib": "true", - "standalone_static_library": 1, - "save_dev": "", - "browser": "", - "viewer": "man", - "rollback": "true", - "usage": "", - "globalignorefile": "/usr/local/etc/npmignore", - "init_author_url": "", - "maxsockets": "50", - "shell": "/bin/bash", - "parseable": "", - "shrinkwrap": "true", - "init_license": "ISC", - "if_present": "", - "cache_max": "Infinity", - "init_author_email": "", - "sign_git_tag": "", - "cert": "", - "git_tag_version": "true", - "local_address": "", - "long": "", - "fetch_retries": "2", - "npat": "", - "registry": "https://registry.npmjs.org/", - "key": "", - "message": "%s", - "versions": "", - "globalconfig": "/usr/local/etc/npmrc", - "always_auth": "", - "spin": "true", - "cache_lock_retries": "10", - "heading": "npm", - "fetch_retry_mintimeout": "10000", - "proprietary_attribs": "true", - "access": "", - "json": "", - "description": "true", - "engine_strict": "", - "https_proxy": "", - "init_module": "/Users/nanalelfe/.npm-init.js", - "userconfig": "/Users/nanalelfe/.npmrc", - "node_version": "4.4.6", - "user": "501", - "save": "true", - "editor": "vi", - "tag": "latest", - "global": "", - "optional": "true", - "bin_links": "true", - "force": "", - "searchopts": "", - "depth": "Infinity", - "rebuild_bundle": "true", - "searchsort": "name", - "unicode": "true", - "fetch_retry_maxtimeout": "60000", - "ca": "", - "save_prefix": "^", - "strict_ssl": "true", - "tag_version_prefix": "v", - "dev": "", - "fetch_retry_factor": "10", - "group": "20", - "save_exact": "", - "cache_lock_stale": "60000", - "version": "", - "cache_min": "10", - "cache": "/Users/nanalelfe/.npm", - "searchexclude": "", - "color": "true", - "save_optional": "", - "user_agent": "npm/2.15.5 node/v4.4.6 darwin x64", - "ignore_scripts": "", - "cache_lock_wait": "10000", - "production": "", - "save_bundle": "", - "init_version": "1.0.0", - "umask": "0022", - "git": "git", - "init_author_name": "", - "scope": "", - "onload_script": "", - "tmp": "/var/folders/2s/4h492msn7xzdffmg3p_gb_2m0000gn/T", - "unsafe_perm": "true", - "link": "", - "prefix": "/usr/local" - } -} diff --git a/node_modules/jsdom/node_modules/contextify/build/contextify.target.mk b/node_modules/jsdom/node_modules/contextify/build/contextify.target.mk deleted file mode 100644 index c1d8e13..0000000 --- a/node_modules/jsdom/node_modules/contextify/build/contextify.target.mk +++ /dev/null @@ -1,165 +0,0 @@ -# This file is generated by gyp; do not edit. - -TOOLSET := target -TARGET := contextify -DEFS_Debug := \ - '-DNODE_GYP_MODULE_NAME=contextify' \ - '-D_DARWIN_USE_64_BIT_INODE=1' \ - '-D_LARGEFILE_SOURCE' \ - '-D_FILE_OFFSET_BITS=64' \ - '-DBUILDING_NODE_EXTENSION' \ - '-DDEBUG' \ - '-D_DEBUG' - -# Flags passed to all source files. -CFLAGS_Debug := \ - -O0 \ - -gdwarf-2 \ - -mmacosx-version-min=10.5 \ - -arch x86_64 \ - -Wall \ - -Wendif-labels \ - -W \ - -Wno-unused-parameter - -# Flags passed to only C files. -CFLAGS_C_Debug := \ - -fno-strict-aliasing - -# Flags passed to only C++ files. -CFLAGS_CC_Debug := \ - -std=gnu++0x \ - -fno-rtti \ - -fno-exceptions \ - -fno-threadsafe-statics \ - -fno-strict-aliasing - -# Flags passed to only ObjC files. -CFLAGS_OBJC_Debug := - -# Flags passed to only ObjC++ files. -CFLAGS_OBJCC_Debug := - -INCS_Debug := \ - -I/Users/nanalelfe/.node-gyp/4.4.6/include/node \ - -I/Users/nanalelfe/.node-gyp/4.4.6/src \ - -I/Users/nanalelfe/.node-gyp/4.4.6/deps/uv/include \ - -I/Users/nanalelfe/.node-gyp/4.4.6/deps/v8/include \ - -I$(srcdir)/node_modules/nan - -DEFS_Release := \ - '-DNODE_GYP_MODULE_NAME=contextify' \ - '-D_DARWIN_USE_64_BIT_INODE=1' \ - '-D_LARGEFILE_SOURCE' \ - '-D_FILE_OFFSET_BITS=64' \ - '-DBUILDING_NODE_EXTENSION' - -# Flags passed to all source files. -CFLAGS_Release := \ - -Os \ - -gdwarf-2 \ - -mmacosx-version-min=10.5 \ - -arch x86_64 \ - -Wall \ - -Wendif-labels \ - -W \ - -Wno-unused-parameter - -# Flags passed to only C files. -CFLAGS_C_Release := \ - -fno-strict-aliasing - -# Flags passed to only C++ files. -CFLAGS_CC_Release := \ - -std=gnu++0x \ - -fno-rtti \ - -fno-exceptions \ - -fno-threadsafe-statics \ - -fno-strict-aliasing - -# Flags passed to only ObjC files. -CFLAGS_OBJC_Release := - -# Flags passed to only ObjC++ files. -CFLAGS_OBJCC_Release := - -INCS_Release := \ - -I/Users/nanalelfe/.node-gyp/4.4.6/include/node \ - -I/Users/nanalelfe/.node-gyp/4.4.6/src \ - -I/Users/nanalelfe/.node-gyp/4.4.6/deps/uv/include \ - -I/Users/nanalelfe/.node-gyp/4.4.6/deps/v8/include \ - -I$(srcdir)/node_modules/nan - -OBJS := \ - $(obj).target/$(TARGET)/src/contextify.o - -# Add to the list of files we specially track dependencies for. -all_deps += $(OBJS) - -# CFLAGS et al overrides must be target-local. -# See "Target-specific Variable Values" in the GNU Make manual. -$(OBJS): TOOLSET := $(TOOLSET) -$(OBJS): GYP_CFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_C_$(BUILDTYPE)) -$(OBJS): GYP_CXXFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_CC_$(BUILDTYPE)) -$(OBJS): GYP_OBJCFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_C_$(BUILDTYPE)) $(CFLAGS_OBJC_$(BUILDTYPE)) -$(OBJS): GYP_OBJCXXFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_CC_$(BUILDTYPE)) $(CFLAGS_OBJCC_$(BUILDTYPE)) - -# Suffix rules, putting all outputs into $(obj). - -$(obj).$(TOOLSET)/$(TARGET)/%.o: $(srcdir)/%.cc FORCE_DO_CMD - @$(call do_cmd,cxx,1) - -# Try building from generated source, too. - -$(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj).$(TOOLSET)/%.cc FORCE_DO_CMD - @$(call do_cmd,cxx,1) - -$(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj)/%.cc FORCE_DO_CMD - @$(call do_cmd,cxx,1) - -# End of this set of suffix rules -### Rules for final target. -LDFLAGS_Debug := \ - -undefined dynamic_lookup \ - -Wl,-search_paths_first \ - -mmacosx-version-min=10.5 \ - -arch x86_64 \ - -L$(builddir) - -LIBTOOLFLAGS_Debug := \ - -undefined dynamic_lookup \ - -Wl,-search_paths_first - -LDFLAGS_Release := \ - -undefined dynamic_lookup \ - -Wl,-search_paths_first \ - -mmacosx-version-min=10.5 \ - -arch x86_64 \ - -L$(builddir) - -LIBTOOLFLAGS_Release := \ - -undefined dynamic_lookup \ - -Wl,-search_paths_first - -LIBS := - -$(builddir)/contextify.node: GYP_LDFLAGS := $(LDFLAGS_$(BUILDTYPE)) -$(builddir)/contextify.node: LIBS := $(LIBS) -$(builddir)/contextify.node: GYP_LIBTOOLFLAGS := $(LIBTOOLFLAGS_$(BUILDTYPE)) -$(builddir)/contextify.node: TOOLSET := $(TOOLSET) -$(builddir)/contextify.node: $(OBJS) FORCE_DO_CMD - $(call do_cmd,solink_module) - -all_deps += $(builddir)/contextify.node -# Add target alias -.PHONY: contextify -contextify: $(builddir)/contextify.node - -# Short alias for building this executable. -.PHONY: contextify.node -contextify.node: $(builddir)/contextify.node - -# Add executable to "all" target. -.PHONY: all -all: $(builddir)/contextify.node - diff --git a/node_modules/jsdom/node_modules/contextify/build/gyp-mac-tool b/node_modules/jsdom/node_modules/contextify/build/gyp-mac-tool deleted file mode 100755 index 8ef02b0..0000000 --- a/node_modules/jsdom/node_modules/contextify/build/gyp-mac-tool +++ /dev/null @@ -1,611 +0,0 @@ -#!/usr/bin/env python -# Generated by gyp. Do not edit. -# Copyright (c) 2012 Google Inc. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -"""Utility functions to perform Xcode-style build steps. - -These functions are executed via gyp-mac-tool when using the Makefile generator. -""" - -import fcntl -import fnmatch -import glob -import json -import os -import plistlib -import re -import shutil -import string -import subprocess -import sys -import tempfile - - -def main(args): - executor = MacTool() - exit_code = executor.Dispatch(args) - if exit_code is not None: - sys.exit(exit_code) - - -class MacTool(object): - """This class performs all the Mac tooling steps. The methods can either be - executed directly, or dispatched from an argument list.""" - - def Dispatch(self, args): - """Dispatches a string command to a method.""" - if len(args) < 1: - raise Exception("Not enough arguments") - - method = "Exec%s" % self._CommandifyName(args[0]) - return getattr(self, method)(*args[1:]) - - def _CommandifyName(self, name_string): - """Transforms a tool name like copy-info-plist to CopyInfoPlist""" - return name_string.title().replace('-', '') - - def ExecCopyBundleResource(self, source, dest, convert_to_binary): - """Copies a resource file to the bundle/Resources directory, performing any - necessary compilation on each resource.""" - extension = os.path.splitext(source)[1].lower() - if os.path.isdir(source): - # Copy tree. - # TODO(thakis): This copies file attributes like mtime, while the - # single-file branch below doesn't. This should probably be changed to - # be consistent with the single-file branch. - if os.path.exists(dest): - shutil.rmtree(dest) - shutil.copytree(source, dest) - elif extension == '.xib': - return self._CopyXIBFile(source, dest) - elif extension == '.storyboard': - return self._CopyXIBFile(source, dest) - elif extension == '.strings': - self._CopyStringsFile(source, dest, convert_to_binary) - else: - shutil.copy(source, dest) - - def _CopyXIBFile(self, source, dest): - """Compiles a XIB file with ibtool into a binary plist in the bundle.""" - - # ibtool sometimes crashes with relative paths. See crbug.com/314728. - base = os.path.dirname(os.path.realpath(__file__)) - if os.path.relpath(source): - source = os.path.join(base, source) - if os.path.relpath(dest): - dest = os.path.join(base, dest) - - args = ['xcrun', 'ibtool', '--errors', '--warnings', '--notices', - '--output-format', 'human-readable-text', '--compile', dest, source] - ibtool_section_re = re.compile(r'/\*.*\*/') - ibtool_re = re.compile(r'.*note:.*is clipping its content') - ibtoolout = subprocess.Popen(args, stdout=subprocess.PIPE) - current_section_header = None - for line in ibtoolout.stdout: - if ibtool_section_re.match(line): - current_section_header = line - elif not ibtool_re.match(line): - if current_section_header: - sys.stdout.write(current_section_header) - current_section_header = None - sys.stdout.write(line) - return ibtoolout.returncode - - def _ConvertToBinary(self, dest): - subprocess.check_call([ - 'xcrun', 'plutil', '-convert', 'binary1', '-o', dest, dest]) - - def _CopyStringsFile(self, source, dest, convert_to_binary): - """Copies a .strings file using iconv to reconvert the input into UTF-16.""" - input_code = self._DetectInputEncoding(source) or "UTF-8" - - # Xcode's CpyCopyStringsFile / builtin-copyStrings seems to call - # CFPropertyListCreateFromXMLData() behind the scenes; at least it prints - # CFPropertyListCreateFromXMLData(): Old-style plist parser: missing - # semicolon in dictionary. - # on invalid files. Do the same kind of validation. - import CoreFoundation - s = open(source, 'rb').read() - d = CoreFoundation.CFDataCreate(None, s, len(s)) - _, error = CoreFoundation.CFPropertyListCreateFromXMLData(None, d, 0, None) - if error: - return - - fp = open(dest, 'wb') - fp.write(s.decode(input_code).encode('UTF-16')) - fp.close() - - if convert_to_binary == 'True': - self._ConvertToBinary(dest) - - def _DetectInputEncoding(self, file_name): - """Reads the first few bytes from file_name and tries to guess the text - encoding. Returns None as a guess if it can't detect it.""" - fp = open(file_name, 'rb') - try: - header = fp.read(3) - except e: - fp.close() - return None - fp.close() - if header.startswith("\xFE\xFF"): - return "UTF-16" - elif header.startswith("\xFF\xFE"): - return "UTF-16" - elif header.startswith("\xEF\xBB\xBF"): - return "UTF-8" - else: - return None - - def ExecCopyInfoPlist(self, source, dest, convert_to_binary, *keys): - """Copies the |source| Info.plist to the destination directory |dest|.""" - # Read the source Info.plist into memory. - fd = open(source, 'r') - lines = fd.read() - fd.close() - - # Insert synthesized key/value pairs (e.g. BuildMachineOSBuild). - plist = plistlib.readPlistFromString(lines) - if keys: - plist = dict(plist.items() + json.loads(keys[0]).items()) - lines = plistlib.writePlistToString(plist) - - # Go through all the environment variables and replace them as variables in - # the file. - IDENT_RE = re.compile(r'[/\s]') - for key in os.environ: - if key.startswith('_'): - continue - evar = '${%s}' % key - evalue = os.environ[key] - lines = string.replace(lines, evar, evalue) - - # Xcode supports various suffices on environment variables, which are - # all undocumented. :rfc1034identifier is used in the standard project - # template these days, and :identifier was used earlier. They are used to - # convert non-url characters into things that look like valid urls -- - # except that the replacement character for :identifier, '_' isn't valid - # in a URL either -- oops, hence :rfc1034identifier was born. - evar = '${%s:identifier}' % key - evalue = IDENT_RE.sub('_', os.environ[key]) - lines = string.replace(lines, evar, evalue) - - evar = '${%s:rfc1034identifier}' % key - evalue = IDENT_RE.sub('-', os.environ[key]) - lines = string.replace(lines, evar, evalue) - - # Remove any keys with values that haven't been replaced. - lines = lines.split('\n') - for i in range(len(lines)): - if lines[i].strip().startswith("${"): - lines[i] = None - lines[i - 1] = None - lines = '\n'.join(filter(lambda x: x is not None, lines)) - - # Write out the file with variables replaced. - fd = open(dest, 'w') - fd.write(lines) - fd.close() - - # Now write out PkgInfo file now that the Info.plist file has been - # "compiled". - self._WritePkgInfo(dest) - - if convert_to_binary == 'True': - self._ConvertToBinary(dest) - - def _WritePkgInfo(self, info_plist): - """This writes the PkgInfo file from the data stored in Info.plist.""" - plist = plistlib.readPlist(info_plist) - if not plist: - return - - # Only create PkgInfo for executable types. - package_type = plist['CFBundlePackageType'] - if package_type != 'APPL': - return - - # The format of PkgInfo is eight characters, representing the bundle type - # and bundle signature, each four characters. If that is missing, four - # '?' characters are used instead. - signature_code = plist.get('CFBundleSignature', '????') - if len(signature_code) != 4: # Wrong length resets everything, too. - signature_code = '?' * 4 - - dest = os.path.join(os.path.dirname(info_plist), 'PkgInfo') - fp = open(dest, 'w') - fp.write('%s%s' % (package_type, signature_code)) - fp.close() - - def ExecFlock(self, lockfile, *cmd_list): - """Emulates the most basic behavior of Linux's flock(1).""" - # Rely on exception handling to report errors. - fd = os.open(lockfile, os.O_RDONLY|os.O_NOCTTY|os.O_CREAT, 0o666) - fcntl.flock(fd, fcntl.LOCK_EX) - return subprocess.call(cmd_list) - - def ExecFilterLibtool(self, *cmd_list): - """Calls libtool and filters out '/path/to/libtool: file: foo.o has no - symbols'.""" - libtool_re = re.compile(r'^.*libtool: file: .* has no symbols$') - libtool_re5 = re.compile( - r'^.*libtool: warning for library: ' + - r'.* the table of contents is empty ' + - r'\(no object file members in the library define global symbols\)$') - env = os.environ.copy() - # Ref: - # http://www.opensource.apple.com/source/cctools/cctools-809/misc/libtool.c - # The problem with this flag is that it resets the file mtime on the file to - # epoch=0, e.g. 1970-1-1 or 1969-12-31 depending on timezone. - env['ZERO_AR_DATE'] = '1' - libtoolout = subprocess.Popen(cmd_list, stderr=subprocess.PIPE, env=env) - _, err = libtoolout.communicate() - for line in err.splitlines(): - if not libtool_re.match(line) and not libtool_re5.match(line): - print >>sys.stderr, line - # Unconditionally touch the output .a file on the command line if present - # and the command succeeded. A bit hacky. - if not libtoolout.returncode: - for i in range(len(cmd_list) - 1): - if cmd_list[i] == "-o" and cmd_list[i+1].endswith('.a'): - os.utime(cmd_list[i+1], None) - break - return libtoolout.returncode - - def ExecPackageFramework(self, framework, version): - """Takes a path to Something.framework and the Current version of that and - sets up all the symlinks.""" - # Find the name of the binary based on the part before the ".framework". - binary = os.path.basename(framework).split('.')[0] - - CURRENT = 'Current' - RESOURCES = 'Resources' - VERSIONS = 'Versions' - - if not os.path.exists(os.path.join(framework, VERSIONS, version, binary)): - # Binary-less frameworks don't seem to contain symlinks (see e.g. - # chromium's out/Debug/org.chromium.Chromium.manifest/ bundle). - return - - # Move into the framework directory to set the symlinks correctly. - pwd = os.getcwd() - os.chdir(framework) - - # Set up the Current version. - self._Relink(version, os.path.join(VERSIONS, CURRENT)) - - # Set up the root symlinks. - self._Relink(os.path.join(VERSIONS, CURRENT, binary), binary) - self._Relink(os.path.join(VERSIONS, CURRENT, RESOURCES), RESOURCES) - - # Back to where we were before! - os.chdir(pwd) - - def _Relink(self, dest, link): - """Creates a symlink to |dest| named |link|. If |link| already exists, - it is overwritten.""" - if os.path.lexists(link): - os.remove(link) - os.symlink(dest, link) - - def ExecCompileXcassets(self, keys, *inputs): - """Compiles multiple .xcassets files into a single .car file. - - This invokes 'actool' to compile all the inputs .xcassets files. The - |keys| arguments is a json-encoded dictionary of extra arguments to - pass to 'actool' when the asset catalogs contains an application icon - or a launch image. - - Note that 'actool' does not create the Assets.car file if the asset - catalogs does not contains imageset. - """ - command_line = [ - 'xcrun', 'actool', '--output-format', 'human-readable-text', - '--compress-pngs', '--notices', '--warnings', '--errors', - ] - is_iphone_target = 'IPHONEOS_DEPLOYMENT_TARGET' in os.environ - if is_iphone_target: - platform = os.environ['CONFIGURATION'].split('-')[-1] - if platform not in ('iphoneos', 'iphonesimulator'): - platform = 'iphonesimulator' - command_line.extend([ - '--platform', platform, '--target-device', 'iphone', - '--target-device', 'ipad', '--minimum-deployment-target', - os.environ['IPHONEOS_DEPLOYMENT_TARGET'], '--compile', - os.path.abspath(os.environ['CONTENTS_FOLDER_PATH']), - ]) - else: - command_line.extend([ - '--platform', 'macosx', '--target-device', 'mac', - '--minimum-deployment-target', os.environ['MACOSX_DEPLOYMENT_TARGET'], - '--compile', - os.path.abspath(os.environ['UNLOCALIZED_RESOURCES_FOLDER_PATH']), - ]) - if keys: - keys = json.loads(keys) - for key, value in keys.iteritems(): - arg_name = '--' + key - if isinstance(value, bool): - if value: - command_line.append(arg_name) - elif isinstance(value, list): - for v in value: - command_line.append(arg_name) - command_line.append(str(v)) - else: - command_line.append(arg_name) - command_line.append(str(value)) - # Note: actool crashes if inputs path are relative, so use os.path.abspath - # to get absolute path name for inputs. - command_line.extend(map(os.path.abspath, inputs)) - subprocess.check_call(command_line) - - def ExecMergeInfoPlist(self, output, *inputs): - """Merge multiple .plist files into a single .plist file.""" - merged_plist = {} - for path in inputs: - plist = self._LoadPlistMaybeBinary(path) - self._MergePlist(merged_plist, plist) - plistlib.writePlist(merged_plist, output) - - def ExecCodeSignBundle(self, key, resource_rules, entitlements, provisioning): - """Code sign a bundle. - - This function tries to code sign an iOS bundle, following the same - algorithm as Xcode: - 1. copy ResourceRules.plist from the user or the SDK into the bundle, - 2. pick the provisioning profile that best match the bundle identifier, - and copy it into the bundle as embedded.mobileprovision, - 3. copy Entitlements.plist from user or SDK next to the bundle, - 4. code sign the bundle. - """ - resource_rules_path = self._InstallResourceRules(resource_rules) - substitutions, overrides = self._InstallProvisioningProfile( - provisioning, self._GetCFBundleIdentifier()) - entitlements_path = self._InstallEntitlements( - entitlements, substitutions, overrides) - subprocess.check_call([ - 'codesign', '--force', '--sign', key, '--resource-rules', - resource_rules_path, '--entitlements', entitlements_path, - os.path.join( - os.environ['TARGET_BUILD_DIR'], - os.environ['FULL_PRODUCT_NAME'])]) - - def _InstallResourceRules(self, resource_rules): - """Installs ResourceRules.plist from user or SDK into the bundle. - - Args: - resource_rules: string, optional, path to the ResourceRules.plist file - to use, default to "${SDKROOT}/ResourceRules.plist" - - Returns: - Path to the copy of ResourceRules.plist into the bundle. - """ - source_path = resource_rules - target_path = os.path.join( - os.environ['BUILT_PRODUCTS_DIR'], - os.environ['CONTENTS_FOLDER_PATH'], - 'ResourceRules.plist') - if not source_path: - source_path = os.path.join( - os.environ['SDKROOT'], 'ResourceRules.plist') - shutil.copy2(source_path, target_path) - return target_path - - def _InstallProvisioningProfile(self, profile, bundle_identifier): - """Installs embedded.mobileprovision into the bundle. - - Args: - profile: string, optional, short name of the .mobileprovision file - to use, if empty or the file is missing, the best file installed - will be used - bundle_identifier: string, value of CFBundleIdentifier from Info.plist - - Returns: - A tuple containing two dictionary: variables substitutions and values - to overrides when generating the entitlements file. - """ - source_path, provisioning_data, team_id = self._FindProvisioningProfile( - profile, bundle_identifier) - target_path = os.path.join( - os.environ['BUILT_PRODUCTS_DIR'], - os.environ['CONTENTS_FOLDER_PATH'], - 'embedded.mobileprovision') - shutil.copy2(source_path, target_path) - substitutions = self._GetSubstitutions(bundle_identifier, team_id + '.') - return substitutions, provisioning_data['Entitlements'] - - def _FindProvisioningProfile(self, profile, bundle_identifier): - """Finds the .mobileprovision file to use for signing the bundle. - - Checks all the installed provisioning profiles (or if the user specified - the PROVISIONING_PROFILE variable, only consult it) and select the most - specific that correspond to the bundle identifier. - - Args: - profile: string, optional, short name of the .mobileprovision file - to use, if empty or the file is missing, the best file installed - will be used - bundle_identifier: string, value of CFBundleIdentifier from Info.plist - - Returns: - A tuple of the path to the selected provisioning profile, the data of - the embedded plist in the provisioning profile and the team identifier - to use for code signing. - - Raises: - SystemExit: if no .mobileprovision can be used to sign the bundle. - """ - profiles_dir = os.path.join( - os.environ['HOME'], 'Library', 'MobileDevice', 'Provisioning Profiles') - if not os.path.isdir(profiles_dir): - print >>sys.stderr, ( - 'cannot find mobile provisioning for %s' % bundle_identifier) - sys.exit(1) - provisioning_profiles = None - if profile: - profile_path = os.path.join(profiles_dir, profile + '.mobileprovision') - if os.path.exists(profile_path): - provisioning_profiles = [profile_path] - if not provisioning_profiles: - provisioning_profiles = glob.glob( - os.path.join(profiles_dir, '*.mobileprovision')) - valid_provisioning_profiles = {} - for profile_path in provisioning_profiles: - profile_data = self._LoadProvisioningProfile(profile_path) - app_id_pattern = profile_data.get( - 'Entitlements', {}).get('application-identifier', '') - for team_identifier in profile_data.get('TeamIdentifier', []): - app_id = '%s.%s' % (team_identifier, bundle_identifier) - if fnmatch.fnmatch(app_id, app_id_pattern): - valid_provisioning_profiles[app_id_pattern] = ( - profile_path, profile_data, team_identifier) - if not valid_provisioning_profiles: - print >>sys.stderr, ( - 'cannot find mobile provisioning for %s' % bundle_identifier) - sys.exit(1) - # If the user has multiple provisioning profiles installed that can be - # used for ${bundle_identifier}, pick the most specific one (ie. the - # provisioning profile whose pattern is the longest). - selected_key = max(valid_provisioning_profiles, key=lambda v: len(v)) - return valid_provisioning_profiles[selected_key] - - def _LoadProvisioningProfile(self, profile_path): - """Extracts the plist embedded in a provisioning profile. - - Args: - profile_path: string, path to the .mobileprovision file - - Returns: - Content of the plist embedded in the provisioning profile as a dictionary. - """ - with tempfile.NamedTemporaryFile() as temp: - subprocess.check_call([ - 'security', 'cms', '-D', '-i', profile_path, '-o', temp.name]) - return self._LoadPlistMaybeBinary(temp.name) - - def _MergePlist(self, merged_plist, plist): - """Merge |plist| into |merged_plist|.""" - for key, value in plist.iteritems(): - if isinstance(value, dict): - merged_value = merged_plist.get(key, {}) - if isinstance(merged_value, dict): - self._MergePlist(merged_value, value) - merged_plist[key] = merged_value - else: - merged_plist[key] = value - else: - merged_plist[key] = value - - def _LoadPlistMaybeBinary(self, plist_path): - """Loads into a memory a plist possibly encoded in binary format. - - This is a wrapper around plistlib.readPlist that tries to convert the - plist to the XML format if it can't be parsed (assuming that it is in - the binary format). - - Args: - plist_path: string, path to a plist file, in XML or binary format - - Returns: - Content of the plist as a dictionary. - """ - try: - # First, try to read the file using plistlib that only supports XML, - # and if an exception is raised, convert a temporary copy to XML and - # load that copy. - return plistlib.readPlist(plist_path) - except: - pass - with tempfile.NamedTemporaryFile() as temp: - shutil.copy2(plist_path, temp.name) - subprocess.check_call(['plutil', '-convert', 'xml1', temp.name]) - return plistlib.readPlist(temp.name) - - def _GetSubstitutions(self, bundle_identifier, app_identifier_prefix): - """Constructs a dictionary of variable substitutions for Entitlements.plist. - - Args: - bundle_identifier: string, value of CFBundleIdentifier from Info.plist - app_identifier_prefix: string, value for AppIdentifierPrefix - - Returns: - Dictionary of substitutions to apply when generating Entitlements.plist. - """ - return { - 'CFBundleIdentifier': bundle_identifier, - 'AppIdentifierPrefix': app_identifier_prefix, - } - - def _GetCFBundleIdentifier(self): - """Extracts CFBundleIdentifier value from Info.plist in the bundle. - - Returns: - Value of CFBundleIdentifier in the Info.plist located in the bundle. - """ - info_plist_path = os.path.join( - os.environ['TARGET_BUILD_DIR'], - os.environ['INFOPLIST_PATH']) - info_plist_data = self._LoadPlistMaybeBinary(info_plist_path) - return info_plist_data['CFBundleIdentifier'] - - def _InstallEntitlements(self, entitlements, substitutions, overrides): - """Generates and install the ${BundleName}.xcent entitlements file. - - Expands variables "$(variable)" pattern in the source entitlements file, - add extra entitlements defined in the .mobileprovision file and the copy - the generated plist to "${BundlePath}.xcent". - - Args: - entitlements: string, optional, path to the Entitlements.plist template - to use, defaults to "${SDKROOT}/Entitlements.plist" - substitutions: dictionary, variable substitutions - overrides: dictionary, values to add to the entitlements - - Returns: - Path to the generated entitlements file. - """ - source_path = entitlements - target_path = os.path.join( - os.environ['BUILT_PRODUCTS_DIR'], - os.environ['PRODUCT_NAME'] + '.xcent') - if not source_path: - source_path = os.path.join( - os.environ['SDKROOT'], - 'Entitlements.plist') - shutil.copy2(source_path, target_path) - data = self._LoadPlistMaybeBinary(target_path) - data = self._ExpandVariables(data, substitutions) - if overrides: - for key in overrides: - if key not in data: - data[key] = overrides[key] - plistlib.writePlist(data, target_path) - return target_path - - def _ExpandVariables(self, data, substitutions): - """Expands variables "$(variable)" in data. - - Args: - data: object, can be either string, list or dictionary - substitutions: dictionary, variable substitutions to perform - - Returns: - Copy of data where each references to "$(variable)" has been replaced - by the corresponding value found in substitutions, or left intact if - the key was not found. - """ - if isinstance(data, str): - for key, value in substitutions.iteritems(): - data = data.replace('$(%s)' % key, value) - return data - if isinstance(data, list): - return [self._ExpandVariables(v, substitutions) for v in data] - if isinstance(data, dict): - return {k: self._ExpandVariables(data[k], substitutions) for k in data} - return data - -if __name__ == '__main__': - sys.exit(main(sys.argv[1:])) diff --git a/node_modules/jsdom/node_modules/contextify/changelog b/node_modules/jsdom/node_modules/contextify/changelog deleted file mode 100644 index 4e44577..0000000 --- a/node_modules/jsdom/node_modules/contextify/changelog +++ /dev/null @@ -1,67 +0,0 @@ -0.1.15 - * Add support for Node 4 (Ido Ben-Yair - @idoby and Rod Vagg - @rvagg) -0.1.14 - * Update NAN to ~1.8.4 (Benjamin Byholm - @kkoopa) -0.1.13 - * Bump NAN to ~1.5.0 (Trygve Lie - @trygve-lie) -0.1.12 - * Fix build for newer V8s (Andrew Paprocki - @apaprocki) -0.1.11 - * Fix build error on node 0.11 (Sergei Ianovich - @yanovich) -0.1.10 - * Fix segfault in GlobalPropertyGetter() (Sergei Ianovich - @yanovich) -0.1.9 - * Update NAN to 1.3.0 (Benjamin Byholm - @kkoopa) - * Notify heap on context disposal (Kevin Decker - @kpdecker) - * Remove unused persistent handles (Kevin Decker - @kpdecker) -0.1.8 - * Update NAN to 1.0.0 (Benjamin Byholm - @kkoopa) -0.1.7 - * Fix broken builds with node >= 0.11.4 (Benjamin Byholm - @kkoopa) -0.1.6 - * Fix broken build with node >= 0.11.0 (Jamie Kirkpatrick - @jpk) -0.1.5 - * Fix broken builds on 0.9.11 and above (tomgco - #61) -0.1.4 - * Fix segfault on Node >= 0.9.6. (pyokagan) - * Allow pre-compiling scripts. (mroch) -0.1.3 - * Remove PrintException. -0.1.2 - * Renamed bindings.gyp to binding.gyp (Rex Morgan) - * More fixes for OS X build. -0.1.1 - * Add node-gyp build support (Nathan Rajlich) - * Fix build for OS X (stolen from einaros's work on ws :)). - * Better exception reporting (print error message and stack trace). -0.1.0 - * Fix: #13 - Can't use global.eval as function. - * Added [Named|Indexed]SecurityCallbacks to global ObjectTemplate. - * No longer detaching the global proxy. - * Refactored to use node::ObjectWrap. -0.0.7 - * Fix: #11 - Declared global variables treated as undefined - -0.0.6 - * Fix: potential segfault when looking up properties on sandbox. - -0.0.5 - * Better error feedback when the module isn't built on the current node - version. - * All builds now build to the Release directory, regardless of Node - version. - -0.0.4 - * Defend against calling Contextify methods on the global after dispose() - has been called. - * Fix: npm install fails on Node 0.5.x. - -0.0.3 - * Fix: segfault due to premature garbage collection of sandbox. - * Added dispose() method to clean up context. - -0.0.2 - * Fix: memory leak due to creating unnecessary function instances. - -0.0.1 - * Initial release diff --git a/node_modules/jsdom/node_modules/contextify/lib/contextify.js b/node_modules/jsdom/node_modules/contextify/lib/contextify.js deleted file mode 100644 index 01020e0..0000000 --- a/node_modules/jsdom/node_modules/contextify/lib/contextify.js +++ /dev/null @@ -1,48 +0,0 @@ -var binding = require('bindings')('contextify'); -var ContextifyContext = binding.ContextifyContext; -var ContextifyScript = binding.ContextifyScript; - -function Contextify (sandbox) { - if (typeof sandbox != 'object') { - sandbox = {}; - } - var ctx = new ContextifyContext(sandbox); - - sandbox.run = function () { - return ctx.run.apply(ctx, arguments); - }; - - sandbox.getGlobal = function () { - return ctx.getGlobal(); - } - - sandbox.dispose = function () { - sandbox.run = function () { - throw new Error("Called run() after dispose()."); - }; - sandbox.getGlobal = function () { - throw new Error("Called getGlobal() after dispose()."); - }; - sandbox.dispose = function () { - throw new Error("Called dispose() after dispose()."); - }; - ctx = null; - } - return sandbox; -} - -Contextify.createContext = function (sandbox) { - if (typeof sandbox != 'object') { - sandbox = {}; - } - return new ContextifyContext(sandbox); -}; - -Contextify.createScript = function (code, filename) { - if (typeof code != 'string') { - throw new TypeError('Code argument is required'); - } - return new ContextifyScript(code, filename); -}; - -module.exports = Contextify; diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/bindings/README.md b/node_modules/jsdom/node_modules/contextify/node_modules/bindings/README.md deleted file mode 100644 index 585cf51..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/bindings/README.md +++ /dev/null @@ -1,97 +0,0 @@ -node-bindings -============= -### Helper module for loading your native module's .node file - -This is a helper module for authors of Node.js native addon modules. -It is basically the "swiss army knife" of `require()`ing your native module's -`.node` file. - -Throughout the course of Node's native addon history, addons have ended up being -compiled in a variety of different places, depending on which build tool and which -version of node was used. To make matters worse, now the _gyp_ build tool can -produce either a _Release_ or _Debug_ build, each being built into different -locations. - -This module checks _all_ the possible locations that a native addon would be built -at, and returns the first one that loads successfully. - - -Installation ------------- - -Install with `npm`: - -``` bash -$ npm install bindings -``` - -Or add it to the `"dependencies"` section of your _package.json_ file. - - -Example -------- - -`require()`ing the proper bindings file for the current node version, platform -and architecture is as simple as: - -``` js -var bindings = require('bindings')('binding.node') - -// Use your bindings defined in your C files -bindings.your_c_function() -``` - - -Nice Error Output ------------------ - -When the `.node` file could not be loaded, `node-bindings` throws an Error with -a nice error message telling you exactly what was tried. You can also check the -`err.tries` Array property. - -``` -Error: Could not load the bindings file. Tried: - → /Users/nrajlich/ref/build/binding.node - → /Users/nrajlich/ref/build/Debug/binding.node - → /Users/nrajlich/ref/build/Release/binding.node - → /Users/nrajlich/ref/out/Debug/binding.node - → /Users/nrajlich/ref/Debug/binding.node - → /Users/nrajlich/ref/out/Release/binding.node - → /Users/nrajlich/ref/Release/binding.node - → /Users/nrajlich/ref/build/default/binding.node - → /Users/nrajlich/ref/compiled/0.8.2/darwin/x64/binding.node - at bindings (/Users/nrajlich/ref/node_modules/bindings/bindings.js:84:13) - at Object. (/Users/nrajlich/ref/lib/ref.js:5:47) - at Module._compile (module.js:449:26) - at Object.Module._extensions..js (module.js:467:10) - at Module.load (module.js:356:32) - at Function.Module._load (module.js:312:12) - ... -``` - - -License -------- - -(The MIT License) - -Copyright (c) 2012 Nathan Rajlich <nathan@tootallnate.net> - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/bindings/bindings.js b/node_modules/jsdom/node_modules/contextify/node_modules/bindings/bindings.js deleted file mode 100644 index 93dcf85..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/bindings/bindings.js +++ /dev/null @@ -1,166 +0,0 @@ - -/** - * Module dependencies. - */ - -var fs = require('fs') - , path = require('path') - , join = path.join - , dirname = path.dirname - , exists = fs.existsSync || path.existsSync - , defaults = { - arrow: process.env.NODE_BINDINGS_ARROW || ' → ' - , compiled: process.env.NODE_BINDINGS_COMPILED_DIR || 'compiled' - , platform: process.platform - , arch: process.arch - , version: process.versions.node - , bindings: 'bindings.node' - , try: [ - // node-gyp's linked version in the "build" dir - [ 'module_root', 'build', 'bindings' ] - // node-waf and gyp_addon (a.k.a node-gyp) - , [ 'module_root', 'build', 'Debug', 'bindings' ] - , [ 'module_root', 'build', 'Release', 'bindings' ] - // Debug files, for development (legacy behavior, remove for node v0.9) - , [ 'module_root', 'out', 'Debug', 'bindings' ] - , [ 'module_root', 'Debug', 'bindings' ] - // Release files, but manually compiled (legacy behavior, remove for node v0.9) - , [ 'module_root', 'out', 'Release', 'bindings' ] - , [ 'module_root', 'Release', 'bindings' ] - // Legacy from node-waf, node <= 0.4.x - , [ 'module_root', 'build', 'default', 'bindings' ] - // Production "Release" buildtype binary (meh...) - , [ 'module_root', 'compiled', 'version', 'platform', 'arch', 'bindings' ] - ] - } - -/** - * The main `bindings()` function loads the compiled bindings for a given module. - * It uses V8's Error API to determine the parent filename that this function is - * being invoked from, which is then used to find the root directory. - */ - -function bindings (opts) { - - // Argument surgery - if (typeof opts == 'string') { - opts = { bindings: opts } - } else if (!opts) { - opts = {} - } - opts.__proto__ = defaults - - // Get the module root - if (!opts.module_root) { - opts.module_root = exports.getRoot(exports.getFileName()) - } - - // Ensure the given bindings name ends with .node - if (path.extname(opts.bindings) != '.node') { - opts.bindings += '.node' - } - - var tries = [] - , i = 0 - , l = opts.try.length - , n - , b - , err - - for (; i=1.2.1 <2.0.0", - "_npmVersion": "1.4.14", - "_npmUser": { - "name": "tootallnate", - "email": "nathan@tootallnate.net" - }, - "maintainers": [ - { - "name": "TooTallNate", - "email": "nathan@tootallnate.net" - }, - { - "name": "tootallnate", - "email": "nathan@tootallnate.net" - } - ], - "dist": { - "shasum": "14ad6113812d2d37d72e67b4cacb4bb726505f11", - "tarball": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz" - }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/CHANGELOG.md b/node_modules/jsdom/node_modules/contextify/node_modules/nan/CHANGELOG.md deleted file mode 100644 index 2519fbc..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/CHANGELOG.md +++ /dev/null @@ -1,430 +0,0 @@ -# NAN ChangeLog - -**Version 2.4.0: current Node 6.3.0, Node 12: 0.12.15, Node 10: 0.10.46, iojs: 3.3.1** - -### 2.4.0 Jul 10 2016 - - - Feature: Rewrite Callback to add Callback::Reset c4cf44d61f8275cd5f7b0c911d7a806d4004f649 - - Feature: AsyncProgressWorker: add template types for .send 1242c9a11a7ed481c8f08ec06316385cacc513d0 - - Bugfix: Add constness to old Persistent comparison operators bd43cb9982c7639605d60fd073efe8cae165d9b2 - -### 2.3.5 May 31 2016 - - - Bugfix: Replace NAN_INLINE with 'inline' keyword. 71819d8725f822990f439479c9aba3b240804909 - -### 2.3.4 May 31 2016 - - - Bugfix: Remove V8 deprecation warnings 0592fb0a47f3a1c7763087ebea8e1138829f24f9 - - Bugfix: Fix new versions not to use WeakCallbackInfo::IsFirstPass 615c19d9e03d4be2049c10db0151edbc3b229246 - - Bugfix: Make ObjectWrap::handle() const d19af99595587fe7a26bd850af6595c2a7145afc - - Bugfix: Fix compilation errors related to 0592fb0a47f3a1c7763087ebea8e1138829f24f9 e9191c525b94f652718325e28610a1adcf90fed8 - -### 2.3.3 May 4 2016 - - - Bugfix: Refactor SetMethod() to deal with v8::Templates (#566) b9083cf6d5de6ebe6bcb49c7502fbb7c0d9ddda8 - -### 2.3.2 Apr 27 2016 - - - Bugfix: Fix compilation on outdated versions due to Handle removal f8b7c875d04d425a41dfd4f3f8345bc3a11e6c52 - -### 2.3.1 Apr 27 2016 - - - Bugfix: Don't use deprecated v8::Template::Set() in SetMethod a90951e9ea70fa1b3836af4b925322919159100e - -### 2.3.0 Apr 27 2016 - - - Feature: added Signal() for invoking async callbacks without sending data from AsyncProgressWorker d8adba45f20e077d00561b20199133620c990b38 - - Bugfix: Don't use deprecated v8::Template::Set() 00dacf0a4b86027415867fa7f1059acc499dcece - -### 2.2.1 Mar 29 2016 - - - Bugfix: Use NewFromUnsigned in ReturnValue::Set(uint32_t i) for pre_12 3a18f9bdce29826e0e4c217854bc476918241a58 - - Performance: Remove unneeeded nullptr checks b715ef44887931c94f0d1605b3b1a4156eebece9 - -### 2.2.0 Jan 9 2016 - - - Feature: Add Function::Call wrapper 4c157474dacf284d125c324177b45aa5dabc08c6 - - Feature: Rename GC*logueCallback to GCCallback for > 4.0 3603435109f981606d300eb88004ca101283acec - - Bugfix: Fix Global::Pass for old versions 367e82a60fbaa52716232cc89db1cc3f685d77d9 - - Bugfix: Remove weird MaybeLocal wrapping of what already is a MaybeLocal 23b4590db10c2ba66aee2338aebe9751c4cb190b - -### 2.1.0 Oct 8 2015 - - - Deprecation: Deprecate NanErrnoException in favor of ErrnoException 0af1ca4cf8b3f0f65ed31bc63a663ab3319da55c - - Feature: added helper class for accessing contents of typedarrays 17b51294c801e534479d5463697a73462d0ca555 - - Feature: [Maybe types] Add MakeMaybe(...) 48d7b53d9702b0c7a060e69ea10fea8fb48d814d - - Feature: new: allow utf16 string with length 66ac6e65c8ab9394ef588adfc59131b3b9d8347b - - Feature: Introduce SetCallHandler and SetCallAsFunctionHandler 7764a9a115d60ba10dc24d86feb0fbc9b4f75537 - - Bugfix: Enable creating Locals from Globals under Node 0.10. 9bf9b8b190821af889790fdc18ace57257e4f9ff - - Bugfix: Fix issue #462 where PropertyCallbackInfo data is not stored safely. 55f50adedd543098526c7b9f4fffd607d3f9861f - -### 2.0.9 Sep 8 2015 - - - Bugfix: EscapableHandleScope in Nan::NewBuffer for Node 0.8 and 0.10 b1654d7 - -### 2.0.8 Aug 28 2015 - - - Work around duplicate linking bug in clang 11902da - -### 2.0.7 Aug 26 2015 - - - Build: Repackage - -### 2.0.6 Aug 26 2015 - - - Bugfix: Properly handle null callback in FunctionTemplate factory 6e99cb1 - - Bugfix: Remove unused static std::map instances 525bddc - - Bugfix: Make better use of maybe versions of APIs bfba85b - - Bugfix: Fix shadowing issues with handle in ObjectWrap 0a9072d - -### 2.0.5 Aug 10 2015 - - - Bugfix: Reimplement weak callback in ObjectWrap 98d38c1 - - Bugfix: Make sure callback classes are not assignable, copyable or movable 81f9b1d - -### 2.0.4 Aug 6 2015 - - - Build: Repackage - -### 2.0.3 Aug 6 2015 - - - Bugfix: Don't use clang++ / g++ syntax extension. 231450e - -### 2.0.2 Aug 6 2015 - - - Build: Repackage - -### 2.0.1 Aug 6 2015 - - - Bugfix: Add workaround for missing REPLACE_INVALID_UTF8 60d6687 - - Bugfix: Reimplement ObjectWrap from scratch to prevent memory leaks 6484601 - - Bugfix: Fix Persistent leak in FunctionCallbackInfo and PropertyCallbackInfo 641ef5f - - Bugfix: Add missing overload for Nan::NewInstance that takes argc/argv 29450ed - -### 2.0.0 Jul 31 2015 - - - Change: Renamed identifiers with leading underscores b5932b4 - - Change: Replaced NanObjectWrapHandle with class NanObjectWrap 464f1e1 - - Change: Replace NanScope and NanEscpableScope macros with classes 47751c4 - - Change: Rename NanNewBufferHandle to NanNewBuffer 6745f99 - - Change: Rename NanBufferUse to NanNewBuffer 3e8b0a5 - - Change: Rename NanNewBuffer to NanCopyBuffer d6af78d - - Change: Remove Nan prefix from all names 72d1f67 - - Change: Update Buffer API for new upstream changes d5d3291 - - Change: Rename Scope and EscapableScope to HandleScope and EscapableHandleScope 21a7a6a - - Change: Get rid of Handles e6c0daf - - Feature: Support io.js 3 with V8 4.4 - - Feature: Introduce NanPersistent 7fed696 - - Feature: Introduce NanGlobal 4408da1 - - Feature: Added NanTryCatch 10f1ca4 - - Feature: Update for V8 v4.3 4b6404a - - Feature: Introduce NanNewOneByteString c543d32 - - Feature: Introduce namespace Nan 67ed1b1 - - Removal: Remove NanLocker and NanUnlocker dd6e401 - - Removal: Remove string converters, except NanUtf8String, which now follows the node implementation b5d00a9 - - Removal: Remove NanReturn* macros d90a25c - - Removal: Remove HasInstance e8f84fe - - -### 1.9.0 Jul 31 2015 - - - Feature: Added `NanFatalException` 81d4a2c - - Feature: Added more error types 4265f06 - - Feature: Added dereference and function call operators to NanCallback c4b2ed0 - - Feature: Added indexed GetFromPersistent and SaveToPersistent edd510c - - Feature: Added more overloads of SaveToPersistent and GetFromPersistent 8b1cef6 - - Feature: Added NanErrnoException dd87d9e - - Correctness: Prevent assign, copy, and move for classes that do not support it 1f55c59, 4b808cb, c96d9b2, fba4a29, 3357130 - - Deprecation: Deprecate `NanGetPointerSafe` and `NanSetPointerSafe` 81d4a2c - - Deprecation: Deprecate `NanBooleanOptionValue` and `NanUInt32OptionValue` 0ad254b - -### 1.8.4 Apr 26 2015 - - - Build: Repackage - -### 1.8.3 Apr 26 2015 - - - Bugfix: Include missing header 1af8648 - -### 1.8.2 Apr 23 2015 - - - Build: Repackage - -### 1.8.1 Apr 23 2015 - - - Bugfix: NanObjectWrapHandle should take a pointer 155f1d3 - -### 1.8.0 Apr 23 2015 - - - Feature: Allow primitives with NanReturnValue 2e4475e - - Feature: Added comparison operators to NanCallback 55b075e - - Feature: Backport thread local storage 15bb7fa - - Removal: Remove support for signatures with arguments 8a2069d - - Correcteness: Replaced NanObjectWrapHandle macro with function 0bc6d59 - -### 1.7.0 Feb 28 2015 - - - Feature: Made NanCallback::Call accept optional target 8d54da7 - - Feature: Support atom-shell 0.21 0b7f1bb - -### 1.6.2 Feb 6 2015 - - - Bugfix: NanEncode: fix argument type for node::Encode on io.js 2be8639 - -### 1.6.1 Jan 23 2015 - - - Build: version bump - -### 1.5.3 Jan 23 2015 - - - Build: repackage - -### 1.6.0 Jan 23 2015 - - - Deprecated `NanNewContextHandle` in favor of `NanNew` 49259af - - Support utility functions moved in newer v8 versions (Node 0.11.15, io.js 1.0) a0aa179 - - Added `NanEncode`, `NanDecodeBytes` and `NanDecodeWrite` 75e6fb9 - -### 1.5.2 Jan 23 2015 - - - Bugfix: Fix non-inline definition build error with clang++ 21d96a1, 60fadd4 - - Bugfix: Readded missing String constructors 18d828f - - Bugfix: Add overload handling NanNew(..) 5ef813b - - Bugfix: Fix uv_work_cb versioning 997e4ae - - Bugfix: Add function factory and test 4eca89c - - Bugfix: Add object template factory and test cdcb951 - - Correctness: Lifted an io.js related typedef c9490be - - Correctness: Make explicit downcasts of String lengths 00074e6 - - Windows: Limit the scope of disabled warning C4530 83d7deb - -### 1.5.1 Jan 15 2015 - - - Build: version bump - -### 1.4.3 Jan 15 2015 - - - Build: version bump - -### 1.4.2 Jan 15 2015 - - - Feature: Support io.js 0dbc5e8 - -### 1.5.0 Jan 14 2015 - - - Feature: Support io.js b003843 - - Correctness: Improved NanNew internals 9cd4f6a - - Feature: Implement progress to NanAsyncWorker 8d6a160 - -### 1.4.1 Nov 8 2014 - - - Bugfix: Handle DEBUG definition correctly - - Bugfix: Accept int as Boolean - -### 1.4.0 Nov 1 2014 - - - Feature: Added NAN_GC_CALLBACK 6a5c245 - - Performance: Removed unnecessary local handle creation 18a7243, 41fe2f8 - - Correctness: Added constness to references in NanHasInstance 02c61cd - - Warnings: Fixed spurious warnings from -Wundef and -Wshadow, 541b122, 99d8cb6 - - Windoze: Shut Visual Studio up when compiling 8d558c1 - - License: Switch to plain MIT from custom hacked MIT license 11de983 - - Build: Added test target to Makefile e232e46 - - Performance: Removed superfluous scope in NanAsyncWorker f4b7821 - - Sugar/Feature: Added NanReturnThis() and NanReturnHolder() shorthands 237a5ff, d697208 - - Feature: Added suitable overload of NanNew for v8::Integer::NewFromUnsigned b27b450 - -### 1.3.0 Aug 2 2014 - - - Added NanNew(std::string) - - Added NanNew(std::string&) - - Added NanAsciiString helper class - - Added NanUtf8String helper class - - Added NanUcs2String helper class - - Deprecated NanRawString() - - Deprecated NanCString() - - Added NanGetIsolateData(v8::Isolate *isolate) - - Added NanMakeCallback(v8::Handle target, v8::Handle func, int argc, v8::Handle* argv) - - Added NanMakeCallback(v8::Handle target, v8::Handle symbol, int argc, v8::Handle* argv) - - Added NanMakeCallback(v8::Handle target, const char* method, int argc, v8::Handle* argv) - - Added NanSetTemplate(v8::Handle templ, v8::Handle name , v8::Handle value, v8::PropertyAttribute attributes) - - Added NanSetPrototypeTemplate(v8::Local templ, v8::Handle name, v8::Handle value, v8::PropertyAttribute attributes) - - Added NanSetInstanceTemplate(v8::Local templ, const char *name, v8::Handle value) - - Added NanSetInstanceTemplate(v8::Local templ, v8::Handle name, v8::Handle value, v8::PropertyAttribute attributes) - -### 1.2.0 Jun 5 2014 - - - Add NanSetPrototypeTemplate - - Changed NAN_WEAK_CALLBACK internals, switched _NanWeakCallbackData to class, - introduced _NanWeakCallbackDispatcher - - Removed -Wno-unused-local-typedefs from test builds - - Made test builds Windows compatible ('Sleep()') - -### 1.1.2 May 28 2014 - - - Release to fix more stuff-ups in 1.1.1 - -### 1.1.1 May 28 2014 - - - Release to fix version mismatch in nan.h and lack of changelog entry for 1.1.0 - -### 1.1.0 May 25 2014 - - - Remove nan_isolate, use v8::Isolate::GetCurrent() internally instead - - Additional explicit overloads for NanNew(): (char*,int), (uint8_t*[,int]), - (uint16_t*[,int), double, int, unsigned int, bool, v8::String::ExternalStringResource*, - v8::String::ExternalAsciiStringResource* - - Deprecate NanSymbol() - - Added SetErrorMessage() and ErrorMessage() to NanAsyncWorker - -### 1.0.0 May 4 2014 - - - Heavy API changes for V8 3.25 / Node 0.11.13 - - Use cpplint.py - - Removed NanInitPersistent - - Removed NanPersistentToLocal - - Removed NanFromV8String - - Removed NanMakeWeak - - Removed NanNewLocal - - Removed NAN_WEAK_CALLBACK_OBJECT - - Removed NAN_WEAK_CALLBACK_DATA - - Introduce NanNew, replaces NanNewLocal, NanPersistentToLocal, adds many overloaded typed versions - - Introduce NanUndefined, NanNull, NanTrue and NanFalse - - Introduce NanEscapableScope and NanEscapeScope - - Introduce NanMakeWeakPersistent (requires a special callback to work on both old and new node) - - Introduce NanMakeCallback for node::MakeCallback - - Introduce NanSetTemplate - - Introduce NanGetCurrentContext - - Introduce NanCompileScript and NanRunScript - - Introduce NanAdjustExternalMemory - - Introduce NanAddGCEpilogueCallback, NanAddGCPrologueCallback, NanRemoveGCEpilogueCallback, NanRemoveGCPrologueCallback - - Introduce NanGetHeapStatistics - - Rename NanAsyncWorker#SavePersistent() to SaveToPersistent() - -### 0.8.0 Jan 9 2014 - - - NanDispose -> NanDisposePersistent, deprecate NanDispose - - Extract _NAN_*_RETURN_TYPE, pull up NAN_*() - -### 0.7.1 Jan 9 2014 - - - Fixes to work against debug builds of Node - - Safer NanPersistentToLocal (avoid reinterpret_cast) - - Speed up common NanRawString case by only extracting flattened string when necessary - -### 0.7.0 Dec 17 2013 - - - New no-arg form of NanCallback() constructor. - - NanCallback#Call takes Handle rather than Local - - Removed deprecated NanCallback#Run method, use NanCallback#Call instead - - Split off _NAN_*_ARGS_TYPE from _NAN_*_ARGS - - Restore (unofficial) Node 0.6 compatibility at NanCallback#Call() - - Introduce NanRawString() for char* (or appropriate void*) from v8::String - (replacement for NanFromV8String) - - Introduce NanCString() for null-terminated char* from v8::String - -### 0.6.0 Nov 21 2013 - - - Introduce NanNewLocal(v8::Handle value) for use in place of - v8::Local::New(...) since v8 started requiring isolate in Node 0.11.9 - -### 0.5.2 Nov 16 2013 - - - Convert SavePersistent and GetFromPersistent in NanAsyncWorker from protected and public - -### 0.5.1 Nov 12 2013 - - - Use node::MakeCallback() instead of direct v8::Function::Call() - -### 0.5.0 Nov 11 2013 - - - Added @TooTallNate as collaborator - - New, much simpler, "include_dirs" for binding.gyp - - Added full range of NAN_INDEX_* macros to match NAN_PROPERTY_* macros - -### 0.4.4 Nov 2 2013 - - - Isolate argument from v8::Persistent::MakeWeak removed for 0.11.8+ - -### 0.4.3 Nov 2 2013 - - - Include node_object_wrap.h, removed from node.h for Node 0.11.8. - -### 0.4.2 Nov 2 2013 - - - Handle deprecation of v8::Persistent::Dispose(v8::Isolate* isolate)) for - Node 0.11.8 release. - -### 0.4.1 Sep 16 2013 - - - Added explicit `#include ` as it was removed from node.h for v0.11.8 - -### 0.4.0 Sep 2 2013 - - - Added NAN_INLINE and NAN_DEPRECATED and made use of them - - Added NanError, NanTypeError and NanRangeError - - Cleaned up code - -### 0.3.2 Aug 30 2013 - - - Fix missing scope declaration in GetFromPersistent() and SaveToPersistent - in NanAsyncWorker - -### 0.3.1 Aug 20 2013 - - - fix "not all control paths return a value" compile warning on some platforms - -### 0.3.0 Aug 19 2013 - - - Made NAN work with NPM - - Lots of fixes to NanFromV8String, pulling in features from new Node core - - Changed node::encoding to Nan::Encoding in NanFromV8String to unify the API - - Added optional error number argument for NanThrowError() - - Added NanInitPersistent() - - Added NanReturnNull() and NanReturnEmptyString() - - Added NanLocker and NanUnlocker - - Added missing scopes - - Made sure to clear disposed Persistent handles - - Changed NanAsyncWorker to allocate error messages on the heap - - Changed NanThrowError(Local) to NanThrowError(Handle) - - Fixed leak in NanAsyncWorker when errmsg is used - -### 0.2.2 Aug 5 2013 - - - Fixed usage of undefined variable with node::BASE64 in NanFromV8String() - -### 0.2.1 Aug 5 2013 - - - Fixed 0.8 breakage, node::BUFFER encoding type not available in 0.8 for - NanFromV8String() - -### 0.2.0 Aug 5 2013 - - - Added NAN_PROPERTY_GETTER, NAN_PROPERTY_SETTER, NAN_PROPERTY_ENUMERATOR, - NAN_PROPERTY_DELETER, NAN_PROPERTY_QUERY - - Extracted _NAN_METHOD_ARGS, _NAN_GETTER_ARGS, _NAN_SETTER_ARGS, - _NAN_PROPERTY_GETTER_ARGS, _NAN_PROPERTY_SETTER_ARGS, - _NAN_PROPERTY_ENUMERATOR_ARGS, _NAN_PROPERTY_DELETER_ARGS, - _NAN_PROPERTY_QUERY_ARGS - - Added NanGetInternalFieldPointer, NanSetInternalFieldPointer - - Added NAN_WEAK_CALLBACK, NAN_WEAK_CALLBACK_OBJECT, - NAN_WEAK_CALLBACK_DATA, NanMakeWeak - - Renamed THROW_ERROR to _NAN_THROW_ERROR - - Added NanNewBufferHandle(char*, size_t, node::smalloc::FreeCallback, void*) - - Added NanBufferUse(char*, uint32_t) - - Added NanNewContextHandle(v8::ExtensionConfiguration*, - v8::Handle, v8::Handle) - - Fixed broken NanCallback#GetFunction() - - Added optional encoding and size arguments to NanFromV8String() - - Added NanGetPointerSafe() and NanSetPointerSafe() - - Added initial test suite (to be expanded) - - Allow NanUInt32OptionValue to convert any Number object - -### 0.1.0 Jul 21 2013 - - - Added `NAN_GETTER`, `NAN_SETTER` - - Added `NanThrowError` with single Local argument - - Added `NanNewBufferHandle` with single uint32_t argument - - Added `NanHasInstance(Persistent&, Handle)` - - Added `Local NanCallback#GetFunction()` - - Added `NanCallback#Call(int, Local[])` - - Deprecated `NanCallback#Run(int, Local[])` in favour of Call diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/LICENSE.md b/node_modules/jsdom/node_modules/contextify/node_modules/nan/LICENSE.md deleted file mode 100644 index e4fc412..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/LICENSE.md +++ /dev/null @@ -1,13 +0,0 @@ -The MIT License (MIT) -===================== - -Copyright (c) 2016 NAN contributors ------------------------------------ - -*NAN contributors listed at * - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/README.md b/node_modules/jsdom/node_modules/contextify/node_modules/nan/README.md deleted file mode 100644 index 7f163b6..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/README.md +++ /dev/null @@ -1,403 +0,0 @@ -Native Abstractions for Node.js -=============================== - -**A header file filled with macro and utility goodness for making add-on development for Node.js easier across versions 0.8, 0.10, 0.12, 1, 4, 5 and 6.** - -***Current version: 2.4.0*** - -*(See [CHANGELOG.md](https://github.com/nodejs/nan/blob/master/CHANGELOG.md) for complete ChangeLog)* - -[![NPM](https://nodei.co/npm/nan.png?downloads=true&downloadRank=true)](https://nodei.co/npm/nan/) [![NPM](https://nodei.co/npm-dl/nan.png?months=6&height=3)](https://nodei.co/npm/nan/) - -[![Build Status](https://api.travis-ci.org/nodejs/nan.svg?branch=master)](http://travis-ci.org/nodejs/nan) -[![Build status](https://ci.appveyor.com/api/projects/status/kh73pbm9dsju7fgh)](https://ci.appveyor.com/project/RodVagg/nan) - -Thanks to the crazy changes in V8 (and some in Node core), keeping native addons compiling happily across versions, particularly 0.10 to 0.12 to 4.0, is a minor nightmare. The goal of this project is to store all logic necessary to develop native Node.js addons without having to inspect `NODE_MODULE_VERSION` and get yourself into a macro-tangle. - -This project also contains some helper utilities that make addon development a bit more pleasant. - - * **[News & Updates](#news)** - * **[Usage](#usage)** - * **[Example](#example)** - * **[API](#api)** - * **[Tests](#tests)** - * **[Governance & Contributing](#governance)** - - -## News & Updates - - -## Usage - -Simply add **NAN** as a dependency in the *package.json* of your Node addon: - -``` bash -$ npm install --save nan -``` - -Pull in the path to **NAN** in your *binding.gyp* so that you can use `#include ` in your *.cpp* files: - -``` python -"include_dirs" : [ - "` when compiling your addon. - - -## Example - -Just getting started with Nan? Take a look at the **[Node Add-on Examples](https://github.com/nodejs/node-addon-examples)**. - -Refer to a [quick-start **Nan** Boilerplate](https://github.com/fcanas/node-native-boilerplate) for a ready-to-go project that utilizes basic Nan functionality. - -For a simpler example, see the **[async pi estimation example](https://github.com/nodejs/nan/tree/master/examples/async_pi_estimate)** in the examples directory for full code and an explanation of what this Monte Carlo Pi estimation example does. Below are just some parts of the full example that illustrate the use of **NAN**. - -Yet another example is **[nan-example-eol](https://github.com/CodeCharmLtd/nan-example-eol)**. It shows newline detection implemented as a native addon. - -Also take a look at our comprehensive **[C++ test suite](https://github.com/nodejs/nan/tree/master/test/cpp)** which has a plehora of code snippets for your pasting pleasure. - - -## API - -Additional to the NAN documentation below, please consult: - -* [The V8 Getting Started Guide](https://developers.google.com/v8/get_started) -* [The V8 Embedders Guide](https://developers.google.com/v8/embed) -* [V8 API Documentation](http://v8docs.nodesource.com/) -* [Node Add-on Documentation](https://nodejs.org/api/addons.html) - - - -### JavaScript-accessible methods - -A _template_ is a blueprint for JavaScript functions and objects in a context. You can use a template to wrap C++ functions and data structures within JavaScript objects so that they can be manipulated from JavaScript. See the V8 Embedders Guide section on [Templates](https://developers.google.com/v8/embed#templates) for further information. - -In order to expose functionality to JavaScript via a template, you must provide it to V8 in a form that it understands. Across the versions of V8 supported by NAN, JavaScript-accessible method signatures vary widely, NAN fully abstracts method declaration and provides you with an interface that is similar to the most recent V8 API but is backward-compatible with older versions that still use the now-deceased `v8::Argument` type. - -* **Method argument types** - - Nan::FunctionCallbackInfo - - Nan::PropertyCallbackInfo - - Nan::ReturnValue -* **Method declarations** - - Method declaration - - Getter declaration - - Setter declaration - - Property getter declaration - - Property setter declaration - - Property enumerator declaration - - Property deleter declaration - - Property query declaration - - Index getter declaration - - Index setter declaration - - Index enumerator declaration - - Index deleter declaration - - Index query declaration -* Method and template helpers - - Nan::SetMethod() - - Nan::SetPrototypeMethod() - - Nan::SetAccessor() - - Nan::SetNamedPropertyHandler() - - Nan::SetIndexedPropertyHandler() - - Nan::SetTemplate() - - Nan::SetPrototypeTemplate() - - Nan::SetInstanceTemplate() - - Nan::SetCallHandler() - - Nan::SetCallAsFunctionHandler() - -### Scopes - -A _local handle_ is a pointer to an object. All V8 objects are accessed using handles, they are necessary because of the way the V8 garbage collector works. - -A handle scope can be thought of as a container for any number of handles. When you've finished with your handles, instead of deleting each one individually you can simply delete their scope. - -The creation of `HandleScope` objects is different across the supported versions of V8. Therefore, NAN provides its own implementations that can be used safely across these. - - - Nan::HandleScope - - Nan::EscapableHandleScope - -Also see the V8 Embedders Guide section on [Handles and Garbage Collection](https://developers.google.com/v8/embed#handles). - -### Persistent references - -An object reference that is independent of any `HandleScope` is a _persistent_ reference. Where a `Local` handle only lives as long as the `HandleScope` in which it was allocated, a `Persistent` handle remains valid until it is explicitly disposed. - -Due to the evolution of the V8 API, it is necessary for NAN to provide a wrapper implementation of the `Persistent` classes to supply compatibility across the V8 versions supported. - - - Nan::PersistentBase & v8::PersistentBase - - Nan::NonCopyablePersistentTraits & v8::NonCopyablePersistentTraits - - Nan::CopyablePersistentTraits & v8::CopyablePersistentTraits - - Nan::Persistent - - Nan::Global - - Nan::WeakCallbackInfo - - Nan::WeakCallbackType - -Also see the V8 Embedders Guide section on [Handles and Garbage Collection](https://developers.google.com/v8/embed#handles). - -### New - -NAN provides a `Nan::New()` helper for the creation of new JavaScript objects in a way that's compatible across the supported versions of V8. - - - Nan::New() - - Nan::Undefined() - - Nan::Null() - - Nan::True() - - Nan::False() - - Nan::EmptyString() - - -### Converters - -NAN contains functions that convert `v8::Value`s to other `v8::Value` types and native types. Since type conversion is not guaranteed to succeed, they return `Nan::Maybe` types. These converters can be used in place of `value->ToX()` and `value->XValue()` (where `X` is one of the types, e.g. `Boolean`) in a way that provides a consistent interface across V8 versions. Newer versions of V8 use the new `v8::Maybe` and `v8::MaybeLocal` types for these conversions, older versions don't have this functionality so it is provided by NAN. - - - Nan::To() - -### Maybe Types - -The `Nan::MaybeLocal` and `Nan::Maybe` types are monads that encapsulate `v8::Local` handles that _may be empty_. - -* **Maybe Types** - - Nan::MaybeLocal - - Nan::Maybe - - Nan::Nothing - - Nan::Just -* **Maybe Helpers** - - Nan::Call() - - Nan::ToDetailString() - - Nan::ToArrayIndex() - - Nan::Equals() - - Nan::NewInstance() - - Nan::GetFunction() - - Nan::Set() - - Nan::ForceSet() - - Nan::Get() - - Nan::GetPropertyAttributes() - - Nan::Has() - - Nan::Delete() - - Nan::GetPropertyNames() - - Nan::GetOwnPropertyNames() - - Nan::SetPrototype() - - Nan::ObjectProtoToString() - - Nan::HasOwnProperty() - - Nan::HasRealNamedProperty() - - Nan::HasRealIndexedProperty() - - Nan::HasRealNamedCallbackProperty() - - Nan::GetRealNamedPropertyInPrototypeChain() - - Nan::GetRealNamedProperty() - - Nan::CallAsFunction() - - Nan::CallAsConstructor() - - Nan::GetSourceLine() - - Nan::GetLineNumber() - - Nan::GetStartColumn() - - Nan::GetEndColumn() - - Nan::CloneElementAt() - - Nan::MakeMaybe() - -### Script - -NAN provides a `v8::Script` helpers as the API has changed over the supported versions of V8. - - - Nan::CompileScript() - - Nan::RunScript() - - -### Errors - -NAN includes helpers for creating, throwing and catching Errors as much of this functionality varies across the supported versions of V8 and must be abstracted. - -Note that an Error object is simply a specialized form of `v8::Value`. - -Also consult the V8 Embedders Guide section on [Exceptions](https://developers.google.com/v8/embed#exceptions) for more information. - - - Nan::Error() - - Nan::RangeError() - - Nan::ReferenceError() - - Nan::SyntaxError() - - Nan::TypeError() - - Nan::ThrowError() - - Nan::ThrowRangeError() - - Nan::ThrowReferenceError() - - Nan::ThrowSyntaxError() - - Nan::ThrowTypeError() - - Nan::FatalException() - - Nan::ErrnoException() - - Nan::TryCatch - - -### Buffers - -NAN's `node::Buffer` helpers exist as the API has changed across supported Node versions. Use these methods to ensure compatibility. - - - Nan::NewBuffer() - - Nan::CopyBuffer() - - Nan::FreeCallback() - -### Nan::Callback - -`Nan::Callback` makes it easier to use `v8::Function` handles as callbacks. A class that wraps a `v8::Function` handle, protecting it from garbage collection and making it particularly useful for storage and use across asynchronous execution. - - - Nan::Callback - -### Asynchronous work helpers - -`Nan::AsyncWorker` and `Nan::AsyncProgressWorker` are helper classes that make working with asynchronous code easier. - - - Nan::AsyncWorker - - Nan::AsyncProgressWorkerBase & Nan::AsyncProgressWorker - - Nan::AsyncQueueWorker - -### Strings & Bytes - -Miscellaneous string & byte encoding and decoding functionality provided for compatibility across supported versions of V8 and Node. Implemented by NAN to ensure that all encoding types are supported, even for older versions of Node where they are missing. - - - Nan::Encoding - - Nan::Encode() - - Nan::DecodeBytes() - - Nan::DecodeWrite() - - -### Object Wrappers - -The `ObjectWrap` class can be used to make wrapped C++ objects and a factory of wrapped objects. - - - Nan::ObjectWrap - - -### V8 internals - -The hooks to access V8 internals—including GC and statistics—are different across the supported versions of V8, therefore NAN provides its own hooks that call the appropriate V8 methods. - - - NAN_GC_CALLBACK() - - Nan::AddGCEpilogueCallback() - - Nan::RemoveGCEpilogueCallback() - - Nan::AddGCPrologueCallback() - - Nan::RemoveGCPrologueCallback() - - Nan::GetHeapStatistics() - - Nan::SetCounterFunction() - - Nan::SetCreateHistogramFunction() - - Nan::SetAddHistogramSampleFunction() - - Nan::IdleNotification() - - Nan::LowMemoryNotification() - - Nan::ContextDisposedNotification() - - Nan::GetInternalFieldPointer() - - Nan::SetInternalFieldPointer() - - Nan::AdjustExternalMemory() - - -### Miscellaneous V8 Helpers - - - Nan::Utf8String - - Nan::GetCurrentContext() - - Nan::SetIsolateData() - - Nan::GetIsolateData() - - Nan::TypedArrayContents - - -### Miscellaneous Node Helpers - - - Nan::MakeCallback() - - NAN_MODULE_INIT() - - Nan::Export() - - - - - -### Tests - -To run the NAN tests do: - -``` sh -npm install -npm run-script rebuild-tests -npm test -``` - -Or just: - -``` sh -npm install -make test -``` - - -## Governance & Contributing - -NAN is governed by the [io.js](https://iojs.org/) Addon API Working Group - -### Addon API Working Group (WG) - -The NAN project is jointly governed by a Working Group which is responsible for high-level guidance of the project. - -Members of the WG are also known as Collaborators, there is no distinction between the two, unlike other io.js projects. - -The WG has final authority over this project including: - -* Technical direction -* Project governance and process (including this policy) -* Contribution policy -* GitHub repository hosting -* Maintaining the list of additional Collaborators - -For the current list of WG members, see the project [README.md](./README.md#collaborators). - -Individuals making significant and valuable contributions are made members of the WG and given commit-access to the project. These individuals are identified by the WG and their addition to the WG is discussed via GitHub and requires unanimous consensus amongst those WG members participating in the discussion with a quorum of 50% of WG members required for acceptance of the vote. - -_Note:_ If you make a significant contribution and are not considered for commit-access log an issue or contact a WG member directly. - -For the current list of WG members / Collaborators, see the project [README.md](./README.md#collaborators). - -### Consensus Seeking Process - -The WG follows a [Consensus Seeking](http://en.wikipedia.org/wiki/Consensus-seeking_decision-making) decision making model. - -Modifications of the contents of the NAN repository are made on a collaborative basis. Anybody with a GitHub account may propose a modification via pull request and it will be considered by the WG. All pull requests must be reviewed and accepted by a WG member with sufficient expertise who is able to take full responsibility for the change. In the case of pull requests proposed by an existing WG member, an additional WG member is required for sign-off. Consensus should be sought if additional WG members participate and there is disagreement around a particular modification. - -If a change proposal cannot reach a consensus, a WG member can call for a vote amongst the members of the WG. Simple majority wins. - - -## Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -* (a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -* (b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -* (c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -* (d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. - - -### WG Members / Collaborators - - - - - - - - - -
Rod VaggGitHub/rvaggTwitter/@rvagg
Benjamin ByholmGitHub/kkoopa-
Trevor NorrisGitHub/trevnorrisTwitter/@trevnorris
Nathan RajlichGitHub/TooTallNateTwitter/@TooTallNate
Brett LawsonGitHub/brett19Twitter/@brett19x
Ben NoordhuisGitHub/bnoordhuisTwitter/@bnoordhuis
David SiegelGitHub/agnat-
- -## Licence & copyright - -Copyright (c) 2016 NAN WG Members / Collaborators (listed above). - -Native Abstractions for Node.js is licensed under an MIT license. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE file for more details. diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/asyncworker.md b/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/asyncworker.md deleted file mode 100644 index 6bc4cce..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/asyncworker.md +++ /dev/null @@ -1,103 +0,0 @@ -## Asynchronous work helpers - -`Nan::AsyncWorker` and `Nan::AsyncProgressWorker` are helper classes that make working with asynchronous code easier. - - - Nan::AsyncWorker - - Nan::AsyncProgressWorker - - Nan::AsyncQueueWorker - - -### Nan::AsyncWorker - -`Nan::AsyncWorker` is an _abstract_ class that you can subclass to have much of the annoying asynchronous queuing and handling taken care of for you. It can even store arbitrary V8 objects for you and have them persist while the asynchronous work is in progress. - -Definition: - -```c++ -class AsyncWorker { - public: - explicit AsyncWorker(Callback *callback_); - - virtual ~AsyncWorker(); - - virtual void WorkComplete(); - - void SaveToPersistent(const char *key, const v8::Local &value); - - void SaveToPersistent(const v8::Local &key, - const v8::Local &value); - - void SaveToPersistent(uint32_t index, - const v8::Local &value); - - v8::Local GetFromPersistent(const char *key) const; - - v8::Local GetFromPersistent(const v8::Local &key) const; - - v8::Local GetFromPersistent(uint32_t index) const; - - virtual void Execute() = 0; - - uv_work_t request; - - virtual void Destroy(); - - protected: - Persistent persistentHandle; - - Callback *callback; - - virtual void HandleOKCallback(); - - virtual void HandleErrorCallback(); - - void SetErrorMessage(const char *msg); - - const char* ErrorMessage(); -}; -``` - - -### Nan::AsyncProgressWorkerBase & Nan::AsyncProgressWorker - -`Nan::AsyncProgressWorkerBase` is an _abstract_ class template that extends `Nan::AsyncWorker` and adds additional progress reporting callbacks that can be used during the asynchronous work execution to provide progress data back to JavaScript. - -Previously the definiton of `Nan::AsyncProgressWorker` only allowed sending `const char` data. Now extending `Nan::AsyncProgressWorker` will yield an instance of the implicit `Nan::AsyncProgressWorkerBase` template with type `` for compatibility. - -Definition: - -```c++ -template -class AsyncProgressWorkerBase : public AsyncWorker { - public: - explicit AsyncProgressWorker(Callback *callback_); - - virtual ~AsyncProgressWorker(); - - void WorkProgress(); - - class ExecutionProgress { - public: - void Signal() const; - void Send(const T* data, size_t size) const; - }; - - virtual void Execute(const ExecutionProgress& progress) = 0; - - virtual void HandleProgressCallback(const T *data, size_t size) = 0; - - virtual void Destroy(); - -typedef AsyncProgressWorkerBase AsyncProgressWorker; -``` - - -### Nan::AsyncQueueWorker - -`Nan::AsyncQueueWorker` will run a `Nan::AsyncWorker` asynchronously via libuv. Both the `execute` and `after_work` steps are taken care of for you. Most of the logic for this is embedded in `Nan::AsyncWorker`. - -Definition: - -```c++ -void AsyncQueueWorker(AsyncWorker *); -``` diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/buffers.md b/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/buffers.md deleted file mode 100644 index 8d8d25c..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/buffers.md +++ /dev/null @@ -1,54 +0,0 @@ -## Buffers - -NAN's `node::Buffer` helpers exist as the API has changed across supported Node versions. Use these methods to ensure compatibility. - - - Nan::NewBuffer() - - Nan::CopyBuffer() - - Nan::FreeCallback() - - -### Nan::NewBuffer() - -Allocate a new `node::Buffer` object with the specified size and optional data. Calls `node::Buffer::New()`. - -Note that when creating a `Buffer` using `Nan::NewBuffer()` and an existing `char*`, it is assumed that the ownership of the pointer is being transferred to the new `Buffer` for management. -When a `node::Buffer` instance is garbage collected and a `FreeCallback` has not been specified, `data` will be disposed of via a call to `free()`. -You _must not_ free the memory space manually once you have created a `Buffer` in this way. - -Signature: - -```c++ -Nan::MaybeLocal Nan::NewBuffer(uint32_t size) -Nan::MaybeLocal Nan::NewBuffer(char* data, uint32_t size) -Nan::MaybeLocal Nan::NewBuffer(char *data, - size_t length, - Nan::FreeCallback callback, - void *hint) -``` - - - -### Nan::CopyBuffer() - -Similar to [`Nan::NewBuffer()`](#api_nan_new_buffer) except that an implicit memcpy will occur within Node. Calls `node::Buffer::Copy()`. - -Management of the `char*` is left to the user, you should manually free the memory space if necessary as the new `Buffer` will have its own copy. - -Signature: - -```c++ -Nan::MaybeLocal Nan::CopyBuffer(const char *data, uint32_t size) -``` - - - -### Nan::FreeCallback() - -A free callback that can be provided to [`Nan::NewBuffer()`](#api_nan_new_buffer). -The supplied callback will be invoked when the `Buffer` undergoes garbage collection. - -Signature: - -```c++ -typedef void (*FreeCallback)(char *data, void *hint); -``` diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/callback.md b/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/callback.md deleted file mode 100644 index 46de1d7..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/callback.md +++ /dev/null @@ -1,56 +0,0 @@ -## Nan::Callback - -`Nan::Callback` makes it easier to use `v8::Function` handles as callbacks. A class that wraps a `v8::Function` handle, protecting it from garbage collection and making it particularly useful for storage and use across asynchronous execution. - - - Nan::Callback - - -### Nan::Callback - -```c++ -class Callback { - public: - Callback(); - - explicit Callback(const v8::Local &fn); - - ~Callback(); - - bool operator==(const Callback &other) const; - - bool operator!=(const Callback &other) const; - - v8::Local operator*() const; - - v8::Local operator()(v8::Local target, - int argc = 0, - v8::Local argv[] = 0) const; - - v8::Local operator()(int argc = 0, - v8::Local argv[] = 0) const; - - void SetFunction(const v8::Local &fn); - - v8::Local GetFunction() const; - - bool IsEmpty() const; - - void Reset(const v8::Local &fn); - - void Reset(); - - v8::Local Call(v8::Local target, - int argc, - v8::Local argv[]) const; - - v8::Local Call(int argc, v8::Local argv[]) const; -}; -``` - -Example usage: - -```c++ -v8::Local function; -Nan::Callback callback(function); -callback.Call(0, 0); -``` diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/converters.md b/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/converters.md deleted file mode 100644 index d20861b..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/converters.md +++ /dev/null @@ -1,41 +0,0 @@ -## Converters - -NAN contains functions that convert `v8::Value`s to other `v8::Value` types and native types. Since type conversion is not guaranteed to succeed, they return `Nan::Maybe` types. These converters can be used in place of `value->ToX()` and `value->XValue()` (where `X` is one of the types, e.g. `Boolean`) in a way that provides a consistent interface across V8 versions. Newer versions of V8 use the new `v8::Maybe` and `v8::MaybeLocal` types for these conversions, older versions don't have this functionality so it is provided by NAN. - - - Nan::To() - - -### Nan::To() - -Converts a `v8::Local` to a different subtype of `v8::Value` or to a native data type. Returns a `Nan::MaybeLocal<>` or a `Nan::Maybe<>` accordingly. - -See [maybe_types.md](./maybe_types.md) for more information on `Nan::Maybe` types. - -Signatures: - -```c++ -// V8 types -Nan::MaybeLocal Nan::To(v8::Local val); -Nan::MaybeLocal Nan::To(v8::Local val); -Nan::MaybeLocal Nan::To(v8::Local val); -Nan::MaybeLocal Nan::To(v8::Local val); -Nan::MaybeLocal Nan::To(v8::Local val); -Nan::MaybeLocal Nan::To(v8::Local val); -Nan::MaybeLocal Nan::To(v8::Local val); - -// Native types -Nan::Maybe Nan::To(v8::Local val); -Nan::Maybe Nan::To(v8::Local val); -Nan::Maybe Nan::To(v8::Local val); -Nan::Maybe Nan::To(v8::Local val); -Nan::Maybe Nan::To(v8::Local val); -``` - -### Example - -```c++ -v8::Local val; -Nan::MaybeLocal str = Nan::To(val); -Nan::Maybe d = Nan::To(val); -``` - diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/errors.md b/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/errors.md deleted file mode 100644 index aac6e08..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/errors.md +++ /dev/null @@ -1,226 +0,0 @@ -## Errors - -NAN includes helpers for creating, throwing and catching Errors as much of this functionality varies across the supported versions of V8 and must be abstracted. - -Note that an Error object is simply a specialized form of `v8::Value`. - -Also consult the V8 Embedders Guide section on [Exceptions](https://developers.google.com/v8/embed#exceptions) for more information. - - - Nan::Error() - - Nan::RangeError() - - Nan::ReferenceError() - - Nan::SyntaxError() - - Nan::TypeError() - - Nan::ThrowError() - - Nan::ThrowRangeError() - - Nan::ThrowReferenceError() - - Nan::ThrowSyntaxError() - - Nan::ThrowTypeError() - - Nan::FatalException() - - Nan::ErrnoException() - - Nan::TryCatch - - - -### Nan::Error() - -Create a new Error object using the [v8::Exception](https://v8docs.nodesource.com/io.js-3.0/da/d6a/classv8_1_1_exception.html) class in a way that is compatible across the supported versions of V8. - -Note that an Error object is simply a specialized form of `v8::Value`. - -Signature: - -```c++ -v8::Local Nan::Error(const char *msg); -v8::Local Nan::Error(v8::Local msg); -``` - - - -### Nan::RangeError() - -Create a new RangeError object using the [v8::Exception](https://v8docs.nodesource.com/io.js-3.0/da/d6a/classv8_1_1_exception.html) class in a way that is compatible across the supported versions of V8. - -Note that an RangeError object is simply a specialized form of `v8::Value`. - -Signature: - -```c++ -v8::Local Nan::RangeError(const char *msg); -v8::Local Nan::RangeError(v8::Local msg); -``` - - - -### Nan::ReferenceError() - -Create a new ReferenceError object using the [v8::Exception](https://v8docs.nodesource.com/io.js-3.0/da/d6a/classv8_1_1_exception.html) class in a way that is compatible across the supported versions of V8. - -Note that an ReferenceError object is simply a specialized form of `v8::Value`. - -Signature: - -```c++ -v8::Local Nan::ReferenceError(const char *msg); -v8::Local Nan::ReferenceError(v8::Local msg); -``` - - - -### Nan::SyntaxError() - -Create a new SyntaxError object using the [v8::Exception](https://v8docs.nodesource.com/io.js-3.0/da/d6a/classv8_1_1_exception.html) class in a way that is compatible across the supported versions of V8. - -Note that an SyntaxError object is simply a specialized form of `v8::Value`. - -Signature: - -```c++ -v8::Local Nan::SyntaxError(const char *msg); -v8::Local Nan::SyntaxError(v8::Local msg); -``` - - - -### Nan::TypeError() - -Create a new TypeError object using the [v8::Exception](https://v8docs.nodesource.com/io.js-3.0/da/d6a/classv8_1_1_exception.html) class in a way that is compatible across the supported versions of V8. - -Note that an TypeError object is simply a specialized form of `v8::Value`. - -Signature: - -```c++ -v8::Local Nan::TypeError(const char *msg); -v8::Local Nan::TypeError(v8::Local msg); -``` - - - -### Nan::ThrowError() - -Throw an Error object (a specialized `v8::Value` as above) in the current context. If a `msg` is provided, a new Error object will be created. - -Signature: - -```c++ -void Nan::ThrowError(const char *msg); -void Nan::ThrowError(v8::Local msg); -void Nan::ThrowError(v8::Local error); -``` - - - -### Nan::ThrowRangeError() - -Throw an RangeError object (a specialized `v8::Value` as above) in the current context. If a `msg` is provided, a new RangeError object will be created. - -Signature: - -```c++ -void Nan::ThrowRangeError(const char *msg); -void Nan::ThrowRangeError(v8::Local msg); -void Nan::ThrowRangeError(v8::Local error); -``` - - - -### Nan::ThrowReferenceError() - -Throw an ReferenceError object (a specialized `v8::Value` as above) in the current context. If a `msg` is provided, a new ReferenceError object will be created. - -Signature: - -```c++ -void Nan::ThrowReferenceError(const char *msg); -void Nan::ThrowReferenceError(v8::Local msg); -void Nan::ThrowReferenceError(v8::Local error); -``` - - - -### Nan::ThrowSyntaxError() - -Throw an SyntaxError object (a specialized `v8::Value` as above) in the current context. If a `msg` is provided, a new SyntaxError object will be created. - -Signature: - -```c++ -void Nan::ThrowSyntaxError(const char *msg); -void Nan::ThrowSyntaxError(v8::Local msg); -void Nan::ThrowSyntaxError(v8::Local error); -``` - - - -### Nan::ThrowTypeError() - -Throw an TypeError object (a specialized `v8::Value` as above) in the current context. If a `msg` is provided, a new TypeError object will be created. - -Signature: - -```c++ -void Nan::ThrowTypeError(const char *msg); -void Nan::ThrowTypeError(v8::Local msg); -void Nan::ThrowTypeError(v8::Local error); -``` - - -### Nan::FatalException() - -Replaces `node::FatalException()` which has a different API across supported versions of Node. For use with [`Nan::TryCatch`](#api_nan_try_catch). - -Signature: - -```c++ -void Nan::FatalException(const Nan::TryCatch& try_catch); -``` - - -### Nan::ErrnoException() - -Replaces `node::ErrnoException()` which has a different API across supported versions of Node. - -Signature: - -```c++ -v8::Local Nan::ErrnoException(int errorno, - const char* syscall = NULL, - const char* message = NULL, - const char* path = NULL); -``` - - - -### Nan::TryCatch - -A simple wrapper around [`v8::TryCatch`](https://v8docs.nodesource.com/io.js-3.0/d4/dc6/classv8_1_1_try_catch.html) compatible with all supported versions of V8. Can be used as a direct replacement in most cases. See also [`Nan::FatalException()`](#api_nan_fatal_exception) for an internal use compatible with `node::FatalException`. - -Signature: - -```c++ -class Nan::TryCatch { - public: - Nan::TryCatch(); - - bool HasCaught() const; - - bool CanContinue() const; - - v8::Local ReThrow(); - - v8::Local Exception() const; - - // Nan::MaybeLocal for older versions of V8 - v8::MaybeLocal StackTrace() const; - - v8::Local Message() const; - - void Reset(); - - void SetVerbose(bool value); - - void SetCaptureMessage(bool value); -}; -``` - diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/maybe_types.md b/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/maybe_types.md deleted file mode 100644 index 9ca9cee..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/maybe_types.md +++ /dev/null @@ -1,512 +0,0 @@ -## Maybe Types - -The `Nan::MaybeLocal` and `Nan::Maybe` types are monads that encapsulate `v8::Local` handles that _may be empty_. - -* **Maybe Types** - - Nan::MaybeLocal - - Nan::Maybe - - Nan::Nothing - - Nan::Just -* **Maybe Helpers** - - Nan::Call() - - Nan::ToDetailString() - - Nan::ToArrayIndex() - - Nan::Equals() - - Nan::NewInstance() - - Nan::GetFunction() - - Nan::Set() - - Nan::ForceSet() - - Nan::Get() - - Nan::GetPropertyAttributes() - - Nan::Has() - - Nan::Delete() - - Nan::GetPropertyNames() - - Nan::GetOwnPropertyNames() - - Nan::SetPrototype() - - Nan::ObjectProtoToString() - - Nan::HasOwnProperty() - - Nan::HasRealNamedProperty() - - Nan::HasRealIndexedProperty() - - Nan::HasRealNamedCallbackProperty() - - Nan::GetRealNamedPropertyInPrototypeChain() - - Nan::GetRealNamedProperty() - - Nan::CallAsFunction() - - Nan::CallAsConstructor() - - Nan::GetSourceLine() - - Nan::GetLineNumber() - - Nan::GetStartColumn() - - Nan::GetEndColumn() - - Nan::CloneElementAt() - - Nan::MakeMaybe() - - -### Nan::MaybeLocal - -A `Nan::MaybeLocal` is a wrapper around [`v8::Local`](https://v8docs.nodesource.com/io.js-3.0/de/deb/classv8_1_1_local.html) that enforces a check that determines whether the `v8::Local` is empty before it can be used. - -If an API method returns a `Nan::MaybeLocal`, the API method can potentially fail either because an exception is thrown, or because an exception is pending, e.g. because a previous API call threw an exception that hasn't been caught yet, or because a `v8::TerminateExecution` exception was thrown. In that case, an empty `Nan::MaybeLocal` is returned. - -Definition: - -```c++ -template class Nan::MaybeLocal { - public: - MaybeLocal(); - - template MaybeLocal(v8::Local that); - - bool IsEmpty() const; - - template bool ToLocal(v8::Local *out); - - // Will crash if the MaybeLocal<> is empty. - v8::Local ToLocalChecked(); - - template v8::Local FromMaybe(v8::Local default_value) const; -}; -``` - -See the documentation for [`v8::MaybeLocal`](https://v8docs.nodesource.com/io.js-3.0/d8/d7d/classv8_1_1_maybe_local.html) for further details. - - -### Nan::Maybe - -A simple `Nan::Maybe` type, representing an object which may or may not have a value, see https://hackage.haskell.org/package/base/docs/Data-Maybe.html. - -If an API method returns a `Nan::Maybe<>`, the API method can potentially fail either because an exception is thrown, or because an exception is pending, e.g. because a previous API call threw an exception that hasn't been caught yet, or because a `v8::TerminateExecution` exception was thrown. In that case, a "Nothing" value is returned. - -Definition: - -```c++ -template class Nan::Maybe { - public: - bool IsNothing() const; - bool IsJust() const; - - // Will crash if the Maybe<> is nothing. - T FromJust(); - - T FromMaybe(const T& default_value); - - bool operator==(const Maybe &other); - - bool operator!=(const Maybe &other); -}; -``` - -See the documentation for [`v8::Maybe`](https://v8docs.nodesource.com/io.js-3.0/d9/d4b/classv8_1_1_maybe.html) for further details. - - -### Nan::Nothing - -Construct an empty `Nan::Maybe` type representing _nothing_. - -```c++ -template Nan::Maybe Nan::Nothing(); -``` - - -### Nan::Just - -Construct a `Nan::Maybe` type representing _just_ a value. - -```c++ -template Nan::Maybe Nan::Just(const T &t); -``` - - -### Nan::Call() - -A helper method for calling [`v8::Function#Call()`](https://v8docs.nodesource.com/io.js-3.0/d5/d54/classv8_1_1_function.html#a468a89f737af0612db10132799c827c0) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::Call(v8::Local fun, v8::Local recv, int argc, v8::Local argv[]); -``` - - - -### Nan::ToDetailString() - -A helper method for calling [`v8::Value#ToDetailString()`](https://v8docs.nodesource.com/io.js-3.0/dc/d0a/classv8_1_1_value.html#a2f9770296dc2c8d274bc8cc0dca243e5) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::ToDetailString(v8::Local val); -``` - - - -### Nan::ToArrayIndex() - -A helper method for calling [`v8::Value#ToArrayIndex()`](https://v8docs.nodesource.com/io.js-3.0/dc/d0a/classv8_1_1_value.html#acc5bbef3c805ec458470c0fcd6f13493) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::ToArrayIndex(v8::Local val); -``` - - - -### Nan::Equals() - -A helper method for calling [`v8::Value#Equals()`](https://v8docs.nodesource.com/io.js-3.0/dc/d0a/classv8_1_1_value.html#a0d9616ab2de899d4e3047c30a10c9285) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::Equals(v8::Local a, v8::Local(b)); -``` - - - -### Nan::NewInstance() - -A helper method for calling [`v8::Function#NewInstance()`](https://v8docs.nodesource.com/io.js-3.0/d5/d54/classv8_1_1_function.html#a691b13f7a553069732cbacf5ac8c62ec) and [`v8::ObjectTemplate#NewInstance()`](https://v8docs.nodesource.com/io.js-3.0/db/d5f/classv8_1_1_object_template.html#ad605a7543cfbc5dab54cdb0883d14ae4) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::NewInstance(v8::Local h); -Nan::MaybeLocal Nan::NewInstance(v8::Local h, int argc, v8::Local argv[]); -Nan::MaybeLocal Nan::NewInstance(v8::Local h); -``` - - - -### Nan::GetFunction() - -A helper method for calling [`v8::FunctionTemplate#GetFunction()`](https://v8docs.nodesource.com/io.js-3.0/d8/d83/classv8_1_1_function_template.html#a56d904662a86eca78da37d9bb0ed3705) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::GetFunction(v8::Local t); -``` - - - -### Nan::Set() - -A helper method for calling [`v8::Object#Set()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a67604ea3734f170c66026064ea808f20) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::Set(v8::Local obj, - v8::Local key, - v8::Local value) -Nan::Maybe Nan::Set(v8::Local obj, - uint32_t index, - v8::Local value); -``` - - - -### Nan::ForceSet() - -A helper method for calling [`v8::Object#ForceSet()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a796b7b682896fb64bf1872747734e836) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::ForceSet(v8::Local obj, - v8::Local key, - v8::Local value, - v8::PropertyAttribute attribs = v8::None); -``` - - - -### Nan::Get() - -A helper method for calling [`v8::Object#Get()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a2565f03e736694f6b1e1cf22a0b4eac2) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::Get(v8::Local obj, - v8::Local key); -Nan::MaybeLocal Nan::Get(v8::Local obj, uint32_t index); -``` - - - -### Nan::GetPropertyAttributes() - -A helper method for calling [`v8::Object#GetPropertyAttributes()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a9b898894da3d1db2714fd9325a54fe57) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::GetPropertyAttributes( - v8::Local obj, - v8::Local key); -``` - - - -### Nan::Has() - -A helper method for calling [`v8::Object#Has()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#ab3c3d89ea7c2f9afd08965bd7299a41d) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::Has(v8::Local obj, v8::Local key); -Nan::Maybe Nan::Has(v8::Local obj, uint32_t index); -``` - - - -### Nan::Delete() - -A helper method for calling [`v8::Object#Delete()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a2fa0f5a592582434ed1ceceff7d891ef) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::Delete(v8::Local obj, - v8::Local key); -Nan::Maybe Nan::Delete(v8::Local obj, uint32_t index); -``` - - - -### Nan::GetPropertyNames() - -A helper method for calling [`v8::Object#GetPropertyNames()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#aced885270cfd2c956367b5eedc7fbfe8) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::GetPropertyNames(v8::Local obj); -``` - - - -### Nan::GetOwnPropertyNames() - -A helper method for calling [`v8::Object#GetOwnPropertyNames()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a79a6e4d66049b9aa648ed4dfdb23e6eb) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::GetOwnPropertyNames(v8::Local obj); -``` - - - -### Nan::SetPrototype() - -A helper method for calling [`v8::Object#SetPrototype()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a442706b22fceda6e6d1f632122a9a9f4) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::SetPrototype(v8::Local obj, - v8::Local prototype); -``` - - - -### Nan::ObjectProtoToString() - -A helper method for calling [`v8::Object#ObjectProtoToString()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#ab7a92b4dcf822bef72f6c0ac6fea1f0b) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::ObjectProtoToString(v8::Local obj); -``` - - - -### Nan::HasOwnProperty() - -A helper method for calling [`v8::Object#HasOwnProperty()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#ab7b7245442ca6de1e1c145ea3fd653ff) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::HasOwnProperty(v8::Local obj, - v8::Local key); -``` - - - -### Nan::HasRealNamedProperty() - -A helper method for calling [`v8::Object#HasRealNamedProperty()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#ad8b80a59c9eb3c1e6c3cd6c84571f767) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::HasRealNamedProperty(v8::Local obj, - v8::Local key); -``` - - - -### Nan::HasRealIndexedProperty() - -A helper method for calling [`v8::Object#HasRealIndexedProperty()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#af94fc1135a5e74a2193fb72c3a1b9855) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::HasRealIndexedProperty(v8::Local obj, - uint32_t index); -``` - - - -### Nan::HasRealNamedCallbackProperty() - -A helper method for calling [`v8::Object#HasRealNamedCallbackProperty()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#af743b7ea132b89f84d34d164d0668811) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::HasRealNamedCallbackProperty( - v8::Local obj, - v8::Local key); -``` - - - -### Nan::GetRealNamedPropertyInPrototypeChain() - -A helper method for calling [`v8::Object#GetRealNamedPropertyInPrototypeChain()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a8700b1862e6b4783716964ba4d5e6172) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::GetRealNamedPropertyInPrototypeChain( - v8::Local obj, - v8::Local key); -``` - - - -### Nan::GetRealNamedProperty() - -A helper method for calling [`v8::Object#GetRealNamedProperty()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a84471a824576a5994fdd0ffcbf99ccc0) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::GetRealNamedProperty(v8::Local obj, - v8::Local key); -``` - - - -### Nan::CallAsFunction() - -A helper method for calling [`v8::Object#CallAsFunction()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a9ef18be634e79b4f0cdffa1667a29f58) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::CallAsFunction(v8::Local obj, - v8::Local recv, - int argc, - v8::Local argv[]); -``` - - - -### Nan::CallAsConstructor() - -A helper method for calling [`v8::Object#CallAsConstructor()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a50d571de50d0b0dfb28795619d07a01b) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::CallAsConstructor(v8::Local obj, - int argc, - v8::Local argv[]); -``` - - - -### Nan::GetSourceLine() - -A helper method for calling [`v8::Message#GetSourceLine()`](https://v8docs.nodesource.com/io.js-3.0/d9/d28/classv8_1_1_message.html#a849f7a6c41549d83d8159825efccd23a) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::GetSourceLine(v8::Local msg); -``` - - - -### Nan::GetLineNumber() - -A helper method for calling [`v8::Message#GetLineNumber()`](https://v8docs.nodesource.com/io.js-3.0/d9/d28/classv8_1_1_message.html#adbe46c10a88a6565f2732a2d2adf99b9) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::GetLineNumber(v8::Local msg); -``` - - - -### Nan::GetStartColumn() - -A helper method for calling [`v8::Message#GetStartColumn()`](https://v8docs.nodesource.com/io.js-3.0/d9/d28/classv8_1_1_message.html#a60ede616ba3822d712e44c7a74487ba6) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::GetStartColumn(v8::Local msg); -``` - - - -### Nan::GetEndColumn() - -A helper method for calling [`v8::Message#GetEndColumn()`](https://v8docs.nodesource.com/io.js-3.0/d9/d28/classv8_1_1_message.html#aaa004cf19e529da980bc19fcb76d93be) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::Maybe Nan::GetEndColumn(v8::Local msg); -``` - - - -### Nan::CloneElementAt() - -A helper method for calling [`v8::Array#CloneElementAt()`](https://v8docs.nodesource.com/io.js-3.0/d3/d32/classv8_1_1_array.html#a1d3a878d4c1c7cae974dd50a1639245e) in a way compatible across supported versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::CloneElementAt(v8::Local array, uint32_t index); -``` - - -### Nan::MakeMaybe() - -Wraps a `v8::Local<>` in a `Nan::MaybeLocal<>`. When called with a `Nan::MaybeLocal<>` it just returns its argument. This is useful in generic template code that builds on NAN. - -Synopsis: - -```c++ - MaybeLocal someNumber = MakeMaybe(New(3.141592654)); - MaybeLocal someString = MakeMaybe(New("probably")); -``` - -Signature: - -```c++ -template class MaybeMaybe> -Nan::MaybeLocal Nan::MakeMaybe(MaybeMaybe v); -``` diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/methods.md b/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/methods.md deleted file mode 100644 index 0411a70..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/methods.md +++ /dev/null @@ -1,659 +0,0 @@ -## JavaScript-accessible methods - -A _template_ is a blueprint for JavaScript functions and objects in a context. You can use a template to wrap C++ functions and data structures within JavaScript objects so that they can be manipulated from JavaScript. See the V8 Embedders Guide section on [Templates](https://developers.google.com/v8/embed#templates) for further information. - -In order to expose functionality to JavaScript via a template, you must provide it to V8 in a form that it understands. Across the versions of V8 supported by NAN, JavaScript-accessible method signatures vary widely, NAN fully abstracts method declaration and provides you with an interface that is similar to the most recent V8 API but is backward-compatible with older versions that still use the now-deceased `v8::Argument` type. - -* **Method argument types** - - Nan::FunctionCallbackInfo - - Nan::PropertyCallbackInfo - - Nan::ReturnValue -* **Method declarations** - - Method declaration - - Getter declaration - - Setter declaration - - Property getter declaration - - Property setter declaration - - Property enumerator declaration - - Property deleter declaration - - Property query declaration - - Index getter declaration - - Index setter declaration - - Index enumerator declaration - - Index deleter declaration - - Index query declaration -* Method and template helpers - - Nan::SetMethod() - - Nan::SetPrototypeMethod() - - Nan::SetAccessor() - - Nan::SetNamedPropertyHandler() - - Nan::SetIndexedPropertyHandler() - - Nan::SetTemplate() - - Nan::SetPrototypeTemplate() - - Nan::SetInstanceTemplate() - - Nan::SetCallHandler() - - Nan::SetCallAsFunctionHandler() - - -### Nan::FunctionCallbackInfo - -`Nan::FunctionCallbackInfo` should be used in place of [`v8::FunctionCallbackInfo`](https://v8docs.nodesource.com/io.js-3.0/dd/d0d/classv8_1_1_function_callback_info.html), even with older versions of Node where `v8::FunctionCallbackInfo` does not exist. - -Definition: - -```c++ -template class FunctionCallbackInfo { - public: - ReturnValue GetReturnValue() const; - v8::Local Callee(); - v8::Local Data(); - v8::Local Holder(); - bool IsConstructCall(); - int Length() const; - v8::Local operator[](int i) const; - v8::Local This() const; - v8::Isolate *GetIsolate() const; -}; -``` - -See the [`v8::FunctionCallbackInfo`](https://v8docs.nodesource.com/io.js-3.0/dd/d0d/classv8_1_1_function_callback_info.html) documentation for usage details on these. See [`Nan::ReturnValue`](#api_nan_return_value) for further information on how to set a return value from methods. - - -### Nan::PropertyCallbackInfo - -`Nan::PropertyCallbackInfo` should be used in place of [`v8::PropertyCallbackInfo`](https://v8docs.nodesource.com/io.js-3.0/d7/dc5/classv8_1_1_property_callback_info.html), even with older versions of Node where `v8::PropertyCallbackInfo` does not exist. - -Definition: - -```c++ -template class PropertyCallbackInfo : public PropertyCallbackInfoBase { - public: - ReturnValue GetReturnValue() const; - v8::Isolate* GetIsolate() const; - v8::Local Data() const; - v8::Local This() const; - v8::Local Holder() const; -}; -``` - -See the [`v8::PropertyCallbackInfo`](https://v8docs.nodesource.com/io.js-3.0/d7/dc5/classv8_1_1_property_callback_info.html) documentation for usage details on these. See [`Nan::ReturnValue`](#api_nan_return_value) for further information on how to set a return value from property accessor methods. - - -### Nan::ReturnValue - -`Nan::ReturnValue` is used in place of [`v8::ReturnValue`](https://v8docs.nodesource.com/io.js-3.0/da/da7/classv8_1_1_return_value.html) on both [`Nan::FunctionCallbackInfo`](#api_nan_function_callback_info) and [`Nan::PropertyCallbackInfo`](#api_nan_property_callback_info) as the return type of `GetReturnValue()`. - -Example usage: - -```c++ -void EmptyArray(const Nan::FunctionCallbackInfo& info) { - info.GetReturnValue().Set(Nan::New()); -} -``` - -Definition: - -```c++ -template class ReturnValue { - public: - // Handle setters - template void Set(const v8::Local &handle); - template void Set(const Nan::Global &handle); - - // Fast primitive setters - void Set(bool value); - void Set(double i); - void Set(int32_t i); - void Set(uint32_t i); - - // Fast JS primitive setters - void SetNull(); - void SetUndefined(); - void SetEmptyString(); - - // Convenience getter for isolate - v8::Isolate *GetIsolate() const; -}; -``` - -See the documentation on [`v8::ReturnValue`](https://v8docs.nodesource.com/io.js-3.0/da/da7/classv8_1_1_return_value.html) for further information on this. - - -### Method declaration - -JavaScript-accessible methods should be declared with the following signature to form a `Nan::FunctionCallback`: - -```c++ -typedef void(*FunctionCallback)(const FunctionCallbackInfo&); -``` - -Example: - -```c++ -void MethodName(const Nan::FunctionCallbackInfo& info) { - ... -} -``` - -You do not need to declare a new `HandleScope` within a method as one is implicitly created for you. - -**Example usage** - -```c++ -// .h: -class Foo : public Nan::ObjectWrap { - ... - - static void Bar(const Nan::FunctionCallbackInfo& info); - static void Baz(const Nan::FunctionCallbackInfo& info); -} - - -// .cc: -void Foo::Bar(const Nan::FunctionCallbackInfo& info) { - ... -} - -void Foo::Baz(const Nan::FunctionCallbackInfo& info) { - ... -} -``` - -A helper macro `NAN_METHOD(methodname)` exists, compatible with NAN v1 method declarations. - -**Example usage with `NAN_METHOD(methodname)`** - -```c++ -// .h: -class Foo : public Nan::ObjectWrap { - ... - - static NAN_METHOD(Bar); - static NAN_METHOD(Baz); -} - - -// .cc: -NAN_METHOD(Foo::Bar) { - ... -} - -NAN_METHOD(Foo::Baz) { - ... -} -``` - -Use [`Nan::SetPrototypeMethod`](#api_nan_set_prototype_method) to attach a method to a JavaScript function prototype or [`Nan::SetMethod`](#api_nan_set_method) to attach a method directly on a JavaScript object. - - -### Getter declaration - -JavaScript-accessible getters should be declared with the following signature to form a `Nan::GetterCallback`: - -```c++ -typedef void(*GetterCallback)(v8::Local, - const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void GetterName(v8::Local property, - const Nan::PropertyCallbackInfo& info) { - ... -} -``` - -You do not need to declare a new `HandleScope` within a getter as one is implicitly created for you. - -A helper macro `NAN_GETTER(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on [Accessors](https://developers.google.com/v8/embed#accesssors). - - -### Setter declaration - -JavaScript-accessible setters should be declared with the following signature to form a Nan::SetterCallback: - -```c++ -typedef void(*SetterCallback)(v8::Local, - v8::Local, - const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void SetterName(v8::Local property, - v8::Local value, - const Nan::PropertyCallbackInfo& info) { - ... -} -``` - -You do not need to declare a new `HandleScope` within a setter as one is implicitly created for you. - -A helper macro `NAN_SETTER(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on [Accessors](https://developers.google.com/v8/embed#accesssors). - - -### Property getter declaration - -JavaScript-accessible property getters should be declared with the following signature to form a Nan::PropertyGetterCallback: - -```c++ -typedef void(*PropertyGetterCallback)(v8::Local, - const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void PropertyGetterName(v8::Local property, - const Nan::PropertyCallbackInfo& info) { - ... -} -``` - -You do not need to declare a new `HandleScope` within a property getter as one is implicitly created for you. - -A helper macro `NAN_PROPERTY_GETTER(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on named property [Interceptors](https://developers.google.com/v8/embed#interceptors). - - -### Property setter declaration - -JavaScript-accessible property setters should be declared with the following signature to form a Nan::PropertySetterCallback: - -```c++ -typedef void(*PropertySetterCallback)(v8::Local, - v8::Local, - const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void PropertySetterName(v8::Local property, - v8::Local value, - const Nan::PropertyCallbackInfo& info); -``` - -You do not need to declare a new `HandleScope` within a property setter as one is implicitly created for you. - -A helper macro `NAN_PROPERTY_SETTER(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on named property [Interceptors](https://developers.google.com/v8/embed#interceptors). - - -### Property enumerator declaration - -JavaScript-accessible property enumerators should be declared with the following signature to form a Nan::PropertyEnumeratorCallback: - -```c++ -typedef void(*PropertyEnumeratorCallback)(const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void PropertyEnumeratorName(const Nan::PropertyCallbackInfo& info); -``` - -You do not need to declare a new `HandleScope` within a property enumerator as one is implicitly created for you. - -A helper macro `NAN_PROPERTY_ENUMERATOR(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on named property [Interceptors](https://developers.google.com/v8/embed#interceptors). - - -### Property deleter declaration - -JavaScript-accessible property deleters should be declared with the following signature to form a Nan::PropertyDeleterCallback: - -```c++ -typedef void(*PropertyDeleterCallback)(v8::Local, - const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void PropertyDeleterName(v8::Local property, - const Nan::PropertyCallbackInfo& info); -``` - -You do not need to declare a new `HandleScope` within a property deleter as one is implicitly created for you. - -A helper macro `NAN_PROPERTY_DELETER(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on named property [Interceptors](https://developers.google.com/v8/embed#interceptors). - - -### Property query declaration - -JavaScript-accessible property query methods should be declared with the following signature to form a Nan::PropertyQueryCallback: - -```c++ -typedef void(*PropertyQueryCallback)(v8::Local, - const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void PropertyQueryName(v8::Local property, - const Nan::PropertyCallbackInfo& info); -``` - -You do not need to declare a new `HandleScope` within a property query method as one is implicitly created for you. - -A helper macro `NAN_PROPERTY_QUERY(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on named property [Interceptors](https://developers.google.com/v8/embed#interceptors). - - -### Index getter declaration - -JavaScript-accessible index getter methods should be declared with the following signature to form a Nan::IndexGetterCallback: - -```c++ -typedef void(*IndexGetterCallback)(uint32_t, - const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void IndexGetterName(uint32_t index, const PropertyCallbackInfo& info); -``` - -You do not need to declare a new `HandleScope` within a index getter as one is implicitly created for you. - -A helper macro `NAN_INDEX_GETTER(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on indexed property [Interceptors](https://developers.google.com/v8/embed#interceptors). - - -### Index setter declaration - -JavaScript-accessible index setter methods should be declared with the following signature to form a Nan::IndexSetterCallback: - -```c++ -typedef void(*IndexSetterCallback)(uint32_t, - v8::Local, - const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void IndexSetterName(uint32_t index, - v8::Local value, - const PropertyCallbackInfo& info); -``` - -You do not need to declare a new `HandleScope` within a index setter as one is implicitly created for you. - -A helper macro `NAN_INDEX_SETTER(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on indexed property [Interceptors](https://developers.google.com/v8/embed#interceptors). - - -### Index enumerator declaration - -JavaScript-accessible index enumerator methods should be declared with the following signature to form a Nan::IndexEnumeratorCallback: - -```c++ -typedef void(*IndexEnumeratorCallback)(const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void IndexEnumeratorName(const PropertyCallbackInfo& info); -``` - -You do not need to declare a new `HandleScope` within a index enumerator as one is implicitly created for you. - -A helper macro `NAN_INDEX_ENUMERATOR(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on indexed property [Interceptors](https://developers.google.com/v8/embed#interceptors). - - -### Index deleter declaration - -JavaScript-accessible index deleter methods should be declared with the following signature to form a Nan::IndexDeleterCallback: - -```c++ -typedef void(*IndexDeleterCallback)(uint32_t, - const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void IndexDeleterName(uint32_t index, const PropertyCallbackInfo& info); -``` - -You do not need to declare a new `HandleScope` within a index deleter as one is implicitly created for you. - -A helper macro `NAN_INDEX_DELETER(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on indexed property [Interceptors](https://developers.google.com/v8/embed#interceptors). - - -### Index query declaration - -JavaScript-accessible index query methods should be declared with the following signature to form a Nan::IndexQueryCallback: - -```c++ -typedef void(*IndexQueryCallback)(uint32_t, - const PropertyCallbackInfo&); -``` - -Example: - -```c++ -void IndexQueryName(uint32_t index, const PropertyCallbackInfo& info); -``` - -You do not need to declare a new `HandleScope` within a index query method as one is implicitly created for you. - -A helper macro `NAN_INDEX_QUERY(methodname)` exists, compatible with NAN v1 method declarations. - -Also see the V8 Embedders Guide documentation on indexed property [Interceptors](https://developers.google.com/v8/embed#interceptors). - - -### Nan::SetMethod() - -Sets a method with a given name directly on a JavaScript object where the method has the `Nan::FunctionCallback` signature (see Method declaration). - -Signature: - -```c++ -void Nan::SetMethod(v8::Local recv, - const char *name, - Nan::FunctionCallback callback) -void Nan::SetMethod(v8::Local templ, - const char *name, - Nan::FunctionCallback callback) -``` - - -### Nan::SetPrototypeMethod() - -Sets a method with a given name on a `FunctionTemplate`'s prototype where the method has the `Nan::FunctionCallback` signature (see Method declaration). - -Signature: - -```c++ -void Nan::SetPrototypeMethod(v8::Local recv, - const char* name, - Nan::FunctionCallback callback) -``` - - -### Nan::SetAccessor() - -Sets getters and setters for a property with a given name on an `ObjectTemplate` or a plain `Object`. Accepts getters with the `Nan::GetterCallback` signature (see Getter declaration) and setters with the `Nan::SetterCallback` signature (see Setter declaration). - -Signature: - -```c++ -void SetAccessor(v8::Local tpl, - v8::Local name, - Nan::GetterCallback getter, - Nan::SetterCallback setter = 0, - v8::Local data = v8::Local(), - v8::AccessControl settings = v8::DEFAULT, - v8::PropertyAttribute attribute = v8::None, - imp::Sig signature = imp::Sig()); -bool SetAccessor(v8::Local obj, - v8::Local name, - Nan::GetterCallback getter, - Nan::SetterCallback setter = 0, - v8::Local data = v8::Local(), - v8::AccessControl settings = v8::DEFAULT, - v8::PropertyAttribute attribute = v8::None) -``` - -See the V8 [`ObjectTemplate#SetAccessor()`](https://v8docs.nodesource.com/io.js-3.0/db/d5f/classv8_1_1_object_template.html#aa90691622f01269c6a11391d372ca0c5) and [`Object#SetAccessor()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#a3f9dee085f5ec346465f1dc924325043) for further information about how to use `Nan::SetAccessor()`. - - -### Nan::SetNamedPropertyHandler() - -Sets named property getters, setters, query, deleter and enumerator methods on an `ObjectTemplate`. Accepts: - -* Property getters with the `Nan::PropertyGetterCallback` signature (see Property getter declaration) -* Property setters with the `Nan::PropertySetterCallback` signature (see Property setter declaration) -* Property query methods with the `Nan::PropertyQueryCallback` signature (see Property query declaration) -* Property deleters with the `Nan::PropertyDeleterCallback` signature (see Property deleter declaration) -* Property enumerators with the `Nan::PropertyEnumeratorCallback` signature (see Property enumerator declaration) - -Signature: - -```c++ -void SetNamedPropertyHandler(v8::Local tpl, - Nan::PropertyGetterCallback getter, - Nan::PropertySetterCallback setter = 0, - Nan::PropertyQueryCallback query = 0, - Nan::PropertyDeleterCallback deleter = 0, - Nan::PropertyEnumeratorCallback enumerator = 0, - v8::Local data = v8::Local()) -``` - -See the V8 [`ObjectTemplate#SetNamedPropertyHandler()`](https://v8docs.nodesource.com/io.js-3.0/db/d5f/classv8_1_1_object_template.html#a34d1cc45b642cd131706663801aadd76) for further information about how to use `Nan::SetNamedPropertyHandler()`. - - -### Nan::SetIndexedPropertyHandler() - -Sets indexed property getters, setters, query, deleter and enumerator methods on an `ObjectTemplate`. Accepts: - -* Indexed property getters with the `Nan::IndexGetterCallback` signature (see Index getter declaration) -* Indexed property setters with the `Nan::IndexSetterCallback` signature (see Index setter declaration) -* Indexed property query methods with the `Nan::IndexQueryCallback` signature (see Index query declaration) -* Indexed property deleters with the `Nan::IndexDeleterCallback` signature (see Index deleter declaration) -* Indexed property enumerators with the `Nan::IndexEnumeratorCallback` signature (see Index enumerator declaration) - -Signature: - -```c++ -void SetIndexedPropertyHandler(v8::Local tpl, - Nan::IndexGetterCallback getter, - Nan::IndexSetterCallback setter = 0, - Nan::IndexQueryCallback query = 0, - Nan::IndexDeleterCallback deleter = 0, - Nan::IndexEnumeratorCallback enumerator = 0, - v8::Local data = v8::Local()) -``` - -See the V8 [`ObjectTemplate#SetIndexedPropertyHandler()`](https://v8docs.nodesource.com/io.js-3.0/db/d5f/classv8_1_1_object_template.html#ac0234cbede45d51778bb5f6a32a9e125) for further information about how to use `Nan::SetIndexedPropertyHandler()`. - - -### Nan::SetTemplate() - -Adds properties on an `Object`'s or `Function`'s template. - -Signature: - -```c++ -void Nan::SetTemplate(v8::Local templ, - const char *name, - v8::Local value); -void Nan::SetTemplate(v8::Local templ, - v8::Local name, - v8::Local value, - v8::PropertyAttribute attributes) -``` - -Calls the `Template`'s [`Set()`](https://v8docs.nodesource.com/io.js-3.0/db/df7/classv8_1_1_template.html#a2db6a56597bf23c59659c0659e564ddf). - - -### Nan::SetPrototypeTemplate() - -Adds properties on an `Object`'s or `Function`'s prototype template. - -Signature: - -```c++ -void Nan::SetPrototypeTemplate(v8::Local templ, - const char *name, - v8::Local value); -void Nan::SetPrototypeTemplate(v8::Local templ, - v8::Local name, - v8::Local value, - v8::PropertyAttribute attributes) -``` - -Calls the `FunctionTemplate`'s _PrototypeTemplate's_ [`Set()`](https://v8docs.nodesource.com/io.js-3.0/db/df7/classv8_1_1_template.html#a2db6a56597bf23c59659c0659e564ddf). - - -### Nan::SetInstanceTemplate() - -Use to add instance properties on `FunctionTemplate`'s. - -Signature: - -```c++ -void Nan::SetInstanceTemplate(v8::Local templ, - const char *name, - v8::Local value); -void Nan::SetInstanceTemplate(v8::Local templ, - v8::Local name, - v8::Local value, - v8::PropertyAttribute attributes) -``` - -Calls the `FunctionTemplate`'s _InstanceTemplate's_ [`Set()`](https://v8docs.nodesource.com/io.js-3.0/db/df7/classv8_1_1_template.html#a2db6a56597bf23c59659c0659e564ddf). - - -### Nan::SetCallHandler() - -Set the call-handler callback for a `v8::FunctionTemplate`. -This callback is called whenever the function created from this FunctionTemplate is called. - -Signature: - -```c++ -void Nan::SetCallHandler(v8::Local templ, Nan::FunctionCallback callback, v8::Local data = v8::Local()) -``` - -Calls the `FunctionTemplate`'s [`SetCallHandler()`](https://v8docs.nodesource.com/io.js-3.0/d8/d83/classv8_1_1_function_template.html#a26cf14e36aa1a47091b98536d08ea821). - - -### Nan::SetCallAsFunctionHandler() - -Sets the callback to be used when calling instances created from the `v8::ObjectTemplate` as a function. -If no callback is set, instances behave like normal JavaScript objects that cannot be called as a function. - -Signature: - -```c++ -void Nan::SetCallAsFunctionHandler(v8::Local templ, Nan::FunctionCallback callback, v8::Local data = v8::Local()) -``` - -Calls the `ObjectTemplate`'s [`SetCallAsFunctionHandler()`](https://v8docs.nodesource.com/io.js-3.0/db/d5f/classv8_1_1_object_template.html#ae0a0e72fb0c5e5f32e255fe5bcc7316a). - diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/new.md b/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/new.md deleted file mode 100644 index c0734bd..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/new.md +++ /dev/null @@ -1,147 +0,0 @@ -## New - -NAN provides a `Nan::New()` helper for the creation of new JavaScript objects in a way that's compatible across the supported versions of V8. - - - Nan::New() - - Nan::Undefined() - - Nan::Null() - - Nan::True() - - Nan::False() - - Nan::EmptyString() - - - -### Nan::New() - -`Nan::New()` should be used to instantiate new JavaScript objects. - -Refer to the specific V8 type in the [V8 documentation](https://v8docs.nodesource.com/io.js-3.0/d1/d83/classv8_1_1_data.html) for information on the types of arguments required for instantiation. - -Signatures: - -Return types are mostly omitted from the signatures for simplicity. In most cases the type will be contained within a `v8::Local`. The following types will be contained within a `Nan::MaybeLocal`: `v8::String`, `v8::Date`, `v8::RegExp`, `v8::Script`, `v8::UnboundScript`. - -Empty objects: - -```c++ -Nan::New(); -``` - -Generic single and multiple-argument: - -```c++ -Nan::New(A0 arg0); -Nan::New(A0 arg0, A1 arg1); -Nan::New(A0 arg0, A1 arg1, A2 arg2); -Nan::New(A0 arg0, A1 arg1, A2 arg2, A3 arg3); -``` - -For creating `v8::FunctionTemplate` and `v8::Function` objects: - -_The definition of `Nan::FunctionCallback` can be found in the [Method declaration](./methods.md#api_nan_method) documentation._ - -```c++ -Nan::New(Nan::FunctionCallback callback, - v8::Local data = v8::Local()); -Nan::New(Nan::FunctionCallback callback, - v8::Local data = v8::Local(), - A2 a2 = A2()); -``` - -Native number types: - -```c++ -v8::Local Nan::New(bool value); -v8::Local Nan::New(int32_t value); -v8::Local Nan::New(uint32_t value); -v8::Local Nan::New(double value); -``` - -String types: - -```c++ -Nan::MaybeLocal Nan::New(std::string const& value); -Nan::MaybeLocal Nan::New(const char * value, int length); -Nan::MaybeLocal Nan::New(const char * value); -Nan::MaybeLocal Nan::New(const uint16_t * value); -Nan::MaybeLocal Nan::New(const uint16_t * value, int length); -``` - -Specialized types: - -```c++ -v8::Local Nan::New(v8::String::ExternalStringResource * value); -v8::Local Nan::New(Nan::ExternalOneByteStringResource * value); -v8::Local Nan::New(v8::Local pattern, v8::RegExp::Flags flags); -``` - -Note that `Nan::ExternalOneByteStringResource` maps to [`v8::String::ExternalOneByteStringResource`](https://v8docs.nodesource.com/io.js-3.0/d9/db3/classv8_1_1_string_1_1_external_one_byte_string_resource.html), and `v8::String::ExternalAsciiStringResource` in older versions of V8. - - - -### Nan::Undefined() - -A helper method to reference the `v8::Undefined` object in a way that is compatible across all supported versions of V8. - -Signature: - -```c++ -v8::Local Nan::Undefined() -``` - - -### Nan::Null() - -A helper method to reference the `v8::Null` object in a way that is compatible across all supported versions of V8. - -Signature: - -```c++ -v8::Local Nan::Null() -``` - - -### Nan::True() - -A helper method to reference the `v8::Boolean` object representing the `true` value in a way that is compatible across all supported versions of V8. - -Signature: - -```c++ -v8::Local Nan::True() -``` - - -### Nan::False() - -A helper method to reference the `v8::Boolean` object representing the `false` value in a way that is compatible across all supported versions of V8. - -Signature: - -```c++ -v8::Local Nan::False() -``` - - -### Nan::EmptyString() - -Call [`v8::String::Empty`](https://v8docs.nodesource.com/io.js-3.0/d2/db3/classv8_1_1_string.html#a7c1bc8886115d7ee46f1d571dd6ebc6d) to reference the empty string in a way that is compatible across all supported versions of V8. - -Signature: - -```c++ -v8::Local Nan::EmptyString() -``` - - - -### Nan::NewOneByteString() - -An implementation of [`v8::String::NewFromOneByte()`](https://v8docs.nodesource.com/io.js-3.0/d2/db3/classv8_1_1_string.html#a5264d50b96d2c896ce525a734dc10f09) provided for consistent availability and API across supported versions of V8. Allocates a new string from Latin-1 data. - -Signature: - -```c++ -Nan::MaybeLocal Nan::NewOneByteString(const uint8_t * value, - int length = -1) -``` diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/node_misc.md b/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/node_misc.md deleted file mode 100644 index 8aa080f..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/node_misc.md +++ /dev/null @@ -1,63 +0,0 @@ -## Miscellaneous Node Helpers - - - Nan::MakeCallback() - - NAN_MODULE_INIT() - - Nan::Export() - - - -### Nan::MakeCallback() - -Wrappers around `node::MakeCallback()` providing a consistent API across all supported versions of Node. - -Use `MakeCallback()` rather than using `v8::Function#Call()` directly in order to properly process internal Node functionality including domains, async hooks, the microtask queue, and other debugging functionality. - -Signatures: - -```c++ -v8::Local Nan::MakeCallback(v8::Local target, - v8::Local func, - int argc, - v8::Local* argv); -v8::Local Nan::MakeCallback(v8::Local target, - v8::Local symbol, - int argc, - v8::Local* argv); -v8::Local Nan::MakeCallback(v8::Local target, - const char* method, - int argc, - v8::Local* argv); -``` - - - -### NAN_MODULE_INIT() - -Used to define the entry point function to a Node add-on. Creates a function with a given `name` that receives a `target` object representing the equivalent of the JavaScript `exports` object. - -See example below. - - -### Nan::Export() - -A simple helper to register a `v8::FunctionTemplate` from a JavaScript-accessible method (see [Methods](./methods.md)) as a property on an object. Can be used in a way similar to assigning properties to `module.exports` in JavaScript. - -Signature: - -```c++ -void Export(v8::Local target, const char *name, Nan::FunctionCallback f) -``` - -Also available as the shortcut `NAN_EXPORT` macro. - -Example: - -```c++ -NAN_METHOD(Foo) { - ... -} - -NAN_MODULE_INIT(Init) { - NAN_EXPORT(target, Foo); -} -``` diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/object_wrappers.md b/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/object_wrappers.md deleted file mode 100644 index 27b0636..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/object_wrappers.md +++ /dev/null @@ -1,263 +0,0 @@ -## Object Wrappers - -The `ObjectWrap` class can be used to make wrapped C++ objects and a factory of wrapped objects. - - - Nan::ObjectWrap - - - -### Nan::ObjectWrap() - -A reimplementation of `node::ObjectWrap` that adds some API not present in older versions of Node. Should be preferred over `node::ObjectWrap` in all cases for consistency. - -Definition: - -```c++ -class ObjectWrap { - public: - ObjectWrap(); - - virtual ~ObjectWrap(); - - template - static inline T* Unwrap(v8::Local handle); - - inline v8::Local handle(); - - inline Nan::Persistent& persistent(); - - protected: - inline void Wrap(v8::Local handle); - - inline void MakeWeak(); - - /* Ref() marks the object as being attached to an event loop. - * Refed objects will not be garbage collected, even if - * all references are lost. - */ - virtual void Ref(); - - /* Unref() marks an object as detached from the event loop. This is its - * default state. When an object with a "weak" reference changes from - * attached to detached state it will be freed. Be careful not to access - * the object after making this call as it might be gone! - * (A "weak reference" means an object that only has a - * persistant handle.) - * - * DO NOT CALL THIS FROM DESTRUCTOR - */ - virtual void Unref(); - - int refs_; // ro -}; -``` - -See the Node documentation on [Wrapping C++ Objects](https://nodejs.org/api/addons.html#addons_wrapping_c_objects) for more details. - -### This vs. Holder - -When calling `Unwrap`, it is important that the argument is indeed some JavaScript object which got wrapped by a `Wrap` call for this class or any derived class. -The `Signature` installed by [`Nan::SetPrototypeMethod()`](methods.md#api_nan_set_prototype_method) does ensure that `info.Holder()` is just such an instance. -In Node 0.12 and later, `info.This()` will also be of such a type, since otherwise the invocation will get rejected. -However, in Node 0.10 and before it was possible to invoke a method on a JavaScript object which just had the extension type in its prototype chain. -In such a situation, calling `Unwrap` on `info.This()` will likely lead to a failed assertion causing a crash, but could lead to even more serious corruption. - -On the other hand, calling `Unwrap` in an [accessor](methods.md#api_nan_set_accessor) should not use `Holder()` if the accessor is defined on the prototype. -So either define your accessors on the instance template, -or use `This()` after verifying that it is indeed a valid object. - -### Examples - -#### Basic - -```c++ -class MyObject : public Nan::ObjectWrap { - public: - static NAN_MODULE_INIT(Init) { - v8::Local tpl = Nan::New(New); - tpl->SetClassName(Nan::New("MyObject").ToLocalChecked()); - tpl->InstanceTemplate()->SetInternalFieldCount(1); - - SetPrototypeMethod(tpl, "getHandle", GetHandle); - SetPrototypeMethod(tpl, "getValue", GetValue); - - constructor().Reset(Nan::GetFunction(tpl).ToLocalChecked()); - Nan::Set(target, Nan::New("MyObject").ToLocalChecked(), - Nan::GetFunction(tpl).ToLocalChecked()); - } - - private: - explicit MyObject(double value = 0) : value_(value) {} - ~MyObject() {} - - static NAN_METHOD(New) { - if (info.IsConstructCall()) { - double value = info[0]->IsUndefined() ? 0 : Nan::To(info[0]).FromJust(); - MyObject *obj = new MyObject(value); - obj->Wrap(info.This()); - info.GetReturnValue().Set(info.This()); - } else { - const int argc = 1; - v8::Local argv[argc] = {info[0]}; - v8::Local cons = Nan::New(constructor()); - info.GetReturnValue().Set(cons->NewInstance(argc, argv)); - } - } - - static NAN_METHOD(GetHandle) { - MyObject* obj = Nan::ObjectWrap::Unwrap(info.Holder()); - info.GetReturnValue().Set(obj->handle()); - } - - static NAN_METHOD(GetValue) { - MyObject* obj = Nan::ObjectWrap::Unwrap(info.Holder()); - info.GetReturnValue().Set(obj->value_); - } - - static inline Nan::Persistent & constructor() { - static Nan::Persistent my_constructor; - return my_constructor; - } - - double value_; -}; - -NODE_MODULE(objectwrapper, MyObject::Init) -``` - -To use in Javascript: - -```Javascript -var objectwrapper = require('bindings')('objectwrapper'); - -var obj = new objectwrapper.MyObject(5); -console.log('Should be 5: ' + obj.getValue()); -``` - -#### Factory of wrapped objects - -```c++ -class MyFactoryObject : public Nan::ObjectWrap { - public: - static NAN_MODULE_INIT(Init) { - v8::Local tpl = Nan::New(New); - tpl->InstanceTemplate()->SetInternalFieldCount(1); - - Nan::SetPrototypeMethod(tpl, "getValue", GetValue); - - constructor().Reset(Nan::GetFunction(tpl).ToLocalChecked()); - } - - static NAN_METHOD(NewInstance) { - v8::Local cons = Nan::New(constructor()); - double value = info[0]->IsNumber() ? Nan::To(info[0]).FromJust() : 0; - const int argc = 1; - v8::Local argv[1] = {Nan::New(value)}; - info.GetReturnValue().Set(Nan::NewInstance(cons, argc, argv).ToLocalChecked()); - } - - // Needed for the next example: - inline double value() const { - return value_; - } - - private: - explicit MyFactoryObject(double value = 0) : value_(value) {} - ~MyFactoryObject() {} - - static NAN_METHOD(New) { - if (info.IsConstructCall()) { - double value = info[0]->IsNumber() ? Nan::To(info[0]).FromJust() : 0; - MyFactoryObject * obj = new MyFactoryObject(value); - obj->Wrap(info.This()); - info.GetReturnValue().Set(info.This()); - } else { - const int argc = 1; - v8::Local argv[argc] = {info[0]}; - v8::Local cons = Nan::New(constructor()); - info.GetReturnValue().Set(Nan::NewInstance(cons, argc, argv).ToLocalChecked()); - } - } - - static NAN_METHOD(GetValue) { - MyFactoryObject* obj = ObjectWrap::Unwrap(info.Holder()); - info.GetReturnValue().Set(obj->value_); - } - - static inline Nan::Persistent & constructor() { - static Nan::Persistent my_constructor; - return my_constructor; - } - - double value_; -}; - -NAN_MODULE_INIT(Init) { - MyFactoryObject::Init(target); - Nan::Set(target, - Nan::New("newFactoryObjectInstance").ToLocalChecked(), - Nan::GetFunction( - Nan::New(MyFactoryObject::NewInstance)).ToLocalChecked() - ); -} - -NODE_MODULE(wrappedobjectfactory, Init) -``` - -To use in Javascript: - -```Javascript -var wrappedobjectfactory = require('bindings')('wrappedobjectfactory'); - -var obj = wrappedobjectfactory.newFactoryObjectInstance(10); -console.log('Should be 10: ' + obj.getValue()); -``` - -#### Passing wrapped objects around - -Use the `MyFactoryObject` class above along with the following: - -```c++ -static NAN_METHOD(Sum) { - Nan::MaybeLocal maybe1 = Nan::To(info[0]); - Nan::MaybeLocal maybe2 = Nan::To(info[1]); - - // Quick check: - if (maybe1.IsEmpty() || maybe2.IsEmpty()) { - // return value is undefined by default - return; - } - - MyFactoryObject* obj1 = - Nan::ObjectWrap::Unwrap(maybe1.ToLocalChecked()); - MyFactoryObject* obj2 = - Nan::ObjectWrap::Unwrap(maybe2.ToLocalChecked()); - - info.GetReturnValue().Set(Nan::New(obj1->value() + obj2->value())); -} - -NAN_MODULE_INIT(Init) { - MyFactoryObject::Init(target); - Nan::Set(target, - Nan::New("newFactoryObjectInstance").ToLocalChecked(), - Nan::GetFunction( - Nan::New(MyFactoryObject::NewInstance)).ToLocalChecked() - ); - Nan::Set(target, - Nan::New("sum").ToLocalChecked(), - Nan::GetFunction(Nan::New(Sum)).ToLocalChecked() - ); -} - -NODE_MODULE(myaddon, Init) -``` - -To use in Javascript: - -```Javascript -var myaddon = require('bindings')('myaddon'); - -var obj1 = myaddon.newFactoryObjectInstance(5); -var obj2 = myaddon.newFactoryObjectInstance(10); -console.log('sum of object values: ' + myaddon.sum(obj1, obj2)); -``` diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/persistent.md b/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/persistent.md deleted file mode 100644 index 743b44a..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/persistent.md +++ /dev/null @@ -1,295 +0,0 @@ -## Persistent references - -An object reference that is independent of any `HandleScope` is a _persistent_ reference. Where a `Local` handle only lives as long as the `HandleScope` in which it was allocated, a `Persistent` handle remains valid until it is explicitly disposed. - -Due to the evolution of the V8 API, it is necessary for NAN to provide a wrapper implementation of the `Persistent` classes to supply compatibility across the V8 versions supported. - - - Nan::PersistentBase & v8::PersistentBase - - Nan::NonCopyablePersistentTraits & v8::NonCopyablePersistentTraits - - Nan::CopyablePersistentTraits & v8::CopyablePersistentTraits - - Nan::Persistent - - Nan::Global - - Nan::WeakCallbackInfo - - Nan::WeakCallbackType - -Also see the V8 Embedders Guide section on [Handles and Garbage Collection](https://developers.google.com/v8/embed#handles). - - -### Nan::PersistentBase & v8::PersistentBase - -A persistent handle contains a reference to a storage cell in V8 which holds an object value and which is updated by the garbage collector whenever the object is moved. A new storage cell can be created using the constructor or `Nan::PersistentBase::Reset()`. Existing handles can be disposed using an argument-less `Nan::PersistentBase::Reset()`. - -Definition: - -_(note: this is implemented as `Nan::PersistentBase` for older versions of V8 and the native `v8::PersistentBase` is used for newer versions of V8)_ - -```c++ -template class PersistentBase { - public: - /** - * If non-empty, destroy the underlying storage cell - */ - void Reset(); - - /** - * If non-empty, destroy the underlying storage cell and create a new one with - * the contents of another if it is also non-empty - */ - template void Reset(const v8::Local &other); - - /** - * If non-empty, destroy the underlying storage cell and create a new one with - * the contents of another if it is also non-empty - */ - template void Reset(const PersistentBase &other); - - /** - * If non-empty, destroy the underlying storage cell - * IsEmpty() will return true after this call. - */ - bool IsEmpty(); - - void Empty(); - - template bool operator==(const PersistentBase &that); - - template bool operator==(const v8::Local &that); - - template bool operator!=(const PersistentBase &that); - - template bool operator!=(const v8::Local &that); - - /** - * Install a finalization callback on this object. - * NOTE: There is no guarantee as to *when* or even *if* the callback is - * invoked. The invocation is performed solely on a best effort basis. - * As always, GC-based finalization should *not* be relied upon for any - * critical form of resource management! At the moment you can either - * specify a parameter for the callback or the location of two internal - * fields in the dying object. - */ - template - void SetWeak(P *parameter, - typename WeakCallbackInfo

::Callback callback, - WeakCallbackType type); - - void ClearWeak(); - - /** - * Marks the reference to this object independent. Garbage collector is free - * to ignore any object groups containing this object. Weak callback for an - * independent handle should not assume that it will be preceded by a global - * GC prologue callback or followed by a global GC epilogue callback. - */ - void MarkIndependent() const; - - bool IsIndependent() const; - - /** Checks if the handle holds the only reference to an object. */ - bool IsNearDeath() const; - - /** Returns true if the handle's reference is weak. */ - bool IsWeak() const -}; -``` - -See the V8 documentation for [`PersistentBase`](https://v8docs.nodesource.com/io.js-3.0/d4/dca/classv8_1_1_persistent_base.html) for further information. - -**Tip:** To get a `v8::Local` reference to the original object back from a `PersistentBase` or `Persistent` object: - -```c++ -v8::Local object = Nan::New(persistent); -``` - - -### Nan::NonCopyablePersistentTraits & v8::NonCopyablePersistentTraits - -Default traits for `Nan::Persistent`. This class does not allow use of the a copy constructor or assignment operator. At present `kResetInDestructor` is not set, but that will change in a future version. - -Definition: - -_(note: this is implemented as `Nan::NonCopyablePersistentTraits` for older versions of V8 and the native `v8::NonCopyablePersistentTraits` is used for newer versions of V8)_ - -```c++ -template class NonCopyablePersistentTraits { - public: - typedef Persistent > NonCopyablePersistent; - - static const bool kResetInDestructor = false; - - template - static void Copy(const Persistent &source, - NonCopyablePersistent *dest); - - template static void Uncompilable(); -}; -``` - -See the V8 documentation for [`NonCopyablePersistentTraits`](https://v8docs.nodesource.com/io.js-3.0/de/d73/classv8_1_1_non_copyable_persistent_traits.html) for further information. - - -### Nan::CopyablePersistentTraits & v8::CopyablePersistentTraits - -A helper class of traits to allow copying and assignment of `Persistent`. This will clone the contents of storage cell, but not any of the flags, etc.. - -Definition: - -_(note: this is implemented as `Nan::CopyablePersistentTraits` for older versions of V8 and the native `v8::NonCopyablePersistentTraits` is used for newer versions of V8)_ - -```c++ -template -class CopyablePersistentTraits { - public: - typedef Persistent > CopyablePersistent; - - static const bool kResetInDestructor = true; - - template - static void Copy(const Persistent &source, - CopyablePersistent *dest); -}; -``` - -See the V8 documentation for [`CopyablePersistentTraits`](https://v8docs.nodesource.com/io.js-3.0/da/d5c/structv8_1_1_copyable_persistent_traits.html) for further information. - - -### Nan::Persistent - -A type of `PersistentBase` which allows copy and assignment. Copy, assignment and destructor behavior is controlled by the traits class `M`. - -Definition: - -```c++ -template > -class Persistent; - -template class Persistent : public PersistentBase { - public: - /** - * A Persistent with no storage cell. - */ - Persistent(); - - /** - * Construct a Persistent from a v8::Local. When the v8::Local is non-empty, a - * new storage cell is created pointing to the same object, and no flags are - * set. - */ - template Persistent(v8::Local that); - - /** - * Construct a Persistent from a Persistent. When the Persistent is non-empty, - * a new storage cell is created pointing to the same object, and no flags are - * set. - */ - Persistent(const Persistent &that); - - /** - * The copy constructors and assignment operator create a Persistent exactly - * as the Persistent constructor, but the Copy function from the traits class - * is called, allowing the setting of flags based on the copied Persistent. - */ - Persistent &operator=(const Persistent &that); - - template - Persistent &operator=(const Persistent &that); - - /** - * The destructor will dispose the Persistent based on the kResetInDestructor - * flags in the traits class. Since not calling dispose can result in a - * memory leak, it is recommended to always set this flag. - */ - ~Persistent(); -}; -``` - -See the V8 documentation for [`Persistent`](https://v8docs.nodesource.com/io.js-3.0/d2/d78/classv8_1_1_persistent.html) for further information. - - -### Nan::Global - -A type of `PersistentBase` which has move semantics. - -```c++ -template class Global : public PersistentBase { - public: - /** - * A Global with no storage cell. - */ - Global(); - - /** - * Construct a Global from a v8::Local. When the v8::Local is non-empty, a new - * storage cell is created pointing to the same object, and no flags are set. - */ - template Global(v8::Local that); - /** - * Construct a Global from a PersistentBase. When the Persistent is non-empty, - * a new storage cell is created pointing to the same object, and no flags are - * set. - */ - template Global(const PersistentBase &that); - - /** - * Pass allows returning globals from functions, etc. - */ - Global Pass(); -}; -``` - -See the V8 documentation for [`Global`](https://v8docs.nodesource.com/io.js-3.0/d5/d40/classv8_1_1_global.html) for further information. - - -### Nan::WeakCallbackInfo - -`Nan::WeakCallbackInfo` is used as an argument when setting a persistent reference as weak. You may need to free any external resources attached to the object. It is a mirror of `v8:WeakCallbackInfo` as found in newer versions of V8. - -Definition: - -```c++ -template class WeakCallbackInfo { - public: - typedef void (*Callback)(const WeakCallbackInfo& data); - - v8::Isolate *GetIsolate() const; - - /** - * Get the parameter that was associated with the weak handle. - */ - T *GetParameter() const; - - /** - * Get pointer from internal field, index can be 0 or 1. - */ - void *GetInternalField(int index) const; -}; -``` - -Example usage: - -```c++ -void weakCallback(const WeakCallbackInfo &data) { - int *parameter = data.GetParameter(); - delete parameter; -} - -Persistent obj; -int *data = new int(0); -obj.SetWeak(data, callback, WeakCallbackType::kParameter); -``` - -See the V8 documentation for [`WeakCallbackInfo`](https://v8docs.nodesource.com/io.js-3.0/d8/d06/classv8_1_1_weak_callback_info.html) for further information. - - -### Nan::WeakCallbackType - -Represents the type of a weak callback. -A weak callback of type `kParameter` makes the supplied parameter to `Nan::PersistentBase::SetWeak` available through `WeakCallbackInfo::GetParameter`. -A weak callback of type `kInternalFields` uses up to two internal fields at indices 0 and 1 on the `Nan::PersistentBase` being made weak. -Note that only `v8::Object`s and derivatives can have internal fields. - -Definition: - -```c++ -enum class WeakCallbackType { kParameter, kInternalFields }; -``` diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/scopes.md b/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/scopes.md deleted file mode 100644 index e9a35d0..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/scopes.md +++ /dev/null @@ -1,73 +0,0 @@ -## Scopes - -A _local handle_ is a pointer to an object. All V8 objects are accessed using handles, they are necessary because of the way the V8 garbage collector works. - -A handle scope can be thought of as a container for any number of handles. When you've finished with your handles, instead of deleting each one individually you can simply delete their scope. - -The creation of `HandleScope` objects is different across the supported versions of V8. Therefore, NAN provides its own implementations that can be used safely across these. - - - Nan::HandleScope - - Nan::EscapableHandleScope - -Also see the V8 Embedders Guide section on [Handles and Garbage Collection](https://developers.google.com/v8/embed#handles). - - -### Nan::HandleScope - -A simple wrapper around [`v8::HandleScope`](https://v8docs.nodesource.com/io.js-3.0/d3/d95/classv8_1_1_handle_scope.html). - -Definition: - -```c++ -class Nan::HandleScope { - public: - Nan::HandleScope(); - static int NumberOfHandles(); -}; -``` - -Allocate a new `Nan::HandleScope` whenever you are creating new V8 JavaScript objects. Note that an implicit `HandleScope` is created for you on JavaScript-accessible methods so you do not need to insert one yourself. - -Example: - -```c++ -// new object is created, it needs a new scope: -void Pointless() { - Nan::HandleScope scope; - v8::Local obj = Nan::New(); -} - -// JavaScript-accessible method already has a HandleScope -NAN_METHOD(Pointless2) { - v8::Local obj = Nan::New(); -} -``` - - -### Nan::EscapableHandleScope - -Similar to [`Nan::HandleScope`](#api_nan_handle_scope) but should be used in cases where a function needs to return a V8 JavaScript type that has been created within it. - -Definition: - -```c++ -class Nan::EscapableHandleScope { - public: - Nan::EscapableHandleScope(); - static int NumberOfHandles(); - template v8::Local Escape(v8::Local value); -} -``` - -Use `Escape(value)` to return the object. - -Example: - -```c++ -v8::Local EmptyObj() { - Nan::EscapableHandleScope scope; - v8::Local obj = Nan::New(); - return scope.Escape(obj); -} -``` - diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/script.md b/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/script.md deleted file mode 100644 index 1267b5e..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/script.md +++ /dev/null @@ -1,38 +0,0 @@ -## Script - -NAN provides a `v8::Script` helpers as the API has changed over the supported versions of V8. - - - Nan::CompileScript() - - Nan::RunScript() - - - -### Nan::CompileScript() - -A wrapper around [`v8::Script::Compile()`](https://v8docs.nodesource.com/io.js-3.0/da/da5/classv8_1_1_script_compiler.html#a93f5072a0db55d881b969e9fc98e564b). - -Note that `Nan::BoundScript` is an alias for `v8::Script`. - -Signature: - -```c++ -Nan::MaybeLocal Nan::CompileScript( - v8::Local s, - const v8::ScriptOrigin& origin); -Nan::MaybeLocal Nan::CompileScript(v8::Local s); -``` - - - -### Nan::RunScript() - -Calls `script->Run()` or `script->BindToCurrentContext()->Run(Nan::GetCurrentContext())`. - -Note that `Nan::BoundScript` is an alias for `v8::Script` and `Nan::UnboundScript` is an alias for `v8::UnboundScript` where available and `v8::Script` on older versions of V8. - -Signature: - -```c++ -Nan::MaybeLocal Nan::RunScript(v8::Local script) -Nan::MaybeLocal Nan::RunScript(v8::Local script) -``` diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/string_bytes.md b/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/string_bytes.md deleted file mode 100644 index 7c1bd32..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/string_bytes.md +++ /dev/null @@ -1,62 +0,0 @@ -## Strings & Bytes - -Miscellaneous string & byte encoding and decoding functionality provided for compatibility across supported versions of V8 and Node. Implemented by NAN to ensure that all encoding types are supported, even for older versions of Node where they are missing. - - - Nan::Encoding - - Nan::Encode() - - Nan::DecodeBytes() - - Nan::DecodeWrite() - - - -### Nan::Encoding - -An enum representing the supported encoding types. A copy of `node::encoding` that is consistent across versions of Node. - -Definition: - -```c++ -enum Nan::Encoding { ASCII, UTF8, BASE64, UCS2, BINARY, HEX, BUFFER } -``` - - - -### Nan::Encode() - -A wrapper around `node::Encode()` that provides a consistent implementation across supported versions of Node. - -Signature: - -```c++ -v8::Local Nan::Encode(const void *buf, - size_t len, - enum Nan::Encoding encoding = BINARY); -``` - - - -### Nan::DecodeBytes() - -A wrapper around `node::DecodeBytes()` that provides a consistent implementation across supported versions of Node. - -Signature: - -```c++ -ssize_t Nan::DecodeBytes(v8::Local val, - enum Nan::Encoding encoding = BINARY); -``` - - - -### Nan::DecodeWrite() - -A wrapper around `node::DecodeWrite()` that provides a consistent implementation across supported versions of Node. - -Signature: - -```c++ -ssize_t Nan::DecodeWrite(char *buf, - size_t len, - v8::Local val, - enum Nan::Encoding encoding = BINARY); -``` diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/v8_internals.md b/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/v8_internals.md deleted file mode 100644 index 8e6319b..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/v8_internals.md +++ /dev/null @@ -1,199 +0,0 @@ -## V8 internals - -The hooks to access V8 internals—including GC and statistics—are different across the supported versions of V8, therefore NAN provides its own hooks that call the appropriate V8 methods. - - - NAN_GC_CALLBACK() - - Nan::AddGCEpilogueCallback() - - Nan::RemoveGCEpilogueCallback() - - Nan::AddGCPrologueCallback() - - Nan::RemoveGCPrologueCallback() - - Nan::GetHeapStatistics() - - Nan::SetCounterFunction() - - Nan::SetCreateHistogramFunction() - - Nan::SetAddHistogramSampleFunction() - - Nan::IdleNotification() - - Nan::LowMemoryNotification() - - Nan::ContextDisposedNotification() - - Nan::GetInternalFieldPointer() - - Nan::SetInternalFieldPointer() - - Nan::AdjustExternalMemory() - - - -### NAN_GC_CALLBACK(callbackname) - -Use `NAN_GC_CALLBACK` to declare your callbacks for `Nan::AddGCPrologueCallback()` and `Nan::AddGCEpilogueCallback()`. Your new method receives the arguments `v8::GCType type` and `v8::GCCallbackFlags flags`. - -```c++ -static Nan::Persistent callback; - -NAN_GC_CALLBACK(gcPrologueCallback) { - v8::Local argv[] = { Nan::New("prologue").ToLocalChecked() }; - Nan::MakeCallback(Nan::GetCurrentContext()->Global(), Nan::New(callback), 1, argv); -} - -NAN_METHOD(Hook) { - callback.Reset(args[0].As()); - Nan::AddGCPrologueCallback(gcPrologueCallback); - info.GetReturnValue().Set(info.Holder()); -} -``` - - -### Nan::AddGCEpilogueCallback() - -Signature: - -```c++ -void Nan::AddGCEpilogueCallback(v8::Isolate::GCEpilogueCallback callback, v8::GCType gc_type_filter = v8::kGCTypeAll) -``` - -Calls V8's [`AddGCEpilogueCallback()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#a90d1860babc76059c62514b422f56960). - - -### Nan::RemoveGCEpilogueCallback() - -Signature: - -```c++ -void Nan::RemoveGCEpilogueCallback(v8::Isolate::GCEpilogueCallback callback) -``` - -Calls V8's [`RemoveGCEpilogueCallback()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#a05c60859fd4b8e96bfcd451281ed6c7c). - - -### Nan::AddGCPrologueCallback() - -Signature: - -```c++ -void Nan::AddGCPrologueCallback(v8::Isolate::GCPrologueCallback, v8::GCType gc_type_filter callback) -``` - -Calls V8's [`AddGCPrologueCallback()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#ab4b87b8f9f8e5bf95eba4009357e001f). - - -### Nan::RemoveGCPrologueCallback() - -Signature: - -```c++ -void Nan::RemoveGCPrologueCallback(v8::Isolate::GCPrologueCallback callback) -``` - -Calls V8's [`RemoveGCEpilogueCallback()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#a9f6c51932811593f81ff30b949124186). - - -### Nan::GetHeapStatistics() - -Signature: - -```c++ -void Nan::GetHeapStatistics(v8::HeapStatistics *heap_statistics) -``` - -Calls V8's [`GetHeapStatistics()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#a5593ac74687b713095c38987e5950b34). - - -### Nan::SetCounterFunction() - -Signature: - -```c++ -void Nan::SetCounterFunction(v8::CounterLookupCallback cb) -``` - -Calls V8's [`SetCounterFunction()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#a045d7754e62fa0ec72ae6c259b29af94). - - -### Nan::SetCreateHistogramFunction() - -Signature: - -```c++ -void Nan::SetCreateHistogramFunction(v8::CreateHistogramCallback cb) -``` - -Calls V8's [`SetCreateHistogramFunction()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#a542d67e85089cb3f92aadf032f99e732). - - -### Nan::SetAddHistogramSampleFunction() - -Signature: - -```c++ -void Nan::SetAddHistogramSampleFunction(v8::AddHistogramSampleCallback cb) -``` - -Calls V8's [`SetAddHistogramSampleFunction()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#aeb420b690bc2c216882d6fdd00ddd3ea). - - -### Nan::IdleNotification() - -Signature: - -```c++ -void Nan::IdleNotification(v8::HeapStatistics *heap_statistics) -``` - -Calls V8's [`IdleNotification()` or `IdleNotificationDeadline()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#ad6a2a02657f5425ad460060652a5a118) depending on V8 version. - - -### Nan::LowMemoryNotification() - -Signature: - -```c++ -void Nan::LowMemoryNotification() -``` - -Calls V8's [`IdleNotification()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#a24647f61d6b41f69668094bdcd6ea91f). - - -### Nan::ContextDisposedNotification() - -Signature: - -```c++ -void Nan::ContextDisposedNotification() -``` - -Calls V8's [`ContextDisposedNotification()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#ad7f5dc559866343fe6cd8db1f134d48b). - - -### Nan::GetInternalFieldPointer() - -Gets a pointer to the internal field with at `index` from a V8 `Object` handle. - -Signature: - -```c++ -void* Nan::GetInternalFieldPointer(v8::Local object, int index) -``` - -Calls the Object's [`GetAlignedPointerFromInternalField()` or `GetPointerFromInternalField()`](https://v8docs.nodesource.com/io.js-3.0/db/d85/classv8_1_1_object.html#ab3c57184263cf29963ef0017bec82281) depending on the version of V8. - - -### Nan::SetInternalFieldPointer() - -Sets the value of the internal field at `index` on a V8 `Object` handle. - -Signature: - -```c++ -void Nan::SetInternalFieldPointer(v8::Local object, int index, void* value) -``` - -Calls the Object's [`SetAlignedPointerInInternalField()` or `SetPointerInInternalField()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#ad7f5dc559866343fe6cd8db1f134d48b) depending on the version of V8. - - -### Nan::AdjustExternalMemory() - -Signature: - -```c++ -int Nan::AdjustExternalMemory(int bytesChange) -``` - -Calls V8's [`AdjustAmountOfExternalAllocatedMemory()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#ae1a59cac60409d3922582c4af675473e). - diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/v8_misc.md b/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/v8_misc.md deleted file mode 100644 index 64f736d..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/doc/v8_misc.md +++ /dev/null @@ -1,85 +0,0 @@ -## Miscellaneous V8 Helpers - - - Nan::Utf8String - - Nan::GetCurrentContext() - - Nan::SetIsolateData() - - Nan::GetIsolateData() - - Nan::TypedArrayContents - - - -### Nan::Utf8String - -Converts an object to a UTF-8-encoded character array. If conversion to a string fails (e.g. due to an exception in the toString() method of the object) then the length() method returns 0 and the * operator returns NULL. The underlying memory used for this object is managed by the object. - -An implementation of [`v8::String::Utf8Value`](https://v8docs.nodesource.com/io.js-3.0/d4/d1b/classv8_1_1_string_1_1_utf8_value.html) that is consistent across all supported versions of V8. - -Definition: - -```c++ -class Nan::Utf8String { - public: - Nan::Utf8String(v8::Local from); - - int length() const; - - char* operator*(); - const char* operator*() const; -}; -``` - - -### Nan::GetCurrentContext() - -A call to [`v8::Isolate::GetCurrent()->GetCurrentContext()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#a81c7a1ed7001ae2a65e89107f75fd053) that works across all supported versions of V8. - -Signature: - -```c++ -v8::Local Nan::GetCurrentContext() -``` - - -### Nan::SetIsolateData() - -A helper to provide a consistent API to [`v8::Isolate#SetData()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#a7acadfe7965997e9c386a05f098fbe36). - -Signature: - -```c++ -void Nan::SetIsolateData(v8::Isolate *isolate, T *data) -``` - - - -### Nan::GetIsolateData() - -A helper to provide a consistent API to [`v8::Isolate#GetData()`](https://v8docs.nodesource.com/io.js-3.0/d5/dda/classv8_1_1_isolate.html#aabd223436bc1100a787dadaa024c6257). - -Signature: - -```c++ -T *Nan::GetIsolateData(v8::Isolate *isolate) -``` - - -### Nan::TypedArrayContents - -A helper class for accessing the contents of an ArrayBufferView (aka a typedarray) from C++. If the input array is not a valid typedarray, then the data pointer of TypedArrayContents will default to `NULL` and the length will be 0. If the data pointer is not compatible with the alignment requirements of type, an assertion error will fail. - -Note that you must store a reference to the `array` object while you are accessing its contents. - -Definition: - -```c++ -template -class Nan::TypedArrayContents { - public: - TypedArrayContents(v8::Local array); - - size_t length() const; - - T* const operator*(); - const T* const operator*() const; -}; -``` diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/include_dirs.js b/node_modules/jsdom/node_modules/contextify/node_modules/nan/include_dirs.js deleted file mode 100644 index 4f1dfb4..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/include_dirs.js +++ /dev/null @@ -1 +0,0 @@ -console.log(require('path').relative('.', __dirname)); diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan.h b/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan.h deleted file mode 100644 index 7176da1..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan.h +++ /dev/null @@ -1,2274 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2016 NAN contributors: - * - Rod Vagg - * - Benjamin Byholm - * - Trevor Norris - * - Nathan Rajlich - * - Brett Lawson - * - Ben Noordhuis - * - David Siegel - * - * MIT License - * - * Version 2.4.0: current Node 6.3.0, Node 12: 0.12.15, Node 10: 0.10.46, iojs: 3.3.1 - * - * See https://github.com/nodejs/nan for the latest update to this file - **********************************************************************************/ - -#ifndef NAN_H_ -#define NAN_H_ - -#include - -#define NODE_0_10_MODULE_VERSION 11 -#define NODE_0_12_MODULE_VERSION 14 -#define ATOM_0_21_MODULE_VERSION 41 -#define IOJS_1_0_MODULE_VERSION 42 -#define IOJS_1_1_MODULE_VERSION 43 -#define IOJS_2_0_MODULE_VERSION 44 -#define IOJS_3_0_MODULE_VERSION 45 -#define NODE_4_0_MODULE_VERSION 46 -#define NODE_5_0_MODULE_VERSION 47 -#define NODE_6_0_MODULE_VERSION 48 - -#ifdef _MSC_VER -# define NAN_HAS_CPLUSPLUS_11 (_MSC_VER >= 1800) -#else -# define NAN_HAS_CPLUSPLUS_11 (__cplusplus >= 201103L) -#endif - -#if NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION && !NAN_HAS_CPLUSPLUS_11 -# error This version of node/NAN/v8 requires a C++11 compiler -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#if defined(_MSC_VER) -# pragma warning( push ) -# pragma warning( disable : 4530 ) -# include -# include -# pragma warning( pop ) -#else -# include -# include -#endif - -// uv helpers -#ifdef UV_VERSION_MAJOR -# ifndef UV_VERSION_PATCH -# define UV_VERSION_PATCH 0 -# endif -# define NAUV_UVVERSION ((UV_VERSION_MAJOR << 16) | \ - (UV_VERSION_MINOR << 8) | \ - (UV_VERSION_PATCH)) -#else -# define NAUV_UVVERSION 0x000b00 -#endif - -#if NAUV_UVVERSION < 0x000b0b -# ifdef WIN32 -# include -# else -# include -# endif -#endif - -namespace Nan { - -#define NAN_INLINE inline // TODO(bnoordhuis) Remove in v3.0.0. - -#if defined(__GNUC__) && \ - !(defined(V8_DISABLE_DEPRECATIONS) && V8_DISABLE_DEPRECATIONS) -# define NAN_DEPRECATED __attribute__((deprecated)) -#elif defined(_MSC_VER) && \ - !(defined(V8_DISABLE_DEPRECATIONS) && V8_DISABLE_DEPRECATIONS) -# define NAN_DEPRECATED __declspec(deprecated) -#else -# define NAN_DEPRECATED -#endif - -#if NAN_HAS_CPLUSPLUS_11 -# define NAN_DISALLOW_ASSIGN(CLASS) void operator=(const CLASS&) = delete; -# define NAN_DISALLOW_COPY(CLASS) CLASS(const CLASS&) = delete; -# define NAN_DISALLOW_MOVE(CLASS) \ - CLASS(CLASS&&) = delete; /* NOLINT(build/c++11) */ \ - void operator=(CLASS&&) = delete; -#else -# define NAN_DISALLOW_ASSIGN(CLASS) void operator=(const CLASS&); -# define NAN_DISALLOW_COPY(CLASS) CLASS(const CLASS&); -# define NAN_DISALLOW_MOVE(CLASS) -#endif - -#define NAN_DISALLOW_ASSIGN_COPY(CLASS) \ - NAN_DISALLOW_ASSIGN(CLASS) \ - NAN_DISALLOW_COPY(CLASS) - -#define NAN_DISALLOW_ASSIGN_MOVE(CLASS) \ - NAN_DISALLOW_ASSIGN(CLASS) \ - NAN_DISALLOW_MOVE(CLASS) - -#define NAN_DISALLOW_COPY_MOVE(CLASS) \ - NAN_DISALLOW_COPY(CLASS) \ - NAN_DISALLOW_MOVE(CLASS) - -#define NAN_DISALLOW_ASSIGN_COPY_MOVE(CLASS) \ - NAN_DISALLOW_ASSIGN(CLASS) \ - NAN_DISALLOW_COPY(CLASS) \ - NAN_DISALLOW_MOVE(CLASS) - -#define TYPE_CHECK(T, S) \ - while (false) { \ - *(static_cast(0)) = static_cast(0); \ - } - -//=== RegistrationFunction ===================================================== - -#if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION - typedef v8::Handle ADDON_REGISTER_FUNCTION_ARGS_TYPE; -#else - typedef v8::Local ADDON_REGISTER_FUNCTION_ARGS_TYPE; -#endif - -#define NAN_MODULE_INIT(name) \ - void name(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE target) - -//=== CallbackInfo ============================================================= - -#include "nan_callbacks.h" // NOLINT(build/include) - -//============================================================================== - -#if (NODE_MODULE_VERSION < NODE_0_12_MODULE_VERSION) -typedef v8::Script UnboundScript; -typedef v8::Script BoundScript; -#else -typedef v8::UnboundScript UnboundScript; -typedef v8::Script BoundScript; -#endif - -#if (NODE_MODULE_VERSION < ATOM_0_21_MODULE_VERSION) -typedef v8::String::ExternalAsciiStringResource - ExternalOneByteStringResource; -#else -typedef v8::String::ExternalOneByteStringResource - ExternalOneByteStringResource; -#endif - -#if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) -template -class NonCopyablePersistentTraits : - public v8::NonCopyablePersistentTraits {}; -template -class CopyablePersistentTraits : - public v8::CopyablePersistentTraits {}; - -template -class PersistentBase : - public v8::PersistentBase {}; - -template > -class Persistent; -#else -template class NonCopyablePersistentTraits; -template class PersistentBase; -template class WeakCallbackData; -template > -class Persistent; -#endif // NODE_MODULE_VERSION - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) -# include "nan_maybe_43_inl.h" // NOLINT(build/include) -#else -# include "nan_maybe_pre_43_inl.h" // NOLINT(build/include) -#endif - -#include "nan_converters.h" // NOLINT(build/include) -#include "nan_new.h" // NOLINT(build/include) - -#if NAUV_UVVERSION < 0x000b17 -#define NAUV_WORK_CB(func) \ - void func(uv_async_t *async, int) -#else -#define NAUV_WORK_CB(func) \ - void func(uv_async_t *async) -#endif - -#if NAUV_UVVERSION >= 0x000b0b - -typedef uv_key_t nauv_key_t; - -inline int nauv_key_create(nauv_key_t *key) { - return uv_key_create(key); -} - -inline void nauv_key_delete(nauv_key_t *key) { - uv_key_delete(key); -} - -inline void* nauv_key_get(nauv_key_t *key) { - return uv_key_get(key); -} - -inline void nauv_key_set(nauv_key_t *key, void *value) { - uv_key_set(key, value); -} - -#else - -/* Implement thread local storage for older versions of libuv. - * This is essentially a backport of libuv commit 5d2434bf - * written by Ben Noordhuis, adjusted for names and inline. - */ - -#ifndef WIN32 - -typedef pthread_key_t nauv_key_t; - -inline int nauv_key_create(nauv_key_t* key) { - return -pthread_key_create(key, NULL); -} - -inline void nauv_key_delete(nauv_key_t* key) { - if (pthread_key_delete(*key)) - abort(); -} - -inline void* nauv_key_get(nauv_key_t* key) { - return pthread_getspecific(*key); -} - -inline void nauv_key_set(nauv_key_t* key, void* value) { - if (pthread_setspecific(*key, value)) - abort(); -} - -#else - -typedef struct { - DWORD tls_index; -} nauv_key_t; - -inline int nauv_key_create(nauv_key_t* key) { - key->tls_index = TlsAlloc(); - if (key->tls_index == TLS_OUT_OF_INDEXES) - return UV_ENOMEM; - return 0; -} - -inline void nauv_key_delete(nauv_key_t* key) { - if (TlsFree(key->tls_index) == FALSE) - abort(); - key->tls_index = TLS_OUT_OF_INDEXES; -} - -inline void* nauv_key_get(nauv_key_t* key) { - void* value = TlsGetValue(key->tls_index); - if (value == NULL) - if (GetLastError() != ERROR_SUCCESS) - abort(); - return value; -} - -inline void nauv_key_set(nauv_key_t* key, void* value) { - if (TlsSetValue(key->tls_index, value) == FALSE) - abort(); -} - -#endif -#endif - -#if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION -template -v8::Local New(v8::Handle); -#endif - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) - typedef v8::WeakCallbackType WeakCallbackType; -#else -struct WeakCallbackType { - enum E {kParameter, kInternalFields}; - E type; - WeakCallbackType(E other) : type(other) {} // NOLINT(runtime/explicit) - inline bool operator==(E other) { return other == this->type; } - inline bool operator!=(E other) { return !operator==(other); } -}; -#endif - -template class WeakCallbackInfo; - -#if NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION -# include "nan_persistent_12_inl.h" // NOLINT(build/include) -#else -# include "nan_persistent_pre_12_inl.h" // NOLINT(build/include) -#endif - -namespace imp { - static const size_t kMaxLength = 0x3fffffff; - // v8::String::REPLACE_INVALID_UTF8 was introduced - // in node.js v0.10.29 and v0.8.27. -#if NODE_MAJOR_VERSION > 0 || \ - NODE_MINOR_VERSION > 10 || \ - NODE_MINOR_VERSION == 10 && NODE_PATCH_VERSION >= 29 || \ - NODE_MINOR_VERSION == 8 && NODE_PATCH_VERSION >= 27 - static const unsigned kReplaceInvalidUtf8 = v8::String::REPLACE_INVALID_UTF8; -#else - static const unsigned kReplaceInvalidUtf8 = 0; -#endif -} // end of namespace imp - -//=== HandleScope ============================================================== - -class HandleScope { - v8::HandleScope scope; - - public: -#if NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION - inline HandleScope() : scope(v8::Isolate::GetCurrent()) {} - inline static int NumberOfHandles() { - return v8::HandleScope::NumberOfHandles(v8::Isolate::GetCurrent()); - } -#else - inline HandleScope() : scope() {} - inline static int NumberOfHandles() { - return v8::HandleScope::NumberOfHandles(); - } -#endif - - private: - // Make it hard to create heap-allocated or illegal handle scopes by - // disallowing certain operations. - HandleScope(const HandleScope &); - void operator=(const HandleScope &); - void *operator new(size_t size); - void operator delete(void *, size_t); -}; - -class EscapableHandleScope { - public: -#if NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION - inline EscapableHandleScope() : scope(v8::Isolate::GetCurrent()) {} - - inline static int NumberOfHandles() { - return v8::EscapableHandleScope::NumberOfHandles(v8::Isolate::GetCurrent()); - } - - template - inline v8::Local Escape(v8::Local value) { - return scope.Escape(value); - } - - private: - v8::EscapableHandleScope scope; -#else - inline EscapableHandleScope() : scope() {} - - inline static int NumberOfHandles() { - return v8::HandleScope::NumberOfHandles(); - } - - template - inline v8::Local Escape(v8::Local value) { - return scope.Close(value); - } - - private: - v8::HandleScope scope; -#endif - - private: - // Make it hard to create heap-allocated or illegal handle scopes by - // disallowing certain operations. - EscapableHandleScope(const EscapableHandleScope &); - void operator=(const EscapableHandleScope &); - void *operator new(size_t size); - void operator delete(void *, size_t); -}; - -//=== TryCatch ================================================================= - -class TryCatch { - v8::TryCatch try_catch_; - friend void FatalException(const TryCatch&); - - public: -#if NODE_MODULE_VERSION > NODE_0_12_MODULE_VERSION - TryCatch() : try_catch_(v8::Isolate::GetCurrent()) {} -#endif - - inline bool HasCaught() const { return try_catch_.HasCaught(); } - - inline bool CanContinue() const { return try_catch_.CanContinue(); } - - inline v8::Local ReThrow() { -#if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION - return New(try_catch_.ReThrow()); -#else - return try_catch_.ReThrow(); -#endif - } - - inline v8::Local Exception() const { - return try_catch_.Exception(); - } - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) - inline v8::MaybeLocal StackTrace() const { - return try_catch_.StackTrace(GetCurrentContext()); - } -#else - inline MaybeLocal StackTrace() const { - return MaybeLocal(try_catch_.StackTrace()); - } -#endif - - inline v8::Local Message() const { - return try_catch_.Message(); - } - - inline void Reset() { try_catch_.Reset(); } - - inline void SetVerbose(bool value) { try_catch_.SetVerbose(value); } - - inline void SetCaptureMessage(bool value) { - try_catch_.SetCaptureMessage(value); - } -}; - -//============ ================================================================= - -/* node 0.12 */ -#if NODE_MODULE_VERSION >= NODE_0_12_MODULE_VERSION - inline - void SetCounterFunction(v8::CounterLookupCallback cb) { - v8::Isolate::GetCurrent()->SetCounterFunction(cb); - } - - inline - void SetCreateHistogramFunction(v8::CreateHistogramCallback cb) { - v8::Isolate::GetCurrent()->SetCreateHistogramFunction(cb); - } - - inline - void SetAddHistogramSampleFunction(v8::AddHistogramSampleCallback cb) { - v8::Isolate::GetCurrent()->SetAddHistogramSampleFunction(cb); - } - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) - inline bool IdleNotification(int idle_time_in_ms) { - return v8::Isolate::GetCurrent()->IdleNotificationDeadline( - idle_time_in_ms * 0.001); - } -# else - inline bool IdleNotification(int idle_time_in_ms) { - return v8::Isolate::GetCurrent()->IdleNotification(idle_time_in_ms); - } -#endif - - inline void LowMemoryNotification() { - v8::Isolate::GetCurrent()->LowMemoryNotification(); - } - - inline void ContextDisposedNotification() { - v8::Isolate::GetCurrent()->ContextDisposedNotification(); - } -#else - inline - void SetCounterFunction(v8::CounterLookupCallback cb) { - v8::V8::SetCounterFunction(cb); - } - - inline - void SetCreateHistogramFunction(v8::CreateHistogramCallback cb) { - v8::V8::SetCreateHistogramFunction(cb); - } - - inline - void SetAddHistogramSampleFunction(v8::AddHistogramSampleCallback cb) { - v8::V8::SetAddHistogramSampleFunction(cb); - } - - inline bool IdleNotification(int idle_time_in_ms) { - return v8::V8::IdleNotification(idle_time_in_ms); - } - - inline void LowMemoryNotification() { - v8::V8::LowMemoryNotification(); - } - - inline void ContextDisposedNotification() { - v8::V8::ContextDisposedNotification(); - } -#endif - -#if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) // Node 0.12 - inline v8::Local Undefined() { -# if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION - EscapableHandleScope scope; - return scope.Escape(New(v8::Undefined(v8::Isolate::GetCurrent()))); -# else - return v8::Undefined(v8::Isolate::GetCurrent()); -# endif - } - - inline v8::Local Null() { -# if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION - EscapableHandleScope scope; - return scope.Escape(New(v8::Null(v8::Isolate::GetCurrent()))); -# else - return v8::Null(v8::Isolate::GetCurrent()); -# endif - } - - inline v8::Local True() { -# if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION - EscapableHandleScope scope; - return scope.Escape(New(v8::True(v8::Isolate::GetCurrent()))); -# else - return v8::True(v8::Isolate::GetCurrent()); -# endif - } - - inline v8::Local False() { -# if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION - EscapableHandleScope scope; - return scope.Escape(New(v8::False(v8::Isolate::GetCurrent()))); -# else - return v8::False(v8::Isolate::GetCurrent()); -# endif - } - - inline v8::Local EmptyString() { - return v8::String::Empty(v8::Isolate::GetCurrent()); - } - - inline int AdjustExternalMemory(int bc) { - return static_cast( - v8::Isolate::GetCurrent()->AdjustAmountOfExternalAllocatedMemory(bc)); - } - - inline void SetTemplate( - v8::Local templ - , const char *name - , v8::Local value) { - templ->Set(v8::Isolate::GetCurrent(), name, value); - } - - inline void SetTemplate( - v8::Local templ - , v8::Local name - , v8::Local value - , v8::PropertyAttribute attributes) { - templ->Set(name, value, attributes); - } - - inline v8::Local GetCurrentContext() { - return v8::Isolate::GetCurrent()->GetCurrentContext(); - } - - inline void* GetInternalFieldPointer( - v8::Local object - , int index) { - return object->GetAlignedPointerFromInternalField(index); - } - - inline void SetInternalFieldPointer( - v8::Local object - , int index - , void* value) { - object->SetAlignedPointerInInternalField(index, value); - } - -# define NAN_GC_CALLBACK(name) \ - void name(v8::Isolate *isolate, v8::GCType type, v8::GCCallbackFlags flags) - -#if NODE_MODULE_VERSION <= NODE_4_0_MODULE_VERSION - typedef v8::Isolate::GCEpilogueCallback GCEpilogueCallback; - typedef v8::Isolate::GCPrologueCallback GCPrologueCallback; -#else - typedef v8::Isolate::GCCallback GCEpilogueCallback; - typedef v8::Isolate::GCCallback GCPrologueCallback; -#endif - - inline void AddGCEpilogueCallback( - GCEpilogueCallback callback - , v8::GCType gc_type_filter = v8::kGCTypeAll) { - v8::Isolate::GetCurrent()->AddGCEpilogueCallback(callback, gc_type_filter); - } - - inline void RemoveGCEpilogueCallback( - GCEpilogueCallback callback) { - v8::Isolate::GetCurrent()->RemoveGCEpilogueCallback(callback); - } - - inline void AddGCPrologueCallback( - GCPrologueCallback callback - , v8::GCType gc_type_filter = v8::kGCTypeAll) { - v8::Isolate::GetCurrent()->AddGCPrologueCallback(callback, gc_type_filter); - } - - inline void RemoveGCPrologueCallback( - GCPrologueCallback callback) { - v8::Isolate::GetCurrent()->RemoveGCPrologueCallback(callback); - } - - inline void GetHeapStatistics( - v8::HeapStatistics *heap_statistics) { - v8::Isolate::GetCurrent()->GetHeapStatistics(heap_statistics); - } - -# define X(NAME) \ - inline v8::Local NAME(const char *msg) { \ - EscapableHandleScope scope; \ - return scope.Escape(v8::Exception::NAME(New(msg).ToLocalChecked())); \ - } \ - \ - inline \ - v8::Local NAME(v8::Local msg) { \ - return v8::Exception::NAME(msg); \ - } \ - \ - inline void Throw ## NAME(const char *msg) { \ - HandleScope scope; \ - v8::Isolate::GetCurrent()->ThrowException( \ - v8::Exception::NAME(New(msg).ToLocalChecked())); \ - } \ - \ - inline void Throw ## NAME(v8::Local msg) { \ - HandleScope scope; \ - v8::Isolate::GetCurrent()->ThrowException( \ - v8::Exception::NAME(msg)); \ - } - - X(Error) - X(RangeError) - X(ReferenceError) - X(SyntaxError) - X(TypeError) - -# undef X - - inline void ThrowError(v8::Local error) { - v8::Isolate::GetCurrent()->ThrowException(error); - } - - inline MaybeLocal NewBuffer( - char *data - , size_t length -#if NODE_MODULE_VERSION > IOJS_2_0_MODULE_VERSION - , node::Buffer::FreeCallback callback -#else - , node::smalloc::FreeCallback callback -#endif - , void *hint - ) { - // arbitrary buffer lengths requires - // NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION - assert(length <= imp::kMaxLength && "too large buffer"); -#if NODE_MODULE_VERSION > IOJS_2_0_MODULE_VERSION - return node::Buffer::New( - v8::Isolate::GetCurrent(), data, length, callback, hint); -#else - return MaybeLocal(node::Buffer::New( - v8::Isolate::GetCurrent(), data, length, callback, hint)); -#endif - } - - inline MaybeLocal CopyBuffer( - const char *data - , uint32_t size - ) { - // arbitrary buffer lengths requires - // NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION - assert(size <= imp::kMaxLength && "too large buffer"); -#if NODE_MODULE_VERSION > IOJS_2_0_MODULE_VERSION - return node::Buffer::Copy( - v8::Isolate::GetCurrent(), data, size); -#else - return MaybeLocal(node::Buffer::New( - v8::Isolate::GetCurrent(), data, size)); -#endif - } - - inline MaybeLocal NewBuffer(uint32_t size) { - // arbitrary buffer lengths requires - // NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION - assert(size <= imp::kMaxLength && "too large buffer"); -#if NODE_MODULE_VERSION > IOJS_2_0_MODULE_VERSION - return node::Buffer::New( - v8::Isolate::GetCurrent(), size); -#else - return MaybeLocal(node::Buffer::New( - v8::Isolate::GetCurrent(), size)); -#endif - } - - inline MaybeLocal NewBuffer( - char* data - , uint32_t size - ) { - // arbitrary buffer lengths requires - // NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION - assert(size <= imp::kMaxLength && "too large buffer"); -#if NODE_MODULE_VERSION > IOJS_2_0_MODULE_VERSION - return node::Buffer::New(v8::Isolate::GetCurrent(), data, size); -#else - return MaybeLocal( - node::Buffer::Use(v8::Isolate::GetCurrent(), data, size)); -#endif - } - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) - inline MaybeLocal - NewOneByteString(const uint8_t * value, int length = -1) { - return v8::String::NewFromOneByte(v8::Isolate::GetCurrent(), value, - v8::NewStringType::kNormal, length); - } - - inline MaybeLocal CompileScript( - v8::Local s - , const v8::ScriptOrigin& origin - ) { - v8::ScriptCompiler::Source source(s, origin); - return v8::ScriptCompiler::Compile(GetCurrentContext(), &source); - } - - inline MaybeLocal CompileScript( - v8::Local s - ) { - v8::ScriptCompiler::Source source(s); - return v8::ScriptCompiler::Compile(GetCurrentContext(), &source); - } - - inline MaybeLocal RunScript( - v8::Local script - ) { - return script->BindToCurrentContext()->Run(GetCurrentContext()); - } - - inline MaybeLocal RunScript( - v8::Local script - ) { - return script->Run(GetCurrentContext()); - } -#else - inline MaybeLocal - NewOneByteString(const uint8_t * value, int length = -1) { - return MaybeLocal( - v8::String::NewFromOneByte( - v8::Isolate::GetCurrent() - , value - , v8::String::kNormalString, length)); - } - - inline MaybeLocal CompileScript( - v8::Local s - , const v8::ScriptOrigin& origin - ) { - v8::ScriptCompiler::Source source(s, origin); - return MaybeLocal( - v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source)); - } - - inline MaybeLocal CompileScript( - v8::Local s - ) { - v8::ScriptCompiler::Source source(s); - return MaybeLocal( - v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source)); - } - - inline MaybeLocal RunScript( - v8::Local script - ) { - return MaybeLocal(script->BindToCurrentContext()->Run()); - } - - inline MaybeLocal RunScript( - v8::Local script - ) { - return MaybeLocal(script->Run()); - } -#endif - - inline v8::Local MakeCallback( - v8::Local target - , v8::Local func - , int argc - , v8::Local* argv) { -#if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION - return New(node::MakeCallback( - v8::Isolate::GetCurrent(), target, func, argc, argv)); -#else - return node::MakeCallback( - v8::Isolate::GetCurrent(), target, func, argc, argv); -#endif - } - - inline v8::Local MakeCallback( - v8::Local target - , v8::Local symbol - , int argc - , v8::Local* argv) { -#if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION - return New(node::MakeCallback( - v8::Isolate::GetCurrent(), target, symbol, argc, argv)); -#else - return node::MakeCallback( - v8::Isolate::GetCurrent(), target, symbol, argc, argv); -#endif - } - - inline v8::Local MakeCallback( - v8::Local target - , const char* method - , int argc - , v8::Local* argv) { -#if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION - return New(node::MakeCallback( - v8::Isolate::GetCurrent(), target, method, argc, argv)); -#else - return node::MakeCallback( - v8::Isolate::GetCurrent(), target, method, argc, argv); -#endif - } - - inline void FatalException(const TryCatch& try_catch) { - node::FatalException(v8::Isolate::GetCurrent(), try_catch.try_catch_); - } - - inline v8::Local ErrnoException( - int errorno - , const char* syscall = NULL - , const char* message = NULL - , const char* path = NULL) { - return node::ErrnoException(v8::Isolate::GetCurrent(), errorno, syscall, - message, path); - } - - NAN_DEPRECATED inline v8::Local NanErrnoException( - int errorno - , const char* syscall = NULL - , const char* message = NULL - , const char* path = NULL) { - return ErrnoException(errorno, syscall, message, path); - } - - template - inline void SetIsolateData( - v8::Isolate *isolate - , T *data - ) { - isolate->SetData(0, data); - } - - template - inline T *GetIsolateData( - v8::Isolate *isolate - ) { - return static_cast(isolate->GetData(0)); - } - -class Utf8String { - public: - inline explicit Utf8String(v8::Local from) : - length_(0), str_(str_st_) { - if (!from.IsEmpty()) { - v8::Local string = from->ToString(); - if (!string.IsEmpty()) { - size_t len = 3 * string->Length() + 1; - assert(len <= INT_MAX); - if (len > sizeof (str_st_)) { - str_ = static_cast(malloc(len)); - assert(str_ != 0); - } - const int flags = - v8::String::NO_NULL_TERMINATION | imp::kReplaceInvalidUtf8; - length_ = string->WriteUtf8(str_, static_cast(len), 0, flags); - str_[length_] = '\0'; - } - } - } - - inline int length() const { - return length_; - } - - inline char* operator*() { return str_; } - inline const char* operator*() const { return str_; } - - inline ~Utf8String() { - if (str_ != str_st_) { - free(str_); - } - } - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(Utf8String) - - int length_; - char *str_; - char str_st_[1024]; -}; - -#else // Node 0.8 and 0.10 - inline v8::Local Undefined() { - EscapableHandleScope scope; - return scope.Escape(New(v8::Undefined())); - } - - inline v8::Local Null() { - EscapableHandleScope scope; - return scope.Escape(New(v8::Null())); - } - - inline v8::Local True() { - EscapableHandleScope scope; - return scope.Escape(New(v8::True())); - } - - inline v8::Local False() { - EscapableHandleScope scope; - return scope.Escape(New(v8::False())); - } - - inline v8::Local EmptyString() { - return v8::String::Empty(); - } - - inline int AdjustExternalMemory(int bc) { - return static_cast(v8::V8::AdjustAmountOfExternalAllocatedMemory(bc)); - } - - inline void SetTemplate( - v8::Local templ - , const char *name - , v8::Local value) { - templ->Set(name, value); - } - - inline void SetTemplate( - v8::Local templ - , v8::Local name - , v8::Local value - , v8::PropertyAttribute attributes) { - templ->Set(name, value, attributes); - } - - inline v8::Local GetCurrentContext() { - return v8::Context::GetCurrent(); - } - - inline void* GetInternalFieldPointer( - v8::Local object - , int index) { - return object->GetPointerFromInternalField(index); - } - - inline void SetInternalFieldPointer( - v8::Local object - , int index - , void* value) { - object->SetPointerInInternalField(index, value); - } - -# define NAN_GC_CALLBACK(name) \ - void name(v8::GCType type, v8::GCCallbackFlags flags) - - inline void AddGCEpilogueCallback( - v8::GCEpilogueCallback callback - , v8::GCType gc_type_filter = v8::kGCTypeAll) { - v8::V8::AddGCEpilogueCallback(callback, gc_type_filter); - } - inline void RemoveGCEpilogueCallback( - v8::GCEpilogueCallback callback) { - v8::V8::RemoveGCEpilogueCallback(callback); - } - inline void AddGCPrologueCallback( - v8::GCPrologueCallback callback - , v8::GCType gc_type_filter = v8::kGCTypeAll) { - v8::V8::AddGCPrologueCallback(callback, gc_type_filter); - } - inline void RemoveGCPrologueCallback( - v8::GCPrologueCallback callback) { - v8::V8::RemoveGCPrologueCallback(callback); - } - inline void GetHeapStatistics( - v8::HeapStatistics *heap_statistics) { - v8::V8::GetHeapStatistics(heap_statistics); - } - -# define X(NAME) \ - inline v8::Local NAME(const char *msg) { \ - EscapableHandleScope scope; \ - return scope.Escape(v8::Exception::NAME(New(msg).ToLocalChecked())); \ - } \ - \ - inline \ - v8::Local NAME(v8::Local msg) { \ - return v8::Exception::NAME(msg); \ - } \ - \ - inline void Throw ## NAME(const char *msg) { \ - HandleScope scope; \ - v8::ThrowException(v8::Exception::NAME(New(msg).ToLocalChecked())); \ - } \ - \ - inline \ - void Throw ## NAME(v8::Local errmsg) { \ - v8::ThrowException(v8::Exception::NAME(errmsg)); \ - } - - X(Error) - X(RangeError) - X(ReferenceError) - X(SyntaxError) - X(TypeError) - -# undef X - - inline void ThrowError(v8::Local error) { - v8::ThrowException(error); - } - - inline MaybeLocal NewBuffer( - char *data - , size_t length - , node::Buffer::free_callback callback - , void *hint - ) { - EscapableHandleScope scope; - // arbitrary buffer lengths requires - // NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION - assert(length <= imp::kMaxLength && "too large buffer"); - return MaybeLocal(scope.Escape( - New(node::Buffer::New(data, length, callback, hint)->handle_))); - } - - inline MaybeLocal CopyBuffer( - const char *data - , uint32_t size - ) { - EscapableHandleScope scope; - // arbitrary buffer lengths requires - // NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION - assert(size <= imp::kMaxLength && "too large buffer"); -#if NODE_MODULE_VERSION >= NODE_0_10_MODULE_VERSION - return MaybeLocal( - scope.Escape(New(node::Buffer::New(data, size)->handle_))); -#else - return MaybeLocal(scope.Escape( - New(node::Buffer::New(const_cast(data), size)->handle_))); -#endif - } - - inline MaybeLocal NewBuffer(uint32_t size) { - // arbitrary buffer lengths requires - // NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION - EscapableHandleScope scope; - assert(size <= imp::kMaxLength && "too large buffer"); - return MaybeLocal( - scope.Escape(New(node::Buffer::New(size)->handle_))); - } - - inline void FreeData(char *data, void *hint) { - (void) hint; // unused - delete[] data; - } - - inline MaybeLocal NewBuffer( - char* data - , uint32_t size - ) { - EscapableHandleScope scope; - // arbitrary buffer lengths requires - // NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION - assert(size <= imp::kMaxLength && "too large buffer"); - return MaybeLocal(scope.Escape(New( - node::Buffer::New(data, size, FreeData, NULL)->handle_))); - } - -namespace imp { -inline void -widenString(std::vector *ws, const uint8_t *s, int l) { - size_t len = static_cast(l); - if (l < 0) { - len = strlen(reinterpret_cast(s)); - } - assert(len <= INT_MAX && "string too long"); - ws->resize(len); - std::copy(s, s + len, ws->begin()); // NOLINT(build/include_what_you_use) -} -} // end of namespace imp - - inline MaybeLocal - NewOneByteString(const uint8_t * value, int length = -1) { - std::vector wideString; // NOLINT(build/include_what_you_use) - imp::widenString(&wideString, value, length); - return imp::Factory::return_t(v8::String::New( - &wideString.front(), static_cast(wideString.size()))); - } - - inline MaybeLocal CompileScript( - v8::Local s - , const v8::ScriptOrigin& origin - ) { - return MaybeLocal( - v8::Script::Compile(s, const_cast(&origin))); - } - - inline MaybeLocal CompileScript( - v8::Local s - ) { - return MaybeLocal(v8::Script::Compile(s)); - } - - inline - MaybeLocal RunScript(v8::Local script) { - return MaybeLocal(script->Run()); - } - - inline v8::Local MakeCallback( - v8::Local target - , v8::Local func - , int argc - , v8::Local* argv) { - return New(node::MakeCallback(target, func, argc, argv)); - } - - inline v8::Local MakeCallback( - v8::Local target - , v8::Local symbol - , int argc - , v8::Local* argv) { - return New(node::MakeCallback(target, symbol, argc, argv)); - } - - inline v8::Local MakeCallback( - v8::Local target - , const char* method - , int argc - , v8::Local* argv) { - return New(node::MakeCallback(target, method, argc, argv)); - } - - inline void FatalException(const TryCatch& try_catch) { - node::FatalException(const_cast(try_catch.try_catch_)); - } - - inline v8::Local ErrnoException( - int errorno - , const char* syscall = NULL - , const char* message = NULL - , const char* path = NULL) { - return node::ErrnoException(errorno, syscall, message, path); - } - - NAN_DEPRECATED inline v8::Local NanErrnoException( - int errorno - , const char* syscall = NULL - , const char* message = NULL - , const char* path = NULL) { - return ErrnoException(errorno, syscall, message, path); - } - - - template - inline void SetIsolateData( - v8::Isolate *isolate - , T *data - ) { - isolate->SetData(data); - } - - template - inline T *GetIsolateData( - v8::Isolate *isolate - ) { - return static_cast(isolate->GetData()); - } - -class Utf8String { - public: - inline explicit Utf8String(v8::Local from) : - length_(0), str_(str_st_) { - if (!from.IsEmpty()) { - v8::Local string = from->ToString(); - if (!string.IsEmpty()) { - size_t len = 3 * string->Length() + 1; - assert(len <= INT_MAX); - if (len > sizeof (str_st_)) { - str_ = static_cast(malloc(len)); - assert(str_ != 0); - } - const int flags = - v8::String::NO_NULL_TERMINATION | imp::kReplaceInvalidUtf8; - length_ = string->WriteUtf8(str_, static_cast(len), 0, flags); - str_[length_] = '\0'; - } - } - } - - inline int length() const { - return length_; - } - - inline char* operator*() { return str_; } - inline const char* operator*() const { return str_; } - - inline ~Utf8String() { - if (str_ != str_st_) { - free(str_); - } - } - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(Utf8String) - - int length_; - char *str_; - char str_st_[1024]; -}; - -#endif // NODE_MODULE_VERSION - -typedef void (*FreeCallback)(char *data, void *hint); - -typedef const FunctionCallbackInfo& NAN_METHOD_ARGS_TYPE; -typedef void NAN_METHOD_RETURN_TYPE; - -typedef const PropertyCallbackInfo& NAN_GETTER_ARGS_TYPE; -typedef void NAN_GETTER_RETURN_TYPE; - -typedef const PropertyCallbackInfo& NAN_SETTER_ARGS_TYPE; -typedef void NAN_SETTER_RETURN_TYPE; - -typedef const PropertyCallbackInfo& - NAN_PROPERTY_GETTER_ARGS_TYPE; -typedef void NAN_PROPERTY_GETTER_RETURN_TYPE; - -typedef const PropertyCallbackInfo& - NAN_PROPERTY_SETTER_ARGS_TYPE; -typedef void NAN_PROPERTY_SETTER_RETURN_TYPE; - -typedef const PropertyCallbackInfo& - NAN_PROPERTY_ENUMERATOR_ARGS_TYPE; -typedef void NAN_PROPERTY_ENUMERATOR_RETURN_TYPE; - -typedef const PropertyCallbackInfo& - NAN_PROPERTY_DELETER_ARGS_TYPE; -typedef void NAN_PROPERTY_DELETER_RETURN_TYPE; - -typedef const PropertyCallbackInfo& - NAN_PROPERTY_QUERY_ARGS_TYPE; -typedef void NAN_PROPERTY_QUERY_RETURN_TYPE; - -typedef const PropertyCallbackInfo& NAN_INDEX_GETTER_ARGS_TYPE; -typedef void NAN_INDEX_GETTER_RETURN_TYPE; - -typedef const PropertyCallbackInfo& NAN_INDEX_SETTER_ARGS_TYPE; -typedef void NAN_INDEX_SETTER_RETURN_TYPE; - -typedef const PropertyCallbackInfo& - NAN_INDEX_ENUMERATOR_ARGS_TYPE; -typedef void NAN_INDEX_ENUMERATOR_RETURN_TYPE; - -typedef const PropertyCallbackInfo& - NAN_INDEX_DELETER_ARGS_TYPE; -typedef void NAN_INDEX_DELETER_RETURN_TYPE; - -typedef const PropertyCallbackInfo& - NAN_INDEX_QUERY_ARGS_TYPE; -typedef void NAN_INDEX_QUERY_RETURN_TYPE; - -#define NAN_METHOD(name) \ - Nan::NAN_METHOD_RETURN_TYPE name(Nan::NAN_METHOD_ARGS_TYPE info) -#define NAN_GETTER(name) \ - Nan::NAN_GETTER_RETURN_TYPE name( \ - v8::Local property \ - , Nan::NAN_GETTER_ARGS_TYPE info) -#define NAN_SETTER(name) \ - Nan::NAN_SETTER_RETURN_TYPE name( \ - v8::Local property \ - , v8::Local value \ - , Nan::NAN_SETTER_ARGS_TYPE info) -#define NAN_PROPERTY_GETTER(name) \ - Nan::NAN_PROPERTY_GETTER_RETURN_TYPE name( \ - v8::Local property \ - , Nan::NAN_PROPERTY_GETTER_ARGS_TYPE info) -#define NAN_PROPERTY_SETTER(name) \ - Nan::NAN_PROPERTY_SETTER_RETURN_TYPE name( \ - v8::Local property \ - , v8::Local value \ - , Nan::NAN_PROPERTY_SETTER_ARGS_TYPE info) -#define NAN_PROPERTY_ENUMERATOR(name) \ - Nan::NAN_PROPERTY_ENUMERATOR_RETURN_TYPE name( \ - Nan::NAN_PROPERTY_ENUMERATOR_ARGS_TYPE info) -#define NAN_PROPERTY_DELETER(name) \ - Nan::NAN_PROPERTY_DELETER_RETURN_TYPE name( \ - v8::Local property \ - , Nan::NAN_PROPERTY_DELETER_ARGS_TYPE info) -#define NAN_PROPERTY_QUERY(name) \ - Nan::NAN_PROPERTY_QUERY_RETURN_TYPE name( \ - v8::Local property \ - , Nan::NAN_PROPERTY_QUERY_ARGS_TYPE info) -# define NAN_INDEX_GETTER(name) \ - Nan::NAN_INDEX_GETTER_RETURN_TYPE name( \ - uint32_t index \ - , Nan::NAN_INDEX_GETTER_ARGS_TYPE info) -#define NAN_INDEX_SETTER(name) \ - Nan::NAN_INDEX_SETTER_RETURN_TYPE name( \ - uint32_t index \ - , v8::Local value \ - , Nan::NAN_INDEX_SETTER_ARGS_TYPE info) -#define NAN_INDEX_ENUMERATOR(name) \ - Nan::NAN_INDEX_ENUMERATOR_RETURN_TYPE \ - name(Nan::NAN_INDEX_ENUMERATOR_ARGS_TYPE info) -#define NAN_INDEX_DELETER(name) \ - Nan::NAN_INDEX_DELETER_RETURN_TYPE name( \ - uint32_t index \ - , Nan::NAN_INDEX_DELETER_ARGS_TYPE info) -#define NAN_INDEX_QUERY(name) \ - Nan::NAN_INDEX_QUERY_RETURN_TYPE name( \ - uint32_t index \ - , Nan::NAN_INDEX_QUERY_ARGS_TYPE info) - -class Callback { - public: - Callback() {} - - explicit Callback(const v8::Local &fn) : handle_(fn) {} - - ~Callback() { - handle_.Reset(); - } - - bool operator==(const Callback &other) const { - return handle_ == other.handle_; - } - - bool operator!=(const Callback &other) const { - return !operator==(other); - } - - inline - v8::Local operator*() const { return GetFunction(); } - - inline v8::Local operator()( - v8::Local target - , int argc = 0 - , v8::Local argv[] = 0) const { - return this->Call(target, argc, argv); - } - - inline v8::Local operator()( - int argc = 0 - , v8::Local argv[] = 0) const { - return this->Call(argc, argv); - } - - // TODO(kkoopa): remove - inline void SetFunction(const v8::Local &fn) { - Reset(fn); - } - - inline void Reset(const v8::Local &fn) { - handle_.Reset(fn); - } - - inline void Reset() { - handle_.Reset(); - } - - inline v8::Local GetFunction() const { - return New(handle_); - } - - inline bool IsEmpty() const { - return handle_.IsEmpty(); - } - - inline v8::Local - Call(v8::Local target - , int argc - , v8::Local argv[]) const { -#if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - return Call_(isolate, target, argc, argv); -#else - return Call_(target, argc, argv); -#endif - } - - inline v8::Local - Call(int argc, v8::Local argv[]) const { -#if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - return Call_(isolate, isolate->GetCurrentContext()->Global(), argc, argv); -#else - return Call_(v8::Context::GetCurrent()->Global(), argc, argv); -#endif - } - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(Callback) - Persistent handle_; - -#if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) - v8::Local Call_(v8::Isolate *isolate - , v8::Local target - , int argc - , v8::Local argv[]) const { - EscapableHandleScope scope; - - v8::Local callback = New(handle_); -# if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION - return scope.Escape(New(node::MakeCallback( - isolate - , target - , callback - , argc - , argv - ))); -# else - return scope.Escape(node::MakeCallback( - isolate - , target - , callback - , argc - , argv - )); -# endif - } -#else - v8::Local Call_(v8::Local target - , int argc - , v8::Local argv[]) const { - EscapableHandleScope scope; - - v8::Local callback = New(handle_); - return scope.Escape(New(node::MakeCallback( - target - , callback - , argc - , argv - ))); - } -#endif -}; - -/* abstract */ class AsyncWorker { - public: - explicit AsyncWorker(Callback *callback_) - : callback(callback_), errmsg_(NULL) { - request.data = this; - - HandleScope scope; - v8::Local obj = New(); - persistentHandle.Reset(obj); - } - - virtual ~AsyncWorker() { - HandleScope scope; - - if (!persistentHandle.IsEmpty()) - persistentHandle.Reset(); - delete callback; - delete[] errmsg_; - } - - virtual void WorkComplete() { - HandleScope scope; - - if (errmsg_ == NULL) - HandleOKCallback(); - else - HandleErrorCallback(); - delete callback; - callback = NULL; - } - - inline void SaveToPersistent( - const char *key, const v8::Local &value) { - HandleScope scope; - New(persistentHandle)->Set(New(key).ToLocalChecked(), value); - } - - inline void SaveToPersistent( - const v8::Local &key, const v8::Local &value) { - HandleScope scope; - New(persistentHandle)->Set(key, value); - } - - inline void SaveToPersistent( - uint32_t index, const v8::Local &value) { - HandleScope scope; - New(persistentHandle)->Set(index, value); - } - - inline v8::Local GetFromPersistent(const char *key) const { - EscapableHandleScope scope; - return scope.Escape( - New(persistentHandle)->Get(New(key).ToLocalChecked())); - } - - inline v8::Local - GetFromPersistent(const v8::Local &key) const { - EscapableHandleScope scope; - return scope.Escape(New(persistentHandle)->Get(key)); - } - - inline v8::Local GetFromPersistent(uint32_t index) const { - EscapableHandleScope scope; - return scope.Escape(New(persistentHandle)->Get(index)); - } - - virtual void Execute() = 0; - - uv_work_t request; - - virtual void Destroy() { - delete this; - } - - protected: - Persistent persistentHandle; - Callback *callback; - - virtual void HandleOKCallback() { - callback->Call(0, NULL); - } - - virtual void HandleErrorCallback() { - HandleScope scope; - - v8::Local argv[] = { - v8::Exception::Error(New(ErrorMessage()).ToLocalChecked()) - }; - callback->Call(1, argv); - } - - void SetErrorMessage(const char *msg) { - delete[] errmsg_; - - size_t size = strlen(msg) + 1; - errmsg_ = new char[size]; - memcpy(errmsg_, msg, size); - } - - const char* ErrorMessage() const { - return errmsg_; - } - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(AsyncWorker) - char *errmsg_; -}; - - -template -/* abstract */ class AsyncProgressWorkerBase : public AsyncWorker { - public: - explicit AsyncProgressWorkerBase(Callback *callback_) - : AsyncWorker(callback_), asyncdata_(NULL), asyncsize_(0) { - async = new uv_async_t; - uv_async_init( - uv_default_loop() - , async - , AsyncProgress_ - ); - async->data = this; - - uv_mutex_init(&async_lock); - } - - virtual ~AsyncProgressWorkerBase() { - uv_mutex_destroy(&async_lock); - - delete[] asyncdata_; - } - - void WorkProgress() { - uv_mutex_lock(&async_lock); - T *data = asyncdata_; - size_t size = asyncsize_; - asyncdata_ = NULL; - uv_mutex_unlock(&async_lock); - - // Don't send progress events after we've already completed. - if (callback) { - HandleProgressCallback(data, size); - } - delete[] data; - } - - class ExecutionProgress { - friend class AsyncProgressWorkerBase; - public: - void Signal() const { - uv_async_send(that_->async); - } - - void Send(const T* data, size_t size) const { - that_->SendProgress_(data, size); - } - - private: - explicit ExecutionProgress(AsyncProgressWorkerBase *that) : that_(that) {} - NAN_DISALLOW_ASSIGN_COPY_MOVE(ExecutionProgress) - AsyncProgressWorkerBase* const that_; - }; - - virtual void Execute(const ExecutionProgress& progress) = 0; - virtual void HandleProgressCallback(const T *data, size_t size) = 0; - - virtual void Destroy() { - uv_close(reinterpret_cast(async), AsyncClose_); - } - - private: - void Execute() /*final override*/ { - ExecutionProgress progress(this); - Execute(progress); - } - - void SendProgress_(const T *data, size_t size) { - T *new_data = new T[size]; - { - T *it = new_data; - std::copy(data, data + size, it); - } - - uv_mutex_lock(&async_lock); - T *old_data = asyncdata_; - asyncdata_ = new_data; - asyncsize_ = size; - uv_mutex_unlock(&async_lock); - - delete[] old_data; - uv_async_send(async); - } - - inline static NAUV_WORK_CB(AsyncProgress_) { - AsyncProgressWorkerBase *worker = - static_cast(async->data); - worker->WorkProgress(); - } - - inline static void AsyncClose_(uv_handle_t* handle) { - AsyncProgressWorkerBase *worker = - static_cast(handle->data); - delete reinterpret_cast(handle); - delete worker; - } - - uv_async_t *async; - uv_mutex_t async_lock; - T *asyncdata_; - size_t asyncsize_; -}; - -// This ensures compatibility to the previous un-templated AsyncProgressWorker -// class definition. -typedef AsyncProgressWorkerBase AsyncProgressWorker; - -inline void AsyncExecute (uv_work_t* req) { - AsyncWorker *worker = static_cast(req->data); - worker->Execute(); -} - -inline void AsyncExecuteComplete (uv_work_t* req) { - AsyncWorker* worker = static_cast(req->data); - worker->WorkComplete(); - worker->Destroy(); -} - -inline void AsyncQueueWorker (AsyncWorker* worker) { - uv_queue_work( - uv_default_loop() - , &worker->request - , AsyncExecute - , reinterpret_cast(AsyncExecuteComplete) - ); -} - -namespace imp { - -inline -ExternalOneByteStringResource const* -GetExternalResource(v8::Local str) { -#if NODE_MODULE_VERSION < ATOM_0_21_MODULE_VERSION - return str->GetExternalAsciiStringResource(); -#else - return str->GetExternalOneByteStringResource(); -#endif -} - -inline -bool -IsExternal(v8::Local str) { -#if NODE_MODULE_VERSION < ATOM_0_21_MODULE_VERSION - return str->IsExternalAscii(); -#else - return str->IsExternalOneByte(); -#endif -} - -} // end of namespace imp - -enum Encoding {ASCII, UTF8, BASE64, UCS2, BINARY, HEX, BUFFER}; - -#if NODE_MODULE_VERSION < NODE_0_10_MODULE_VERSION -# include "nan_string_bytes.h" // NOLINT(build/include) -#endif - -inline v8::Local Encode( - const void *buf, size_t len, enum Encoding encoding = BINARY) { -#if (NODE_MODULE_VERSION >= ATOM_0_21_MODULE_VERSION) - v8::Isolate* isolate = v8::Isolate::GetCurrent(); - node::encoding node_enc = static_cast(encoding); - - if (encoding == UCS2) { - return node::Encode( - isolate - , reinterpret_cast(buf) - , len / 2); - } else { - return node::Encode( - isolate - , reinterpret_cast(buf) - , len - , node_enc); - } -#elif (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) - return node::Encode( - v8::Isolate::GetCurrent() - , buf, len - , static_cast(encoding)); -#else -# if NODE_MODULE_VERSION >= NODE_0_10_MODULE_VERSION - return node::Encode(buf, len, static_cast(encoding)); -# else - return imp::Encode(reinterpret_cast(buf), len, encoding); -# endif -#endif -} - -inline ssize_t DecodeBytes( - v8::Local val, enum Encoding encoding = BINARY) { -#if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) - return node::DecodeBytes( - v8::Isolate::GetCurrent() - , val - , static_cast(encoding)); -#else -# if (NODE_MODULE_VERSION < NODE_0_10_MODULE_VERSION) - if (encoding == BUFFER) { - return node::DecodeBytes(val, node::BINARY); - } -# endif - return node::DecodeBytes(val, static_cast(encoding)); -#endif -} - -inline ssize_t DecodeWrite( - char *buf - , size_t len - , v8::Local val - , enum Encoding encoding = BINARY) { -#if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION) - return node::DecodeWrite( - v8::Isolate::GetCurrent() - , buf - , len - , val - , static_cast(encoding)); -#else -# if (NODE_MODULE_VERSION < NODE_0_10_MODULE_VERSION) - if (encoding == BUFFER) { - return node::DecodeWrite(buf, len, val, node::BINARY); - } -# endif - return node::DecodeWrite( - buf - , len - , val - , static_cast(encoding)); -#endif -} - -inline void SetPrototypeTemplate( - v8::Local templ - , const char *name - , v8::Local value -) { - SetTemplate(templ->PrototypeTemplate(), name, value); -} - -inline void SetPrototypeTemplate( - v8::Local templ - , v8::Local name - , v8::Local value - , v8::PropertyAttribute attributes -) { - SetTemplate(templ->PrototypeTemplate(), name, value, attributes); -} - -inline void SetInstanceTemplate( - v8::Local templ - , const char *name - , v8::Local value -) { - SetTemplate(templ->InstanceTemplate(), name, value); -} - -inline void SetInstanceTemplate( - v8::Local templ - , v8::Local name - , v8::Local value - , v8::PropertyAttribute attributes -) { - SetTemplate(templ->InstanceTemplate(), name, value, attributes); -} - -namespace imp { - -// Note(@agnat): Helper to distinguish different receiver types. The first -// version deals with receivers derived from v8::Template. The second version -// handles everything else. The final argument only serves as discriminator and -// is unused. -template -inline -void -SetMethodAux(T recv, - v8::Local name, - v8::Local tpl, - v8::Template *) { - recv->Set(name, tpl); -} - -template -inline -void -SetMethodAux(T recv, - v8::Local name, - v8::Local tpl, - ...) { - recv->Set(name, GetFunction(tpl).ToLocalChecked()); -} - -} // end of namespace imp - -template class HandleType> -inline void SetMethod( - HandleType recv - , const char *name - , FunctionCallback callback) { - HandleScope scope; - v8::Local t = New(callback); - v8::Local fn_name = New(name).ToLocalChecked(); - t->SetClassName(fn_name); - // Note(@agnat): Pass an empty T* as discriminator. See note on - // SetMethodAux(...) above - imp::SetMethodAux(recv, fn_name, t, static_cast(0)); -} - -inline void SetPrototypeMethod( - v8::Local recv - , const char* name, FunctionCallback callback) { - HandleScope scope; - v8::Local t = New( - callback - , v8::Local() - , New(recv)); - v8::Local fn_name = New(name).ToLocalChecked(); - recv->PrototypeTemplate()->Set(fn_name, t); - t->SetClassName(fn_name); -} - -//=== Accessors and Such ======================================================= - -inline void SetAccessor( - v8::Local tpl - , v8::Local name - , GetterCallback getter - , SetterCallback setter = 0 - , v8::Local data = v8::Local() - , v8::AccessControl settings = v8::DEFAULT - , v8::PropertyAttribute attribute = v8::None - , imp::Sig signature = imp::Sig()) { - HandleScope scope; - - imp::NativeGetter getter_ = - imp::GetterCallbackWrapper; - imp::NativeSetter setter_ = - setter ? imp::SetterCallbackWrapper : 0; - - v8::Local otpl = New(); - otpl->SetInternalFieldCount(imp::kAccessorFieldCount); - v8::Local obj = NewInstance(otpl).ToLocalChecked(); - - obj->SetInternalField( - imp::kGetterIndex - , New(reinterpret_cast(getter))); - - if (setter != 0) { - obj->SetInternalField( - imp::kSetterIndex - , New(reinterpret_cast(setter))); - } - - if (!data.IsEmpty()) { - obj->SetInternalField(imp::kDataIndex, data); - } - - tpl->SetAccessor( - name - , getter_ - , setter_ - , obj - , settings - , attribute - , signature); -} - -inline bool SetAccessor( - v8::Local obj - , v8::Local name - , GetterCallback getter - , SetterCallback setter = 0 - , v8::Local data = v8::Local() - , v8::AccessControl settings = v8::DEFAULT - , v8::PropertyAttribute attribute = v8::None) { - EscapableHandleScope scope; - - imp::NativeGetter getter_ = - imp::GetterCallbackWrapper; - imp::NativeSetter setter_ = - setter ? imp::SetterCallbackWrapper : 0; - - v8::Local otpl = New(); - otpl->SetInternalFieldCount(imp::kAccessorFieldCount); - v8::Local dataobj = NewInstance(otpl).ToLocalChecked(); - - dataobj->SetInternalField( - imp::kGetterIndex - , New(reinterpret_cast(getter))); - - if (!data.IsEmpty()) { - dataobj->SetInternalField(imp::kDataIndex, data); - } - - if (setter) { - dataobj->SetInternalField( - imp::kSetterIndex - , New(reinterpret_cast(setter))); - } - -#if (NODE_MODULE_VERSION >= NODE_6_0_MODULE_VERSION) - return obj->SetAccessor( - GetCurrentContext() - , name - , getter_ - , setter_ - , dataobj - , settings - , attribute).FromMaybe(false); -#else - return obj->SetAccessor( - name - , getter_ - , setter_ - , dataobj - , settings - , attribute); -#endif -} - -inline void SetNamedPropertyHandler( - v8::Local tpl - , PropertyGetterCallback getter - , PropertySetterCallback setter = 0 - , PropertyQueryCallback query = 0 - , PropertyDeleterCallback deleter = 0 - , PropertyEnumeratorCallback enumerator = 0 - , v8::Local data = v8::Local()) { - HandleScope scope; - - imp::NativePropertyGetter getter_ = - imp::PropertyGetterCallbackWrapper; - imp::NativePropertySetter setter_ = - setter ? imp::PropertySetterCallbackWrapper : 0; - imp::NativePropertyQuery query_ = - query ? imp::PropertyQueryCallbackWrapper : 0; - imp::NativePropertyDeleter *deleter_ = - deleter ? imp::PropertyDeleterCallbackWrapper : 0; - imp::NativePropertyEnumerator enumerator_ = - enumerator ? imp::PropertyEnumeratorCallbackWrapper : 0; - - v8::Local otpl = New(); - otpl->SetInternalFieldCount(imp::kPropertyFieldCount); - v8::Local obj = NewInstance(otpl).ToLocalChecked(); - obj->SetInternalField( - imp::kPropertyGetterIndex - , New(reinterpret_cast(getter))); - - if (setter) { - obj->SetInternalField( - imp::kPropertySetterIndex - , New(reinterpret_cast(setter))); - } - - if (query) { - obj->SetInternalField( - imp::kPropertyQueryIndex - , New(reinterpret_cast(query))); - } - - if (deleter) { - obj->SetInternalField( - imp::kPropertyDeleterIndex - , New(reinterpret_cast(deleter))); - } - - if (enumerator) { - obj->SetInternalField( - imp::kPropertyEnumeratorIndex - , New(reinterpret_cast(enumerator))); - } - - if (!data.IsEmpty()) { - obj->SetInternalField(imp::kDataIndex, data); - } - -#if NODE_MODULE_VERSION > NODE_0_12_MODULE_VERSION - tpl->SetHandler(v8::NamedPropertyHandlerConfiguration( - getter_, setter_, query_, deleter_, enumerator_, obj)); -#else - tpl->SetNamedPropertyHandler( - getter_ - , setter_ - , query_ - , deleter_ - , enumerator_ - , obj); -#endif -} - -inline void SetIndexedPropertyHandler( - v8::Local tpl - , IndexGetterCallback getter - , IndexSetterCallback setter = 0 - , IndexQueryCallback query = 0 - , IndexDeleterCallback deleter = 0 - , IndexEnumeratorCallback enumerator = 0 - , v8::Local data = v8::Local()) { - HandleScope scope; - - imp::NativeIndexGetter getter_ = - imp::IndexGetterCallbackWrapper; - imp::NativeIndexSetter setter_ = - setter ? imp::IndexSetterCallbackWrapper : 0; - imp::NativeIndexQuery query_ = - query ? imp::IndexQueryCallbackWrapper : 0; - imp::NativeIndexDeleter deleter_ = - deleter ? imp::IndexDeleterCallbackWrapper : 0; - imp::NativeIndexEnumerator enumerator_ = - enumerator ? imp::IndexEnumeratorCallbackWrapper : 0; - - v8::Local otpl = New(); - otpl->SetInternalFieldCount(imp::kIndexPropertyFieldCount); - v8::Local obj = NewInstance(otpl).ToLocalChecked(); - obj->SetInternalField( - imp::kIndexPropertyGetterIndex - , New(reinterpret_cast(getter))); - - if (setter) { - obj->SetInternalField( - imp::kIndexPropertySetterIndex - , New(reinterpret_cast(setter))); - } - - if (query) { - obj->SetInternalField( - imp::kIndexPropertyQueryIndex - , New(reinterpret_cast(query))); - } - - if (deleter) { - obj->SetInternalField( - imp::kIndexPropertyDeleterIndex - , New(reinterpret_cast(deleter))); - } - - if (enumerator) { - obj->SetInternalField( - imp::kIndexPropertyEnumeratorIndex - , New(reinterpret_cast(enumerator))); - } - - if (!data.IsEmpty()) { - obj->SetInternalField(imp::kDataIndex, data); - } - -#if NODE_MODULE_VERSION > NODE_0_12_MODULE_VERSION - tpl->SetHandler(v8::IndexedPropertyHandlerConfiguration( - getter_, setter_, query_, deleter_, enumerator_, obj)); -#else - tpl->SetIndexedPropertyHandler( - getter_ - , setter_ - , query_ - , deleter_ - , enumerator_ - , obj); -#endif -} - -inline void SetCallHandler( - v8::Local tpl - , FunctionCallback callback - , v8::Local data = v8::Local()) { - HandleScope scope; - - v8::Local otpl = New(); - otpl->SetInternalFieldCount(imp::kFunctionFieldCount); - v8::Local obj = NewInstance(otpl).ToLocalChecked(); - - obj->SetInternalField( - imp::kFunctionIndex - , New(reinterpret_cast(callback))); - - if (!data.IsEmpty()) { - obj->SetInternalField(imp::kDataIndex, data); - } - - tpl->SetCallHandler(imp::FunctionCallbackWrapper, obj); -} - - -inline void SetCallAsFunctionHandler( - v8::Local tpl, - FunctionCallback callback, - v8::Local data = v8::Local()) { - HandleScope scope; - - v8::Local otpl = New(); - otpl->SetInternalFieldCount(imp::kFunctionFieldCount); - v8::Local obj = NewInstance(otpl).ToLocalChecked(); - - obj->SetInternalField( - imp::kFunctionIndex - , New(reinterpret_cast(callback))); - - if (!data.IsEmpty()) { - obj->SetInternalField(imp::kDataIndex, data); - } - - tpl->SetCallAsFunctionHandler(imp::FunctionCallbackWrapper, obj); -} - -//=== Weak Persistent Handling ================================================= - -#include "nan_weak.h" // NOLINT(build/include) - -//=== ObjectWrap =============================================================== - -#include "nan_object_wrap.h" // NOLINT(build/include) - -//=== Export ================================================================== - -inline -void -Export(ADDON_REGISTER_FUNCTION_ARGS_TYPE target, const char *name, - FunctionCallback f) { - Set(target, New(name).ToLocalChecked(), - GetFunction(New(f)).ToLocalChecked()); -} - -//=== Tap Reverse Binding ===================================================== - -struct Tap { - explicit Tap(v8::Local t) : t_() { - t_.Reset(To(t).ToLocalChecked()); - } - - ~Tap() { t_.Reset(); } // not sure if neccessary - - inline void plan(int i) { - v8::Local arg = New(i); - MakeCallback(New(t_), "plan", 1, &arg); - } - - inline void ok(bool isOk, const char *msg = NULL) { - v8::Local args[2]; - args[0] = New(isOk); - if (msg) args[1] = New(msg).ToLocalChecked(); - MakeCallback(New(t_), "ok", msg ? 2 : 1, args); - } - - inline void pass(const char * msg = NULL) { - v8::Local hmsg; - if (msg) hmsg = New(msg).ToLocalChecked(); - MakeCallback(New(t_), "pass", msg ? 1 : 0, &hmsg); - } - - private: - Persistent t_; -}; - -#define NAN_STRINGIZE2(x) #x -#define NAN_STRINGIZE(x) NAN_STRINGIZE2(x) -#define NAN_TEST_EXPRESSION(expression) \ - ( expression ), __FILE__ ":" NAN_STRINGIZE(__LINE__) ": " #expression - -#define NAN_EXPORT(target, function) Export(target, #function, function) - -#undef TYPE_CHECK - -//=== Generic Maybefication =================================================== - -namespace imp { - -template struct Maybefier; - -template struct Maybefier > { - static MaybeLocal convert(v8::Local v) { - return MaybeLocal(v); - } -}; - -template struct Maybefier > { - static MaybeLocal convert(MaybeLocal v) { - return v; - } -}; - -} // end of namespace imp - -template class MaybeMaybe> -MaybeLocal -MakeMaybe(MaybeMaybe v) { - return imp::Maybefier >::convert(v); -} - -//=== TypedArrayContents ======================================================= - -#include "nan_typedarray_contents.h" // NOLINT(build/include) - -} // end of namespace Nan - -#endif // NAN_H_ diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_callbacks.h b/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_callbacks.h deleted file mode 100644 index 851509f..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_callbacks.h +++ /dev/null @@ -1,88 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2016 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_CALLBACKS_H_ -#define NAN_CALLBACKS_H_ - -template class FunctionCallbackInfo; -template class PropertyCallbackInfo; -template class Global; - -typedef void(*FunctionCallback)(const FunctionCallbackInfo&); -typedef void(*GetterCallback) - (v8::Local, const PropertyCallbackInfo&); -typedef void(*SetterCallback)( - v8::Local, - v8::Local, - const PropertyCallbackInfo&); -typedef void(*PropertyGetterCallback)( - v8::Local, - const PropertyCallbackInfo&); -typedef void(*PropertySetterCallback)( - v8::Local, - v8::Local, - const PropertyCallbackInfo&); -typedef void(*PropertyEnumeratorCallback) - (const PropertyCallbackInfo&); -typedef void(*PropertyDeleterCallback)( - v8::Local, - const PropertyCallbackInfo&); -typedef void(*PropertyQueryCallback)( - v8::Local, - const PropertyCallbackInfo&); -typedef void(*IndexGetterCallback)( - uint32_t, - const PropertyCallbackInfo&); -typedef void(*IndexSetterCallback)( - uint32_t, - v8::Local, - const PropertyCallbackInfo&); -typedef void(*IndexEnumeratorCallback) - (const PropertyCallbackInfo&); -typedef void(*IndexDeleterCallback)( - uint32_t, - const PropertyCallbackInfo&); -typedef void(*IndexQueryCallback)( - uint32_t, - const PropertyCallbackInfo&); - -namespace imp { -typedef v8::Local Sig; - -static const int kDataIndex = 0; - -static const int kFunctionIndex = 1; -static const int kFunctionFieldCount = 2; - -static const int kGetterIndex = 1; -static const int kSetterIndex = 2; -static const int kAccessorFieldCount = 3; - -static const int kPropertyGetterIndex = 1; -static const int kPropertySetterIndex = 2; -static const int kPropertyEnumeratorIndex = 3; -static const int kPropertyDeleterIndex = 4; -static const int kPropertyQueryIndex = 5; -static const int kPropertyFieldCount = 6; - -static const int kIndexPropertyGetterIndex = 1; -static const int kIndexPropertySetterIndex = 2; -static const int kIndexPropertyEnumeratorIndex = 3; -static const int kIndexPropertyDeleterIndex = 4; -static const int kIndexPropertyQueryIndex = 5; -static const int kIndexPropertyFieldCount = 6; - -} // end of namespace imp - -#if NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION -# include "nan_callbacks_12_inl.h" // NOLINT(build/include) -#else -# include "nan_callbacks_pre_12_inl.h" // NOLINT(build/include) -#endif - -#endif // NAN_CALLBACKS_H_ diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_callbacks_12_inl.h b/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_callbacks_12_inl.h deleted file mode 100644 index bea12c7..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_callbacks_12_inl.h +++ /dev/null @@ -1,512 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2016 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_CALLBACKS_12_INL_H_ -#define NAN_CALLBACKS_12_INL_H_ - -template -class ReturnValue { - v8::ReturnValue value_; - - public: - template - explicit inline ReturnValue(const v8::ReturnValue &value) : - value_(value) {} - template - explicit inline ReturnValue(const ReturnValue& that) - : value_(that.value_) { - TYPE_CHECK(T, S); - } - - // Handle setters - template inline void Set(const v8::Local &handle) { - TYPE_CHECK(T, S); - value_.Set(handle); - } - - template inline void Set(const Global &handle) { - TYPE_CHECK(T, S); -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && \ - (V8_MINOR_VERSION > 5 || (V8_MINOR_VERSION == 5 && \ - defined(V8_BUILD_NUMBER) && V8_BUILD_NUMBER >= 8)))) - value_.Set(handle); -#else - value_.Set(*reinterpret_cast*>(&handle)); - const_cast &>(handle).Reset(); -#endif - } - - // Fast primitive setters - inline void Set(bool value) { - TYPE_CHECK(T, v8::Boolean); - value_.Set(value); - } - - inline void Set(double i) { - TYPE_CHECK(T, v8::Number); - value_.Set(i); - } - - inline void Set(int32_t i) { - TYPE_CHECK(T, v8::Integer); - value_.Set(i); - } - - inline void Set(uint32_t i) { - TYPE_CHECK(T, v8::Integer); - value_.Set(i); - } - - // Fast JS primitive setters - inline void SetNull() { - TYPE_CHECK(T, v8::Primitive); - value_.SetNull(); - } - - inline void SetUndefined() { - TYPE_CHECK(T, v8::Primitive); - value_.SetUndefined(); - } - - inline void SetEmptyString() { - TYPE_CHECK(T, v8::String); - value_.SetEmptyString(); - } - - // Convenience getter for isolate - inline v8::Isolate *GetIsolate() const { - return value_.GetIsolate(); - } - - // Pointer setter: Uncompilable to prevent inadvertent misuse. - template - inline void Set(S *whatever) { TYPE_CHECK(S*, v8::Primitive); } -}; - -template -class FunctionCallbackInfo { - const v8::FunctionCallbackInfo &info_; - const v8::Local data_; - - public: - explicit inline FunctionCallbackInfo( - const v8::FunctionCallbackInfo &info - , v8::Local data) : - info_(info) - , data_(data) {} - - inline ReturnValue GetReturnValue() const { - return ReturnValue(info_.GetReturnValue()); - } - - inline v8::Local Callee() const { return info_.Callee(); } - inline v8::Local Data() const { return data_; } - inline v8::Local Holder() const { return info_.Holder(); } - inline bool IsConstructCall() const { return info_.IsConstructCall(); } - inline int Length() const { return info_.Length(); } - inline v8::Local operator[](int i) const { return info_[i]; } - inline v8::Local This() const { return info_.This(); } - inline v8::Isolate *GetIsolate() const { return info_.GetIsolate(); } - - - protected: - static const int kHolderIndex = 0; - static const int kIsolateIndex = 1; - static const int kReturnValueDefaultValueIndex = 2; - static const int kReturnValueIndex = 3; - static const int kDataIndex = 4; - static const int kCalleeIndex = 5; - static const int kContextSaveIndex = 6; - static const int kArgsLength = 7; - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(FunctionCallbackInfo) -}; - -template -class PropertyCallbackInfo { - const v8::PropertyCallbackInfo &info_; - const v8::Local data_; - - public: - explicit inline PropertyCallbackInfo( - const v8::PropertyCallbackInfo &info - , const v8::Local data) : - info_(info) - , data_(data) {} - - inline v8::Isolate* GetIsolate() const { return info_.GetIsolate(); } - inline v8::Local Data() const { return data_; } - inline v8::Local This() const { return info_.This(); } - inline v8::Local Holder() const { return info_.Holder(); } - inline ReturnValue GetReturnValue() const { - return ReturnValue(info_.GetReturnValue()); - } - - protected: - static const int kHolderIndex = 0; - static const int kIsolateIndex = 1; - static const int kReturnValueDefaultValueIndex = 2; - static const int kReturnValueIndex = 3; - static const int kDataIndex = 4; - static const int kThisIndex = 5; - static const int kArgsLength = 6; - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(PropertyCallbackInfo) -}; - -namespace imp { -static -void FunctionCallbackWrapper(const v8::FunctionCallbackInfo &info) { - v8::Local obj = info.Data().As(); - FunctionCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kFunctionIndex).As()->Value())); - FunctionCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - callback(cbinfo); -} - -typedef void (*NativeFunction)(const v8::FunctionCallbackInfo &); - -#if NODE_MODULE_VERSION > NODE_0_12_MODULE_VERSION -static -void GetterCallbackWrapper( - v8::Local property - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - GetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kGetterIndex).As()->Value())); - callback(property.As(), cbinfo); -} - -typedef void (*NativeGetter) - (v8::Local, const v8::PropertyCallbackInfo &); - -static -void SetterCallbackWrapper( - v8::Local property - , v8::Local value - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - SetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kSetterIndex).As()->Value())); - callback(property.As(), value, cbinfo); -} - -typedef void (*NativeSetter)( - v8::Local - , v8::Local - , const v8::PropertyCallbackInfo &); -#else -static -void GetterCallbackWrapper( - v8::Local property - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - GetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kGetterIndex).As()->Value())); - callback(property, cbinfo); -} - -typedef void (*NativeGetter) - (v8::Local, const v8::PropertyCallbackInfo &); - -static -void SetterCallbackWrapper( - v8::Local property - , v8::Local value - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - SetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kSetterIndex).As()->Value())); - callback(property, value, cbinfo); -} - -typedef void (*NativeSetter)( - v8::Local - , v8::Local - , const v8::PropertyCallbackInfo &); -#endif - -#if NODE_MODULE_VERSION > NODE_0_12_MODULE_VERSION -static -void PropertyGetterCallbackWrapper( - v8::Local property - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyGetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertyGetterIndex) - .As()->Value())); - callback(property.As(), cbinfo); -} - -typedef void (*NativePropertyGetter) - (v8::Local, const v8::PropertyCallbackInfo &); - -static -void PropertySetterCallbackWrapper( - v8::Local property - , v8::Local value - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertySetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertySetterIndex) - .As()->Value())); - callback(property.As(), value, cbinfo); -} - -typedef void (*NativePropertySetter)( - v8::Local - , v8::Local - , const v8::PropertyCallbackInfo &); - -static -void PropertyEnumeratorCallbackWrapper( - const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyEnumeratorCallback callback = - reinterpret_cast(reinterpret_cast( - obj->GetInternalField(kPropertyEnumeratorIndex) - .As()->Value())); - callback(cbinfo); -} - -typedef void (*NativePropertyEnumerator) - (const v8::PropertyCallbackInfo &); - -static -void PropertyDeleterCallbackWrapper( - v8::Local property - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyDeleterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertyDeleterIndex) - .As()->Value())); - callback(property.As(), cbinfo); -} - -typedef void (NativePropertyDeleter) - (v8::Local, const v8::PropertyCallbackInfo &); - -static -void PropertyQueryCallbackWrapper( - v8::Local property - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyQueryCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertyQueryIndex) - .As()->Value())); - callback(property.As(), cbinfo); -} - -typedef void (*NativePropertyQuery) - (v8::Local, const v8::PropertyCallbackInfo &); -#else -static -void PropertyGetterCallbackWrapper( - v8::Local property - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyGetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertyGetterIndex) - .As()->Value())); - callback(property, cbinfo); -} - -typedef void (*NativePropertyGetter) - (v8::Local, const v8::PropertyCallbackInfo &); - -static -void PropertySetterCallbackWrapper( - v8::Local property - , v8::Local value - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertySetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertySetterIndex) - .As()->Value())); - callback(property, value, cbinfo); -} - -typedef void (*NativePropertySetter)( - v8::Local - , v8::Local - , const v8::PropertyCallbackInfo &); - -static -void PropertyEnumeratorCallbackWrapper( - const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyEnumeratorCallback callback = - reinterpret_cast(reinterpret_cast( - obj->GetInternalField(kPropertyEnumeratorIndex) - .As()->Value())); - callback(cbinfo); -} - -typedef void (*NativePropertyEnumerator) - (const v8::PropertyCallbackInfo &); - -static -void PropertyDeleterCallbackWrapper( - v8::Local property - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyDeleterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertyDeleterIndex) - .As()->Value())); - callback(property, cbinfo); -} - -typedef void (NativePropertyDeleter) - (v8::Local, const v8::PropertyCallbackInfo &); - -static -void PropertyQueryCallbackWrapper( - v8::Local property - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyQueryCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertyQueryIndex) - .As()->Value())); - callback(property, cbinfo); -} - -typedef void (*NativePropertyQuery) - (v8::Local, const v8::PropertyCallbackInfo &); -#endif - -static -void IndexGetterCallbackWrapper( - uint32_t index, const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - IndexGetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kIndexPropertyGetterIndex) - .As()->Value())); - callback(index, cbinfo); -} - -typedef void (*NativeIndexGetter) - (uint32_t, const v8::PropertyCallbackInfo &); - -static -void IndexSetterCallbackWrapper( - uint32_t index - , v8::Local value - , const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - IndexSetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kIndexPropertySetterIndex) - .As()->Value())); - callback(index, value, cbinfo); -} - -typedef void (*NativeIndexSetter)( - uint32_t - , v8::Local - , const v8::PropertyCallbackInfo &); - -static -void IndexEnumeratorCallbackWrapper( - const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - IndexEnumeratorCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField( - kIndexPropertyEnumeratorIndex).As()->Value())); - callback(cbinfo); -} - -typedef void (*NativeIndexEnumerator) - (const v8::PropertyCallbackInfo &); - -static -void IndexDeleterCallbackWrapper( - uint32_t index, const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - IndexDeleterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kIndexPropertyDeleterIndex) - .As()->Value())); - callback(index, cbinfo); -} - -typedef void (*NativeIndexDeleter) - (uint32_t, const v8::PropertyCallbackInfo &); - -static -void IndexQueryCallbackWrapper( - uint32_t index, const v8::PropertyCallbackInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - IndexQueryCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kIndexPropertyQueryIndex) - .As()->Value())); - callback(index, cbinfo); -} - -typedef void (*NativeIndexQuery) - (uint32_t, const v8::PropertyCallbackInfo &); -} // end of namespace imp - -#endif // NAN_CALLBACKS_12_INL_H_ diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_callbacks_pre_12_inl.h b/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_callbacks_pre_12_inl.h deleted file mode 100644 index 5e2b8e2..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_callbacks_pre_12_inl.h +++ /dev/null @@ -1,506 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2016 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_CALLBACKS_PRE_12_INL_H_ -#define NAN_CALLBACKS_PRE_12_INL_H_ - -namespace imp { -template class ReturnValueImp; -} // end of namespace imp - -template -class ReturnValue { - v8::Isolate *isolate_; - v8::Persistent *value_; - friend class imp::ReturnValueImp; - - public: - template - explicit inline ReturnValue(v8::Isolate *isolate, v8::Persistent *p) : - isolate_(isolate), value_(p) {} - template - explicit inline ReturnValue(const ReturnValue& that) - : isolate_(that.isolate_), value_(that.value_) { - TYPE_CHECK(T, S); - } - - // Handle setters - template inline void Set(const v8::Local &handle) { - TYPE_CHECK(T, S); - value_->Dispose(); - *value_ = v8::Persistent::New(handle); - } - - template inline void Set(const Global &handle) { - TYPE_CHECK(T, S); - value_->Dispose(); - *value_ = v8::Persistent::New(handle.persistent); - const_cast &>(handle).Reset(); - } - - // Fast primitive setters - inline void Set(bool value) { - TYPE_CHECK(T, v8::Boolean); - value_->Dispose(); - *value_ = v8::Persistent::New(v8::Boolean::New(value)); - } - - inline void Set(double i) { - TYPE_CHECK(T, v8::Number); - value_->Dispose(); - *value_ = v8::Persistent::New(v8::Number::New(i)); - } - - inline void Set(int32_t i) { - TYPE_CHECK(T, v8::Integer); - value_->Dispose(); - *value_ = v8::Persistent::New(v8::Int32::New(i)); - } - - inline void Set(uint32_t i) { - TYPE_CHECK(T, v8::Integer); - value_->Dispose(); - *value_ = v8::Persistent::New(v8::Uint32::NewFromUnsigned(i)); - } - - // Fast JS primitive setters - inline void SetNull() { - TYPE_CHECK(T, v8::Primitive); - value_->Dispose(); - *value_ = v8::Persistent::New(v8::Null()); - } - - inline void SetUndefined() { - TYPE_CHECK(T, v8::Primitive); - value_->Dispose(); - *value_ = v8::Persistent::New(v8::Undefined()); - } - - inline void SetEmptyString() { - TYPE_CHECK(T, v8::String); - value_->Dispose(); - *value_ = v8::Persistent::New(v8::String::Empty()); - } - - // Convenience getter for isolate - inline v8::Isolate *GetIsolate() const { - return isolate_; - } - - // Pointer setter: Uncompilable to prevent inadvertent misuse. - template - inline void Set(S *whatever) { TYPE_CHECK(S*, v8::Primitive); } -}; - -template -class FunctionCallbackInfo { - const v8::Arguments &args_; - v8::Local data_; - ReturnValue return_value_; - v8::Persistent retval_; - - public: - explicit inline FunctionCallbackInfo( - const v8::Arguments &args - , v8::Local data) : - args_(args) - , data_(data) - , return_value_(args.GetIsolate(), &retval_) - , retval_(v8::Persistent::New(v8::Undefined())) {} - - inline ~FunctionCallbackInfo() { - retval_.Dispose(); - retval_.Clear(); - } - - inline ReturnValue GetReturnValue() const { - return ReturnValue(return_value_); - } - - inline v8::Local Callee() const { return args_.Callee(); } - inline v8::Local Data() const { return data_; } - inline v8::Local Holder() const { return args_.Holder(); } - inline bool IsConstructCall() const { return args_.IsConstructCall(); } - inline int Length() const { return args_.Length(); } - inline v8::Local operator[](int i) const { return args_[i]; } - inline v8::Local This() const { return args_.This(); } - inline v8::Isolate *GetIsolate() const { return args_.GetIsolate(); } - - - protected: - static const int kHolderIndex = 0; - static const int kIsolateIndex = 1; - static const int kReturnValueDefaultValueIndex = 2; - static const int kReturnValueIndex = 3; - static const int kDataIndex = 4; - static const int kCalleeIndex = 5; - static const int kContextSaveIndex = 6; - static const int kArgsLength = 7; - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(FunctionCallbackInfo) -}; - -template -class PropertyCallbackInfoBase { - const v8::AccessorInfo &info_; - const v8::Local data_; - - public: - explicit inline PropertyCallbackInfoBase( - const v8::AccessorInfo &info - , const v8::Local data) : - info_(info) - , data_(data) {} - - inline v8::Isolate* GetIsolate() const { return info_.GetIsolate(); } - inline v8::Local Data() const { return data_; } - inline v8::Local This() const { return info_.This(); } - inline v8::Local Holder() const { return info_.Holder(); } - - protected: - static const int kHolderIndex = 0; - static const int kIsolateIndex = 1; - static const int kReturnValueDefaultValueIndex = 2; - static const int kReturnValueIndex = 3; - static const int kDataIndex = 4; - static const int kThisIndex = 5; - static const int kArgsLength = 6; - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(PropertyCallbackInfoBase) -}; - -template -class PropertyCallbackInfo : public PropertyCallbackInfoBase { - ReturnValue return_value_; - v8::Persistent retval_; - - public: - explicit inline PropertyCallbackInfo( - const v8::AccessorInfo &info - , const v8::Local data) : - PropertyCallbackInfoBase(info, data) - , return_value_(info.GetIsolate(), &retval_) - , retval_(v8::Persistent::New(v8::Undefined())) {} - - inline ~PropertyCallbackInfo() { - retval_.Dispose(); - retval_.Clear(); - } - - inline ReturnValue GetReturnValue() const { return return_value_; } -}; - -template<> -class PropertyCallbackInfo : - public PropertyCallbackInfoBase { - ReturnValue return_value_; - v8::Persistent retval_; - - public: - explicit inline PropertyCallbackInfo( - const v8::AccessorInfo &info - , const v8::Local data) : - PropertyCallbackInfoBase(info, data) - , return_value_(info.GetIsolate(), &retval_) - , retval_(v8::Persistent::New(v8::Local())) {} - - inline ~PropertyCallbackInfo() { - retval_.Dispose(); - retval_.Clear(); - } - - inline ReturnValue GetReturnValue() const { - return return_value_; - } -}; - -template<> -class PropertyCallbackInfo : - public PropertyCallbackInfoBase { - ReturnValue return_value_; - v8::Persistent retval_; - - public: - explicit inline PropertyCallbackInfo( - const v8::AccessorInfo &info - , const v8::Local data) : - PropertyCallbackInfoBase(info, data) - , return_value_(info.GetIsolate(), &retval_) - , retval_(v8::Persistent::New(v8::Local())) {} - - inline ~PropertyCallbackInfo() { - retval_.Dispose(); - retval_.Clear(); - } - - inline ReturnValue GetReturnValue() const { - return return_value_; - } -}; - -template<> -class PropertyCallbackInfo : - public PropertyCallbackInfoBase { - ReturnValue return_value_; - v8::Persistent retval_; - - public: - explicit inline PropertyCallbackInfo( - const v8::AccessorInfo &info - , const v8::Local data) : - PropertyCallbackInfoBase(info, data) - , return_value_(info.GetIsolate(), &retval_) - , retval_(v8::Persistent::New(v8::Local())) {} - - inline ~PropertyCallbackInfo() { - retval_.Dispose(); - retval_.Clear(); - } - - inline ReturnValue GetReturnValue() const { - return return_value_; - } -}; - -namespace imp { -template -class ReturnValueImp : public ReturnValue { - public: - explicit ReturnValueImp(ReturnValue that) : - ReturnValue(that) {} - inline v8::Handle Value() { - return *ReturnValue::value_; - } -}; - -static -v8::Handle FunctionCallbackWrapper(const v8::Arguments &args) { - v8::Local obj = args.Data().As(); - FunctionCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kFunctionIndex).As()->Value())); - FunctionCallbackInfo - cbinfo(args, obj->GetInternalField(kDataIndex)); - callback(cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativeFunction)(const v8::Arguments &); - -static -v8::Handle GetterCallbackWrapper( - v8::Local property, const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - GetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kGetterIndex).As()->Value())); - callback(property, cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativeGetter) - (v8::Local, const v8::AccessorInfo &); - -static -void SetterCallbackWrapper( - v8::Local property - , v8::Local value - , const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - SetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kSetterIndex).As()->Value())); - callback(property, value, cbinfo); -} - -typedef void (*NativeSetter) - (v8::Local, v8::Local, const v8::AccessorInfo &); - -static -v8::Handle PropertyGetterCallbackWrapper( - v8::Local property, const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyGetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertyGetterIndex) - .As()->Value())); - callback(property, cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativePropertyGetter) - (v8::Local, const v8::AccessorInfo &); - -static -v8::Handle PropertySetterCallbackWrapper( - v8::Local property - , v8::Local value - , const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertySetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertySetterIndex) - .As()->Value())); - callback(property, value, cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativePropertySetter) - (v8::Local, v8::Local, const v8::AccessorInfo &); - -static -v8::Handle PropertyEnumeratorCallbackWrapper( - const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyEnumeratorCallback callback = - reinterpret_cast(reinterpret_cast( - obj->GetInternalField(kPropertyEnumeratorIndex) - .As()->Value())); - callback(cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativePropertyEnumerator) - (const v8::AccessorInfo &); - -static -v8::Handle PropertyDeleterCallbackWrapper( - v8::Local property - , const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyDeleterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertyDeleterIndex) - .As()->Value())); - callback(property, cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (NativePropertyDeleter) - (v8::Local, const v8::AccessorInfo &); - -static -v8::Handle PropertyQueryCallbackWrapper( - v8::Local property, const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - PropertyQueryCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kPropertyQueryIndex) - .As()->Value())); - callback(property, cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativePropertyQuery) - (v8::Local, const v8::AccessorInfo &); - -static -v8::Handle IndexGetterCallbackWrapper( - uint32_t index, const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - IndexGetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kIndexPropertyGetterIndex) - .As()->Value())); - callback(index, cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativeIndexGetter) - (uint32_t, const v8::AccessorInfo &); - -static -v8::Handle IndexSetterCallbackWrapper( - uint32_t index - , v8::Local value - , const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - IndexSetterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kIndexPropertySetterIndex) - .As()->Value())); - callback(index, value, cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativeIndexSetter) - (uint32_t, v8::Local, const v8::AccessorInfo &); - -static -v8::Handle IndexEnumeratorCallbackWrapper( - const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - IndexEnumeratorCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kIndexPropertyEnumeratorIndex) - .As()->Value())); - callback(cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativeIndexEnumerator) - (const v8::AccessorInfo &); - -static -v8::Handle IndexDeleterCallbackWrapper( - uint32_t index, const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - IndexDeleterCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kIndexPropertyDeleterIndex) - .As()->Value())); - callback(index, cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativeIndexDeleter) - (uint32_t, const v8::AccessorInfo &); - -static -v8::Handle IndexQueryCallbackWrapper( - uint32_t index, const v8::AccessorInfo &info) { - v8::Local obj = info.Data().As(); - PropertyCallbackInfo - cbinfo(info, obj->GetInternalField(kDataIndex)); - IndexQueryCallback callback = reinterpret_cast( - reinterpret_cast( - obj->GetInternalField(kIndexPropertyQueryIndex) - .As()->Value())); - callback(index, cbinfo); - return ReturnValueImp(cbinfo.GetReturnValue()).Value(); -} - -typedef v8::Handle (*NativeIndexQuery) - (uint32_t, const v8::AccessorInfo &); -} // end of namespace imp - -#endif // NAN_CALLBACKS_PRE_12_INL_H_ diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_converters.h b/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_converters.h deleted file mode 100644 index 7386c3b..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_converters.h +++ /dev/null @@ -1,64 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2016 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_CONVERTERS_H_ -#define NAN_CONVERTERS_H_ - -namespace imp { -template struct ToFactoryBase { - typedef MaybeLocal return_t; -}; -template struct ValueFactoryBase { typedef Maybe return_t; }; - -template struct ToFactory; - -#define X(TYPE) \ - template<> \ - struct ToFactory : ToFactoryBase { \ - static inline return_t convert(v8::Local val); \ - }; - -X(Boolean) -X(Number) -X(String) -X(Object) -X(Integer) -X(Uint32) -X(Int32) - -#undef X - -#define X(TYPE) \ - template<> \ - struct ToFactory : ValueFactoryBase { \ - static inline return_t convert(v8::Local val); \ - }; - -X(bool) -X(double) -X(int64_t) -X(uint32_t) -X(int32_t) - -#undef X -} // end of namespace imp - -template -inline -typename imp::ToFactory::return_t To(v8::Local val) { - return imp::ToFactory::convert(val); -} - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) -# include "nan_converters_43_inl.h" -#else -# include "nan_converters_pre_43_inl.h" -#endif - -#endif // NAN_CONVERTERS_H_ diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_converters_43_inl.h b/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_converters_43_inl.h deleted file mode 100644 index e2eb032..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_converters_43_inl.h +++ /dev/null @@ -1,42 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2016 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_CONVERTERS_43_INL_H_ -#define NAN_CONVERTERS_43_INL_H_ - -#define X(TYPE) \ -imp::ToFactory::return_t \ -imp::ToFactory::convert(v8::Local val) { \ - return val->To ## TYPE(GetCurrentContext()); \ -} - -X(Boolean) -X(Number) -X(String) -X(Object) -X(Integer) -X(Uint32) -X(Int32) - -#undef X - -#define X(TYPE, NAME) \ -imp::ToFactory::return_t \ -imp::ToFactory::convert(v8::Local val) { \ - return val->NAME ## Value(GetCurrentContext()); \ -} - -X(bool, Boolean) -X(double, Number) -X(int64_t, Integer) -X(uint32_t, Uint32) -X(int32_t, Int32) - -#undef X - -#endif // NAN_CONVERTERS_43_INL_H_ diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_converters_pre_43_inl.h b/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_converters_pre_43_inl.h deleted file mode 100644 index 177a74a..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_converters_pre_43_inl.h +++ /dev/null @@ -1,42 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2016 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_CONVERTERS_PRE_43_INL_H_ -#define NAN_CONVERTERS_PRE_43_INL_H_ - -#define X(TYPE) \ -imp::ToFactory::return_t \ -imp::ToFactory::convert(v8::Local val) { \ - return MaybeLocal(val->To ## TYPE()); \ -} - -X(Boolean) -X(Number) -X(String) -X(Object) -X(Integer) -X(Uint32) -X(Int32) - -#undef X - -#define X(TYPE, NAME) \ -imp::ToFactory::return_t \ -imp::ToFactory::convert(v8::Local val) { \ - return Just(val->NAME ##Value()); \ -} - -X(bool, Boolean) -X(double, Number) -X(int64_t, Integer) -X(uint32_t, Uint32) -X(int32_t, Int32) - -#undef X - -#endif // NAN_CONVERTERS_PRE_43_INL_H_ diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_implementation_12_inl.h b/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_implementation_12_inl.h deleted file mode 100644 index be50fc6..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_implementation_12_inl.h +++ /dev/null @@ -1,409 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2016 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_IMPLEMENTATION_12_INL_H_ -#define NAN_IMPLEMENTATION_12_INL_H_ -//============================================================================== -// node v0.11 implementation -//============================================================================== - -namespace imp { - -//=== Array ==================================================================== - -Factory::return_t -Factory::New() { - return v8::Array::New(v8::Isolate::GetCurrent()); -} - -Factory::return_t -Factory::New(int length) { - return v8::Array::New(v8::Isolate::GetCurrent(), length); -} - -//=== Boolean ================================================================== - -Factory::return_t -Factory::New(bool value) { - return v8::Boolean::New(v8::Isolate::GetCurrent(), value); -} - -//=== Boolean Object =========================================================== - -Factory::return_t -Factory::New(bool value) { -#if (NODE_MODULE_VERSION >= NODE_6_0_MODULE_VERSION) - return v8::BooleanObject::New( - v8::Isolate::GetCurrent(), value).As(); -#else - return v8::BooleanObject::New(value).As(); -#endif -} - -//=== Context ================================================================== - -Factory::return_t -Factory::New( v8::ExtensionConfiguration* extensions - , v8::Local tmpl - , v8::Local obj) { - return v8::Context::New(v8::Isolate::GetCurrent(), extensions, tmpl, obj); -} - -//=== Date ===================================================================== - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) -Factory::return_t -Factory::New(double value) { - v8::Local ret; - if (v8::Date::New(GetCurrentContext(), value). - ToLocal(reinterpret_cast*>(&ret))) { - return v8::MaybeLocal(ret); - } else { - return v8::MaybeLocal(ret); - } -} -#else -Factory::return_t -Factory::New(double value) { - return Factory::return_t( - v8::Date::New(v8::Isolate::GetCurrent(), value).As()); -} -#endif - -//=== External ================================================================= - -Factory::return_t -Factory::New(void * value) { - return v8::External::New(v8::Isolate::GetCurrent(), value); -} - -//=== Function ================================================================= - -Factory::return_t -Factory::New( FunctionCallback callback - , v8::Local data) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - v8::EscapableHandleScope scope(isolate); - v8::Local tpl = v8::ObjectTemplate::New(isolate); - tpl->SetInternalFieldCount(imp::kFunctionFieldCount); - v8::Local obj = NewInstance(tpl).ToLocalChecked(); - - obj->SetInternalField( - imp::kFunctionIndex - , v8::External::New(isolate, reinterpret_cast(callback))); - - v8::Local val = v8::Local::New(isolate, data); - - if (!val.IsEmpty()) { - obj->SetInternalField(imp::kDataIndex, val); - } - - return scope.Escape(v8::Function::New( isolate - , imp::FunctionCallbackWrapper - , obj)); -} - -//=== Function Template ======================================================== - -Factory::return_t -Factory::New( FunctionCallback callback - , v8::Local data - , v8::Local signature) { - v8::Isolate *isolate = v8::Isolate::GetCurrent(); - if (callback) { - v8::EscapableHandleScope scope(isolate); - v8::Local tpl = v8::ObjectTemplate::New(isolate); - tpl->SetInternalFieldCount(imp::kFunctionFieldCount); - v8::Local obj = NewInstance(tpl).ToLocalChecked(); - - obj->SetInternalField( - imp::kFunctionIndex - , v8::External::New(isolate, reinterpret_cast(callback))); - v8::Local val = v8::Local::New(isolate, data); - - if (!val.IsEmpty()) { - obj->SetInternalField(imp::kDataIndex, val); - } - - return scope.Escape(v8::FunctionTemplate::New( isolate - , imp::FunctionCallbackWrapper - , obj - , signature)); - } else { - return v8::FunctionTemplate::New(isolate, 0, data, signature); - } -} - -//=== Number =================================================================== - -Factory::return_t -Factory::New(double value) { - return v8::Number::New(v8::Isolate::GetCurrent(), value); -} - -//=== Number Object ============================================================ - -Factory::return_t -Factory::New(double value) { - return v8::NumberObject::New( v8::Isolate::GetCurrent() - , value).As(); -} - -//=== Integer, Int32 and Uint32 ================================================ - -template -typename IntegerFactory::return_t -IntegerFactory::New(int32_t value) { - return To(T::New(v8::Isolate::GetCurrent(), value)); -} - -template -typename IntegerFactory::return_t -IntegerFactory::New(uint32_t value) { - return To(T::NewFromUnsigned(v8::Isolate::GetCurrent(), value)); -} - -Factory::return_t -Factory::New(int32_t value) { - return To( - v8::Uint32::NewFromUnsigned(v8::Isolate::GetCurrent(), value)); -} - -Factory::return_t -Factory::New(uint32_t value) { - return To( - v8::Uint32::NewFromUnsigned(v8::Isolate::GetCurrent(), value)); -} - -//=== Object =================================================================== - -Factory::return_t -Factory::New() { - return v8::Object::New(v8::Isolate::GetCurrent()); -} - -//=== Object Template ========================================================== - -Factory::return_t -Factory::New() { - return v8::ObjectTemplate::New(v8::Isolate::GetCurrent()); -} - -//=== RegExp =================================================================== - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) -Factory::return_t -Factory::New( - v8::Local pattern - , v8::RegExp::Flags flags) { - return v8::RegExp::New(GetCurrentContext(), pattern, flags); -} -#else -Factory::return_t -Factory::New( - v8::Local pattern - , v8::RegExp::Flags flags) { - return Factory::return_t(v8::RegExp::New(pattern, flags)); -} -#endif - -//=== Script =================================================================== - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) -Factory::return_t -Factory::New( v8::Local source) { - v8::ScriptCompiler::Source src(source); - return v8::ScriptCompiler::Compile(GetCurrentContext(), &src); -} - -Factory::return_t -Factory::New( v8::Local source - , v8::ScriptOrigin const& origin) { - v8::ScriptCompiler::Source src(source, origin); - return v8::ScriptCompiler::Compile(GetCurrentContext(), &src); -} -#else -Factory::return_t -Factory::New( v8::Local source) { - v8::ScriptCompiler::Source src(source); - return Factory::return_t( - v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src)); -} - -Factory::return_t -Factory::New( v8::Local source - , v8::ScriptOrigin const& origin) { - v8::ScriptCompiler::Source src(source, origin); - return Factory::return_t( - v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src)); -} -#endif - -//=== Signature ================================================================ - -Factory::return_t -Factory::New(Factory::FTH receiver) { - return v8::Signature::New(v8::Isolate::GetCurrent(), receiver); -} - -//=== String =================================================================== - -Factory::return_t -Factory::New() { - return Factory::return_t( - v8::String::Empty(v8::Isolate::GetCurrent())); -} - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) -Factory::return_t -Factory::New(const char * value, int length) { - return v8::String::NewFromUtf8( - v8::Isolate::GetCurrent(), value, v8::NewStringType::kNormal, length); -} - -Factory::return_t -Factory::New(std::string const& value) { - assert(value.size() <= INT_MAX && "string too long"); - return v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), - value.data(), v8::NewStringType::kNormal, static_cast(value.size())); -} - -Factory::return_t -Factory::New(const uint16_t * value, int length) { - return v8::String::NewFromTwoByte(v8::Isolate::GetCurrent(), value, - v8::NewStringType::kNormal, length); -} - -Factory::return_t -Factory::New(v8::String::ExternalStringResource * value) { - return v8::String::NewExternalTwoByte(v8::Isolate::GetCurrent(), value); -} - -Factory::return_t -Factory::New(ExternalOneByteStringResource * value) { - return v8::String::NewExternalOneByte(v8::Isolate::GetCurrent(), value); -} -#else -Factory::return_t -Factory::New(const char * value, int length) { - return Factory::return_t( - v8::String::NewFromUtf8( - v8::Isolate::GetCurrent() - , value - , v8::String::kNormalString - , length)); -} - -Factory::return_t -Factory::New( - std::string const& value) /* NOLINT(build/include_what_you_use) */ { - assert(value.size() <= INT_MAX && "string too long"); - return Factory::return_t( - v8::String::NewFromUtf8( - v8::Isolate::GetCurrent() - , value.data() - , v8::String::kNormalString - , static_cast(value.size()))); -} - -Factory::return_t -Factory::New(const uint16_t * value, int length) { - return Factory::return_t( - v8::String::NewFromTwoByte( - v8::Isolate::GetCurrent() - , value - , v8::String::kNormalString - , length)); -} - -Factory::return_t -Factory::New(v8::String::ExternalStringResource * value) { - return Factory::return_t( - v8::String::NewExternal(v8::Isolate::GetCurrent(), value)); -} - -Factory::return_t -Factory::New(ExternalOneByteStringResource * value) { - return Factory::return_t( - v8::String::NewExternal(v8::Isolate::GetCurrent(), value)); -} -#endif - -//=== String Object ============================================================ - -Factory::return_t -Factory::New(v8::Local value) { - return v8::StringObject::New(value).As(); -} - -//=== Unbound Script =========================================================== - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) -Factory::return_t -Factory::New(v8::Local source) { - v8::ScriptCompiler::Source src(source); - return v8::ScriptCompiler::CompileUnboundScript( - v8::Isolate::GetCurrent(), &src); -} - -Factory::return_t -Factory::New( v8::Local source - , v8::ScriptOrigin const& origin) { - v8::ScriptCompiler::Source src(source, origin); - return v8::ScriptCompiler::CompileUnboundScript( - v8::Isolate::GetCurrent(), &src); -} -#else -Factory::return_t -Factory::New(v8::Local source) { - v8::ScriptCompiler::Source src(source); - return Factory::return_t( - v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src)); -} - -Factory::return_t -Factory::New( v8::Local source - , v8::ScriptOrigin const& origin) { - v8::ScriptCompiler::Source src(source, origin); - return Factory::return_t( - v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src)); -} -#endif - -} // end of namespace imp - -//=== Presistents and Handles ================================================== - -#if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION -template -inline v8::Local New(v8::Handle h) { - return v8::Local::New(v8::Isolate::GetCurrent(), h); -} -#endif - -template -inline v8::Local New(v8::Persistent const& p) { - return v8::Local::New(v8::Isolate::GetCurrent(), p); -} - -template -inline v8::Local New(Persistent const& p) { - return v8::Local::New(v8::Isolate::GetCurrent(), p); -} - -template -inline v8::Local New(Global const& p) { - return v8::Local::New(v8::Isolate::GetCurrent(), p); -} - -#endif // NAN_IMPLEMENTATION_12_INL_H_ diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_implementation_pre_12_inl.h b/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_implementation_pre_12_inl.h deleted file mode 100644 index f6642ee..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_implementation_pre_12_inl.h +++ /dev/null @@ -1,264 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2016 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_IMPLEMENTATION_PRE_12_INL_H_ -#define NAN_IMPLEMENTATION_PRE_12_INL_H_ - -//============================================================================== -// node v0.10 implementation -//============================================================================== - -namespace imp { - -//=== Array ==================================================================== - -Factory::return_t -Factory::New() { - return v8::Array::New(); -} - -Factory::return_t -Factory::New(int length) { - return v8::Array::New(length); -} - -//=== Boolean ================================================================== - -Factory::return_t -Factory::New(bool value) { - return v8::Boolean::New(value)->ToBoolean(); -} - -//=== Boolean Object =========================================================== - -Factory::return_t -Factory::New(bool value) { - return v8::BooleanObject::New(value).As(); -} - -//=== Context ================================================================== - -Factory::return_t -Factory::New( v8::ExtensionConfiguration* extensions - , v8::Local tmpl - , v8::Local obj) { - v8::Persistent ctx = v8::Context::New(extensions, tmpl, obj); - v8::Local lctx = v8::Local::New(ctx); - ctx.Dispose(); - return lctx; -} - -//=== Date ===================================================================== - -Factory::return_t -Factory::New(double value) { - return Factory::return_t(v8::Date::New(value).As()); -} - -//=== External ================================================================= - -Factory::return_t -Factory::New(void * value) { - return v8::External::New(value); -} - -//=== Function ================================================================= - -Factory::return_t -Factory::New( FunctionCallback callback - , v8::Local data) { - return Factory::New( callback - , data - , v8::Local() - )->GetFunction(); -} - - -//=== FunctionTemplate ========================================================= - -Factory::return_t -Factory::New( FunctionCallback callback - , v8::Local data - , v8::Local signature) { - if (callback) { - v8::HandleScope scope; - - v8::Local tpl = v8::ObjectTemplate::New(); - tpl->SetInternalFieldCount(imp::kFunctionFieldCount); - v8::Local obj = tpl->NewInstance(); - - obj->SetInternalField( - imp::kFunctionIndex - , v8::External::New(reinterpret_cast(callback))); - - v8::Local val = v8::Local::New(data); - - if (!val.IsEmpty()) { - obj->SetInternalField(imp::kDataIndex, val); - } - - // Note(agnat): Emulate length argument here. Unfortunately, I couldn't find - // a way. Have at it though... - return scope.Close( - v8::FunctionTemplate::New(imp::FunctionCallbackWrapper - , obj - , signature)); - } else { - return v8::FunctionTemplate::New(0, data, signature); - } -} - -//=== Number =================================================================== - -Factory::return_t -Factory::New(double value) { - return v8::Number::New(value); -} - -//=== Number Object ============================================================ - -Factory::return_t -Factory::New(double value) { - return v8::NumberObject::New(value).As(); -} - -//=== Integer, Int32 and Uint32 ================================================ - -template -typename IntegerFactory::return_t -IntegerFactory::New(int32_t value) { - return To(T::New(value)); -} - -template -typename IntegerFactory::return_t -IntegerFactory::New(uint32_t value) { - return To(T::NewFromUnsigned(value)); -} - -Factory::return_t -Factory::New(int32_t value) { - return To(v8::Uint32::NewFromUnsigned(value)); -} - -Factory::return_t -Factory::New(uint32_t value) { - return To(v8::Uint32::NewFromUnsigned(value)); -} - - -//=== Object =================================================================== - -Factory::return_t -Factory::New() { - return v8::Object::New(); -} - -//=== Object Template ========================================================== - -Factory::return_t -Factory::New() { - return v8::ObjectTemplate::New(); -} - -//=== RegExp =================================================================== - -Factory::return_t -Factory::New( - v8::Local pattern - , v8::RegExp::Flags flags) { - return Factory::return_t(v8::RegExp::New(pattern, flags)); -} - -//=== Script =================================================================== - -Factory::return_t -Factory::New( v8::Local source) { - return Factory::return_t(v8::Script::New(source)); -} -Factory::return_t -Factory::New( v8::Local source - , v8::ScriptOrigin const& origin) { - return Factory::return_t( - v8::Script::New(source, const_cast(&origin))); -} - -//=== Signature ================================================================ - -Factory::return_t -Factory::New(Factory::FTH receiver) { - return v8::Signature::New(receiver); -} - -//=== String =================================================================== - -Factory::return_t -Factory::New() { - return Factory::return_t(v8::String::Empty()); -} - -Factory::return_t -Factory::New(const char * value, int length) { - return Factory::return_t(v8::String::New(value, length)); -} - -Factory::return_t -Factory::New( - std::string const& value) /* NOLINT(build/include_what_you_use) */ { - assert(value.size() <= INT_MAX && "string too long"); - return Factory::return_t( - v8::String::New( value.data(), static_cast(value.size()))); -} - -Factory::return_t -Factory::New(const uint16_t * value, int length) { - return Factory::return_t(v8::String::New(value, length)); -} - -Factory::return_t -Factory::New(v8::String::ExternalStringResource * value) { - return Factory::return_t(v8::String::NewExternal(value)); -} - -Factory::return_t -Factory::New(v8::String::ExternalAsciiStringResource * value) { - return Factory::return_t(v8::String::NewExternal(value)); -} - -//=== String Object ============================================================ - -Factory::return_t -Factory::New(v8::Local value) { - return v8::StringObject::New(value).As(); -} - -} // end of namespace imp - -//=== Presistents and Handles ================================================== - -template -inline v8::Local New(v8::Handle h) { - return v8::Local::New(h); -} - -template -inline v8::Local New(v8::Persistent const& p) { - return v8::Local::New(p); -} - -template -inline v8::Local New(Persistent const& p) { - return v8::Local::New(p.persistent); -} - -template -inline v8::Local New(Global const& p) { - return v8::Local::New(p.persistent); -} - -#endif // NAN_IMPLEMENTATION_PRE_12_INL_H_ diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_maybe_43_inl.h b/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_maybe_43_inl.h deleted file mode 100644 index a8b432d..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_maybe_43_inl.h +++ /dev/null @@ -1,245 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2016 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_MAYBE_43_INL_H_ -#define NAN_MAYBE_43_INL_H_ - -template -using MaybeLocal = v8::MaybeLocal; - -template -using Maybe = v8::Maybe; - -template -inline Maybe Nothing() { - return v8::Nothing(); -} - -template -inline Maybe Just(const T& t) { - return v8::Just(t); -} - -v8::Local GetCurrentContext(); - -inline -MaybeLocal ToDetailString(v8::Local val) { - return val->ToDetailString(GetCurrentContext()); -} - -inline -MaybeLocal ToArrayIndex(v8::Local val) { - return val->ToArrayIndex(GetCurrentContext()); -} - -inline -Maybe Equals(v8::Local a, v8::Local(b)) { - return a->Equals(GetCurrentContext(), b); -} - -inline -MaybeLocal NewInstance(v8::Local h) { - return h->NewInstance(GetCurrentContext()); -} - -inline -MaybeLocal NewInstance( - v8::Local h - , int argc - , v8::Local argv[]) { - return h->NewInstance(GetCurrentContext(), argc, argv); -} - -inline -MaybeLocal NewInstance(v8::Local h) { - return h->NewInstance(GetCurrentContext()); -} - - -inline MaybeLocal GetFunction( - v8::Local t) { - return t->GetFunction(GetCurrentContext()); -} - -inline Maybe Set( - v8::Local obj - , v8::Local key - , v8::Local value) { - return obj->Set(GetCurrentContext(), key, value); -} - -inline Maybe Set( - v8::Local obj - , uint32_t index - , v8::Local value) { - return obj->Set(GetCurrentContext(), index, value); -} - -inline Maybe ForceSet( - v8::Local obj - , v8::Local key - , v8::Local value - , v8::PropertyAttribute attribs = v8::None) { - return obj->ForceSet(GetCurrentContext(), key, value, attribs); -} - -inline MaybeLocal Get( - v8::Local obj - , v8::Local key) { - return obj->Get(GetCurrentContext(), key); -} - -inline -MaybeLocal Get(v8::Local obj, uint32_t index) { - return obj->Get(GetCurrentContext(), index); -} - -inline v8::PropertyAttribute GetPropertyAttributes( - v8::Local obj - , v8::Local key) { - return obj->GetPropertyAttributes(GetCurrentContext(), key).FromJust(); -} - -inline Maybe Has( - v8::Local obj - , v8::Local key) { - return obj->Has(GetCurrentContext(), key); -} - -inline Maybe Has(v8::Local obj, uint32_t index) { - return obj->Has(GetCurrentContext(), index); -} - -inline Maybe Delete( - v8::Local obj - , v8::Local key) { - return obj->Delete(GetCurrentContext(), key); -} - -inline -Maybe Delete(v8::Local obj, uint32_t index) { - return obj->Delete(GetCurrentContext(), index); -} - -inline -MaybeLocal GetPropertyNames(v8::Local obj) { - return obj->GetPropertyNames(GetCurrentContext()); -} - -inline -MaybeLocal GetOwnPropertyNames(v8::Local obj) { - return obj->GetOwnPropertyNames(GetCurrentContext()); -} - -inline Maybe SetPrototype( - v8::Local obj - , v8::Local prototype) { - return obj->SetPrototype(GetCurrentContext(), prototype); -} - -inline MaybeLocal ObjectProtoToString( - v8::Local obj) { - return obj->ObjectProtoToString(GetCurrentContext()); -} - -inline Maybe HasOwnProperty( - v8::Local obj - , v8::Local key) { - return obj->HasOwnProperty(GetCurrentContext(), key); -} - -inline Maybe HasRealNamedProperty( - v8::Local obj - , v8::Local key) { - return obj->HasRealNamedProperty(GetCurrentContext(), key); -} - -inline Maybe HasRealIndexedProperty( - v8::Local obj - , uint32_t index) { - return obj->HasRealIndexedProperty(GetCurrentContext(), index); -} - -inline Maybe HasRealNamedCallbackProperty( - v8::Local obj - , v8::Local key) { - return obj->HasRealNamedCallbackProperty(GetCurrentContext(), key); -} - -inline MaybeLocal GetRealNamedPropertyInPrototypeChain( - v8::Local obj - , v8::Local key) { - return obj->GetRealNamedPropertyInPrototypeChain(GetCurrentContext(), key); -} - -inline MaybeLocal GetRealNamedProperty( - v8::Local obj - , v8::Local key) { - return obj->GetRealNamedProperty(GetCurrentContext(), key); -} - -inline MaybeLocal CallAsFunction( - v8::Local obj - , v8::Local recv - , int argc - , v8::Local argv[]) { - return obj->CallAsFunction(GetCurrentContext(), recv, argc, argv); -} - -inline MaybeLocal CallAsConstructor( - v8::Local obj - , int argc, v8::Local argv[]) { - return obj->CallAsConstructor(GetCurrentContext(), argc, argv); -} - -inline -MaybeLocal GetSourceLine(v8::Local msg) { - return msg->GetSourceLine(GetCurrentContext()); -} - -inline Maybe GetLineNumber(v8::Local msg) { - return msg->GetLineNumber(GetCurrentContext()); -} - -inline Maybe GetStartColumn(v8::Local msg) { - return msg->GetStartColumn(GetCurrentContext()); -} - -inline Maybe GetEndColumn(v8::Local msg) { - return msg->GetEndColumn(GetCurrentContext()); -} - -inline MaybeLocal CloneElementAt( - v8::Local array - , uint32_t index) { -#if (NODE_MODULE_VERSION >= NODE_6_0_MODULE_VERSION) - v8::EscapableHandleScope handle_scope(v8::Isolate::GetCurrent()); - v8::Local context = GetCurrentContext(); - v8::Local elem; - if (!array->Get(context, index).ToLocal(&elem)) { - return MaybeLocal(); - } - v8::Local obj; - if (!elem->ToObject(context).ToLocal(&obj)) { - return MaybeLocal(); - } - return MaybeLocal(handle_scope.Escape(obj->Clone())); -#else - return array->CloneElementAt(GetCurrentContext(), index); -#endif -} - -inline MaybeLocal Call( - v8::Local fun - , v8::Local recv - , int argc - , v8::Local argv[]) { - return fun->Call(GetCurrentContext(), recv, argc, argv); -} - -#endif // NAN_MAYBE_43_INL_H_ diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_maybe_pre_43_inl.h b/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_maybe_pre_43_inl.h deleted file mode 100644 index c538687..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_maybe_pre_43_inl.h +++ /dev/null @@ -1,303 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2016 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_MAYBE_PRE_43_INL_H_ -#define NAN_MAYBE_PRE_43_INL_H_ - -template -class MaybeLocal { - public: - inline MaybeLocal() : val_(v8::Local()) {} - - template -# if NODE_MODULE_VERSION >= NODE_0_12_MODULE_VERSION - inline MaybeLocal(v8::Local that) : val_(that) {} -# else - inline MaybeLocal(v8::Local that) : - val_(*reinterpret_cast*>(&that)) {} -# endif - - inline bool IsEmpty() const { return val_.IsEmpty(); } - - template - inline bool ToLocal(v8::Local *out) const { - *out = val_; - return !IsEmpty(); - } - - inline v8::Local ToLocalChecked() const { -#if defined(V8_ENABLE_CHECKS) - assert(!IsEmpty() && "ToLocalChecked is Empty"); -#endif // V8_ENABLE_CHECKS - return val_; - } - - template - inline v8::Local FromMaybe(v8::Local default_value) const { - return IsEmpty() ? default_value : val_; - } - - private: - v8::Local val_; -}; - -template -class Maybe { - public: - inline bool IsNothing() const { return !has_value_; } - inline bool IsJust() const { return has_value_; } - - inline T FromJust() const { -#if defined(V8_ENABLE_CHECKS) - assert(IsJust() && "FromJust is Nothing"); -#endif // V8_ENABLE_CHECKS - return value_; - } - - inline T FromMaybe(const T& default_value) const { - return has_value_ ? value_ : default_value; - } - - inline bool operator==(const Maybe &other) const { - return (IsJust() == other.IsJust()) && - (!IsJust() || FromJust() == other.FromJust()); - } - - inline bool operator!=(const Maybe &other) const { - return !operator==(other); - } - - private: - Maybe() : has_value_(false) {} - explicit Maybe(const T& t) : has_value_(true), value_(t) {} - bool has_value_; - T value_; - - template - friend Maybe Nothing(); - template - friend Maybe Just(const U& u); -}; - -template -inline Maybe Nothing() { - return Maybe(); -} - -template -inline Maybe Just(const T& t) { - return Maybe(t); -} - -inline -MaybeLocal ToDetailString(v8::Handle val) { - return MaybeLocal(val->ToDetailString()); -} - -inline -MaybeLocal ToArrayIndex(v8::Handle val) { - return MaybeLocal(val->ToArrayIndex()); -} - -inline -Maybe Equals(v8::Handle a, v8::Handle(b)) { - return Just(a->Equals(b)); -} - -inline -MaybeLocal NewInstance(v8::Handle h) { - return MaybeLocal(h->NewInstance()); -} - -inline -MaybeLocal NewInstance( - v8::Local h - , int argc - , v8::Local argv[]) { - return MaybeLocal(h->NewInstance(argc, argv)); -} - -inline -MaybeLocal NewInstance(v8::Handle h) { - return MaybeLocal(h->NewInstance()); -} - -inline -MaybeLocal GetFunction(v8::Handle t) { - return MaybeLocal(t->GetFunction()); -} - -inline Maybe Set( - v8::Handle obj - , v8::Handle key - , v8::Handle value) { - return Just(obj->Set(key, value)); -} - -inline Maybe Set( - v8::Handle obj - , uint32_t index - , v8::Handle value) { - return Just(obj->Set(index, value)); -} - -inline Maybe ForceSet( - v8::Handle obj - , v8::Handle key - , v8::Handle value - , v8::PropertyAttribute attribs = v8::None) { - return Just(obj->ForceSet(key, value, attribs)); -} - -inline MaybeLocal Get( - v8::Handle obj - , v8::Handle key) { - return MaybeLocal(obj->Get(key)); -} - -inline MaybeLocal Get( - v8::Handle obj - , uint32_t index) { - return MaybeLocal(obj->Get(index)); -} - -inline Maybe GetPropertyAttributes( - v8::Handle obj - , v8::Handle key) { - return Just(obj->GetPropertyAttributes(key)); -} - -inline Maybe Has( - v8::Handle obj - , v8::Handle key) { - return Just(obj->Has(key)); -} - -inline Maybe Has( - v8::Handle obj - , uint32_t index) { - return Just(obj->Has(index)); -} - -inline Maybe Delete( - v8::Handle obj - , v8::Handle key) { - return Just(obj->Delete(key)); -} - -inline Maybe Delete( - v8::Handle obj - , uint32_t index) { - return Just(obj->Delete(index)); -} - -inline -MaybeLocal GetPropertyNames(v8::Handle obj) { - return MaybeLocal(obj->GetPropertyNames()); -} - -inline -MaybeLocal GetOwnPropertyNames(v8::Handle obj) { - return MaybeLocal(obj->GetOwnPropertyNames()); -} - -inline Maybe SetPrototype( - v8::Handle obj - , v8::Handle prototype) { - return Just(obj->SetPrototype(prototype)); -} - -inline MaybeLocal ObjectProtoToString( - v8::Handle obj) { - return MaybeLocal(obj->ObjectProtoToString()); -} - -inline Maybe HasOwnProperty( - v8::Handle obj - , v8::Handle key) { - return Just(obj->HasOwnProperty(key)); -} - -inline Maybe HasRealNamedProperty( - v8::Handle obj - , v8::Handle key) { - return Just(obj->HasRealNamedProperty(key)); -} - -inline Maybe HasRealIndexedProperty( - v8::Handle obj - , uint32_t index) { - return Just(obj->HasRealIndexedProperty(index)); -} - -inline Maybe HasRealNamedCallbackProperty( - v8::Handle obj - , v8::Handle key) { - return Just(obj->HasRealNamedCallbackProperty(key)); -} - -inline MaybeLocal GetRealNamedPropertyInPrototypeChain( - v8::Handle obj - , v8::Handle key) { - return MaybeLocal( - obj->GetRealNamedPropertyInPrototypeChain(key)); -} - -inline MaybeLocal GetRealNamedProperty( - v8::Handle obj - , v8::Handle key) { - return MaybeLocal(obj->GetRealNamedProperty(key)); -} - -inline MaybeLocal CallAsFunction( - v8::Handle obj - , v8::Handle recv - , int argc - , v8::Handle argv[]) { - return MaybeLocal(obj->CallAsFunction(recv, argc, argv)); -} - -inline MaybeLocal CallAsConstructor( - v8::Handle obj - , int argc - , v8::Local argv[]) { - return MaybeLocal(obj->CallAsConstructor(argc, argv)); -} - -inline -MaybeLocal GetSourceLine(v8::Handle msg) { - return MaybeLocal(msg->GetSourceLine()); -} - -inline Maybe GetLineNumber(v8::Handle msg) { - return Just(msg->GetLineNumber()); -} - -inline Maybe GetStartColumn(v8::Handle msg) { - return Just(msg->GetStartColumn()); -} - -inline Maybe GetEndColumn(v8::Handle msg) { - return Just(msg->GetEndColumn()); -} - -inline MaybeLocal CloneElementAt( - v8::Handle array - , uint32_t index) { - return MaybeLocal(array->CloneElementAt(index)); -} - -inline MaybeLocal Call( - v8::Local fun - , v8::Local recv - , int argc - , v8::Local argv[]) { - return MaybeLocal(fun->Call(recv, argc, argv)); -} - -#endif // NAN_MAYBE_PRE_43_INL_H_ diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_new.h b/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_new.h deleted file mode 100644 index 6c7d19f..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_new.h +++ /dev/null @@ -1,340 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2016 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_NEW_H_ -#define NAN_NEW_H_ - -namespace imp { // scnr - -// TODO(agnat): Generalize -template v8::Local To(v8::Local i); - -template <> -inline -v8::Local -To(v8::Local i) { - return Nan::To(i).ToLocalChecked(); -} - -template <> -inline -v8::Local -To(v8::Local i) { - return Nan::To(i).ToLocalChecked(); -} - -template <> -inline -v8::Local -To(v8::Local i) { - return Nan::To(i).ToLocalChecked(); -} - -template struct FactoryBase { - typedef v8::Local return_t; -}; - -template struct MaybeFactoryBase { - typedef MaybeLocal return_t; -}; - -template struct Factory; - -template <> -struct Factory : FactoryBase { - static inline return_t New(); - static inline return_t New(int length); -}; - -template <> -struct Factory : FactoryBase { - static inline return_t New(bool value); -}; - -template <> -struct Factory : FactoryBase { - static inline return_t New(bool value); -}; - -template <> -struct Factory : FactoryBase { - static inline - return_t - New( v8::ExtensionConfiguration* extensions = NULL - , v8::Local tmpl = v8::Local() - , v8::Local obj = v8::Local()); -}; - -template <> -struct Factory : MaybeFactoryBase { - static inline return_t New(double value); -}; - -template <> -struct Factory : FactoryBase { - static inline return_t New(void *value); -}; - -template <> -struct Factory : FactoryBase { - static inline - return_t - New( FunctionCallback callback - , v8::Local data = v8::Local()); -}; - -template <> -struct Factory : FactoryBase { - static inline - return_t - New( FunctionCallback callback = NULL - , v8::Local data = v8::Local() - , v8::Local signature = v8::Local()); -}; - -template <> -struct Factory : FactoryBase { - static inline return_t New(double value); -}; - -template <> -struct Factory : FactoryBase { - static inline return_t New(double value); -}; - -template -struct IntegerFactory : FactoryBase { - typedef typename FactoryBase::return_t return_t; - static inline return_t New(int32_t value); - static inline return_t New(uint32_t value); -}; - -template <> -struct Factory : IntegerFactory {}; - -template <> -struct Factory : IntegerFactory {}; - -template <> -struct Factory : FactoryBase { - static inline return_t New(int32_t value); - static inline return_t New(uint32_t value); -}; - -template <> -struct Factory : FactoryBase { - static inline return_t New(); -}; - -template <> -struct Factory : FactoryBase { - static inline return_t New(); -}; - -template <> -struct Factory : MaybeFactoryBase { - static inline return_t New( - v8::Local pattern, v8::RegExp::Flags flags); -}; - -template <> -struct Factory : MaybeFactoryBase { - static inline return_t New( v8::Local source); - static inline return_t New( v8::Local source - , v8::ScriptOrigin const& origin); -}; - -template <> -struct Factory : FactoryBase { - typedef v8::Local FTH; - static inline return_t New(FTH receiver = FTH()); -}; - -template <> -struct Factory : MaybeFactoryBase { - static inline return_t New(); - static inline return_t New(const char *value, int length = -1); - static inline return_t New(const uint16_t *value, int length = -1); - static inline return_t New(std::string const& value); - - static inline return_t New(v8::String::ExternalStringResource * value); - static inline return_t New(ExternalOneByteStringResource * value); -}; - -template <> -struct Factory : FactoryBase { - static inline return_t New(v8::Local value); -}; - -} // end of namespace imp - -#if (NODE_MODULE_VERSION >= 12) - -namespace imp { - -template <> -struct Factory : MaybeFactoryBase { - static inline return_t New( v8::Local source); - static inline return_t New( v8::Local source - , v8::ScriptOrigin const& origin); -}; - -} // end of namespace imp - -# include "nan_implementation_12_inl.h" - -#else // NODE_MODULE_VERSION >= 12 - -# include "nan_implementation_pre_12_inl.h" - -#endif - -//=== API ====================================================================== - -template -typename imp::Factory::return_t -New() { - return imp::Factory::New(); -} - -template -typename imp::Factory::return_t -New(A0 arg0) { - return imp::Factory::New(arg0); -} - -template -typename imp::Factory::return_t -New(A0 arg0, A1 arg1) { - return imp::Factory::New(arg0, arg1); -} - -template -typename imp::Factory::return_t -New(A0 arg0, A1 arg1, A2 arg2) { - return imp::Factory::New(arg0, arg1, arg2); -} - -template -typename imp::Factory::return_t -New(A0 arg0, A1 arg1, A2 arg2, A3 arg3) { - return imp::Factory::New(arg0, arg1, arg2, arg3); -} - -// Note(agnat): When passing overloaded function pointers to template functions -// as generic arguments the compiler needs help in picking the right overload. -// These two functions handle New and New with -// all argument variations. - -// v8::Function and v8::FunctionTemplate with one or two arguments -template -typename imp::Factory::return_t -New( FunctionCallback callback - , v8::Local data = v8::Local()) { - return imp::Factory::New(callback, data); -} - -// v8::Function and v8::FunctionTemplate with three arguments -template -typename imp::Factory::return_t -New( FunctionCallback callback - , v8::Local data = v8::Local() - , A2 a2 = A2()) { - return imp::Factory::New(callback, data, a2); -} - -// Convenience - -#if NODE_MODULE_VERSION < IOJS_3_0_MODULE_VERSION -template inline v8::Local New(v8::Handle h); -#endif - -#if NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION -template - inline v8::Local New(v8::Persistent const& p); -#else -template inline v8::Local New(v8::Persistent const& p); -#endif -template -inline v8::Local New(Persistent const& p); -template -inline v8::Local New(Global const& p); - -inline -imp::Factory::return_t -New(bool value) { - return New(value); -} - -inline -imp::Factory::return_t -New(int32_t value) { - return New(value); -} - -inline -imp::Factory::return_t -New(uint32_t value) { - return New(value); -} - -inline -imp::Factory::return_t -New(double value) { - return New(value); -} - -inline -imp::Factory::return_t -New(std::string const& value) { // NOLINT(build/include_what_you_use) - return New(value); -} - -inline -imp::Factory::return_t -New(const char * value, int length) { - return New(value, length); -} - -inline -imp::Factory::return_t -New(const uint16_t * value, int length) { - return New(value, length); -} - -inline -imp::Factory::return_t -New(const char * value) { - return New(value); -} - -inline -imp::Factory::return_t -New(const uint16_t * value) { - return New(value); -} - -inline -imp::Factory::return_t -New(v8::String::ExternalStringResource * value) { - return New(value); -} - -inline -imp::Factory::return_t -New(ExternalOneByteStringResource * value) { - return New(value); -} - -inline -imp::Factory::return_t -New(v8::Local pattern, v8::RegExp::Flags flags) { - return New(pattern, flags); -} - -#endif // NAN_NEW_H_ diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_object_wrap.h b/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_object_wrap.h deleted file mode 100644 index f1cc156..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_object_wrap.h +++ /dev/null @@ -1,155 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2016 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_OBJECT_WRAP_H_ -#define NAN_OBJECT_WRAP_H_ - -class ObjectWrap { - public: - ObjectWrap() { - refs_ = 0; - } - - - virtual ~ObjectWrap() { - if (persistent().IsEmpty()) { - return; - } - - assert(persistent().IsNearDeath()); - persistent().ClearWeak(); - persistent().Reset(); - } - - - template - static inline T* Unwrap(v8::Local object) { - assert(!object.IsEmpty()); - assert(object->InternalFieldCount() > 0); - // Cast to ObjectWrap before casting to T. A direct cast from void - // to T won't work right when T has more than one base class. - void* ptr = GetInternalFieldPointer(object, 0); - ObjectWrap* wrap = static_cast(ptr); - return static_cast(wrap); - } - - - inline v8::Local handle() const { - return New(handle_); - } - - - inline Persistent& persistent() { - return handle_; - } - - - protected: - inline void Wrap(v8::Local object) { - assert(persistent().IsEmpty()); - assert(object->InternalFieldCount() > 0); - SetInternalFieldPointer(object, 0, this); - persistent().Reset(object); - MakeWeak(); - } - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) - - inline void MakeWeak() { - persistent().v8::PersistentBase::SetWeak( - this, WeakCallback, v8::WeakCallbackType::kParameter); - persistent().MarkIndependent(); - } - -#elif NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION - - inline void MakeWeak() { - persistent().v8::PersistentBase::SetWeak(this, WeakCallback); - persistent().MarkIndependent(); - } - -#else - - inline void MakeWeak() { - persistent().persistent.MakeWeak(this, WeakCallback); - persistent().MarkIndependent(); - } - -#endif - - /* Ref() marks the object as being attached to an event loop. - * Refed objects will not be garbage collected, even if - * all references are lost. - */ - virtual void Ref() { - assert(!persistent().IsEmpty()); - persistent().ClearWeak(); - refs_++; - } - - /* Unref() marks an object as detached from the event loop. This is its - * default state. When an object with a "weak" reference changes from - * attached to detached state it will be freed. Be careful not to access - * the object after making this call as it might be gone! - * (A "weak reference" means an object that only has a - * persistant handle.) - * - * DO NOT CALL THIS FROM DESTRUCTOR - */ - virtual void Unref() { - assert(!persistent().IsEmpty()); - assert(!persistent().IsWeak()); - assert(refs_ > 0); - if (--refs_ == 0) - MakeWeak(); - } - - int refs_; // ro - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(ObjectWrap) -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) - - static void - WeakCallback(v8::WeakCallbackInfo const& info) { - ObjectWrap* wrap = info.GetParameter(); - assert(wrap->refs_ == 0); - assert(wrap->handle_.IsNearDeath()); - wrap->handle_.Reset(); - delete wrap; - } - -#elif NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION - - static void - WeakCallback(v8::WeakCallbackData const& data) { - ObjectWrap* wrap = data.GetParameter(); - assert(wrap->refs_ == 0); - assert(wrap->handle_.IsNearDeath()); - wrap->handle_.Reset(); - delete wrap; - } - -#else - - static void WeakCallback(v8::Persistent value, void *data) { - ObjectWrap *wrap = static_cast(data); - assert(wrap->refs_ == 0); - assert(wrap->handle_.IsNearDeath()); - wrap->handle_.Reset(); - delete wrap; - } - -#endif - Persistent handle_; -}; - - -#endif // NAN_OBJECT_WRAP_H_ diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_persistent_12_inl.h b/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_persistent_12_inl.h deleted file mode 100644 index eb4ff10..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_persistent_12_inl.h +++ /dev/null @@ -1,129 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2016 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_PERSISTENT_12_INL_H_ -#define NAN_PERSISTENT_12_INL_H_ - -template class Persistent : - public v8::Persistent { - public: - inline Persistent() : v8::Persistent() {} - - template inline Persistent(v8::Local that) : - v8::Persistent(v8::Isolate::GetCurrent(), that) {} - - template - inline Persistent(const v8::Persistent &that) : - v8::Persistent(v8::Isolate::GetCurrent(), that) {} - - inline void Reset() { v8::PersistentBase::Reset(); } - - template - inline void Reset(const v8::Local &other) { - v8::PersistentBase::Reset(v8::Isolate::GetCurrent(), other); - } - - template - inline void Reset(const v8::PersistentBase &other) { - v8::PersistentBase::Reset(v8::Isolate::GetCurrent(), other); - } - - template - inline void SetWeak( - P *parameter - , typename WeakCallbackInfo

::Callback callback - , WeakCallbackType type); - - private: - inline T *operator*() const { return *PersistentBase::persistent; } - - template - inline void Copy(const Persistent &that) { - TYPE_CHECK(T, S); - - this->Reset(); - - if (!that.IsEmpty()) { - this->Reset(that); - M::Copy(that, this); - } - } -}; - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) -template -class Global : public v8::Global { - public: - inline Global() : v8::Global() {} - - template inline Global(v8::Local that) : - v8::Global(v8::Isolate::GetCurrent(), that) {} - - template - inline Global(const v8::PersistentBase &that) : - v8::Global(v8::Isolate::GetCurrent(), that) {} - - inline void Reset() { v8::PersistentBase::Reset(); } - - template - inline void Reset(const v8::Local &other) { - v8::PersistentBase::Reset(v8::Isolate::GetCurrent(), other); - } - - template - inline void Reset(const v8::PersistentBase &other) { - v8::PersistentBase::Reset(v8::Isolate::GetCurrent(), other); - } - - template - inline void SetWeak( - P *parameter - , typename WeakCallbackInfo

::Callback callback - , WeakCallbackType type) { - reinterpret_cast*>(this)->SetWeak( - parameter, callback, type); - } -}; -#else -template -class Global : public v8::UniquePersistent { - public: - inline Global() : v8::UniquePersistent() {} - - template inline Global(v8::Local that) : - v8::UniquePersistent(v8::Isolate::GetCurrent(), that) {} - - template - inline Global(const v8::PersistentBase &that) : - v8::UniquePersistent(v8::Isolate::GetCurrent(), that) {} - - inline void Reset() { v8::PersistentBase::Reset(); } - - template - inline void Reset(const v8::Local &other) { - v8::PersistentBase::Reset(v8::Isolate::GetCurrent(), other); - } - - template - inline void Reset(const v8::PersistentBase &other) { - v8::PersistentBase::Reset(v8::Isolate::GetCurrent(), other); - } - - template - inline void SetWeak( - P *parameter - , typename WeakCallbackInfo

::Callback callback - , WeakCallbackType type) { - reinterpret_cast*>(this)->SetWeak( - parameter, callback, type); - } -}; -#endif - -#endif // NAN_PERSISTENT_12_INL_H_ diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_persistent_pre_12_inl.h b/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_persistent_pre_12_inl.h deleted file mode 100644 index 0d427ed..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_persistent_pre_12_inl.h +++ /dev/null @@ -1,242 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2016 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_PERSISTENT_PRE_12_INL_H_ -#define NAN_PERSISTENT_PRE_12_INL_H_ - -template -class PersistentBase { - v8::Persistent persistent; - template - friend v8::Local New(const PersistentBase &p); - template - friend v8::Local New(const Persistent &p); - template - friend v8::Local New(const Global &p); - template friend class ReturnValue; - - public: - inline PersistentBase() : - persistent() {} - - inline void Reset() { - persistent.Dispose(); - persistent.Clear(); - } - - template - inline void Reset(const v8::Local &other) { - TYPE_CHECK(T, S); - - if (!persistent.IsEmpty()) { - persistent.Dispose(); - } - - if (other.IsEmpty()) { - persistent.Clear(); - } else { - persistent = v8::Persistent::New(other); - } - } - - template - inline void Reset(const PersistentBase &other) { - TYPE_CHECK(T, S); - - if (!persistent.IsEmpty()) { - persistent.Dispose(); - } - - if (other.IsEmpty()) { - persistent.Clear(); - } else { - persistent = v8::Persistent::New(other.persistent); - } - } - - inline bool IsEmpty() const { return persistent.IsEmpty(); } - - inline void Empty() { persistent.Clear(); } - - template - inline bool operator==(const PersistentBase &that) const { - return this->persistent == that.persistent; - } - - template - inline bool operator==(const v8::Local &that) const { - return this->persistent == that; - } - - template - inline bool operator!=(const PersistentBase &that) const { - return !operator==(that); - } - - template - inline bool operator!=(const v8::Local &that) const { - return !operator==(that); - } - - template - inline void SetWeak( - P *parameter - , typename WeakCallbackInfo

::Callback callback - , WeakCallbackType type); - - inline void ClearWeak() { persistent.ClearWeak(); } - - inline void MarkIndependent() { persistent.MarkIndependent(); } - - inline bool IsIndependent() const { return persistent.IsIndependent(); } - - inline bool IsNearDeath() const { return persistent.IsNearDeath(); } - - inline bool IsWeak() const { return persistent.IsWeak(); } - - private: - inline explicit PersistentBase(v8::Persistent that) : - persistent(that) { } - inline explicit PersistentBase(T *val) : persistent(val) {} - template friend class Persistent; - template friend class Global; - friend class ObjectWrap; -}; - -template -class NonCopyablePersistentTraits { - public: - typedef Persistent > - NonCopyablePersistent; - static const bool kResetInDestructor = false; - template - inline static void Copy(const Persistent &source, - NonCopyablePersistent *dest) { - Uncompilable(); - } - - template inline static void Uncompilable() { - TYPE_CHECK(O, v8::Primitive); - } -}; - -template -struct CopyablePersistentTraits { - typedef Persistent > CopyablePersistent; - static const bool kResetInDestructor = true; - template - static inline void Copy(const Persistent &source, - CopyablePersistent *dest) {} -}; - -template class Persistent : - public PersistentBase { - public: - inline Persistent() {} - - template inline Persistent(v8::Handle that) - : PersistentBase(v8::Persistent::New(that)) { - TYPE_CHECK(T, S); - } - - inline Persistent(const Persistent &that) : PersistentBase() { - Copy(that); - } - - template - inline Persistent(const Persistent &that) : - PersistentBase() { - Copy(that); - } - - inline Persistent &operator=(const Persistent &that) { - Copy(that); - return *this; - } - - template - inline Persistent &operator=(const Persistent &that) { - Copy(that); - return *this; - } - - inline ~Persistent() { - if (M::kResetInDestructor) this->Reset(); - } - - private: - inline T *operator*() const { return *PersistentBase::persistent; } - - template - inline void Copy(const Persistent &that) { - TYPE_CHECK(T, S); - - this->Reset(); - - if (!that.IsEmpty()) { - this->persistent = v8::Persistent::New(that.persistent); - M::Copy(that, this); - } - } -}; - -template -class Global : public PersistentBase { - struct RValue { - inline explicit RValue(Global* obj) : object(obj) {} - Global* object; - }; - - public: - inline Global() : PersistentBase(0) { } - - template - inline Global(v8::Local that) - : PersistentBase(v8::Persistent::New(that)) { - TYPE_CHECK(T, S); - } - - template - inline Global(const PersistentBase &that) - : PersistentBase(that) { - TYPE_CHECK(T, S); - } - /** - * Move constructor. - */ - inline Global(RValue rvalue) - : PersistentBase(rvalue.object->persistent) { - rvalue.object->Reset(); - } - inline ~Global() { this->Reset(); } - /** - * Move via assignment. - */ - template - inline Global &operator=(Global rhs) { - TYPE_CHECK(T, S); - this->Reset(rhs.persistent); - rhs.Reset(); - return *this; - } - /** - * Cast operator for moves. - */ - inline operator RValue() { return RValue(this); } - /** - * Pass allows returning uniques from functions, etc. - */ - Global Pass() { return Global(RValue(this)); } - - private: - Global(Global &); - void operator=(Global &); - template friend class ReturnValue; -}; - -#endif // NAN_PERSISTENT_PRE_12_INL_H_ diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_string_bytes.h b/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_string_bytes.h deleted file mode 100644 index a2e6437..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_string_bytes.h +++ /dev/null @@ -1,305 +0,0 @@ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -#ifndef NAN_STRING_BYTES_H_ -#define NAN_STRING_BYTES_H_ - -// Decodes a v8::Local or Buffer to a raw char* - -namespace imp { - -using v8::Local; -using v8::Object; -using v8::String; -using v8::Value; - - -//// Base 64 //// - -#define base64_encoded_size(size) ((size + 2 - ((size + 2) % 3)) / 3 * 4) - - - -//// HEX //// - -static bool contains_non_ascii_slow(const char* buf, size_t len) { - for (size_t i = 0; i < len; ++i) { - if (buf[i] & 0x80) return true; - } - return false; -} - - -static bool contains_non_ascii(const char* src, size_t len) { - if (len < 16) { - return contains_non_ascii_slow(src, len); - } - - const unsigned bytes_per_word = sizeof(void*); - const unsigned align_mask = bytes_per_word - 1; - const unsigned unaligned = reinterpret_cast(src) & align_mask; - - if (unaligned > 0) { - const unsigned n = bytes_per_word - unaligned; - if (contains_non_ascii_slow(src, n)) return true; - src += n; - len -= n; - } - - -#if defined(__x86_64__) || defined(_WIN64) - const uintptr_t mask = 0x8080808080808080ll; -#else - const uintptr_t mask = 0x80808080l; -#endif - - const uintptr_t* srcw = reinterpret_cast(src); - - for (size_t i = 0, n = len / bytes_per_word; i < n; ++i) { - if (srcw[i] & mask) return true; - } - - const unsigned remainder = len & align_mask; - if (remainder > 0) { - const size_t offset = len - remainder; - if (contains_non_ascii_slow(src + offset, remainder)) return true; - } - - return false; -} - - -static void force_ascii_slow(const char* src, char* dst, size_t len) { - for (size_t i = 0; i < len; ++i) { - dst[i] = src[i] & 0x7f; - } -} - - -static void force_ascii(const char* src, char* dst, size_t len) { - if (len < 16) { - force_ascii_slow(src, dst, len); - return; - } - - const unsigned bytes_per_word = sizeof(void*); - const unsigned align_mask = bytes_per_word - 1; - const unsigned src_unalign = reinterpret_cast(src) & align_mask; - const unsigned dst_unalign = reinterpret_cast(dst) & align_mask; - - if (src_unalign > 0) { - if (src_unalign == dst_unalign) { - const unsigned unalign = bytes_per_word - src_unalign; - force_ascii_slow(src, dst, unalign); - src += unalign; - dst += unalign; - len -= src_unalign; - } else { - force_ascii_slow(src, dst, len); - return; - } - } - -#if defined(__x86_64__) || defined(_WIN64) - const uintptr_t mask = ~0x8080808080808080ll; -#else - const uintptr_t mask = ~0x80808080l; -#endif - - const uintptr_t* srcw = reinterpret_cast(src); - uintptr_t* dstw = reinterpret_cast(dst); - - for (size_t i = 0, n = len / bytes_per_word; i < n; ++i) { - dstw[i] = srcw[i] & mask; - } - - const unsigned remainder = len & align_mask; - if (remainder > 0) { - const size_t offset = len - remainder; - force_ascii_slow(src + offset, dst + offset, remainder); - } -} - - -static size_t base64_encode(const char* src, - size_t slen, - char* dst, - size_t dlen) { - // We know how much we'll write, just make sure that there's space. - assert(dlen >= base64_encoded_size(slen) && - "not enough space provided for base64 encode"); - - dlen = base64_encoded_size(slen); - - unsigned a; - unsigned b; - unsigned c; - unsigned i; - unsigned k; - unsigned n; - - static const char table[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - "abcdefghijklmnopqrstuvwxyz" - "0123456789+/"; - - i = 0; - k = 0; - n = slen / 3 * 3; - - while (i < n) { - a = src[i + 0] & 0xff; - b = src[i + 1] & 0xff; - c = src[i + 2] & 0xff; - - dst[k + 0] = table[a >> 2]; - dst[k + 1] = table[((a & 3) << 4) | (b >> 4)]; - dst[k + 2] = table[((b & 0x0f) << 2) | (c >> 6)]; - dst[k + 3] = table[c & 0x3f]; - - i += 3; - k += 4; - } - - if (n != slen) { - switch (slen - n) { - case 1: - a = src[i + 0] & 0xff; - dst[k + 0] = table[a >> 2]; - dst[k + 1] = table[(a & 3) << 4]; - dst[k + 2] = '='; - dst[k + 3] = '='; - break; - - case 2: - a = src[i + 0] & 0xff; - b = src[i + 1] & 0xff; - dst[k + 0] = table[a >> 2]; - dst[k + 1] = table[((a & 3) << 4) | (b >> 4)]; - dst[k + 2] = table[(b & 0x0f) << 2]; - dst[k + 3] = '='; - break; - } - } - - return dlen; -} - - -static size_t hex_encode(const char* src, size_t slen, char* dst, size_t dlen) { - // We know how much we'll write, just make sure that there's space. - assert(dlen >= slen * 2 && - "not enough space provided for hex encode"); - - dlen = slen * 2; - for (uint32_t i = 0, k = 0; k < dlen; i += 1, k += 2) { - static const char hex[] = "0123456789abcdef"; - uint8_t val = static_cast(src[i]); - dst[k + 0] = hex[val >> 4]; - dst[k + 1] = hex[val & 15]; - } - - return dlen; -} - - - -static Local Encode(const char* buf, - size_t buflen, - enum Encoding encoding) { - assert(buflen <= node::Buffer::kMaxLength); - if (!buflen && encoding != BUFFER) - return New("").ToLocalChecked(); - - Local val; - switch (encoding) { - case BUFFER: - return CopyBuffer(buf, buflen).ToLocalChecked(); - - case ASCII: - if (contains_non_ascii(buf, buflen)) { - char* out = new char[buflen]; - force_ascii(buf, out, buflen); - val = New(out, buflen).ToLocalChecked(); - delete[] out; - } else { - val = New(buf, buflen).ToLocalChecked(); - } - break; - - case UTF8: - val = New(buf, buflen).ToLocalChecked(); - break; - - case BINARY: { - // TODO(isaacs) use ExternalTwoByteString? - const unsigned char *cbuf = reinterpret_cast(buf); - uint16_t * twobytebuf = new uint16_t[buflen]; - for (size_t i = 0; i < buflen; i++) { - // XXX is the following line platform independent? - twobytebuf[i] = cbuf[i]; - } - val = New(twobytebuf, buflen).ToLocalChecked(); - delete[] twobytebuf; - break; - } - - case BASE64: { - size_t dlen = base64_encoded_size(buflen); - char* dst = new char[dlen]; - - size_t written = base64_encode(buf, buflen, dst, dlen); - assert(written == dlen); - - val = New(dst, dlen).ToLocalChecked(); - delete[] dst; - break; - } - - case UCS2: { - const uint16_t* data = reinterpret_cast(buf); - val = New(data, buflen / 2).ToLocalChecked(); - break; - } - - case HEX: { - size_t dlen = buflen * 2; - char* dst = new char[dlen]; - size_t written = hex_encode(buf, buflen, dst, dlen); - assert(written == dlen); - - val = New(dst, dlen).ToLocalChecked(); - delete[] dst; - break; - } - - default: - assert(0 && "unknown encoding"); - break; - } - - return val; -} - -#undef base64_encoded_size - -} // end of namespace imp - -#endif // NAN_STRING_BYTES_H_ diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_typedarray_contents.h b/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_typedarray_contents.h deleted file mode 100644 index b715961..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_typedarray_contents.h +++ /dev/null @@ -1,87 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2016 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_TYPEDARRAY_CONTENTS_H_ -#define NAN_TYPEDARRAY_CONTENTS_H_ - -template -class TypedArrayContents { - public: - inline explicit TypedArrayContents(v8::Local from) : - length_(0), data_(NULL) { - - size_t length = 0; - void* data = NULL; - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) - - if (from->IsArrayBufferView()) { - v8::Local array = - v8::Local::Cast(from); - - const size_t byte_length = array->ByteLength(); - const ptrdiff_t byte_offset = array->ByteOffset(); - v8::Local buffer = array->Buffer(); - - length = byte_length / sizeof(T); - data = static_cast(buffer->GetContents().Data()) + byte_offset; - } - -#else - - if (from->IsObject() && !from->IsNull()) { - v8::Local array = v8::Local::Cast(from); - - MaybeLocal buffer = Get(array, - New("buffer").ToLocalChecked()); - MaybeLocal byte_length = Get(array, - New("byteLength").ToLocalChecked()); - MaybeLocal byte_offset = Get(array, - New("byteOffset").ToLocalChecked()); - - if (!buffer.IsEmpty() && - !byte_length.IsEmpty() && byte_length.ToLocalChecked()->IsUint32() && - !byte_offset.IsEmpty() && byte_offset.ToLocalChecked()->IsUint32()) { - data = array->GetIndexedPropertiesExternalArrayData(); - if(data) { - length = byte_length.ToLocalChecked()->Uint32Value() / sizeof(T); - } - } - } - -#endif - -#if defined(_MSC_VER) && _MSC_VER >= 1900 || __cplusplus >= 201103L - assert(reinterpret_cast(data) % alignof (T) == 0); -#elif defined(_MSC_VER) && _MSC_VER >= 1600 || defined(__GNUC__) - assert(reinterpret_cast(data) % __alignof(T) == 0); -#else - assert(reinterpret_cast(data) % sizeof (T) == 0); -#endif - - length_ = length; - data_ = static_cast(data); - } - - inline size_t length() const { return length_; } - inline T* operator*() { return data_; } - inline const T* operator*() const { return data_; } - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(TypedArrayContents) - - //Disable heap allocation - void *operator new(size_t size); - void operator delete(void *, size_t); - - size_t length_; - T* data_; -}; - -#endif // NAN_TYPEDARRAY_CONTENTS_H_ diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_weak.h b/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_weak.h deleted file mode 100644 index 93f6fe8..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/nan_weak.h +++ /dev/null @@ -1,432 +0,0 @@ -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2016 NAN contributors - * - * MIT License - ********************************************************************/ - -#ifndef NAN_WEAK_H_ -#define NAN_WEAK_H_ - -static const int kInternalFieldsInWeakCallback = 2; -static const int kNoInternalFieldIndex = -1; - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) -# define NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ \ - v8::WeakCallbackInfo > const& -# define NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ \ - NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ -# define NAN_WEAK_PARAMETER_CALLBACK_SIG_ NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ -# define NAN_WEAK_TWOFIELD_CALLBACK_SIG_ NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ -#elif NODE_MODULE_VERSION > IOJS_1_1_MODULE_VERSION -# define NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ \ - v8::PhantomCallbackData > const& -# define NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ \ - NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ -# define NAN_WEAK_PARAMETER_CALLBACK_SIG_ NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ -# define NAN_WEAK_TWOFIELD_CALLBACK_SIG_ NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ -#elif NODE_MODULE_VERSION > NODE_0_12_MODULE_VERSION -# define NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ \ - v8::PhantomCallbackData > const& -# define NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ \ - v8::InternalFieldsCallbackData, void> const& -# define NAN_WEAK_PARAMETER_CALLBACK_SIG_ NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ -# define NAN_WEAK_TWOFIELD_CALLBACK_SIG_ NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ -#elif NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION -# define NAN_WEAK_CALLBACK_DATA_TYPE_ \ - v8::WeakCallbackData > const& -# define NAN_WEAK_CALLBACK_SIG_ NAN_WEAK_CALLBACK_DATA_TYPE_ -#else -# define NAN_WEAK_CALLBACK_DATA_TYPE_ void * -# define NAN_WEAK_CALLBACK_SIG_ \ - v8::Persistent, NAN_WEAK_CALLBACK_DATA_TYPE_ -#endif - -template -class WeakCallbackInfo { - public: - typedef void (*Callback)(const WeakCallbackInfo& data); - WeakCallbackInfo( - Persistent *persistent - , Callback callback - , void *parameter - , void *field1 = 0 - , void *field2 = 0) : - callback_(callback), isolate_(0), parameter_(parameter) { - std::memcpy(&persistent_, persistent, sizeof (v8::Persistent)); - internal_fields_[0] = field1; - internal_fields_[1] = field2; - } - inline v8::Isolate *GetIsolate() const { return isolate_; } - inline T *GetParameter() const { return static_cast(parameter_); } - inline void *GetInternalField(int index) const { - assert((index == 0 || index == 1) && "internal field index out of bounds"); - if (index == 0) { - return internal_fields_[0]; - } else { - return internal_fields_[1]; - } - } - - private: - NAN_DISALLOW_ASSIGN_COPY_MOVE(WeakCallbackInfo) - Callback callback_; - v8::Isolate *isolate_; - void *parameter_; - void *internal_fields_[kInternalFieldsInWeakCallback]; - v8::Persistent persistent_; - template friend class Persistent; - template friend class PersistentBase; -#if NODE_MODULE_VERSION <= NODE_0_12_MODULE_VERSION -# if NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION - template - static void invoke(NAN_WEAK_CALLBACK_SIG_ data); - template - static WeakCallbackInfo *unwrap(NAN_WEAK_CALLBACK_DATA_TYPE_ data); -# else - static void invoke(NAN_WEAK_CALLBACK_SIG_ data); - static WeakCallbackInfo *unwrap(NAN_WEAK_CALLBACK_DATA_TYPE_ data); -# endif -#else -# if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) - template - static void invokeparameter(NAN_WEAK_PARAMETER_CALLBACK_SIG_ data); - template - static void invoketwofield(NAN_WEAK_TWOFIELD_CALLBACK_SIG_ data); -# else - static void invokeparameter(NAN_WEAK_PARAMETER_CALLBACK_SIG_ data); - static void invoketwofield(NAN_WEAK_TWOFIELD_CALLBACK_SIG_ data); -# endif - static WeakCallbackInfo *unwrapparameter( - NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ data); - static WeakCallbackInfo *unwraptwofield( - NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ data); -#endif -}; - - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) - -template -template -void -WeakCallbackInfo::invokeparameter(NAN_WEAK_PARAMETER_CALLBACK_SIG_ data) { - WeakCallbackInfo *cbinfo = unwrapparameter(data); - if (isFirstPass) { - cbinfo->persistent_.Reset(); - data.SetSecondPassCallback(invokeparameter); - } else { - cbinfo->callback_(*cbinfo); - delete cbinfo; - } -} - -template -template -void -WeakCallbackInfo::invoketwofield(NAN_WEAK_TWOFIELD_CALLBACK_SIG_ data) { - WeakCallbackInfo *cbinfo = unwraptwofield(data); - if (isFirstPass) { - cbinfo->persistent_.Reset(); - data.SetSecondPassCallback(invoketwofield); - } else { - cbinfo->callback_(*cbinfo); - delete cbinfo; - } -} - -template -WeakCallbackInfo *WeakCallbackInfo::unwrapparameter( - NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ data) { - WeakCallbackInfo *cbinfo = - static_cast*>(data.GetParameter()); - cbinfo->isolate_ = data.GetIsolate(); - return cbinfo; -} - -template -WeakCallbackInfo *WeakCallbackInfo::unwraptwofield( - NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ data) { - WeakCallbackInfo *cbinfo = - static_cast*>(data.GetInternalField(0)); - cbinfo->isolate_ = data.GetIsolate(); - return cbinfo; -} - -#undef NAN_WEAK_PARAMETER_CALLBACK_SIG_ -#undef NAN_WEAK_TWOFIELD_CALLBACK_SIG_ -#undef NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ -#undef NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ -# elif NODE_MODULE_VERSION > NODE_0_12_MODULE_VERSION - -template -void -WeakCallbackInfo::invokeparameter(NAN_WEAK_PARAMETER_CALLBACK_SIG_ data) { - WeakCallbackInfo *cbinfo = unwrapparameter(data); - cbinfo->persistent_.Reset(); - cbinfo->callback_(*cbinfo); - delete cbinfo; -} - -template -void -WeakCallbackInfo::invoketwofield(NAN_WEAK_TWOFIELD_CALLBACK_SIG_ data) { - WeakCallbackInfo *cbinfo = unwraptwofield(data); - cbinfo->persistent_.Reset(); - cbinfo->callback_(*cbinfo); - delete cbinfo; -} - -template -WeakCallbackInfo *WeakCallbackInfo::unwrapparameter( - NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ data) { - WeakCallbackInfo *cbinfo = - static_cast*>(data.GetParameter()); - cbinfo->isolate_ = data.GetIsolate(); - return cbinfo; -} - -template -WeakCallbackInfo *WeakCallbackInfo::unwraptwofield( - NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ data) { - WeakCallbackInfo *cbinfo = - static_cast*>(data.GetInternalField1()); - cbinfo->isolate_ = data.GetIsolate(); - return cbinfo; -} - -#undef NAN_WEAK_PARAMETER_CALLBACK_SIG_ -#undef NAN_WEAK_TWOFIELD_CALLBACK_SIG_ -#undef NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ -#undef NAN_WEAK_TWOFIELD_CALLBACK_DATA_TYPE_ -#elif NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION - -template -template -void WeakCallbackInfo::invoke(NAN_WEAK_CALLBACK_SIG_ data) { - WeakCallbackInfo *cbinfo = unwrap(data); - cbinfo->persistent_.Reset(); - cbinfo->callback_(*cbinfo); - delete cbinfo; -} - -template -template -WeakCallbackInfo *WeakCallbackInfo::unwrap( - NAN_WEAK_CALLBACK_DATA_TYPE_ data) { - void *parameter = data.GetParameter(); - WeakCallbackInfo *cbinfo = - static_cast*>(parameter); - cbinfo->isolate_ = data.GetIsolate(); - return cbinfo; -} - -#undef NAN_WEAK_CALLBACK_SIG_ -#undef NAN_WEAK_CALLBACK_DATA_TYPE_ -#else - -template -void WeakCallbackInfo::invoke(NAN_WEAK_CALLBACK_SIG_ data) { - WeakCallbackInfo *cbinfo = unwrap(data); - cbinfo->persistent_.Dispose(); - cbinfo->persistent_.Clear(); - cbinfo->callback_(*cbinfo); - delete cbinfo; -} - -template -WeakCallbackInfo *WeakCallbackInfo::unwrap( - NAN_WEAK_CALLBACK_DATA_TYPE_ data) { - WeakCallbackInfo *cbinfo = - static_cast*>(data); - cbinfo->isolate_ = v8::Isolate::GetCurrent(); - return cbinfo; -} - -#undef NAN_WEAK_CALLBACK_SIG_ -#undef NAN_WEAK_CALLBACK_DATA_TYPE_ -#endif - -#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ - (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) -template -template -inline void Persistent::SetWeak( - P *parameter - , typename WeakCallbackInfo

::Callback callback - , WeakCallbackType type) { - WeakCallbackInfo

*wcbd; - if (type == WeakCallbackType::kParameter) { - wcbd = new WeakCallbackInfo

( - reinterpret_cast*>(this) - , callback - , parameter); - v8::PersistentBase::SetWeak( - wcbd - , WeakCallbackInfo

::template invokeparameter - , type); - } else { - v8::Local* self = reinterpret_cast*>(this); - assert((*self)->IsObject()); - int count = (*self)->InternalFieldCount(); - void *internal_fields[kInternalFieldsInWeakCallback] = {0, 0}; - for (int i = 0; i < count && i < kInternalFieldsInWeakCallback; i++) { - internal_fields[i] = (*self)->GetAlignedPointerFromInternalField(i); - } - wcbd = new WeakCallbackInfo

( - reinterpret_cast*>(this) - , callback - , 0 - , internal_fields[0] - , internal_fields[1]); - (*self)->SetAlignedPointerInInternalField(0, wcbd); - v8::PersistentBase::SetWeak( - static_cast*>(0) - , WeakCallbackInfo

::template invoketwofield - , type); - } -} -#elif NODE_MODULE_VERSION > IOJS_1_1_MODULE_VERSION -template -template -inline void Persistent::SetWeak( - P *parameter - , typename WeakCallbackInfo

::Callback callback - , WeakCallbackType type) { - WeakCallbackInfo

*wcbd; - if (type == WeakCallbackType::kParameter) { - wcbd = new WeakCallbackInfo

( - reinterpret_cast*>(this) - , callback - , parameter); - v8::PersistentBase::SetPhantom( - wcbd - , WeakCallbackInfo

::invokeparameter); - } else { - v8::Local* self = reinterpret_cast*>(this); - assert((*self)->IsObject()); - int count = (*self)->InternalFieldCount(); - void *internal_fields[kInternalFieldsInWeakCallback] = {0, 0}; - for (int i = 0; i < count && i < kInternalFieldsInWeakCallback; i++) { - internal_fields[i] = (*self)->GetAlignedPointerFromInternalField(i); - } - wcbd = new WeakCallbackInfo

( - reinterpret_cast*>(this) - , callback - , 0 - , internal_fields[0] - , internal_fields[1]); - (*self)->SetAlignedPointerInInternalField(0, wcbd); - v8::PersistentBase::SetPhantom( - static_cast*>(0) - , WeakCallbackInfo

::invoketwofield - , 0 - , count > 1 ? 1 : kNoInternalFieldIndex); - } -} -#elif NODE_MODULE_VERSION > NODE_0_12_MODULE_VERSION -template -template -inline void Persistent::SetWeak( - P *parameter - , typename WeakCallbackInfo

::Callback callback - , WeakCallbackType type) { - WeakCallbackInfo

*wcbd; - if (type == WeakCallbackType::kParameter) { - wcbd = new WeakCallbackInfo

( - reinterpret_cast*>(this) - , callback - , parameter); - v8::PersistentBase::SetPhantom( - wcbd - , WeakCallbackInfo

::invokeparameter); - } else { - v8::Local* self = reinterpret_cast*>(this); - assert((*self)->IsObject()); - int count = (*self)->InternalFieldCount(); - void *internal_fields[kInternalFieldsInWeakCallback] = {0, 0}; - for (int i = 0; i < count && i < kInternalFieldsInWeakCallback; i++) { - internal_fields[i] = (*self)->GetAlignedPointerFromInternalField(i); - } - wcbd = new WeakCallbackInfo

( - reinterpret_cast*>(this) - , callback - , 0 - , internal_fields[0] - , internal_fields[1]); - (*self)->SetAlignedPointerInInternalField(0, wcbd); - v8::PersistentBase::SetPhantom( - WeakCallbackInfo

::invoketwofield - , 0 - , count > 1 ? 1 : kNoInternalFieldIndex); - } -} -#elif NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION -template -template -inline void Persistent::SetWeak( - P *parameter - , typename WeakCallbackInfo

::Callback callback - , WeakCallbackType type) { - WeakCallbackInfo

*wcbd; - if (type == WeakCallbackType::kParameter) { - wcbd = new WeakCallbackInfo

( - reinterpret_cast*>(this) - , callback - , parameter); - v8::PersistentBase::SetWeak(wcbd, WeakCallbackInfo

::invoke); - } else { - v8::Local* self = reinterpret_cast*>(this); - assert((*self)->IsObject()); - int count = (*self)->InternalFieldCount(); - void *internal_fields[kInternalFieldsInWeakCallback] = {0, 0}; - for (int i = 0; i < count && i < kInternalFieldsInWeakCallback; i++) { - internal_fields[i] = (*self)->GetAlignedPointerFromInternalField(i); - } - wcbd = new WeakCallbackInfo

( - reinterpret_cast*>(this) - , callback - , 0 - , internal_fields[0] - , internal_fields[1]); - v8::PersistentBase::SetWeak(wcbd, WeakCallbackInfo

::invoke); - } -} -#else -template -template -inline void PersistentBase::SetWeak( - P *parameter - , typename WeakCallbackInfo

::Callback callback - , WeakCallbackType type) { - WeakCallbackInfo

*wcbd; - if (type == WeakCallbackType::kParameter) { - wcbd = new WeakCallbackInfo

( - reinterpret_cast*>(this) - , callback - , parameter); - persistent.MakeWeak(wcbd, WeakCallbackInfo

::invoke); - } else { - v8::Local* self = reinterpret_cast*>(this); - assert((*self)->IsObject()); - int count = (*self)->InternalFieldCount(); - void *internal_fields[kInternalFieldsInWeakCallback] = {0, 0}; - for (int i = 0; i < count && i < kInternalFieldsInWeakCallback; i++) { - internal_fields[i] = (*self)->GetPointerFromInternalField(i); - } - wcbd = new WeakCallbackInfo

( - reinterpret_cast*>(this) - , callback - , 0 - , internal_fields[0] - , internal_fields[1]); - persistent.MakeWeak(wcbd, WeakCallbackInfo

::invoke); - } -} -#endif - -#endif // NAN_WEAK_H_ diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/package.json b/node_modules/jsdom/node_modules/contextify/node_modules/nan/package.json deleted file mode 100644 index 1a3993b..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/package.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "name": "nan", - "version": "2.4.0", - "description": "Native Abstractions for Node.js: C++ header for Node 0.8 -> 6 compatibility", - "main": "include_dirs.js", - "repository": { - "type": "git", - "url": "git://github.com/nodejs/nan.git" - }, - "scripts": { - "test": "tap --gc --stderr test/js/*-test.js", - "rebuild-tests": "node-gyp rebuild --msvs_version=2013 --directory test", - "docs": "doc/.build.sh" - }, - "contributors": [ - { - "name": "Rod Vagg", - "email": "r@va.gg", - "url": "https://github.com/rvagg" - }, - { - "name": "Benjamin Byholm", - "email": "bbyholm@abo.fi", - "url": "https://github.com/kkoopa/" - }, - { - "name": "Trevor Norris", - "email": "trev.norris@gmail.com", - "url": "https://github.com/trevnorris" - }, - { - "name": "Nathan Rajlich", - "email": "nathan@tootallnate.net", - "url": "https://github.com/TooTallNate" - }, - { - "name": "Brett Lawson", - "email": "brett19@gmail.com", - "url": "https://github.com/brett19" - }, - { - "name": "Ben Noordhuis", - "email": "info@bnoordhuis.nl", - "url": "https://github.com/bnoordhuis" - }, - { - "name": "David Siegel", - "email": "david@artcom.de", - "url": "https://github.com/agnat" - } - ], - "devDependencies": { - "bindings": "~1.2.1", - "commander": "^2.8.1", - "glob": "^5.0.14", - "node-gyp": "~3.0.1", - "readable-stream": "^2.1.4", - "tap": "~0.7.1", - "xtend": "~4.0.0" - }, - "license": "MIT", - "bugs": { - "url": "https://github.com/nodejs/nan/issues" - }, - "homepage": "https://github.com/nodejs/nan#readme", - "_id": "nan@2.4.0", - "_shasum": "fb3c59d45fe4effe215f0b890f8adf6eb32d2232", - "_resolved": "https://registry.npmjs.org/nan/-/nan-2.4.0.tgz", - "_from": "nan@>=2.1.0 <3.0.0", - "_npmVersion": "3.3.6", - "_nodeVersion": "5.0.0", - "_npmUser": { - "name": "kkoopa", - "email": "bbyholm@abo.fi" - }, - "dist": { - "shasum": "fb3c59d45fe4effe215f0b890f8adf6eb32d2232", - "tarball": "https://registry.npmjs.org/nan/-/nan-2.4.0.tgz" - }, - "maintainers": [ - { - "name": "rvagg", - "email": "rod@vagg.org" - }, - { - "name": "kkoopa", - "email": "bbyholm@abo.fi" - } - ], - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/nan-2.4.0.tgz_1468158679820_0.6951719264034182" - }, - "directories": {}, - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/tools/1to2.js b/node_modules/jsdom/node_modules/contextify/node_modules/nan/tools/1to2.js deleted file mode 100755 index b7498e4..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/tools/1to2.js +++ /dev/null @@ -1,412 +0,0 @@ -#!/usr/bin/env node -/********************************************************************* - * NAN - Native Abstractions for Node.js - * - * Copyright (c) 2016 NAN contributors - * - * MIT License - ********************************************************************/ - -var commander = require('commander'), - fs = require('fs'), - glob = require('glob'), - groups = [], - total = 0, - warning1 = '/* ERROR: Rewrite using Buffer */\n', - warning2 = '\\/\\* ERROR\\: Rewrite using Buffer \\*\\/\\n', - length, - i; - -fs.readFile(__dirname + '/package.json', 'utf8', function (err, data) { - if (err) { - throw err; - } - - commander - .version(JSON.parse(data).version) - .usage('[options] ') - .parse(process.argv); - - if (!process.argv.slice(2).length) { - commander.outputHelp(); - } -}); - -/* construct strings representing regular expressions - each expression contains a unique group allowing for identification of the match - the index of this key group, relative to the regular expression in question, - is indicated by the first array member */ - -/* simple substistutions, key group is the entire match, 0 */ -groups.push([0, [ - '_NAN_', - 'NODE_SET_METHOD', - 'NODE_SET_PROTOTYPE_METHOD', - 'NanAsciiString', - 'NanEscapeScope', - 'NanReturnValue', - 'NanUcs2String'].join('|')]); - -/* substitutions of parameterless macros, key group is 1 */ -groups.push([1, ['(', [ - 'NanEscapableScope', - 'NanReturnNull', - 'NanReturnUndefined', - 'NanScope'].join('|'), ')\\(\\)'].join('')]); - -/* replace TryCatch with NanTryCatch once, gobbling possible namespace, key group 2 */ -groups.push([2, '(?:(?:v8\\:\\:)?|(Nan)?)(TryCatch)']); - -/* NanNew("string") will likely not fail a ToLocalChecked(), key group 1 */ -groups.push([1, ['(NanNew)', '(\\("[^\\"]*"[^\\)]*\\))(?!\\.ToLocalChecked\\(\\))'].join('')]); - -/* Removed v8 APIs, warn that the code needs rewriting using node::Buffer, key group 2 */ -groups.push([2, ['(', warning2, ')?', '^.*?(', [ - 'GetIndexedPropertiesExternalArrayDataLength', - 'GetIndexedPropertiesExternalArrayData', - 'GetIndexedPropertiesExternalArrayDataType', - 'GetIndexedPropertiesPixelData', - 'GetIndexedPropertiesPixelDataLength', - 'HasIndexedPropertiesInExternalArrayData', - 'HasIndexedPropertiesInPixelData', - 'SetIndexedPropertiesToExternalArrayData', - 'SetIndexedPropertiesToPixelData'].join('|'), ')'].join('')]); - -/* No need for NanScope in V8-exposed methods, key group 2 */ -groups.push([2, ['((', [ - 'NAN_METHOD', - 'NAN_GETTER', - 'NAN_SETTER', - 'NAN_PROPERTY_GETTER', - 'NAN_PROPERTY_SETTER', - 'NAN_PROPERTY_ENUMERATOR', - 'NAN_PROPERTY_DELETER', - 'NAN_PROPERTY_QUERY', - 'NAN_INDEX_GETTER', - 'NAN_INDEX_SETTER', - 'NAN_INDEX_ENUMERATOR', - 'NAN_INDEX_DELETER', - 'NAN_INDEX_QUERY'].join('|'), ')\\([^\\)]*\\)\\s*\\{)\\s*NanScope\\(\\)\\s*;'].join('')]); - -/* v8::Value::ToXXXXXXX returns v8::MaybeLocal, key group 3 */ -groups.push([3, ['([\\s\\(\\)])([^\\s\\(\\)]+)->(', [ - 'Boolean', - 'Number', - 'String', - 'Object', - 'Integer', - 'Uint32', - 'Int32'].join('|'), ')\\('].join('')]); - -/* v8::Value::XXXXXXXValue returns v8::Maybe, key group 3 */ -groups.push([3, ['([\\s\\(\\)])([^\\s\\(\\)]+)->((?:', [ - 'Boolean', - 'Number', - 'Integer', - 'Uint32', - 'Int32'].join('|'), ')Value)\\('].join('')]); - -/* NAN_WEAK_CALLBACK macro was removed, write out callback definition, key group 1 */ -groups.push([1, '(NAN_WEAK_CALLBACK)\\(([^\\s\\)]+)\\)']); - -/* node::ObjectWrap and v8::Persistent have been replaced with Nan implementations, key group 1 */ -groups.push([1, ['(', [ - 'NanDisposePersistent', - 'NanObjectWrapHandle'].join('|'), ')\\s*\\(\\s*([^\\s\\)]+)'].join('')]); - -/* Since NanPersistent there is no need for NanMakeWeakPersistent, key group 1 */ -groups.push([1, '(NanMakeWeakPersistent)\\s*\\(\\s*([^\\s,]+)\\s*,\\s*']); - -/* Many methods of v8::Object and others now return v8::MaybeLocal, key group 3 */ -groups.push([3, ['([\\s])([^\\s]+)->(', [ - 'GetEndColumn', - 'GetFunction', - 'GetLineNumber', - 'NewInstance', - 'GetPropertyNames', - 'GetOwnPropertyNames', - 'GetSourceLine', - 'GetStartColumn', - 'ObjectProtoToString', - 'ToArrayIndex', - 'ToDetailString', - 'CallAsConstructor', - 'CallAsFunction', - 'CloneElementAt', - 'Delete', - 'ForceSet', - 'Get', - 'GetPropertyAttributes', - 'GetRealNamedProperty', - 'GetRealNamedPropertyInPrototypeChain', - 'Has', - 'HasOwnProperty', - 'HasRealIndexedProperty', - 'HasRealNamedCallbackProperty', - 'HasRealNamedProperty', - 'Set', - 'SetAccessor', - 'SetIndexedPropertyHandler', - 'SetNamedPropertyHandler', - 'SetPrototype'].join('|'), ')\\('].join('')]); - -/* You should get an error if any of these fail anyways, - or handle the error better, it is indicated either way, key group 2 */ -groups.push([2, ['NanNew(<(?:v8\\:\\:)?(', ['Date', 'String', 'RegExp'].join('|'), ')>)(\\([^\\)]*\\))(?!\\.ToLocalChecked\\(\\))'].join('')]); - -/* v8::Value::Equals now returns a v8::Maybe, key group 3 */ -groups.push([3, '([\\s\\(\\)])([^\\s\\(\\)]+)->(Equals)\\(([^\\s\\)]+)']); - -/* NanPersistent makes this unnecessary, key group 1 */ -groups.push([1, '(NanAssignPersistent)(?:]+>)?\\(([^,]+),\\s*']); - -/* args has been renamed to info, key group 2 */ -groups.push([2, '(\\W)(args)(\\W)']) - -/* node::ObjectWrap was replaced with NanObjectWrap, key group 2 */ -groups.push([2, '(\\W)(?:node\\:\\:)?(ObjectWrap)(\\W)']); - -/* v8::Persistent was replaced with NanPersistent, key group 2 */ -groups.push([2, '(\\W)(?:v8\\:\\:)?(Persistent)(\\W)']); - -/* counts the number of capturing groups in a well-formed regular expression, - ignoring non-capturing groups and escaped parentheses */ -function groupcount(s) { - var positive = s.match(/\((?!\?)/g), - negative = s.match(/\\\(/g); - return (positive ? positive.length : 0) - (negative ? negative.length : 0); -} - -/* compute the absolute position of each key group in the joined master RegExp */ -for (i = 1, length = groups.length; i < length; i++) { - total += groupcount(groups[i - 1][1]); - groups[i][0] += total; -} - -/* create the master RegExp, whis is the union of all the groups' expressions */ -master = new RegExp(groups.map(function (a) { return a[1]; }).join('|'), 'gm'); - -/* replacement function for String.replace, receives 21 arguments */ -function replace() { - /* simple expressions */ - switch (arguments[groups[0][0]]) { - case '_NAN_': - return 'NAN_'; - case 'NODE_SET_METHOD': - return 'NanSetMethod'; - case 'NODE_SET_PROTOTYPE_METHOD': - return 'NanSetPrototypeMethod'; - case 'NanAsciiString': - return 'NanUtf8String'; - case 'NanEscapeScope': - return 'scope.Escape'; - case 'NanReturnNull': - return 'info.GetReturnValue().SetNull'; - case 'NanReturnValue': - return 'info.GetReturnValue().Set'; - case 'NanUcs2String': - return 'v8::String::Value'; - default: - } - - /* macros without arguments */ - switch (arguments[groups[1][0]]) { - case 'NanEscapableScope': - return 'NanEscapableScope scope' - case 'NanReturnUndefined': - return 'return'; - case 'NanScope': - return 'NanScope scope'; - default: - } - - /* TryCatch, emulate negative backref */ - if (arguments[groups[2][0]] === 'TryCatch') { - return arguments[groups[2][0] - 1] ? arguments[0] : 'NanTryCatch'; - } - - /* NanNew("foo") --> NanNew("foo").ToLocalChecked() */ - if (arguments[groups[3][0]] === 'NanNew') { - return [arguments[0], '.ToLocalChecked()'].join(''); - } - - /* insert warning for removed functions as comment on new line above */ - switch (arguments[groups[4][0]]) { - case 'GetIndexedPropertiesExternalArrayData': - case 'GetIndexedPropertiesExternalArrayDataLength': - case 'GetIndexedPropertiesExternalArrayDataType': - case 'GetIndexedPropertiesPixelData': - case 'GetIndexedPropertiesPixelDataLength': - case 'HasIndexedPropertiesInExternalArrayData': - case 'HasIndexedPropertiesInPixelData': - case 'SetIndexedPropertiesToExternalArrayData': - case 'SetIndexedPropertiesToPixelData': - return arguments[groups[4][0] - 1] ? arguments[0] : [warning1, arguments[0]].join(''); - default: - } - - /* remove unnecessary NanScope() */ - switch (arguments[groups[5][0]]) { - case 'NAN_GETTER': - case 'NAN_METHOD': - case 'NAN_SETTER': - case 'NAN_INDEX_DELETER': - case 'NAN_INDEX_ENUMERATOR': - case 'NAN_INDEX_GETTER': - case 'NAN_INDEX_QUERY': - case 'NAN_INDEX_SETTER': - case 'NAN_PROPERTY_DELETER': - case 'NAN_PROPERTY_ENUMERATOR': - case 'NAN_PROPERTY_GETTER': - case 'NAN_PROPERTY_QUERY': - case 'NAN_PROPERTY_SETTER': - return arguments[groups[5][0] - 1]; - default: - } - - /* Value converstion */ - switch (arguments[groups[6][0]]) { - case 'Boolean': - case 'Int32': - case 'Integer': - case 'Number': - case 'Object': - case 'String': - case 'Uint32': - return [arguments[groups[6][0] - 2], 'NanTo(', arguments[groups[6][0] - 1]].join(''); - default: - } - - /* other value conversion */ - switch (arguments[groups[7][0]]) { - case 'BooleanValue': - return [arguments[groups[7][0] - 2], 'NanTo(', arguments[groups[7][0] - 1]].join(''); - case 'Int32Value': - return [arguments[groups[7][0] - 2], 'NanTo(', arguments[groups[7][0] - 1]].join(''); - case 'IntegerValue': - return [arguments[groups[7][0] - 2], 'NanTo(', arguments[groups[7][0] - 1]].join(''); - case 'Uint32Value': - return [arguments[groups[7][0] - 2], 'NanTo(', arguments[groups[7][0] - 1]].join(''); - default: - } - - /* NAN_WEAK_CALLBACK */ - if (arguments[groups[8][0]] === 'NAN_WEAK_CALLBACK') { - return ['template\nvoid ', - arguments[groups[8][0] + 1], '(const NanWeakCallbackInfo &data)'].join(''); - } - - /* use methods on NAN classes instead */ - switch (arguments[groups[9][0]]) { - case 'NanDisposePersistent': - return [arguments[groups[9][0] + 1], '.Reset('].join(''); - case 'NanObjectWrapHandle': - return [arguments[groups[9][0] + 1], '->handle('].join(''); - default: - } - - /* use method on NanPersistent instead */ - if (arguments[groups[10][0]] === 'NanMakeWeakPersistent') { - return arguments[groups[10][0] + 1] + '.SetWeak('; - } - - /* These return Maybes, the upper ones take no arguments */ - switch (arguments[groups[11][0]]) { - case 'GetEndColumn': - case 'GetFunction': - case 'GetLineNumber': - case 'GetOwnPropertyNames': - case 'GetPropertyNames': - case 'GetSourceLine': - case 'GetStartColumn': - case 'NewInstance': - case 'ObjectProtoToString': - case 'ToArrayIndex': - case 'ToDetailString': - return [arguments[groups[11][0] - 2], 'Nan', arguments[groups[11][0]], '(', arguments[groups[11][0] - 1]].join(''); - case 'CallAsConstructor': - case 'CallAsFunction': - case 'CloneElementAt': - case 'Delete': - case 'ForceSet': - case 'Get': - case 'GetPropertyAttributes': - case 'GetRealNamedProperty': - case 'GetRealNamedPropertyInPrototypeChain': - case 'Has': - case 'HasOwnProperty': - case 'HasRealIndexedProperty': - case 'HasRealNamedCallbackProperty': - case 'HasRealNamedProperty': - case 'Set': - case 'SetAccessor': - case 'SetIndexedPropertyHandler': - case 'SetNamedPropertyHandler': - case 'SetPrototype': - return [arguments[groups[11][0] - 2], 'Nan', arguments[groups[11][0]], '(', arguments[groups[11][0] - 1], ', '].join(''); - default: - } - - /* Automatic ToLocalChecked(), take it or leave it */ - switch (arguments[groups[12][0]]) { - case 'Date': - case 'String': - case 'RegExp': - return ['NanNew', arguments[groups[12][0] - 1], arguments[groups[12][0] + 1], '.ToLocalChecked()'].join(''); - default: - } - - /* NanEquals is now required for uniformity */ - if (arguments[groups[13][0]] === 'Equals') { - return [arguments[groups[13][0] - 1], 'NanEquals(', arguments[groups[13][0] - 1], ', ', arguments[groups[13][0] + 1]].join(''); - } - - /* use method on replacement class instead */ - if (arguments[groups[14][0]] === 'NanAssignPersistent') { - return [arguments[groups[14][0] + 1], '.Reset('].join(''); - } - - /* args --> info */ - if (arguments[groups[15][0]] === 'args') { - return [arguments[groups[15][0] - 1], 'info', arguments[groups[15][0] + 1]].join(''); - } - - /* ObjectWrap --> NanObjectWrap */ - if (arguments[groups[16][0]] === 'ObjectWrap') { - return [arguments[groups[16][0] - 1], 'NanObjectWrap', arguments[groups[16][0] + 1]].join(''); - } - - /* Persistent --> NanPersistent */ - if (arguments[groups[17][0]] === 'Persistent') { - return [arguments[groups[17][0] - 1], 'NanPersistent', arguments[groups[17][0] + 1]].join(''); - } - - /* This should not happen. A switch is probably missing a case if it does. */ - throw 'Unhandled match: ' + arguments[0]; -} - -/* reads a file, runs replacement and writes it back */ -function processFile(file) { - fs.readFile(file, {encoding: 'utf8'}, function (err, data) { - if (err) { - throw err; - } - - /* run replacement twice, might need more runs */ - fs.writeFile(file, data.replace(master, replace).replace(master, replace), function (err) { - if (err) { - throw err; - } - }); - }); -} - -/* process file names from command line and process the identified files */ -for (i = 2, length = process.argv.length; i < length; i++) { - glob(process.argv[i], function (err, matches) { - if (err) { - throw err; - } - matches.forEach(processFile); - }); -} diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/tools/README.md b/node_modules/jsdom/node_modules/contextify/node_modules/nan/tools/README.md deleted file mode 100644 index 7f07e4b..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/tools/README.md +++ /dev/null @@ -1,14 +0,0 @@ -1to2 naively converts source code files from NAN 1 to NAN 2. There will be erroneous conversions, -false positives and missed opportunities. The input files are rewritten in place. Make sure that -you have backups. You will have to manually review the changes afterwards and do some touchups. - -```sh -$ tools/1to2.js - - Usage: 1to2 [options] - - Options: - - -h, --help output usage information - -V, --version output the version number -``` diff --git a/node_modules/jsdom/node_modules/contextify/node_modules/nan/tools/package.json b/node_modules/jsdom/node_modules/contextify/node_modules/nan/tools/package.json deleted file mode 100644 index 2dcdd78..0000000 --- a/node_modules/jsdom/node_modules/contextify/node_modules/nan/tools/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "1to2", - "version": "1.0.0", - "description": "NAN 1 -> 2 Migration Script", - "main": "1to2.js", - "repository": { - "type": "git", - "url": "git://github.com/nodejs/nan.git" - }, - "contributors": [ - "Benjamin Byholm (https://github.com/kkoopa/)", - "Mathias Küsel (https://github.com/mathiask88/)" - ], - "dependencies": { - "glob": "~5.0.10", - "commander": "~2.8.1" - }, - "license": "MIT" -} diff --git a/node_modules/jsdom/node_modules/contextify/package.json b/node_modules/jsdom/node_modules/contextify/package.json deleted file mode 100644 index 98f5dba..0000000 --- a/node_modules/jsdom/node_modules/contextify/package.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "name": "contextify", - "version": "0.1.15", - "description": "Turn an object into a persistent execution context.", - "author": { - "name": "Brian McDaniel", - "email": "brianmcd05@gmail.com" - }, - "contributors": [ - { - "name": "Assaf Arkin", - "email": "assaf@labnotes.org", - "url": "http://labnotes.org/" - }, - { - "name": "Benjamin Byholm", - "url": "https://research.it.abo.fi/people/bbyholm" - }, - { - "name": "Marshall Roch", - "email": "marshall@mroch.com" - }, - { - "name": "Nathan Rajlich", - "email": "nathan@tootallnate.net", - "url": "http://n8.io" - }, - { - "name": "Paul Tan", - "url": "https://github.com/pyokagan" - }, - { - "name": "Jeremy Stashewsky", - "email": "jstash@gmail.com" - }, - { - "name": "Rex Morgan", - "url": "http://www.rexflex.net/" - }, - { - "name": "Tom Gallacher", - "email": "me@tomg.co", - "url": "http://tomg.co" - }, - { - "name": "Kevin Decker", - "email": "kpdecker@gmail.com", - "url": "http://www.incaseofstairs.com" - }, - { - "name": "Sergei Ianovich", - "url": "https://github.com/yanovich" - }, - { - "name": "Andrew Paprocki", - "url": "https://github.com/apaprocki" - }, - { - "name": "Trygve Lie", - "url": "https://github.com/trygve-lie" - }, - { - "name": "Ido Ben-Yair", - "url": "https://github.com/idoby" - }, - { - "name": "Rod Vagg", - "url": "https://r.va.gg/" - } - ], - "keywords": [ - "context", - "vm" - ], - "repository": { - "type": "git", - "url": "git+https://github.com/brianmcd/contextify.git" - }, - "main": "./lib/contextify", - "scripts": { - "test": "nodeunit test/", - "install": "node-gyp rebuild" - }, - "engines": { - "node": ">=0.10.11" - }, - "licenses": [ - { - "type": "MIT", - "url": "http://github.com/brianmcd/contextify/blob/master/LICENSE.txt" - } - ], - "dependencies": { - "bindings": "^1.2.1", - "nan": "^2.1.0" - }, - "devDependencies": { - "nodeunit": ">=0.5.x" - }, - "gypfile": true, - "gitHead": "8929cf6150033bf5e811be5f5c0f385ce960c821", - "bugs": { - "url": "https://github.com/brianmcd/contextify/issues" - }, - "homepage": "https://github.com/brianmcd/contextify#readme", - "_id": "contextify@0.1.15", - "_shasum": "3d34681d14a5ccbbe609c9ee11eda206b8cf266f", - "_from": "contextify@>=0.1.9 <0.2.0", - "_npmVersion": "3.3.6", - "_nodeVersion": "5.0.0", - "_npmUser": { - "name": "brianmcd", - "email": "brianmcd05@gmail.com" - }, - "maintainers": [ - { - "name": "brianmcd", - "email": "brianmcd05@gmail.com" - } - ], - "dist": { - "shasum": "3d34681d14a5ccbbe609c9ee11eda206b8cf266f", - "tarball": "https://registry.npmjs.org/contextify/-/contextify-0.1.15.tgz" - }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/contextify/-/contextify-0.1.15.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/contextify/src/contextify.cc b/node_modules/jsdom/node_modules/contextify/src/contextify.cc deleted file mode 100644 index 237ba7e..0000000 --- a/node_modules/jsdom/node_modules/contextify/src/contextify.cc +++ /dev/null @@ -1,362 +0,0 @@ -#include "node.h" -#include "node_version.h" -#include "nan.h" -#include -using namespace v8; -using namespace node; - -class ContextWrap; - -class ContextifyContext : public Nan::ObjectWrap { -public: - Nan::Persistent context; - Nan::Persistent sandbox; - Nan::Persistent proxyGlobal; - - static Nan::Persistent jsTmpl; - - ContextifyContext(Local sbox) { - Nan::HandleScope scope; - sandbox.Reset(sbox); - } - - ~ContextifyContext() { - context.Reset(); - proxyGlobal.Reset(); - sandbox.Reset(); - - // Provide a GC hint that the context has gone away. Without this call it - // does not seem that the collector will touch the context until under extreme - // stress. - Nan::ContextDisposedNotification(); - } - - // We override ObjectWrap::Wrap so that we can create our context after - // we have a reference to our "host" JavaScript object. If we try to use - // handle_ in the ContextifyContext constructor, it will be empty since it's - // set in ObjectWrap::Wrap. - void Wrap(Local handle); - - static void Init(Local target) { - Nan::HandleScope scope; - - Local className = Nan::New("ContextifyContext").ToLocalChecked(); - - Local ljsTmpl = Nan::New(New); - ljsTmpl->InstanceTemplate()->SetInternalFieldCount(1); - ljsTmpl->SetClassName(className); - Nan::SetPrototypeMethod(ljsTmpl, "run", ContextifyContext::Run); - Nan::SetPrototypeMethod(ljsTmpl, "getGlobal", ContextifyContext::GetGlobal); - - jsTmpl.Reset(ljsTmpl); - target->Set(className, ljsTmpl->GetFunction()); - } - - static NAN_METHOD(New) { - if (info.Length() < 1) - return Nan::ThrowError("Wrong number of arguments passed to ContextifyContext constructor"); - - if (!info[0]->IsObject()) - return Nan::ThrowTypeError("Argument to ContextifyContext constructor must be an object."); - - ContextifyContext* ctx = new ContextifyContext(info[0]->ToObject()); - ctx->Wrap(info.This()); - info.GetReturnValue().Set(info.This()); - } - - static NAN_METHOD(Run) { - if (info.Length() == 0) - return Nan::ThrowError("Must supply at least 1 argument to run"); - - if (!info[0]->IsString()) - return Nan::ThrowTypeError("First argument to run must be a String."); - - ContextifyContext* ctx = Nan::ObjectWrap::Unwrap(info.This()); - Local lcontext = Nan::New(ctx->context); - Context::Scope ctxScope(lcontext); - Local code = info[0]->ToString(); - - Nan::TryCatch trycatch; - Nan::MaybeLocal script; - - if (info.Length() > 1 && info[1]->IsString()) { - ScriptOrigin origin(info[1]->ToString()); - script = Nan::CompileScript(code, origin); - } else { - script = Nan::CompileScript(code); - } - - if (script.IsEmpty()) { - trycatch.ReThrow(); - return; - } - - Nan::MaybeLocal result = Nan::RunScript(script.ToLocalChecked()); - - if (result.IsEmpty()) { - trycatch.ReThrow(); - } else { - info.GetReturnValue().Set(result.ToLocalChecked()); - } - } - - static bool InstanceOf(Local value) { - return Nan::New(jsTmpl)->HasInstance(value); - } - - static NAN_METHOD(GetGlobal) { - ContextifyContext* ctx = Nan::ObjectWrap::Unwrap(info.This()); - info.GetReturnValue().Set(Nan::New(ctx->proxyGlobal)); - } -}; - -// This is an object that just keeps an internal pointer to this -// ContextifyContext. It's passed to the NamedPropertyHandler. If we -// pass the main JavaScript context object we're embedded in, then the -// NamedPropertyHandler will store a reference to it forever and keep it -// from getting gc'd. -class ContextWrap : public Nan::ObjectWrap { -public: - static void Init(void) { - Nan::HandleScope scope; - - Local tmpl = Nan::New(); - tmpl->InstanceTemplate()->SetInternalFieldCount(1); - functionTemplate.Reset(tmpl); - constructor.Reset(tmpl->GetFunction()); - } - - static Local createV8Context(Local jsContextify) { - Nan::EscapableHandleScope scope; - Local wrapper = Nan::New(constructor)->NewInstance(); - - ContextWrap *contextWrapper = new ContextWrap(); - contextWrapper->Wrap(wrapper); - - Nan::Persistent(jsContextify).SetWeak(contextWrapper, &ContextWrap::weakCallback, Nan::WeakCallbackType::kParameter); - contextWrapper->ctx = Nan::ObjectWrap::Unwrap(jsContextify); - - Local ftmpl = Nan::New(); - ftmpl->SetHiddenPrototype(true); - ftmpl->SetClassName(Nan::New(contextWrapper->ctx->sandbox)->GetConstructorName()); - Local otmpl = ftmpl->InstanceTemplate(); - Nan::SetNamedPropertyHandler(otmpl, - GlobalPropertyGetter, - GlobalPropertySetter, - GlobalPropertyQuery, - GlobalPropertyDeleter, - GlobalPropertyEnumerator, - wrapper); - otmpl->SetAccessCheckCallbacks(GlobalPropertyNamedAccessCheck, - GlobalPropertyIndexedAccessCheck); - return scope.Escape(Nan::New(static_cast(NULL), otmpl)); - } - -private: - ContextWrap() :ctx(NULL) {} - - ~ContextWrap() { - } - - static bool GlobalPropertyNamedAccessCheck(Local host, - Local key, - AccessType type, - Local data) { - return true; - } - - static bool GlobalPropertyIndexedAccessCheck(Local host, - uint32_t key, - AccessType type, - Local data) { - return true; - } - - static void GlobalPropertyGetter(Local property, const Nan::PropertyCallbackInfo& info) { - Local data = info.Data()->ToObject(); - ContextifyContext* ctx = Nan::ObjectWrap::Unwrap(data)->ctx; - - if (!ctx) - return; - - Local rv = Nan::New(ctx->sandbox)->GetRealNamedProperty(property); - -// if (rv.IsEmpty()) { -// rv = Nan::New(ctx->proxyGlobal)->GetRealNamedProperty(property); -// } - - info.GetReturnValue().Set(rv); - } - - static void GlobalPropertySetter(Local property, Local value, const Nan::PropertyCallbackInfo& info) { - Local data = info.Data()->ToObject(); - ContextifyContext* ctx = Nan::ObjectWrap::Unwrap(data)->ctx; - - if (!ctx) - return; - - Nan::New(ctx->sandbox)->Set(property, value); - info.GetReturnValue().Set(value); - } - - static void GlobalPropertyQuery(Local property, const Nan::PropertyCallbackInfo& info) { - Local data = info.Data()->ToObject(); - ContextifyContext* ctx = Nan::ObjectWrap::Unwrap(data)->ctx; - - if (!ctx) - return info.GetReturnValue().Set(Nan::New(None)); - - if (!Nan::New(ctx->sandbox)->GetRealNamedProperty(property).IsEmpty() || - !Nan::New(ctx->proxyGlobal)->GetRealNamedProperty(property).IsEmpty()) { - info.GetReturnValue().Set(Nan::New(None)); - } else { - info.GetReturnValue().Set(Local()); - } - } - - static void GlobalPropertyDeleter(Local property, const Nan::PropertyCallbackInfo& info) { - Local data = info.Data()->ToObject(); - ContextifyContext* ctx = Nan::ObjectWrap::Unwrap(data)->ctx; - - if (!ctx) - return info.GetReturnValue().Set(Nan::New(false)); - - bool success = Nan::New(ctx->sandbox)->Delete(property); - info.GetReturnValue().Set(Nan::New(success)); - } - - static void GlobalPropertyEnumerator(const Nan::PropertyCallbackInfo& info) { - Local data = info.Data()->ToObject(); - ContextifyContext* ctx = Nan::ObjectWrap::Unwrap(data)->ctx; - - if (!ctx) { - Local blank = Array::New(0); - return info.GetReturnValue().Set(blank); - } - - info.GetReturnValue().Set(Nan::New(ctx->sandbox)->GetPropertyNames()); - } - - static void weakCallback(const Nan::WeakCallbackInfo& data) { - ContextWrap *self = data.GetParameter(); - self->ctx = NULL; - } - - static Nan::Persistent functionTemplate; - static Nan::Persistent constructor; - ContextifyContext *ctx; -}; - -Nan::Persistent ContextWrap::functionTemplate; -Nan::Persistent ContextWrap::constructor; - -void ContextifyContext::Wrap(Local handle) { - Nan::ObjectWrap::Wrap(handle); - Local lcontext = ContextWrap::createV8Context(handle); - context.Reset(lcontext); - proxyGlobal.Reset(lcontext->Global()); -} - -class ContextifyScript : public Nan::ObjectWrap { -public: - static Nan::Persistent scriptTmpl; - Nan::Persistent script; - - static void Init(Local target) { - Nan::HandleScope scope; - - Local className = Nan::New("ContextifyScript").ToLocalChecked(); - - Local lscriptTmpl = Nan::New(New); - lscriptTmpl->InstanceTemplate()->SetInternalFieldCount(1); - lscriptTmpl->SetClassName(className); - - Nan::SetPrototypeMethod(lscriptTmpl, "runInContext", RunInContext); - - scriptTmpl.Reset(lscriptTmpl); - target->Set(className, lscriptTmpl->GetFunction()); - } - static NAN_METHOD(New) { - ContextifyScript *contextify_script = new ContextifyScript(); - contextify_script->Wrap(info.Holder()); - - if (info.Length() < 1) - return Nan::ThrowTypeError("needs at least 'code' argument."); - - Local code = info[0]->ToString(); - - Nan::TryCatch trycatch; - - Nan::MaybeLocal filename = info.Length() > 1 - ? info[1]->ToString() - : Nan::New("ContextifyScript."); - - if (filename.IsEmpty()) { - trycatch.ReThrow(); - return; - } - - Local context = Nan::GetCurrentContext(); - Context::Scope context_scope(context); - - ScriptOrigin origin(filename.ToLocalChecked()); - Nan::MaybeLocal v8_script = Nan::New(code, origin); - - if (v8_script.IsEmpty()) { - trycatch.ReThrow(); - return; - } - - contextify_script->script.Reset(v8_script.ToLocalChecked()); - - info.GetReturnValue().Set(info.This()); - } - - static NAN_METHOD(RunInContext) { - if (info.Length() == 0) - return Nan::ThrowError("Must supply at least 1 argument to runInContext"); - - if (!ContextifyContext::InstanceOf(info[0]->ToObject())) - return Nan::ThrowTypeError("First argument must be a ContextifyContext."); - - ContextifyContext* ctx = Nan::ObjectWrap::Unwrap(info[0]->ToObject()); - Local lcontext = Nan::New(ctx->context); - - Context::Scope scope(lcontext); - - ContextifyScript* wrapped_script = Nan::ObjectWrap::Unwrap(info.This()); - Nan::MaybeLocal script = Nan::New(wrapped_script->script); - - Nan::TryCatch trycatch; - - if (script.IsEmpty()) { - trycatch.ReThrow(); - return; - } - - Nan::MaybeLocal result = Nan::RunScript(script.ToLocalChecked()); - - if (result.IsEmpty()) { - trycatch.ReThrow(); - } else { - info.GetReturnValue().Set(result.ToLocalChecked()); - } - } - - ~ContextifyScript() { - script.Reset(); - } -}; - -Nan::Persistent ContextifyContext::jsTmpl; -Nan::Persistent ContextifyScript::scriptTmpl; - -extern "C" { - static void init(Local target) { - ContextifyContext::Init(target); - ContextifyScript::Init(target); - ContextWrap::Init(); - } - - NODE_MODULE(contextify, init) -}; diff --git a/node_modules/jsdom/node_modules/contextify/test/contextify.js b/node_modules/jsdom/node_modules/contextify/test/contextify.js deleted file mode 100644 index 7b233c1..0000000 --- a/node_modules/jsdom/node_modules/contextify/test/contextify.js +++ /dev/null @@ -1,598 +0,0 @@ -var Contextify = require('../lib/contextify.js'); - -exports['basic tests'] = { - // Creating a context shouldn't fail. - 'blank context' : function (test) { - var ctx = Contextify({}); - test.notEqual(ctx, null); - test.notEqual(ctx, undefined); - test.done(); - }, - - // Creating a context with sandbox shouldn't change existing sandbox - // properties. - 'basic context' : function (test) { - var sandbox = { - prop1 : 'prop1', - prop2 : 'prop2' - }; - Contextify(sandbox); - test.equal(sandbox.prop1, 'prop1'); - test.equal(sandbox.prop2, 'prop2'); - test.done(); - }, - - 'basic createContext' : function (test) { - var sandbox = { - prop1: 'prop1', - prop2: 'prop2' - }; - var context = Contextify.createContext(sandbox); - test.equal(sandbox.prop1, 'prop1'); - test.equal(sandbox.prop2, 'prop2'); - test.done(); - }, - - // Ensure that the correct properties exist on a wrapped sandbox. - 'test contextified object extra properties' : function (test) { - var sandbox = Contextify({}); - test.notEqual(sandbox.run, undefined); - test.notEqual(sandbox.getGlobal, undefined); - test.notEqual(sandbox.dispose, undefined); - test.done(); - }, - - 'createContext should not modify the sandbox' : function (test) { - var sandbox = {}; - Contextify.createContext(sandbox); - test.equal(sandbox.run, undefined); - test.equal(sandbox.getGlobal, undefined); - test.equal(sandbox.dispose, undefined); - test.done(); - }, - - // Passing undefined should create an empty context. - 'test undefined sandbox' : function (test) { - // Should return an empty object. - test.notEqual(Contextify(undefined, undefined), undefined); - test.notEqual(Contextify(), undefined); - test.done(); - }, - - 'sandbox prototype properties should be searched' : function (test) { - var sandbox = {}; - sandbox.__proto__ = { - prop1 : 'test' - }; - Contextify(sandbox); - test.equal(sandbox.getGlobal().prop1, 'test'); - test.done(); - }, - - // Make sure properties that aren't there...aren't there. - 'test for nonexistent properties' : function (test) { - var global = Contextify({}).getGlobal(); - test.equal(global.test1, undefined); - test.done(); - }, - - // Make sure properties with value "undefined" are there. - 'test for "undefined" properties' : function (test) { - var sandbox = { x: undefined }; - Contextify(sandbox); - sandbox.run("_x = x"); - test.equal(sandbox._x, undefined); - test.done(); - }, - - 'test for "undefined" properties with createContext' : function (test) { - var sandbox = { x: undefined }; - var context = Contextify.createContext(sandbox); - context.run("_x = x"); - test.equal(sandbox._x, undefined); - test.done(); - }, - - 'test for "undefined" variables' : function (test) { - var sandbox = { }; - Contextify(sandbox); - // In JavaScript a declared variable is set to 'undefined'. - sandbox.run("var y; (function() { var _y ; y = _y })()"); - test.equal(sandbox._y, undefined); - // This should apply to top-level variables (global properties). - sandbox.run("var z; _z = z"); - test.equal(sandbox._z, undefined); - // Make sure nothing wacky happens when accessing global declared but - // undefined variables. - test.equal(sandbox.getGlobal().z, undefined); - test.done(); - }, - - // Make sure run can be called with a filename parameter. - 'test run with filename' : function (test) { - var sandbox = Contextify(); - sandbox.run('var x = 3', "test.js"); - test.equal(sandbox.x, 3); - test.done(); - }, - - // Make sure run can be called on a context - 'test run with createContext' : function (test) { - var sandbox = {}; - var context = Contextify.createContext(sandbox); - context.run('var x = 3', "test.js"); - test.equal(sandbox.x, 3); - test.done(); - }, - - // Make sure getters/setters on the sandbox object are used. - 'test accessors on sandbox' : function (test) { - var sandbox = {}; - sandbox.__defineGetter__('test', function () { return 3;}); - sandbox.__defineSetter__('test2', function (val) { this.x = val;}); - Contextify(sandbox); - var global = sandbox.getGlobal(); - test.equal(global.test, 3); - sandbox.test2 = 5; - test.equal(sandbox.x, 5); - global.test2 = 7; - test.equal(global.x, 7); - test.equal(sandbox.x, 7); - test.done(); - }, - - // Make sure dispose cleans up the sandbox. - 'test dispose' : function (test) { - var sandbox = Contextify(); - test.notEqual(sandbox.run, undefined); - test.notEqual(sandbox.getGlobal, undefined); - test.notEqual(sandbox.dispose, undefined); - sandbox.dispose(); - test.throws(function () { - sandbox.run(); - }, Error); - test.throws(function () { - sandbox.getGlobal(); - }, Error); - test.throws(function () { - sandbox.dispose(); - }, Error); - test.done(); - } -}; - -exports['synchronous script tests'] = { - // Synchronous context script execution: - // Ensure that global variables are put on the sandbox object. - 'global variables in scripts should go on sandbox' : function (test) { - var sandbox = { - prop1 : 'prop1', - prop2 : 'prop2' - }; - Contextify(sandbox); - sandbox.run('x = 3'); - test.equal(sandbox.x, 3); - test.done(); - }, - - // Synchronous context script execution: - // Ensure that sandbox properties can be accessed as global variables. - 'sandbox properties should be globals' : function (test) { - var sandbox = { - prop1 : 'prop1', - prop2 : 'prop2' - }; - Contextify(sandbox); - sandbox.run("test1 = (prop1 == 'prop1');" + - "test2 = (prop2 == 'prop2');"); - test.ok(sandbox.test1); - test.ok(sandbox.test2); - test.done(); - } -}; - -exports['asynchronous script tests'] = { - // Asynchronous context script execution: - // Ensure that global variables are put on the sandbox object. - 'global variables in scripts should go on sandbox' : function (test) { - var sandbox = { - setTimeout : setTimeout, - prop1 : 'prop1', - prop2 : 'prop2' - }; - Contextify(sandbox); - sandbox.run('setTimeout(function () {x = 3}, 0);'); - test.equal(sandbox.x, undefined); - setTimeout(function () { - test.equal(sandbox.x, 3); - test.done(); - }, 0); - }, - - // Asynchronous context script execution: - // Ensure that sandbox properties can be accessed as global variables. - 'sandbox properties should be globals' : function (test) { - var sandbox = { - setTimeout : setTimeout, - prop1 : 'prop1', - prop2 : 'prop2' - }; - Contextify(sandbox); - sandbox.run("setTimeout(function () {" + - "test1 = (prop1 == 'prop1');" + - "test2 = (prop2 == 'prop2');" + - "}, 0)"); - test.equal(sandbox.test1, undefined); - test.equal(sandbox.test2, undefined); - setTimeout(function () { - test.ok(sandbox.test1); - test.ok(sandbox.test2); - test.done(); - }, 0); - }, - - // Asynchronous context script execution: - // Ensure that sandbox properties can be accessed as global variables. - 'createContext: sandbox properties should be globals' : function (test) { - var sandbox = { - setTimeout : setTimeout, - prop1 : 'prop1', - prop2 : 'prop2' - }; - var context = Contextify.createContext(sandbox); - context.run("setTimeout(function () {" + - "test1 = (prop1 == 'prop1');" + - "test2 = (prop2 == 'prop2');" + - "}, 0)"); - test.equal(sandbox.test1, undefined); - test.equal(sandbox.test2, undefined); - setTimeout(function () { - test.ok(sandbox.test1); - test.ok(sandbox.test2); - test.done(); - }, 0); - }, - - // Asynchronous context script execution: - // Ensure that async execution is safely executed after dispose - 'setTimeout should not fail after dispose' : function (test) { - var sandbox = { - test: test, - setTimeout : setTimeout, - prop1 : 'prop1', - prop2 : 'prop2' - }; - Contextify(sandbox); - sandbox.run("setTimeout(function () {" + - "test.ok(prop1 == 'prop1');" + - "test.ok(prop2 == 'prop2');" + - "test.done();" + - "}, 10)"); - test.equal(sandbox.test1, undefined); - test.equal(sandbox.test2, undefined); - sandbox.dispose(); - } -}; - -exports['test global'] = { - // Make sure getGlobal() works. - 'basic test' : function (test) { - var sandbox = { - prop1 : 'prop1', - prop2 : 'prop2' - }; - Contextify(sandbox); - var global = sandbox.getGlobal(); - test.notDeepEqual(global, null); - test.notDeepEqual(global, undefined); - // Make sure global is forwarding properly. - test.equal(global.prop1, 'prop1'); - test.equal(global.prop2, 'prop2'); - global.prop3 = 'prop3'; - test.equal(sandbox.prop3, 'prop3'); - test.done(); - }, - - // Make sure that references to the global are correct. - 'self references to the global object' : function (test) { - var sandbox = Contextify({}); - var global = sandbox.getGlobal(); - sandbox.ref1 = global; - sandbox.ref2 = { - ref2 : global - }; - sandbox.run("test1 = (this == ref1);" + - "test2 = (this == ref2.ref2);"); - test.ok(sandbox.test1); - test.ok(sandbox.test2); - test.done(); - }, - - // Make sure the enumerator is enumerating correctly. - 'test enumerator' : function (test) { - var sandbox = { - prop1 : 'prop1', - prop2 : 'prop2' - }; - var global = Contextify(sandbox).getGlobal(); - var globalProps = Object.keys(global); - test.equal(globalProps.length, 5); - test.ok(globalProps.indexOf('prop1') != -1); - test.ok(globalProps.indexOf('prop2') != -1); - test.ok(globalProps.indexOf('run') != -1); - test.ok(globalProps.indexOf('getGlobal') != -1); - test.ok(globalProps.indexOf('dispose') != -1); - test.done(); - }, - - // Make sure deleter is working. - 'test deleter' : function (test) { - var sandbox = { - prop1 : 'prop1', - prop2 : 'prop2' - }; - var global = Contextify(sandbox).getGlobal(); - test.equal(Object.keys(global).length, 5); - test.equal(Object.keys(sandbox).length, 5); - delete global.prop1; - test.equal(Object.keys(global).length, 4); - test.equal(Object.keys(sandbox).length, 4); - delete global.prop2; - test.equal(Object.keys(global).length, 3); - test.equal(Object.keys(sandbox).length, 3); - delete global.run; - test.equal(Object.keys(global).length, 2); - test.equal(Object.keys(sandbox).length, 2); - delete global.getGlobal; - test.equal(Object.keys(global).length, 1); - test.equal(Object.keys(sandbox).length, 1); - delete global.dispose; - test.equal(Object.keys(global).length, 0); - test.equal(Object.keys(sandbox).length, 0); - test.done(); - }, - - // Make sure the global's class name is the same as the sandbox. - 'test global class name' : function (test) { - function DOMWindow () {}; - var sandbox = Contextify(new DOMWindow()); - var global = sandbox.getGlobal(); - test.equal(sandbox.constructor.name, 'DOMWindow'); - test.equal(sandbox.constructor.name, global.constructor.name); - sandbox.run('thisName = this.constructor.name'); - test.equal(sandbox.thisName, sandbox.constructor.name); - test.done(); - }, - - // Make sure functions in global scope are accessible through global. - 'test global functions' : function (test) { - var sandbox = Contextify(); - var global = sandbox.getGlobal(); - sandbox.run("function testing () {}"); - test.notEqual(global.testing, undefined); - test.done(); - }, - - // Make sure global can be a receiver for run(). - 'test global.run()' : function (test) { - var global = Contextify().getGlobal(); - global.run("x = 5"); - test.equal(global.x, 5); - test.done(); - }, - - // Make sure global can be a receiver for getGlobal(). - 'test global.getGlobal()' : function (test) { - var global = Contextify().getGlobal(); - test.deepEqual(global, global.getGlobal()); - test.done(); - }, - - //Make sure global can be a receiver for dispose(). - 'test global.dispose()' : function (test) { - var sandbox = Contextify(); - var global = sandbox.getGlobal(); - test.notEqual(global.run, undefined); - test.notEqual(global.getGlobal, undefined); - test.notEqual(global.dispose, undefined); - global.dispose(); - // It's not safe to use the global after disposing. - test.throws(function () { - sandbox.run(); - }, Error); - test.throws(function () { - sandbox.getGlobal(); - }, Error); - test.throws(function () { - sandbox.dispose(); - }, Error); - test.done(); - }, - - 'test context delete global' : function (test) { - var sandbox = Contextify({}); - sandbox.global = sandbox.getGlobal(); - sandbox.run('delete global.global;'); - test.ok(!sandbox.global); - sandbox.dispose(); - test.done(); - }, - - 'test context delete unwritable global' : function (test) { - var sandbox = Contextify({}); - Object.defineProperty(sandbox, 'global', { - enumerable: false, - configurable: false, - writable: false, - value: sandbox.getGlobal() - }); - - sandbox.run('delete global.global;'); - test.ok(sandbox.global); - test.ok(sandbox.global.global); - sandbox.dispose(); - test.done(); - } -}; - - -// Test that multiple contexts don't interfere with each other. -exports['test multiple contexts'] = function (test) { - var sandbox1 = { - prop1 : 'prop1', - prop2 : 'prop2' - }; - var sandbox2 = { - prop1 : 'prop1', - prop2 : 'prop2' - }; - var global1 = Contextify(sandbox1).getGlobal(); - var global2 = Contextify(sandbox2).getGlobal(); - test.equal(global1.prop1, 'prop1'); - test.equal(global2.prop1, 'prop1'); - sandbox1.run('test = 3'); - sandbox2.run('test = 4'); - test.equal(sandbox1.test, 3); - test.equal(global1.test, 3); - test.equal(sandbox2.test, 4); - test.equal(global2.test, 4); - test.done(); -}; - -// Test console - segfaults in REPL. -exports['test console'] = function (test) { - var sandbox = { - console : console, - prop1 : 'prop1' - }; - Contextify(sandbox); - test.doesNotThrow(function () { - sandbox.run('console.log(prop1);'); - }); - test.done(); -}; - - -// Test eval scope. -exports['test eval'] = { - 'basic test' : function (test) { - var sandbox = Contextify(); - sandbox.run('eval("test1 = 1")'); - test.equal(sandbox.test1, 1); - sandbox.run('(function() { eval("test2 = 2") })()'); - test.equal(sandbox.test2, 2); - test.done(); - }, - - 'this test' : function (test) { - var sandbox = Contextify(); - sandbox.run('e = eval ; e("test1 = 1")'); - test.equal(sandbox.test1, 1); - sandbox.run('var t = 1 ; (function() { var t = 2; test2 = eval("t") })()'); - test.equal(sandbox.test2, 2); - sandbox.run('t = 1 ; (function() { var t = 2; e = eval; test3 = e("t") })()'); - test.equal(sandbox.test3, 1); - sandbox.run('var t = 1 ; global = this; (function() { var t = 2; e = eval; test4 = global.eval.call(global, "t") })()'); - test.equal(sandbox.test4, 1); - test.done(); - } -}; - - -// Make sure exceptions get thrown for invalid scripts. -exports['test exceptions'] = { - 'basic test' : function (test) { - var sandbox = Contextify(); - // Exceptions thrown from "run" will be from the Contextified context. - var ReferenceError = sandbox.run('ReferenceError'); - var SyntaxError = sandbox.run('SyntaxError'); - test.throws(function () { - sandbox.run('doh'); - }, ReferenceError); - test.throws(function () { - sandbox.run('x = y'); - }, ReferenceError); - test.throws(function () { - sandbox.run('function ( { (( }{);'); - }, SyntaxError); - test.done(); - }, - - 'test double dispose() - sandbox' : function (test) { - var sandbox = Contextify(); - test.doesNotThrow(function () { - sandbox.dispose(); - }); - test.throws(function () { - sandbox.dispose(); - }, 'Called dispose() twice.'); - test.done(); - }, - - 'test double dispose - global' : function (test) { - var sandbox = Contextify(); - var global = sandbox.getGlobal(); - test.doesNotThrow(function () { - global.dispose(); - }); - test.throws(function () { - global.dispose(); - }, 'Called dispose() twice.'); - test.done(); - }, - - 'test run() after dispose()' : function (test) { - var sandbox = Contextify(); - test.doesNotThrow(function () { - sandbox.dispose(); - }); - test.throws(function () { - sandbox.run('var x = 3'); - }, 'Called run() after dispose().'); - test.done(); - }, - - 'test getGlobal() after dispose()' : function (test) { - var sandbox = Contextify(); - test.doesNotThrow(function () { - sandbox.dispose(); - }); - test.throws(function () { - var g = sandbox.getGlobal(); - }, 'Called getGlobal() after dispose().'); - test.done(); - } -}; - -exports['test scripts'] = { - 'test createScript()' : function (test) { - var script = Contextify.createScript('var x = 3', 'test.js'); - test.equal(typeof script.runInContext, 'function'); - test.done(); - }, - - 'test createScript() without code' : function (test) { - test.throws(function () { - Contextify.createScript(); - }); - test.throws(function () { - Contextify.createScript(true); - }); - test.throws(function () { - Contextify.createScript(null); - }); - test.throws(function () { - Contextify.createScript(1); - }); - test.done(); - }, - - 'test runInContext' : function (test) { - var sandbox = {}; - var script = Contextify.createScript('var x = 3', 'test.js'); - var context = Contextify.createContext(sandbox); - script.runInContext(context); - test.equal(sandbox.x, 3); - test.done(); - } -}; diff --git a/node_modules/jsdom/node_modules/contextify/wscript b/node_modules/jsdom/node_modules/contextify/wscript deleted file mode 100644 index 1eb91c8..0000000 --- a/node_modules/jsdom/node_modules/contextify/wscript +++ /dev/null @@ -1,18 +0,0 @@ -import Options -import os -import sys - -VERSION = '0.1.15' - -def set_options(opt): - opt.tool_options("compiler_cxx") - -def configure(conf): - conf.check_tool("compiler_cxx") - conf.check_tool("node_addon") - conf.env.set_variant("Release") - -def build(bld): - obj = bld.new_task_gen("cxx", "shlib", "node_addon") - obj.target = "contextify" - obj.source = "src/contextify.cc" diff --git a/node_modules/jsdom/node_modules/cssom/LICENSE.txt b/node_modules/jsdom/node_modules/cssom/LICENSE.txt deleted file mode 100644 index bc57aac..0000000 --- a/node_modules/jsdom/node_modules/cssom/LICENSE.txt +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) Nikita Vasilyev - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/jsdom/node_modules/cssom/README.mdown b/node_modules/jsdom/node_modules/cssom/README.mdown deleted file mode 100644 index 1e7c440..0000000 --- a/node_modules/jsdom/node_modules/cssom/README.mdown +++ /dev/null @@ -1,69 +0,0 @@ -# CSSOM - -CSSOM.js is a CSS parser written in pure JavaScript. It also a partial implementation of [CSS Object Model](http://dev.w3.org/csswg/cssom/). - - CSSOM.parse("body {color: black}") - -> { - cssRules: [ - { - selectorText: "body", - style: { - 0: "color", - color: "black", - length: 1 - } - } - ] - } - - -## [Parser demo](http://nv.github.com/CSSOM/docs/parse.html) - -Works well in Google Chrome 6+, Safari 5+, Firefox 3.6+, Opera 10.63+. -Doesn't work in IE < 9 because of unsupported getters/setters. - -To use CSSOM.js in the browser you might want to build a one-file version that exposes CSSOM global variable: - - ➤ git clone https://github.com/NV/CSSOM.git - ➤ cd CSSOM - ➤ npm install -d - ➤ ./node_modules/.bin/jake - build/CSSOM.js is done - -To use it with Node.js or any other CommonJS loader: - - ➤ npm install cssom - -## Don’t use it if... - -You parse CSS to mungle, minify or reformat the following code: - -```css -div { - background: gray; - background: linear-gradient(to bottom, white 0%, black 100%); -} -``` - -This pattern is often used to give browsers that don’t understand linear gradients a fallback solution (e.g. gray color in the example). -In CSSOM, `background: gray` [gets overwritten](http://nv.github.io/CSSOM/docs/parse.html#css=div%20%7B%0A%20%20%20%20%20%20background%3A%20gray%3B%0A%20%20%20%20background%3A%20linear-gradient(to%20bottom%2C%20white%200%25%2C%20black%20100%25)%3B%0A%7D). -The last same-name property always overwrites all the previous ones. - - -If you do CSS mungling, minification, image inlining, and such, CSSOM.js is no good for you, considere using one of the following: - - * [postcss](https://github.com/postcss/postcss) - * [reworkcss/css](https://github.com/reworkcss/css) - * [csso](https://github.com/css/csso) - * [mensch](https://github.com/brettstimmerman/mensch) - - -## [Specs](http://nv.github.com/CSSOM/spec/) - -To run specs locally: - - ➤ git submodule init - ➤ git submodule update - - -## [Who uses CSSOM.js](https://github.com/NV/CSSOM/wiki/Who-uses-CSSOM.js) diff --git a/node_modules/jsdom/node_modules/cssom/lib/CSSDocumentRule.js b/node_modules/jsdom/node_modules/cssom/lib/CSSDocumentRule.js deleted file mode 100644 index aec0776..0000000 --- a/node_modules/jsdom/node_modules/cssom/lib/CSSDocumentRule.js +++ /dev/null @@ -1,39 +0,0 @@ -//.CommonJS -var CSSOM = { - CSSRule: require("./CSSRule").CSSRule, - MatcherList: require("./MatcherList").MatcherList -}; -///CommonJS - - -/** - * @constructor - * @see https://developer.mozilla.org/en/CSS/@-moz-document - */ -CSSOM.CSSDocumentRule = function CSSDocumentRule() { - CSSOM.CSSRule.call(this); - this.matcher = new CSSOM.MatcherList(); - this.cssRules = []; -}; - -CSSOM.CSSDocumentRule.prototype = new CSSOM.CSSRule(); -CSSOM.CSSDocumentRule.prototype.constructor = CSSOM.CSSDocumentRule; -CSSOM.CSSDocumentRule.prototype.type = 10; -//FIXME -//CSSOM.CSSDocumentRule.prototype.insertRule = CSSStyleSheet.prototype.insertRule; -//CSSOM.CSSDocumentRule.prototype.deleteRule = CSSStyleSheet.prototype.deleteRule; - -Object.defineProperty(CSSOM.CSSDocumentRule.prototype, "cssText", { - get: function() { - var cssTexts = []; - for (var i=0, length=this.cssRules.length; i < length; i++) { - cssTexts.push(this.cssRules[i].cssText); - } - return "@-moz-document " + this.matcher.matcherText + " {" + cssTexts.join("") + "}"; - } -}); - - -//.CommonJS -exports.CSSDocumentRule = CSSOM.CSSDocumentRule; -///CommonJS diff --git a/node_modules/jsdom/node_modules/cssom/lib/CSSFontFaceRule.js b/node_modules/jsdom/node_modules/cssom/lib/CSSFontFaceRule.js deleted file mode 100644 index 7a537fb..0000000 --- a/node_modules/jsdom/node_modules/cssom/lib/CSSFontFaceRule.js +++ /dev/null @@ -1,36 +0,0 @@ -//.CommonJS -var CSSOM = { - CSSStyleDeclaration: require("./CSSStyleDeclaration").CSSStyleDeclaration, - CSSRule: require("./CSSRule").CSSRule -}; -///CommonJS - - -/** - * @constructor - * @see http://dev.w3.org/csswg/cssom/#css-font-face-rule - */ -CSSOM.CSSFontFaceRule = function CSSFontFaceRule() { - CSSOM.CSSRule.call(this); - this.style = new CSSOM.CSSStyleDeclaration(); - this.style.parentRule = this; -}; - -CSSOM.CSSFontFaceRule.prototype = new CSSOM.CSSRule(); -CSSOM.CSSFontFaceRule.prototype.constructor = CSSOM.CSSFontFaceRule; -CSSOM.CSSFontFaceRule.prototype.type = 5; -//FIXME -//CSSOM.CSSFontFaceRule.prototype.insertRule = CSSStyleSheet.prototype.insertRule; -//CSSOM.CSSFontFaceRule.prototype.deleteRule = CSSStyleSheet.prototype.deleteRule; - -// http://www.opensource.apple.com/source/WebCore/WebCore-955.66.1/css/WebKitCSSFontFaceRule.cpp -Object.defineProperty(CSSOM.CSSFontFaceRule.prototype, "cssText", { - get: function() { - return "@font-face {" + this.style.cssText + "}"; - } -}); - - -//.CommonJS -exports.CSSFontFaceRule = CSSOM.CSSFontFaceRule; -///CommonJS diff --git a/node_modules/jsdom/node_modules/cssom/lib/CSSImportRule.js b/node_modules/jsdom/node_modules/cssom/lib/CSSImportRule.js deleted file mode 100644 index 0398105..0000000 --- a/node_modules/jsdom/node_modules/cssom/lib/CSSImportRule.js +++ /dev/null @@ -1,132 +0,0 @@ -//.CommonJS -var CSSOM = { - CSSRule: require("./CSSRule").CSSRule, - CSSStyleSheet: require("./CSSStyleSheet").CSSStyleSheet, - MediaList: require("./MediaList").MediaList -}; -///CommonJS - - -/** - * @constructor - * @see http://dev.w3.org/csswg/cssom/#cssimportrule - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule - */ -CSSOM.CSSImportRule = function CSSImportRule() { - CSSOM.CSSRule.call(this); - this.href = ""; - this.media = new CSSOM.MediaList(); - this.styleSheet = new CSSOM.CSSStyleSheet(); -}; - -CSSOM.CSSImportRule.prototype = new CSSOM.CSSRule(); -CSSOM.CSSImportRule.prototype.constructor = CSSOM.CSSImportRule; -CSSOM.CSSImportRule.prototype.type = 3; - -Object.defineProperty(CSSOM.CSSImportRule.prototype, "cssText", { - get: function() { - var mediaText = this.media.mediaText; - return "@import url(" + this.href + ")" + (mediaText ? " " + mediaText : "") + ";"; - }, - set: function(cssText) { - var i = 0; - - /** - * @import url(partial.css) screen, handheld; - * || | - * after-import media - * | - * url - */ - var state = ''; - - var buffer = ''; - var index; - for (var character; (character = cssText.charAt(i)); i++) { - - switch (character) { - case ' ': - case '\t': - case '\r': - case '\n': - case '\f': - if (state === 'after-import') { - state = 'url'; - } else { - buffer += character; - } - break; - - case '@': - if (!state && cssText.indexOf('@import', i) === i) { - state = 'after-import'; - i += 'import'.length; - buffer = ''; - } - break; - - case 'u': - if (state === 'url' && cssText.indexOf('url(', i) === i) { - index = cssText.indexOf(')', i + 1); - if (index === -1) { - throw i + ': ")" not found'; - } - i += 'url('.length; - var url = cssText.slice(i, index); - if (url[0] === url[url.length - 1]) { - if (url[0] === '"' || url[0] === "'") { - url = url.slice(1, -1); - } - } - this.href = url; - i = index; - state = 'media'; - } - break; - - case '"': - if (state === 'url') { - index = cssText.indexOf('"', i + 1); - if (!index) { - throw i + ": '\"' not found"; - } - this.href = cssText.slice(i + 1, index); - i = index; - state = 'media'; - } - break; - - case "'": - if (state === 'url') { - index = cssText.indexOf("'", i + 1); - if (!index) { - throw i + ': "\'" not found'; - } - this.href = cssText.slice(i + 1, index); - i = index; - state = 'media'; - } - break; - - case ';': - if (state === 'media') { - if (buffer) { - this.media.mediaText = buffer.trim(); - } - } - break; - - default: - if (state === 'media') { - buffer += character; - } - break; - } - } - } -}); - - -//.CommonJS -exports.CSSImportRule = CSSOM.CSSImportRule; -///CommonJS diff --git a/node_modules/jsdom/node_modules/cssom/lib/CSSKeyframeRule.js b/node_modules/jsdom/node_modules/cssom/lib/CSSKeyframeRule.js deleted file mode 100644 index c22f2f5..0000000 --- a/node_modules/jsdom/node_modules/cssom/lib/CSSKeyframeRule.js +++ /dev/null @@ -1,37 +0,0 @@ -//.CommonJS -var CSSOM = { - CSSRule: require("./CSSRule").CSSRule, - CSSStyleDeclaration: require('./CSSStyleDeclaration').CSSStyleDeclaration -}; -///CommonJS - - -/** - * @constructor - * @see http://www.w3.org/TR/css3-animations/#DOM-CSSKeyframeRule - */ -CSSOM.CSSKeyframeRule = function CSSKeyframeRule() { - CSSOM.CSSRule.call(this); - this.keyText = ''; - this.style = new CSSOM.CSSStyleDeclaration(); - this.style.parentRule = this; -}; - -CSSOM.CSSKeyframeRule.prototype = new CSSOM.CSSRule(); -CSSOM.CSSKeyframeRule.prototype.constructor = CSSOM.CSSKeyframeRule; -CSSOM.CSSKeyframeRule.prototype.type = 9; -//FIXME -//CSSOM.CSSKeyframeRule.prototype.insertRule = CSSStyleSheet.prototype.insertRule; -//CSSOM.CSSKeyframeRule.prototype.deleteRule = CSSStyleSheet.prototype.deleteRule; - -// http://www.opensource.apple.com/source/WebCore/WebCore-955.66.1/css/WebKitCSSKeyframeRule.cpp -Object.defineProperty(CSSOM.CSSKeyframeRule.prototype, "cssText", { - get: function() { - return this.keyText + " {" + this.style.cssText + "} "; - } -}); - - -//.CommonJS -exports.CSSKeyframeRule = CSSOM.CSSKeyframeRule; -///CommonJS diff --git a/node_modules/jsdom/node_modules/cssom/lib/CSSKeyframesRule.js b/node_modules/jsdom/node_modules/cssom/lib/CSSKeyframesRule.js deleted file mode 100644 index 7e42717..0000000 --- a/node_modules/jsdom/node_modules/cssom/lib/CSSKeyframesRule.js +++ /dev/null @@ -1,39 +0,0 @@ -//.CommonJS -var CSSOM = { - CSSRule: require("./CSSRule").CSSRule -}; -///CommonJS - - -/** - * @constructor - * @see http://www.w3.org/TR/css3-animations/#DOM-CSSKeyframesRule - */ -CSSOM.CSSKeyframesRule = function CSSKeyframesRule() { - CSSOM.CSSRule.call(this); - this.name = ''; - this.cssRules = []; -}; - -CSSOM.CSSKeyframesRule.prototype = new CSSOM.CSSRule(); -CSSOM.CSSKeyframesRule.prototype.constructor = CSSOM.CSSKeyframesRule; -CSSOM.CSSKeyframesRule.prototype.type = 8; -//FIXME -//CSSOM.CSSKeyframesRule.prototype.insertRule = CSSStyleSheet.prototype.insertRule; -//CSSOM.CSSKeyframesRule.prototype.deleteRule = CSSStyleSheet.prototype.deleteRule; - -// http://www.opensource.apple.com/source/WebCore/WebCore-955.66.1/css/WebKitCSSKeyframesRule.cpp -Object.defineProperty(CSSOM.CSSKeyframesRule.prototype, "cssText", { - get: function() { - var cssTexts = []; - for (var i=0, length=this.cssRules.length; i < length; i++) { - cssTexts.push(" " + this.cssRules[i].cssText); - } - return "@" + (this._vendorPrefix || '') + "keyframes " + this.name + " { \n" + cssTexts.join("\n") + "\n}"; - } -}); - - -//.CommonJS -exports.CSSKeyframesRule = CSSOM.CSSKeyframesRule; -///CommonJS diff --git a/node_modules/jsdom/node_modules/cssom/lib/CSSMediaRule.js b/node_modules/jsdom/node_modules/cssom/lib/CSSMediaRule.js deleted file mode 100644 index 367a35e..0000000 --- a/node_modules/jsdom/node_modules/cssom/lib/CSSMediaRule.js +++ /dev/null @@ -1,41 +0,0 @@ -//.CommonJS -var CSSOM = { - CSSRule: require("./CSSRule").CSSRule, - MediaList: require("./MediaList").MediaList -}; -///CommonJS - - -/** - * @constructor - * @see http://dev.w3.org/csswg/cssom/#cssmediarule - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule - */ -CSSOM.CSSMediaRule = function CSSMediaRule() { - CSSOM.CSSRule.call(this); - this.media = new CSSOM.MediaList(); - this.cssRules = []; -}; - -CSSOM.CSSMediaRule.prototype = new CSSOM.CSSRule(); -CSSOM.CSSMediaRule.prototype.constructor = CSSOM.CSSMediaRule; -CSSOM.CSSMediaRule.prototype.type = 4; -//FIXME -//CSSOM.CSSMediaRule.prototype.insertRule = CSSStyleSheet.prototype.insertRule; -//CSSOM.CSSMediaRule.prototype.deleteRule = CSSStyleSheet.prototype.deleteRule; - -// http://opensource.apple.com/source/WebCore/WebCore-658.28/css/CSSMediaRule.cpp -Object.defineProperty(CSSOM.CSSMediaRule.prototype, "cssText", { - get: function() { - var cssTexts = []; - for (var i=0, length=this.cssRules.length; i < length; i++) { - cssTexts.push(this.cssRules[i].cssText); - } - return "@media " + this.media.mediaText + " {" + cssTexts.join("") + "}"; - } -}); - - -//.CommonJS -exports.CSSMediaRule = CSSOM.CSSMediaRule; -///CommonJS diff --git a/node_modules/jsdom/node_modules/cssom/lib/CSSRule.js b/node_modules/jsdom/node_modules/cssom/lib/CSSRule.js deleted file mode 100644 index 0b5e25b..0000000 --- a/node_modules/jsdom/node_modules/cssom/lib/CSSRule.js +++ /dev/null @@ -1,43 +0,0 @@ -//.CommonJS -var CSSOM = {}; -///CommonJS - - -/** - * @constructor - * @see http://dev.w3.org/csswg/cssom/#the-cssrule-interface - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule - */ -CSSOM.CSSRule = function CSSRule() { - this.parentRule = null; - this.parentStyleSheet = null; -}; - -CSSOM.CSSRule.UNKNOWN_RULE = 0; // obsolete -CSSOM.CSSRule.STYLE_RULE = 1; -CSSOM.CSSRule.CHARSET_RULE = 2; // obsolete -CSSOM.CSSRule.IMPORT_RULE = 3; -CSSOM.CSSRule.MEDIA_RULE = 4; -CSSOM.CSSRule.FONT_FACE_RULE = 5; -CSSOM.CSSRule.PAGE_RULE = 6; -CSSOM.CSSRule.KEYFRAMES_RULE = 7; -CSSOM.CSSRule.KEYFRAME_RULE = 8; -CSSOM.CSSRule.MARGIN_RULE = 9; -CSSOM.CSSRule.NAMESPACE_RULE = 10; -CSSOM.CSSRule.COUNTER_STYLE_RULE = 11; -CSSOM.CSSRule.SUPPORTS_RULE = 12; -CSSOM.CSSRule.DOCUMENT_RULE = 13; -CSSOM.CSSRule.FONT_FEATURE_VALUES_RULE = 14; -CSSOM.CSSRule.VIEWPORT_RULE = 15; -CSSOM.CSSRule.REGION_STYLE_RULE = 16; - - -CSSOM.CSSRule.prototype = { - constructor: CSSOM.CSSRule - //FIXME -}; - - -//.CommonJS -exports.CSSRule = CSSOM.CSSRule; -///CommonJS diff --git a/node_modules/jsdom/node_modules/cssom/lib/CSSStyleDeclaration.js b/node_modules/jsdom/node_modules/cssom/lib/CSSStyleDeclaration.js deleted file mode 100644 index 55e024c..0000000 --- a/node_modules/jsdom/node_modules/cssom/lib/CSSStyleDeclaration.js +++ /dev/null @@ -1,148 +0,0 @@ -//.CommonJS -var CSSOM = {}; -///CommonJS - - -/** - * @constructor - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration - */ -CSSOM.CSSStyleDeclaration = function CSSStyleDeclaration(){ - this.length = 0; - this.parentRule = null; - - // NON-STANDARD - this._importants = {}; -}; - - -CSSOM.CSSStyleDeclaration.prototype = { - - constructor: CSSOM.CSSStyleDeclaration, - - /** - * - * @param {string} name - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyValue - * @return {string} the value of the property if it has been explicitly set for this declaration block. - * Returns the empty string if the property has not been set. - */ - getPropertyValue: function(name) { - return this[name] || ""; - }, - - /** - * - * @param {string} name - * @param {string} value - * @param {string} [priority=null] "important" or null - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-setProperty - */ - setProperty: function(name, value, priority) { - if (this[name]) { - // Property already exist. Overwrite it. - var index = Array.prototype.indexOf.call(this, name); - if (index < 0) { - this[this.length] = name; - this.length++; - } - } else { - // New property. - this[this.length] = name; - this.length++; - } - this[name] = value; - this._importants[name] = priority; - }, - - /** - * - * @param {string} name - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-removeProperty - * @return {string} the value of the property if it has been explicitly set for this declaration block. - * Returns the empty string if the property has not been set or the property name does not correspond to a known CSS property. - */ - removeProperty: function(name) { - if (!(name in this)) { - return ""; - } - var index = Array.prototype.indexOf.call(this, name); - if (index < 0) { - return ""; - } - var prevValue = this[name]; - this[name] = ""; - - // That's what WebKit and Opera do - Array.prototype.splice.call(this, index, 1); - - // That's what Firefox does - //this[index] = "" - - return prevValue; - }, - - getPropertyCSSValue: function() { - //FIXME - }, - - /** - * - * @param {String} name - */ - getPropertyPriority: function(name) { - return this._importants[name] || ""; - }, - - - /** - * element.style.overflow = "auto" - * element.style.getPropertyShorthand("overflow-x") - * -> "overflow" - */ - getPropertyShorthand: function() { - //FIXME - }, - - isPropertyImplicit: function() { - //FIXME - }, - - // Doesn't work in IE < 9 - get cssText(){ - var properties = []; - for (var i=0, length=this.length; i < length; ++i) { - var name = this[i]; - var value = this.getPropertyValue(name); - var priority = this.getPropertyPriority(name); - if (priority) { - priority = " !" + priority; - } - properties[i] = name + ": " + value + priority + ";"; - } - return properties.join(" "); - }, - - set cssText(text){ - var i, name; - for (i = this.length; i--;) { - name = this[i]; - this[name] = ""; - } - Array.prototype.splice.call(this, 0, this.length); - this._importants = {}; - - var dummyRule = CSSOM.parse('#bogus{' + text + '}').cssRules[0].style; - var length = dummyRule.length; - for (i = 0; i < length; ++i) { - name = dummyRule[i]; - this.setProperty(dummyRule[i], dummyRule.getPropertyValue(name), dummyRule.getPropertyPriority(name)); - } - } -}; - - -//.CommonJS -exports.CSSStyleDeclaration = CSSOM.CSSStyleDeclaration; -CSSOM.parse = require('./parse').parse; // Cannot be included sooner due to the mutual dependency between parse.js and CSSStyleDeclaration.js -///CommonJS diff --git a/node_modules/jsdom/node_modules/cssom/lib/CSSStyleRule.js b/node_modules/jsdom/node_modules/cssom/lib/CSSStyleRule.js deleted file mode 100644 index 630b3f8..0000000 --- a/node_modules/jsdom/node_modules/cssom/lib/CSSStyleRule.js +++ /dev/null @@ -1,190 +0,0 @@ -//.CommonJS -var CSSOM = { - CSSStyleDeclaration: require("./CSSStyleDeclaration").CSSStyleDeclaration, - CSSRule: require("./CSSRule").CSSRule -}; -///CommonJS - - -/** - * @constructor - * @see http://dev.w3.org/csswg/cssom/#cssstylerule - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule - */ -CSSOM.CSSStyleRule = function CSSStyleRule() { - CSSOM.CSSRule.call(this); - this.selectorText = ""; - this.style = new CSSOM.CSSStyleDeclaration(); - this.style.parentRule = this; -}; - -CSSOM.CSSStyleRule.prototype = new CSSOM.CSSRule(); -CSSOM.CSSStyleRule.prototype.constructor = CSSOM.CSSStyleRule; -CSSOM.CSSStyleRule.prototype.type = 1; - -Object.defineProperty(CSSOM.CSSStyleRule.prototype, "cssText", { - get: function() { - var text; - if (this.selectorText) { - text = this.selectorText + " {" + this.style.cssText + "}"; - } else { - text = ""; - } - return text; - }, - set: function(cssText) { - var rule = CSSOM.CSSStyleRule.parse(cssText); - this.style = rule.style; - this.selectorText = rule.selectorText; - } -}); - - -/** - * NON-STANDARD - * lightweight version of parse.js. - * @param {string} ruleText - * @return CSSStyleRule - */ -CSSOM.CSSStyleRule.parse = function(ruleText) { - var i = 0; - var state = "selector"; - var index; - var j = i; - var buffer = ""; - - var SIGNIFICANT_WHITESPACE = { - "selector": true, - "value": true - }; - - var styleRule = new CSSOM.CSSStyleRule(); - var name, priority=""; - - for (var character; (character = ruleText.charAt(i)); i++) { - - switch (character) { - - case " ": - case "\t": - case "\r": - case "\n": - case "\f": - if (SIGNIFICANT_WHITESPACE[state]) { - // Squash 2 or more white-spaces in the row into 1 - switch (ruleText.charAt(i - 1)) { - case " ": - case "\t": - case "\r": - case "\n": - case "\f": - break; - default: - buffer += " "; - break; - } - } - break; - - // String - case '"': - j = i + 1; - index = ruleText.indexOf('"', j) + 1; - if (!index) { - throw '" is missing'; - } - buffer += ruleText.slice(i, index); - i = index - 1; - break; - - case "'": - j = i + 1; - index = ruleText.indexOf("'", j) + 1; - if (!index) { - throw "' is missing"; - } - buffer += ruleText.slice(i, index); - i = index - 1; - break; - - // Comment - case "/": - if (ruleText.charAt(i + 1) === "*") { - i += 2; - index = ruleText.indexOf("*/", i); - if (index === -1) { - throw new SyntaxError("Missing */"); - } else { - i = index + 1; - } - } else { - buffer += character; - } - break; - - case "{": - if (state === "selector") { - styleRule.selectorText = buffer.trim(); - buffer = ""; - state = "name"; - } - break; - - case ":": - if (state === "name") { - name = buffer.trim(); - buffer = ""; - state = "value"; - } else { - buffer += character; - } - break; - - case "!": - if (state === "value" && ruleText.indexOf("!important", i) === i) { - priority = "important"; - i += "important".length; - } else { - buffer += character; - } - break; - - case ";": - if (state === "value") { - styleRule.style.setProperty(name, buffer.trim(), priority); - priority = ""; - buffer = ""; - state = "name"; - } else { - buffer += character; - } - break; - - case "}": - if (state === "value") { - styleRule.style.setProperty(name, buffer.trim(), priority); - priority = ""; - buffer = ""; - } else if (state === "name") { - break; - } else { - buffer += character; - } - state = "selector"; - break; - - default: - buffer += character; - break; - - } - } - - return styleRule; - -}; - - -//.CommonJS -exports.CSSStyleRule = CSSOM.CSSStyleRule; -///CommonJS diff --git a/node_modules/jsdom/node_modules/cssom/lib/CSSStyleSheet.js b/node_modules/jsdom/node_modules/cssom/lib/CSSStyleSheet.js deleted file mode 100644 index f0e0dfc..0000000 --- a/node_modules/jsdom/node_modules/cssom/lib/CSSStyleSheet.js +++ /dev/null @@ -1,88 +0,0 @@ -//.CommonJS -var CSSOM = { - StyleSheet: require("./StyleSheet").StyleSheet, - CSSStyleRule: require("./CSSStyleRule").CSSStyleRule -}; -///CommonJS - - -/** - * @constructor - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet - */ -CSSOM.CSSStyleSheet = function CSSStyleSheet() { - CSSOM.StyleSheet.call(this); - this.cssRules = []; -}; - - -CSSOM.CSSStyleSheet.prototype = new CSSOM.StyleSheet(); -CSSOM.CSSStyleSheet.prototype.constructor = CSSOM.CSSStyleSheet; - - -/** - * Used to insert a new rule into the style sheet. The new rule now becomes part of the cascade. - * - * sheet = new Sheet("body {margin: 0}") - * sheet.toString() - * -> "body{margin:0;}" - * sheet.insertRule("img {border: none}", 0) - * -> 0 - * sheet.toString() - * -> "img{border:none;}body{margin:0;}" - * - * @param {string} rule - * @param {number} index - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-insertRule - * @return {number} The index within the style sheet's rule collection of the newly inserted rule. - */ -CSSOM.CSSStyleSheet.prototype.insertRule = function(rule, index) { - if (index < 0 || index > this.cssRules.length) { - throw new RangeError("INDEX_SIZE_ERR"); - } - var cssRule = CSSOM.parse(rule).cssRules[0]; - cssRule.parentStyleSheet = this; - this.cssRules.splice(index, 0, cssRule); - return index; -}; - - -/** - * Used to delete a rule from the style sheet. - * - * sheet = new Sheet("img{border:none} body{margin:0}") - * sheet.toString() - * -> "img{border:none;}body{margin:0;}" - * sheet.deleteRule(0) - * sheet.toString() - * -> "body{margin:0;}" - * - * @param {number} index within the style sheet's rule list of the rule to remove. - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-deleteRule - */ -CSSOM.CSSStyleSheet.prototype.deleteRule = function(index) { - if (index < 0 || index >= this.cssRules.length) { - throw new RangeError("INDEX_SIZE_ERR"); - } - this.cssRules.splice(index, 1); -}; - - -/** - * NON-STANDARD - * @return {string} serialize stylesheet - */ -CSSOM.CSSStyleSheet.prototype.toString = function() { - var result = ""; - var rules = this.cssRules; - for (var i=0; i 1000 ? '1000px' : 'auto'); - * } - */ -CSSOM.CSSValueExpression.prototype.parse = function() { - var token = this._token, - idx = this._idx; - - var character = '', - expression = '', - error = '', - info, - paren = []; - - - for (; ; ++idx) { - character = token.charAt(idx); - - // end of token - if (character === '') { - error = 'css expression error: unfinished expression!'; - break; - } - - switch(character) { - case '(': - paren.push(character); - expression += character; - break; - - case ')': - paren.pop(character); - expression += character; - break; - - case '/': - if ((info = this._parseJSComment(token, idx))) { // comment? - if (info.error) { - error = 'css expression error: unfinished comment in expression!'; - } else { - idx = info.idx; - // ignore the comment - } - } else if ((info = this._parseJSRexExp(token, idx))) { // regexp - idx = info.idx; - expression += info.text; - } else { // other - expression += character; - } - break; - - case "'": - case '"': - info = this._parseJSString(token, idx, character); - if (info) { // string - idx = info.idx; - expression += info.text; - } else { - expression += character; - } - break; - - default: - expression += character; - break; - } - - if (error) { - break; - } - - // end of expression - if (paren.length === 0) { - break; - } - } - - var ret; - if (error) { - ret = { - error: error - }; - } else { - ret = { - idx: idx, - expression: expression - }; - } - - return ret; -}; - - -/** - * - * @return {Object|false} - * - idx: - * - text: - * or - * - error: - * or - * false - * - */ -CSSOM.CSSValueExpression.prototype._parseJSComment = function(token, idx) { - var nextChar = token.charAt(idx + 1), - text; - - if (nextChar === '/' || nextChar === '*') { - var startIdx = idx, - endIdx, - commentEndChar; - - if (nextChar === '/') { // line comment - commentEndChar = '\n'; - } else if (nextChar === '*') { // block comment - commentEndChar = '*/'; - } - - endIdx = token.indexOf(commentEndChar, startIdx + 1 + 1); - if (endIdx !== -1) { - endIdx = endIdx + commentEndChar.length - 1; - text = token.substring(idx, endIdx + 1); - return { - idx: endIdx, - text: text - }; - } else { - var error = 'css expression error: unfinished comment in expression!'; - return { - error: error - }; - } - } else { - return false; - } -}; - - -/** - * - * @return {Object|false} - * - idx: - * - text: - * or - * false - * - */ -CSSOM.CSSValueExpression.prototype._parseJSString = function(token, idx, sep) { - var endIdx = this._findMatchedIdx(token, idx, sep), - text; - - if (endIdx === -1) { - return false; - } else { - text = token.substring(idx, endIdx + sep.length); - - return { - idx: endIdx, - text: text - }; - } -}; - - -/** - * parse regexp in css expression - * - * @return {Object|false} - * - idx: - * - regExp: - * or - * false - */ - -/* - -all legal RegExp - -/a/ -(/a/) -[/a/] -[12, /a/] - -!/a/ - -+/a/ --/a/ -* /a/ -/ /a/ -%/a/ - -===/a/ -!==/a/ -==/a/ -!=/a/ ->/a/ ->=/a/ ->/a/ ->>>/a/ - -&&/a/ -||/a/ -?/a/ -=/a/ -,/a/ - - delete /a/ - in /a/ -instanceof /a/ - new /a/ - typeof /a/ - void /a/ - -*/ -CSSOM.CSSValueExpression.prototype._parseJSRexExp = function(token, idx) { - var before = token.substring(0, idx).replace(/\s+$/, ""), - legalRegx = [ - /^$/, - /\($/, - /\[$/, - /\!$/, - /\+$/, - /\-$/, - /\*$/, - /\/\s+/, - /\%$/, - /\=$/, - /\>$/, - /<$/, - /\&$/, - /\|$/, - /\^$/, - /\~$/, - /\?$/, - /\,$/, - /delete$/, - /in$/, - /instanceof$/, - /new$/, - /typeof$/, - /void$/ - ]; - - var isLegal = legalRegx.some(function(reg) { - return reg.test(before); - }); - - if (!isLegal) { - return false; - } else { - var sep = '/'; - - // same logic as string - return this._parseJSString(token, idx, sep); - } -}; - - -/** - * - * find next sep(same line) index in `token` - * - * @return {Number} - * - */ -CSSOM.CSSValueExpression.prototype._findMatchedIdx = function(token, idx, sep) { - var startIdx = idx, - endIdx; - - var NOT_FOUND = -1; - - while(true) { - endIdx = token.indexOf(sep, startIdx + 1); - - if (endIdx === -1) { // not found - endIdx = NOT_FOUND; - break; - } else { - var text = token.substring(idx + 1, endIdx), - matched = text.match(/\\+$/); - if (!matched || matched[0] % 2 === 0) { // not escaped - break; - } else { - startIdx = endIdx; - } - } - } - - // boundary must be in the same line(js sting or regexp) - var nextNewLineIdx = token.indexOf('\n', idx + 1); - if (nextNewLineIdx < endIdx) { - endIdx = NOT_FOUND; - } - - - return endIdx; -}; - - - - -//.CommonJS -exports.CSSValueExpression = CSSOM.CSSValueExpression; -///CommonJS diff --git a/node_modules/jsdom/node_modules/cssom/lib/MatcherList.js b/node_modules/jsdom/node_modules/cssom/lib/MatcherList.js deleted file mode 100644 index a791585..0000000 --- a/node_modules/jsdom/node_modules/cssom/lib/MatcherList.js +++ /dev/null @@ -1,62 +0,0 @@ -//.CommonJS -var CSSOM = {}; -///CommonJS - - -/** - * @constructor - * @see https://developer.mozilla.org/en/CSS/@-moz-document - */ -CSSOM.MatcherList = function MatcherList(){ - this.length = 0; -}; - -CSSOM.MatcherList.prototype = { - - constructor: CSSOM.MatcherList, - - /** - * @return {string} - */ - get matcherText() { - return Array.prototype.join.call(this, ", "); - }, - - /** - * @param {string} value - */ - set matcherText(value) { - // just a temporary solution, actually it may be wrong by just split the value with ',', because a url can include ','. - var values = value.split(","); - var length = this.length = values.length; - for (var i=0; i=0.3.0 <0.4.0", - "_npmVersion": "3.3.12", - "_nodeVersion": "5.3.0", - "_npmUser": { - "name": "domenic", - "email": "d@domenic.me" - }, - "dist": { - "shasum": "c9e37ef2490e64f6d1baa10fda852257082c25d3", - "tarball": "https://registry.npmjs.org/cssom/-/cssom-0.3.1.tgz" - }, - "maintainers": [ - { - "name": "nv", - "email": "me@elv1s.ru" - }, - { - "name": "domenic", - "email": "domenic@domenicdenicola.com" - } - ], - "directories": {}, - "_resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.1.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/cssstyle/.npmignore b/node_modules/jsdom/node_modules/cssstyle/.npmignore deleted file mode 100644 index 2d51347..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_module diff --git a/node_modules/jsdom/node_modules/cssstyle/MIT-LICENSE.txt b/node_modules/jsdom/node_modules/cssstyle/MIT-LICENSE.txt deleted file mode 100644 index 060a7e6..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/MIT-LICENSE.txt +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) Chad Walker - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/jsdom/node_modules/cssstyle/README.md b/node_modules/jsdom/node_modules/cssstyle/README.md deleted file mode 100644 index 80f3365..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/README.md +++ /dev/null @@ -1,27 +0,0 @@ -CSSStyleDeclaration -=================== - -CSSStyleDeclaration is a work-a-like to the CSSStyleDeclaration class in Nikita Vasilyev's [CSSOM](https://github.com/NV/CSSOM). I made it so that when using [jQuery in node](https://github.com/tmtk75/node-jquery) setting css attributes via $.fn.css() would work. node-jquery uses [jsdom](https://github.com/tmpvar/jsdom) to create a DOM to use in node. jsdom uses CSSOM for styling, and CSSOM's implementation of the [CSSStyleDeclaration](http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration) doesn't support [CSS2Properties](http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSS2Properties), which is how jQuery's [$.fn.css()](http://api.jquery.com/css/) operates. - - -Why not just issue a pull request? ----- -Well, NV wants to keep CSSOM fast (which I can appreciate) and CSS2Properties aren't required by the standard (though every browser has the interface). So I figured the path of least resistence would be to just modify this one class, publish it as a node module (that requires CSSOM) and then make a pull request of jsdom to use it. - -How do I test this code? ---- -`npm test` should do the trick, assuming you have the dev dependencies installed: -> ``` -> $ npm test -> -> tests -> ✔ Verify Has Properties -> ✔ Verify Has Functions -> ✔ Verify Has Special Properties -> ✔ Test From Style String -> ✔ Test From Properties -> ✔ Test Shorthand Properties -> ✔ Test width and height Properties and null and empty strings -> ✔ Test Implicit Properties -> ``` - diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/CSSStyleDeclaration.js b/node_modules/jsdom/node_modules/cssstyle/lib/CSSStyleDeclaration.js deleted file mode 100644 index 4f2049e..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/CSSStyleDeclaration.js +++ /dev/null @@ -1,233 +0,0 @@ -/********************************************************************* - * This is a fork from the CSS Style Declaration part of - * https://github.com/NV/CSSOM - ********************************************************************/ -"use strict"; -var CSSOM = require('cssom'); -var fs = require('fs'); -var path = require('path'); - -var camelToDashed = require('./parsers').camelToDashed; -var dashedToCamelCase = require('./parsers').dashedToCamelCase; - -/** - * @constructor - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration - */ -var CSSStyleDeclaration = function CSSStyleDeclaration(onChangeCallback) { - this._values = {}; - this._importants = {}; - this._length = 0; - this._onChange = onChangeCallback || function () { return; }; -}; -CSSStyleDeclaration.prototype = { - constructor: CSSStyleDeclaration, - - /** - * - * @param {string} name - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyValue - * @return {string} the value of the property if it has been explicitly set for this declaration block. - * Returns the empty string if the property has not been set. - */ - getPropertyValue: function (name) { - if (!this._values.hasOwnProperty(name)) { - return ""; - } - return this._values[name].toString(); - }, - - /** - * - * @param {string} name - * @param {string} value - * @param {string} [priority=null] "important" or null - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-setProperty - */ - setProperty: function (name, value, priority) { - if (value === undefined) { - return; - } - if (value === null || value === '') { - this.removeProperty(name); - return; - } - var camel_case = dashedToCamelCase(name); - this[camel_case] = value; - this._importants[name] = priority; - }, - _setProperty: function (name, value, priority) { - if (value === undefined) { - return; - } - if (value === null || value === '') { - this.removeProperty(name); - return; - } - if (this._values[name]) { - // Property already exist. Overwrite it. - var index = Array.prototype.indexOf.call(this, name); - if (index < 0) { - this[this._length] = name; - this._length++; - } - } else { - // New property. - this[this._length] = name; - this._length++; - } - this._values[name] = value; - this._importants[name] = priority; - this._onChange(this.cssText); - }, - - /** - * - * @param {string} name - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-removeProperty - * @return {string} the value of the property if it has been explicitly set for this declaration block. - * Returns the empty string if the property has not been set or the property name does not correspond to a known CSS property. - */ - removeProperty: function (name) { - if (!this._values.hasOwnProperty(name)) { - return ""; - } - - var prevValue = this._values[name]; - delete this._values[name]; - delete this._importants[name]; - - var index = Array.prototype.indexOf.call(this, name); - if (index < 0) { - return prevValue; - } - - // That's what WebKit and Opera do - Array.prototype.splice.call(this, index, 1); - - // That's what Firefox does - //this[index] = "" - - this._onChange(this.cssText); - return prevValue; - }, - - - /** - * - * @param {String} name - */ - getPropertyPriority: function (name) { - return this._importants[name] || ""; - }, - - - getPropertyCSSValue: function () { - //FIXME - return; - }, - - /** - * element.style.overflow = "auto" - * element.style.getPropertyShorthand("overflow-x") - * -> "overflow" - */ - getPropertyShorthand: function () { - //FIXME - return; - }, - - isPropertyImplicit: function () { - //FIXME - return; - }, - - /** - * http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-item - */ - item: function (index) { - index = parseInt(index, 10); - if (index < 0 || index >= this._length) { - return ''; - } - return this[index]; - } -}; - -Object.defineProperties(CSSStyleDeclaration.prototype, { - cssText: { - get: function () { - var properties = []; - var i; - var name; - var value; - var priority; - for (i = 0; i < this._length; i++) { - name = this[i]; - value = this.getPropertyValue(name); - priority = this.getPropertyPriority(name); - if (priority !== '') { - priority = " !" + priority; - } - properties.push([name, ': ', value, priority, ';'].join('')); - } - return properties.join(' '); - }, - set: function (value) { - var i; - this._values = {}; - Array.prototype.splice.call(this, 0, this._length); - this._importants = {}; - var dummyRule; - try { - dummyRule = CSSOM.parse('#bogus{' + value + '}').cssRules[0].style; - } catch (err) { - // malformed css, just return - return; - } - var rule_length = dummyRule.length; - var name; - for (i = 0; i < rule_length; ++i) { - name = dummyRule[i]; - this.setProperty(dummyRule[i], dummyRule.getPropertyValue(name), dummyRule.getPropertyPriority(name)); - } - this._onChange(this.cssText); - }, - enumerable: true, - configurable: true - }, - parentRule: { - get: function () { return null; }, - enumerable: true, - configurable: true - }, - length: { - get: function () { return this._length; }, - /** - * This deletes indices if the new length is less then the current - * length. If the new length is more, it does nothing, the new indices - * will be undefined until set. - **/ - set: function (value) { - var i; - for (i = value; i < this._length; i++) { - delete this[i]; - } - this._length = value; - }, - enumerable: true, - configurable: true - }, - 'float': { - get: function () { return this.cssFloat; }, - set: function (value) { - this.cssFloat = value; - }, - enumerable: true, - configurable: true - } -}); - -require('./properties')(CSSStyleDeclaration.prototype); - -exports.CSSStyleDeclaration = CSSStyleDeclaration; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/parsers.js b/node_modules/jsdom/node_modules/cssstyle/lib/parsers.js deleted file mode 100644 index c5d6bdd..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/parsers.js +++ /dev/null @@ -1,670 +0,0 @@ -/********************************************************************* - * These are commonly used parsers for CSS Values they take a string * - * to parse and return a string after it's been converted, if needed * - ********************************************************************/ -'use strict'; - -exports.TYPES = { - INTEGER: 1, - NUMBER: 2, - LENGTH: 3, - PERCENT: 4, - URL: 5, - COLOR: 6, - STRING: 7, - ANGLE: 8, - KEYWORD: 9, - NULL_OR_EMPTY_STR: 10 -}; - -/*jslint regexp: true*/ -// rough regular expressions -var integerRegEx = /^[\-+]?[0-9]+$/; -var numberRegEx = /^[\-+]?[0-9]*\.[0-9]+$/; -var lengthRegEx = /^(0|[\-+]?[0-9]*\.?[0-9]+(in|cm|em|mm|pt|pc|px))$/; -var percentRegEx = /^[\-+]?[0-9]*\.?[0-9]+%$/; -var urlRegEx = /^url\(\s*([^\)]*)\s*\)$/; -var stringRegEx = /^(\"[^\"]*\"|\'[^\']*\')$/; -var colorRegEx1 = /^#[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]([0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])?$/; -var colorRegEx2 = /^rgb\(([^\)]*)\)$/; -var colorRegEx3 = /^rgba\(([^\)]*)\)$/; -var angleRegEx = /^([\-+]?[0-9]*\.?[0-9]+)(deg|grad|rad)$/; -/*jslint regexp: false*/ - -// This will return one of the above types based on the passed in string -exports.valueType = function valueType(val) { - if (val === '' || val === null) { - return exports.TYPES.NULL_OR_EMPTY_STR; - } - if (typeof val === 'number') { - val = val.toString(); - } - - if (typeof val !== 'string') { - return undefined; - } - - if (integerRegEx.test(val)) { - return exports.TYPES.INTEGER; - } - if (numberRegEx.test(val)) { - return exports.TYPES.NUMBER; - } - if (lengthRegEx.test(val)) { - return exports.TYPES.LENGTH; - } - if (percentRegEx.test(val)) { - return exports.TYPES.PERCENT; - } - if (urlRegEx.test(val)) { - return exports.TYPES.URL; - } - if (stringRegEx.test(val)) { - return exports.TYPES.STRING; - } - if (angleRegEx.test(val)) { - return exports.TYPES.ANGLE; - } - if (colorRegEx1.test(val)) { - return exports.TYPES.COLOR; - } - var res = colorRegEx2.exec(val); - var parts; - if (res !== null) { - parts = res[1].split(/\s*,\s*/); - if (parts.length !== 3) { - return undefined; - } - if (parts.every(percentRegEx.test.bind(percentRegEx)) || parts.every(integerRegEx.test.bind(integerRegEx))) { - return exports.TYPES.COLOR; - } - return undefined; - } - res = colorRegEx3.exec(val); - if (res !== null) { - parts = res[1].split(/\s*,\s*/); - if (parts.length !== 4) { - return undefined; - } - if (parts.slice(0, 3).every(percentRegEx.test.bind(percentRegEx)) || parts.every(integerRegEx.test.bind(integerRegEx))) { - if (numberRegEx.test(parts[3])) { - return exports.TYPES.COLOR; - } - } - return undefined; - } - - // could still be a color, one of the standard keyword colors - val = val.toLowerCase(); - switch (val) { - case 'maroon': - case 'red': - case 'orange': - case 'yellow': - case 'olive': - case 'purple': - case 'fuchsia': - case 'white': - case 'lime': - case 'green': - case 'navy': - case 'blue': - case 'aqua': - case 'teal': - case 'black': - case 'silver': - case 'gray': - // the following are deprecated in CSS3 - case 'activeborder': - case 'activecaption': - case 'appworkspace': - case 'background': - case 'buttonface': - case 'buttonhighlight': - case 'buttonshadow': - case 'buttontext': - case 'captiontext': - case 'graytext': - case 'highlight': - case 'highlighttext': - case 'inactiveborder': - case 'inactivecaption': - case 'inactivecaptiontext': - case 'infobackground': - case 'infotext': - case 'menu': - case 'menutext': - case 'scrollbar': - case 'threeddarkshadow': - case 'threedface': - case 'threedhighlight': - case 'threedlightshadow': - case 'threedshadow': - case 'window': - case 'windowframe': - case 'windowtext': - return exports.TYPES.COLOR; - default: - return exports.TYPES.KEYWORD; - } -}; - -exports.parseInteger = function parseInteger(val) { - var type = exports.valueType(val); - if (type === exports.TYPES.NULL_OR_EMPTY_STR) { - return val; - } - if (type !== exports.TYPES.INTEGER) { - return undefined; - } - return String(parseInt(val, 10)); -}; - -exports.parseNumber = function parseNumber(val) { - var type = exports.valueType(val); - if (type === exports.TYPES.NULL_OR_EMPTY_STR) { - return val; - } - if (type !== exports.TYPES.NUMBER && type !== exports.TYPES.INTEGER) { - return undefined; - } - return String(parseFloat(val)); -}; - -exports.parseLength = function parseLength(val) { - if (val === 0 || val === '0') { - return '0px'; - } - var type = exports.valueType(val); - if (type === exports.TYPES.NULL_OR_EMPTY_STR) { - return val; - } - if (type !== exports.TYPES.LENGTH) { - return undefined; - } - return val; -}; - -exports.parsePercent = function parsePercent(val) { - if (val === 0 || val === '0') { - return '0%'; - } - var type = exports.valueType(val); - if (type === exports.TYPES.NULL_OR_EMPTY_STR) { - return val; - } - if (type !== exports.TYPES.PERCENT) { - return undefined; - } - return val; -}; - -// either a length or a percent -exports.parseMeasurement = function parseMeasurement(val) { - var length = exports.parseLength(val); - if (length !== undefined) { - return length; - } - return exports.parsePercent(val); -}; - -exports.parseUrl = function parseUrl(val) { - var type = exports.valueType(val); - if (type === exports.TYPES.NULL_OR_EMPTY_STR) { - return val; - } - var res = urlRegEx.exec(val); - // does it match the regex? - if (!res) { - return undefined; - } - var str = res[1]; - // if it starts with single or double quotes, does it end with the same? - if ((str[0] === '"' || str[0] === "'") && str[0] !== str[str.length - 1]) { - return undefined; - } - if (str[0] === '"' || str[0] === "'") { - str = str.substr(1, str.length - 2); - } - - var i; - for (i = 0; i < str.length; i++) { - switch (str[i]) { - case '(': - case ')': - case ' ': - case '\t': - case '\n': - case "'": - case '"': - return undefined; - case '\\': - i++; - break; - } - } - - return 'url(' + str + ')'; -}; - -exports.parseString = function parseString(val) { - var type = exports.valueType(val); - if (type === exports.TYPES.NULL_OR_EMPTY_STR) { - return val; - } - if (type !== exports.TYPES.STRING) { - return undefined; - } - var i; - for (i = 1; i < val.length - 1; i++) { - switch (val[i]) { - case val[0]: - return undefined; - case '\\': - i++; - while (i < val.length - 1 && /[0-9A-Fa-f]/.test(val[i])) { - i++; - } - break; - } - } - if (i >= val.length) { - return undefined; - } - return val; -}; - -exports.parseColor = function parseColor(val) { - var type = exports.valueType(val); - if (type === exports.TYPES.NULL_OR_EMPTY_STR) { - return val; - } - var red, green, blue, alpha = 1; - var parts; - var res = colorRegEx1.exec(val); - // is it #aaa or #ababab - if (res) { - var hex = val.substr(1); - if (hex.length === 3) { - hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2]; - } - red = parseInt(hex.substr(0, 2), 16); - green = parseInt(hex.substr(2, 2), 16); - blue = parseInt(hex.substr(4, 2), 16); - return 'rgb(' + red + ', ' + green + ', ' + blue + ')'; - } - - res = colorRegEx2.exec(val); - if (res) { - parts = res[1].split(/\s*,\s*/); - if (parts.length !== 3) { - return undefined; - } - if (parts.every(percentRegEx.test.bind(percentRegEx))) { - red = Math.floor(parseFloat(parts[0].slice(0, -1)) * 255 / 100); - green = Math.floor(parseFloat(parts[1].slice(0, -1)) * 255 / 100); - blue = Math.floor(parseFloat(parts[2].slice(0, -1)) * 255 / 100); - } else if (parts.every(integerRegEx.test.bind(integerRegEx))) { - red = parseInt(parts[0], 10); - green = parseInt(parts[1], 10); - blue = parseInt(parts[2], 10); - } else { - return undefined; - } - red = Math.min(255, Math.max(0, red)); - green = Math.min(255, Math.max(0, green)); - blue = Math.min(255, Math.max(0, blue)); - return 'rgb(' + red + ', ' + green + ', ' + blue + ')'; - } - - res = colorRegEx3.exec(val); - if (res) { - parts = res[1].split(/\s*,\s*/); - if (parts.length !== 4) { - return undefined; - } - if (parts.slice(0, 3).every(percentRegEx.test.bind(percentRegEx))) { - red = Math.floor(parseFloat(parts[0].slice(0, -1)) * 255 / 100); - green = Math.floor(parseFloat(parts[1].slice(0, -1)) * 255 / 100); - blue = Math.floor(parseFloat(parts[2].slice(0, -1)) * 255 / 100); - alpha = parseFloat(parts[3]); - } else if (parts.slice(0, 3).every(integerRegEx.test.bind(integerRegEx))) { - red = parseInt(parts[0], 10); - green = parseInt(parts[1], 10); - blue = parseInt(parts[2], 10); - alpha = parseFloat(parts[3]); - } else { - return undefined; - } - if (isNaN(alpha)) { - alpha = 1; - } - red = Math.min(255, Math.max(0, red)); - green = Math.min(255, Math.max(0, green)); - blue = Math.min(255, Math.max(0, blue)); - alpha = Math.min(1, Math.max(0, alpha)); - if (alpha === 1) { - return 'rgb(' + red + ', ' + green + ', ' + blue + ')'; - } - return 'rgba(' + red + ', ' + green + ', ' + blue + ', ' + alpha + ')'; - } - - if (type === exports.TYPES.COLOR) { - return val; - } - return undefined; -}; - -exports.parseAngle = function parseAngle(val) { - var type = exports.valueType(val); - if (type === exports.TYPES.NULL_OR_EMPTY_STR) { - return val; - } - if (type !== exports.TYPES.ANGLE) { - return undefined; - } - var res = angleRegEx.exec(val); - var flt = parseFloat(res[1]); - if (res[2] === 'rad') { - flt *= 180 / Math.PI; - } else if (res[2] === 'grad') { - flt *= 360 / 400; - } - - while (flt < 0) { - flt += 360; - } - while (flt > 360) { - flt -= 360; - } - return flt + 'deg'; -}; - -exports.parseKeyword = function parseKeyword(val, valid_keywords) { - var type = exports.valueType(val); - if (type === exports.TYPES.NULL_OR_EMPTY_STR) { - return val; - } - if (type !== exports.TYPES.KEYWORD) { - return undefined; - } - val = val.toString().toLowerCase(); - var i; - for (i = 0; i < valid_keywords.length; i++) { - if (valid_keywords[i].toLowerCase() === val) { - return valid_keywords[i]; - } - } - return undefined; -}; - -// utility to translate from border-width to borderWidth -var dashedToCamelCase = function (dashed) { - var i; - var camel = ''; - var nextCap = false; - for (i = 0; i < dashed.length; i++) { - if (dashed[i] !== '-') { - camel += nextCap ? dashed[i].toUpperCase() : dashed[i]; - nextCap = false; - } else { - nextCap = true; - } - } - return camel; -}; -exports.dashedToCamelCase = dashedToCamelCase; - -var is_space = /\s/; -var opening_deliminators = ['"', '\'', '(']; -var closing_deliminators = ['"', '\'', ')']; -// this splits on whitespace, but keeps quoted and parened parts together -var getParts = function (str) { - var deliminator_stack = []; - var length = str.length; - var i; - var parts = []; - var current_part = ''; - var opening_index; - var closing_index; - for (i = 0; i < length; i++) { - opening_index = opening_deliminators.indexOf(str[i]); - closing_index = closing_deliminators.indexOf(str[i]); - if (is_space.test(str[i])) { - if (deliminator_stack.length === 0) { - if (current_part !== '') { - parts.push(current_part); - } - current_part = ''; - } else { - current_part += str[i]; - } - } else { - if (str[i] === '\\') { - i++; - current_part += str[i]; - } else { - current_part += str[i]; - if (closing_index !== -1 && closing_index === deliminator_stack[deliminator_stack.length - 1]) { - deliminator_stack.pop(); - } else if (opening_index !== -1) { - deliminator_stack.push(opening_index); - } - } - } - } - if (current_part !== '') { - parts.push(current_part); - } - return parts; -}; - -/* - * this either returns undefined meaning that it isn't valid - * or returns an object where the keys are dashed short - * hand properties and the values are the values to set - * on them - */ -exports.shorthandParser = function parse(v, shorthand_for) { - var obj = {}; - var type = exports.valueType(v); - if (type === exports.TYPES.NULL_OR_EMPTY_STR) { - Object.keys(shorthand_for).forEach(function (property) { - obj[property] = ''; - }); - return obj; - } - - if (typeof v === 'number') { - v = v.toString(); - } - - if (typeof v !== 'string') { - return undefined; - } - - if (v.toLowerCase() === 'inherit') { - return {}; - } - var parts = getParts(v); - var valid = true; - parts.forEach(function (part) { - var part_valid = false; - Object.keys(shorthand_for).forEach(function (property) { - if (shorthand_for[property].isValid(part)) { - part_valid = true; - obj[property] = part; - } - }); - valid = valid && part_valid; - }); - if (!valid) { - return undefined; - } - return obj; -}; - -exports.shorthandSetter = function (property, shorthand_for) { - return function (v) { - var obj = exports.shorthandParser(v, shorthand_for); - if (obj === undefined) { - return; - } - //console.log('shorthandSetter for:', property, 'obj:', obj); - Object.keys(obj).forEach(function (subprop) { - // in case subprop is an implicit property, this will clear - // *its* subpropertiesX - var camel = dashedToCamelCase(subprop); - this[camel] = obj[subprop]; - // in case it gets translated into something else (0 -> 0px) - obj[subprop] = this[camel]; - this.removeProperty(subprop); - // don't add in empty properties - if (obj[subprop] !== '') { - this._values[subprop] = obj[subprop]; - } - }, this); - Object.keys(shorthand_for).forEach(function (subprop) { - if (!obj.hasOwnProperty(subprop)) { - this.removeProperty(subprop); - delete this._values[subprop]; - } - }, this); - // in case the value is something like 'none' that removes all values, - // check that the generated one is not empty, first remove the property - // if it already exists, then call the shorthandGetter, if it's an empty - // string, don't set the property - this.removeProperty(property); - var calculated = exports.shorthandGetter(property, shorthand_for).call(this); - if (calculated !== '') { - this._setProperty(property, calculated); - } - }; -}; - -exports.shorthandGetter = function (property, shorthand_for) { - return function () { - if (this._values[property] !== undefined) { - return this.getPropertyValue(property); - } - return Object.keys(shorthand_for).map(function (subprop) { - return this.getPropertyValue(subprop); - }, this).filter(function (value) { - return value !== ''; - }).join(' '); - }; -}; - -// isValid(){1,4} | inherit -// if one, it applies to all -// if two, the first applies to the top and bottom, and the second to left and right -// if three, the first applies to the top, the second to left and right, the third bottom -// if four, top, right, bottom, left -exports.implicitSetter = function (property_before, property_after, isValid, parser) { - property_after = property_after || ''; - if (property_after !== '') { - property_after = '-' + property_after; - } - var part_names = ["top","right","bottom","left"]; - - return function (v) { - if (typeof v === 'number') { - v = v.toString(); - } - if (typeof v !== 'string') { - return undefined; - } - var parts; - if (v.toLowerCase() === 'inherit' || v === '') { - parts = [v]; - } else { - parts = getParts(v); - } - if (parts.length < 1 || parts.length > 4) { - return undefined; - } - - if (!parts.every(isValid)) { - return undefined; - } - - parts = parts.map(function (part) { - return parser(part); - }); - this._setProperty(property_before + property_after, parts.join(' ')); - if (parts.length === 1) { - parts[1] = parts[0]; - } - if (parts.length === 2) { - parts[2] = parts[0]; - } - if (parts.length === 3) { - parts[3] = parts[1]; - } - - for (var i = 0; i < 4; i++) { - var property = property_before + "-" + part_names[i] + property_after; - this.removeProperty(property); - if (parts[i] !== '') { - this._values[property] = parts[i]; - } - } - return v; - }; -}; - -// -// Companion to implicitSetter, but for the individual parts. -// This sets the individual value, and checks to see if all four -// sub-parts are set. If so, it sets the shorthand version and removes -// the individual parts from the cssText. -// -exports.subImplicitSetter = function (prefix, part, isValid, parser) { - var property = prefix + '-' + part; - var subparts = [prefix+"-top", prefix+"-right", prefix+"-bottom", prefix+"-left"]; - - return function (v) { - if (typeof v === 'number') { - v = v.toString(); - } - if (typeof v !== 'string') { - return undefined; - } - if (!isValid(v)) { - return undefined; - } - v = parser(v); - this._setProperty(property,v); - var parts = []; - for (var i = 0; i < 4; i++) { - if (this._values[subparts[i]] == null || this._values[subparts[i]] === '') { - break; - } - parts.push(this._values[subparts[i]]); - } - if (parts.length === 4) { - for (i = 0; i < 4; i++) { - this.removeProperty(subparts[i]); - this._values[subparts[i]] = parts[i]; - } - this._setProperty(prefix,parts.join(" ")); - } - return v; - }; -}; - - -var camel_to_dashed = /[A-Z]/g; -/*jslint regexp: true*/ -var first_segment = /^\([^\-]\)-/; -/*jslint regexp: false*/ -var vendor_prefixes = ['o', 'moz', 'ms', 'webkit']; -exports.camelToDashed = function (camel_case) { - var match; - var dashed = camel_case.replace(camel_to_dashed, '-$&').toLowerCase(); - match = dashed.match(first_segment); - if (match && vendor_prefixes.indexOf(match[1]) !== -1) { - dashed = '-' + dashed; - } - return dashed; -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties.js deleted file mode 100644 index 80f628c..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties.js +++ /dev/null @@ -1,1140 +0,0 @@ -'use strict'; - -// autogenerated - -/* - * - * http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSS2Properties - */ - -module.exports = function (prototype) { - var alignmentBaseline = require('./properties/alignmentBaseline').definition; - Object.defineProperty(prototype, 'alignmentBaseline', alignmentBaseline) - Object.defineProperty(prototype, 'alignment-baseline', alignmentBaseline) - var azimuth = require('./properties/azimuth').definition; - Object.defineProperty(prototype, 'azimuth', azimuth) - var background = require('./properties/background').definition; - Object.defineProperty(prototype, 'background', background) - var backgroundAttachment = require('./properties/backgroundAttachment').definition; - Object.defineProperty(prototype, 'backgroundAttachment', backgroundAttachment) - Object.defineProperty(prototype, 'background-attachment', backgroundAttachment) - var backgroundClip = require('./properties/backgroundClip').definition; - Object.defineProperty(prototype, 'backgroundClip', backgroundClip) - Object.defineProperty(prototype, 'background-clip', backgroundClip) - var backgroundColor = require('./properties/backgroundColor').definition; - Object.defineProperty(prototype, 'backgroundColor', backgroundColor) - Object.defineProperty(prototype, 'background-color', backgroundColor) - var backgroundImage = require('./properties/backgroundImage').definition; - Object.defineProperty(prototype, 'backgroundImage', backgroundImage) - Object.defineProperty(prototype, 'background-image', backgroundImage) - var backgroundOrigin = require('./properties/backgroundOrigin').definition; - Object.defineProperty(prototype, 'backgroundOrigin', backgroundOrigin) - Object.defineProperty(prototype, 'background-origin', backgroundOrigin) - var backgroundPosition = require('./properties/backgroundPosition').definition; - Object.defineProperty(prototype, 'backgroundPosition', backgroundPosition) - Object.defineProperty(prototype, 'background-position', backgroundPosition) - var backgroundPositionX = require('./properties/backgroundPositionX').definition; - Object.defineProperty(prototype, 'backgroundPositionX', backgroundPositionX) - Object.defineProperty(prototype, 'background-position-x', backgroundPositionX) - var backgroundPositionY = require('./properties/backgroundPositionY').definition; - Object.defineProperty(prototype, 'backgroundPositionY', backgroundPositionY) - Object.defineProperty(prototype, 'background-position-y', backgroundPositionY) - var backgroundRepeat = require('./properties/backgroundRepeat').definition; - Object.defineProperty(prototype, 'backgroundRepeat', backgroundRepeat) - Object.defineProperty(prototype, 'background-repeat', backgroundRepeat) - var backgroundRepeatX = require('./properties/backgroundRepeatX').definition; - Object.defineProperty(prototype, 'backgroundRepeatX', backgroundRepeatX) - Object.defineProperty(prototype, 'background-repeat-x', backgroundRepeatX) - var backgroundRepeatY = require('./properties/backgroundRepeatY').definition; - Object.defineProperty(prototype, 'backgroundRepeatY', backgroundRepeatY) - Object.defineProperty(prototype, 'background-repeat-y', backgroundRepeatY) - var backgroundSize = require('./properties/backgroundSize').definition; - Object.defineProperty(prototype, 'backgroundSize', backgroundSize) - Object.defineProperty(prototype, 'background-size', backgroundSize) - var baselineShift = require('./properties/baselineShift').definition; - Object.defineProperty(prototype, 'baselineShift', baselineShift) - Object.defineProperty(prototype, 'baseline-shift', baselineShift) - var border = require('./properties/border').definition; - Object.defineProperty(prototype, 'border', border) - var borderBottom = require('./properties/borderBottom').definition; - Object.defineProperty(prototype, 'borderBottom', borderBottom) - Object.defineProperty(prototype, 'border-bottom', borderBottom) - var borderBottomColor = require('./properties/borderBottomColor').definition; - Object.defineProperty(prototype, 'borderBottomColor', borderBottomColor) - Object.defineProperty(prototype, 'border-bottom-color', borderBottomColor) - var borderBottomLeftRadius = require('./properties/borderBottomLeftRadius').definition; - Object.defineProperty(prototype, 'borderBottomLeftRadius', borderBottomLeftRadius) - Object.defineProperty(prototype, 'border-bottom-left-radius', borderBottomLeftRadius) - var borderBottomRightRadius = require('./properties/borderBottomRightRadius').definition; - Object.defineProperty(prototype, 'borderBottomRightRadius', borderBottomRightRadius) - Object.defineProperty(prototype, 'border-bottom-right-radius', borderBottomRightRadius) - var borderBottomStyle = require('./properties/borderBottomStyle').definition; - Object.defineProperty(prototype, 'borderBottomStyle', borderBottomStyle) - Object.defineProperty(prototype, 'border-bottom-style', borderBottomStyle) - var borderBottomWidth = require('./properties/borderBottomWidth').definition; - Object.defineProperty(prototype, 'borderBottomWidth', borderBottomWidth) - Object.defineProperty(prototype, 'border-bottom-width', borderBottomWidth) - var borderCollapse = require('./properties/borderCollapse').definition; - Object.defineProperty(prototype, 'borderCollapse', borderCollapse) - Object.defineProperty(prototype, 'border-collapse', borderCollapse) - var borderColor = require('./properties/borderColor').definition; - Object.defineProperty(prototype, 'borderColor', borderColor) - Object.defineProperty(prototype, 'border-color', borderColor) - var borderImage = require('./properties/borderImage').definition; - Object.defineProperty(prototype, 'borderImage', borderImage) - Object.defineProperty(prototype, 'border-image', borderImage) - var borderImageOutset = require('./properties/borderImageOutset').definition; - Object.defineProperty(prototype, 'borderImageOutset', borderImageOutset) - Object.defineProperty(prototype, 'border-image-outset', borderImageOutset) - var borderImageRepeat = require('./properties/borderImageRepeat').definition; - Object.defineProperty(prototype, 'borderImageRepeat', borderImageRepeat) - Object.defineProperty(prototype, 'border-image-repeat', borderImageRepeat) - var borderImageSlice = require('./properties/borderImageSlice').definition; - Object.defineProperty(prototype, 'borderImageSlice', borderImageSlice) - Object.defineProperty(prototype, 'border-image-slice', borderImageSlice) - var borderImageSource = require('./properties/borderImageSource').definition; - Object.defineProperty(prototype, 'borderImageSource', borderImageSource) - Object.defineProperty(prototype, 'border-image-source', borderImageSource) - var borderImageWidth = require('./properties/borderImageWidth').definition; - Object.defineProperty(prototype, 'borderImageWidth', borderImageWidth) - Object.defineProperty(prototype, 'border-image-width', borderImageWidth) - var borderLeft = require('./properties/borderLeft').definition; - Object.defineProperty(prototype, 'borderLeft', borderLeft) - Object.defineProperty(prototype, 'border-left', borderLeft) - var borderLeftColor = require('./properties/borderLeftColor').definition; - Object.defineProperty(prototype, 'borderLeftColor', borderLeftColor) - Object.defineProperty(prototype, 'border-left-color', borderLeftColor) - var borderLeftStyle = require('./properties/borderLeftStyle').definition; - Object.defineProperty(prototype, 'borderLeftStyle', borderLeftStyle) - Object.defineProperty(prototype, 'border-left-style', borderLeftStyle) - var borderLeftWidth = require('./properties/borderLeftWidth').definition; - Object.defineProperty(prototype, 'borderLeftWidth', borderLeftWidth) - Object.defineProperty(prototype, 'border-left-width', borderLeftWidth) - var borderRadius = require('./properties/borderRadius').definition; - Object.defineProperty(prototype, 'borderRadius', borderRadius) - Object.defineProperty(prototype, 'border-radius', borderRadius) - var borderRight = require('./properties/borderRight').definition; - Object.defineProperty(prototype, 'borderRight', borderRight) - Object.defineProperty(prototype, 'border-right', borderRight) - var borderRightColor = require('./properties/borderRightColor').definition; - Object.defineProperty(prototype, 'borderRightColor', borderRightColor) - Object.defineProperty(prototype, 'border-right-color', borderRightColor) - var borderRightStyle = require('./properties/borderRightStyle').definition; - Object.defineProperty(prototype, 'borderRightStyle', borderRightStyle) - Object.defineProperty(prototype, 'border-right-style', borderRightStyle) - var borderRightWidth = require('./properties/borderRightWidth').definition; - Object.defineProperty(prototype, 'borderRightWidth', borderRightWidth) - Object.defineProperty(prototype, 'border-right-width', borderRightWidth) - var borderSpacing = require('./properties/borderSpacing').definition; - Object.defineProperty(prototype, 'borderSpacing', borderSpacing) - Object.defineProperty(prototype, 'border-spacing', borderSpacing) - var borderStyle = require('./properties/borderStyle').definition; - Object.defineProperty(prototype, 'borderStyle', borderStyle) - Object.defineProperty(prototype, 'border-style', borderStyle) - var borderTop = require('./properties/borderTop').definition; - Object.defineProperty(prototype, 'borderTop', borderTop) - Object.defineProperty(prototype, 'border-top', borderTop) - var borderTopColor = require('./properties/borderTopColor').definition; - Object.defineProperty(prototype, 'borderTopColor', borderTopColor) - Object.defineProperty(prototype, 'border-top-color', borderTopColor) - var borderTopLeftRadius = require('./properties/borderTopLeftRadius').definition; - Object.defineProperty(prototype, 'borderTopLeftRadius', borderTopLeftRadius) - Object.defineProperty(prototype, 'border-top-left-radius', borderTopLeftRadius) - var borderTopRightRadius = require('./properties/borderTopRightRadius').definition; - Object.defineProperty(prototype, 'borderTopRightRadius', borderTopRightRadius) - Object.defineProperty(prototype, 'border-top-right-radius', borderTopRightRadius) - var borderTopStyle = require('./properties/borderTopStyle').definition; - Object.defineProperty(prototype, 'borderTopStyle', borderTopStyle) - Object.defineProperty(prototype, 'border-top-style', borderTopStyle) - var borderTopWidth = require('./properties/borderTopWidth').definition; - Object.defineProperty(prototype, 'borderTopWidth', borderTopWidth) - Object.defineProperty(prototype, 'border-top-width', borderTopWidth) - var borderWidth = require('./properties/borderWidth').definition; - Object.defineProperty(prototype, 'borderWidth', borderWidth) - Object.defineProperty(prototype, 'border-width', borderWidth) - var bottom = require('./properties/bottom').definition; - Object.defineProperty(prototype, 'bottom', bottom) - var boxShadow = require('./properties/boxShadow').definition; - Object.defineProperty(prototype, 'boxShadow', boxShadow) - Object.defineProperty(prototype, 'box-shadow', boxShadow) - var boxSizing = require('./properties/boxSizing').definition; - Object.defineProperty(prototype, 'boxSizing', boxSizing) - Object.defineProperty(prototype, 'box-sizing', boxSizing) - var captionSide = require('./properties/captionSide').definition; - Object.defineProperty(prototype, 'captionSide', captionSide) - Object.defineProperty(prototype, 'caption-side', captionSide) - var clear = require('./properties/clear').definition; - Object.defineProperty(prototype, 'clear', clear) - var clip = require('./properties/clip').definition; - Object.defineProperty(prototype, 'clip', clip) - var color = require('./properties/color').definition; - Object.defineProperty(prototype, 'color', color) - var colorInterpolation = require('./properties/colorInterpolation').definition; - Object.defineProperty(prototype, 'colorInterpolation', colorInterpolation) - Object.defineProperty(prototype, 'color-interpolation', colorInterpolation) - var colorInterpolationFilters = require('./properties/colorInterpolationFilters').definition; - Object.defineProperty(prototype, 'colorInterpolationFilters', colorInterpolationFilters) - Object.defineProperty(prototype, 'color-interpolation-filters', colorInterpolationFilters) - var colorProfile = require('./properties/colorProfile').definition; - Object.defineProperty(prototype, 'colorProfile', colorProfile) - Object.defineProperty(prototype, 'color-profile', colorProfile) - var colorRendering = require('./properties/colorRendering').definition; - Object.defineProperty(prototype, 'colorRendering', colorRendering) - Object.defineProperty(prototype, 'color-rendering', colorRendering) - var content = require('./properties/content').definition; - Object.defineProperty(prototype, 'content', content) - var counterIncrement = require('./properties/counterIncrement').definition; - Object.defineProperty(prototype, 'counterIncrement', counterIncrement) - Object.defineProperty(prototype, 'counter-increment', counterIncrement) - var counterReset = require('./properties/counterReset').definition; - Object.defineProperty(prototype, 'counterReset', counterReset) - Object.defineProperty(prototype, 'counter-reset', counterReset) - var cssFloat = require('./properties/cssFloat').definition; - Object.defineProperty(prototype, 'cssFloat', cssFloat) - Object.defineProperty(prototype, 'css-float', cssFloat) - var cue = require('./properties/cue').definition; - Object.defineProperty(prototype, 'cue', cue) - var cueAfter = require('./properties/cueAfter').definition; - Object.defineProperty(prototype, 'cueAfter', cueAfter) - Object.defineProperty(prototype, 'cue-after', cueAfter) - var cueBefore = require('./properties/cueBefore').definition; - Object.defineProperty(prototype, 'cueBefore', cueBefore) - Object.defineProperty(prototype, 'cue-before', cueBefore) - var cursor = require('./properties/cursor').definition; - Object.defineProperty(prototype, 'cursor', cursor) - var direction = require('./properties/direction').definition; - Object.defineProperty(prototype, 'direction', direction) - var display = require('./properties/display').definition; - Object.defineProperty(prototype, 'display', display) - var dominantBaseline = require('./properties/dominantBaseline').definition; - Object.defineProperty(prototype, 'dominantBaseline', dominantBaseline) - Object.defineProperty(prototype, 'dominant-baseline', dominantBaseline) - var elevation = require('./properties/elevation').definition; - Object.defineProperty(prototype, 'elevation', elevation) - var emptyCells = require('./properties/emptyCells').definition; - Object.defineProperty(prototype, 'emptyCells', emptyCells) - Object.defineProperty(prototype, 'empty-cells', emptyCells) - var enableBackground = require('./properties/enableBackground').definition; - Object.defineProperty(prototype, 'enableBackground', enableBackground) - Object.defineProperty(prototype, 'enable-background', enableBackground) - var fill = require('./properties/fill').definition; - Object.defineProperty(prototype, 'fill', fill) - var fillOpacity = require('./properties/fillOpacity').definition; - Object.defineProperty(prototype, 'fillOpacity', fillOpacity) - Object.defineProperty(prototype, 'fill-opacity', fillOpacity) - var fillRule = require('./properties/fillRule').definition; - Object.defineProperty(prototype, 'fillRule', fillRule) - Object.defineProperty(prototype, 'fill-rule', fillRule) - var filter = require('./properties/filter').definition; - Object.defineProperty(prototype, 'filter', filter) - var floodColor = require('./properties/floodColor').definition; - Object.defineProperty(prototype, 'floodColor', floodColor) - Object.defineProperty(prototype, 'flood-color', floodColor) - var floodOpacity = require('./properties/floodOpacity').definition; - Object.defineProperty(prototype, 'floodOpacity', floodOpacity) - Object.defineProperty(prototype, 'flood-opacity', floodOpacity) - var font = require('./properties/font').definition; - Object.defineProperty(prototype, 'font', font) - var fontFamily = require('./properties/fontFamily').definition; - Object.defineProperty(prototype, 'fontFamily', fontFamily) - Object.defineProperty(prototype, 'font-family', fontFamily) - var fontSize = require('./properties/fontSize').definition; - Object.defineProperty(prototype, 'fontSize', fontSize) - Object.defineProperty(prototype, 'font-size', fontSize) - var fontSizeAdjust = require('./properties/fontSizeAdjust').definition; - Object.defineProperty(prototype, 'fontSizeAdjust', fontSizeAdjust) - Object.defineProperty(prototype, 'font-size-adjust', fontSizeAdjust) - var fontStretch = require('./properties/fontStretch').definition; - Object.defineProperty(prototype, 'fontStretch', fontStretch) - Object.defineProperty(prototype, 'font-stretch', fontStretch) - var fontStyle = require('./properties/fontStyle').definition; - Object.defineProperty(prototype, 'fontStyle', fontStyle) - Object.defineProperty(prototype, 'font-style', fontStyle) - var fontVariant = require('./properties/fontVariant').definition; - Object.defineProperty(prototype, 'fontVariant', fontVariant) - Object.defineProperty(prototype, 'font-variant', fontVariant) - var fontWeight = require('./properties/fontWeight').definition; - Object.defineProperty(prototype, 'fontWeight', fontWeight) - Object.defineProperty(prototype, 'font-weight', fontWeight) - var glyphOrientationHorizontal = require('./properties/glyphOrientationHorizontal').definition; - Object.defineProperty(prototype, 'glyphOrientationHorizontal', glyphOrientationHorizontal) - Object.defineProperty(prototype, 'glyph-orientation-horizontal', glyphOrientationHorizontal) - var glyphOrientationVertical = require('./properties/glyphOrientationVertical').definition; - Object.defineProperty(prototype, 'glyphOrientationVertical', glyphOrientationVertical) - Object.defineProperty(prototype, 'glyph-orientation-vertical', glyphOrientationVertical) - var height = require('./properties/height').definition; - Object.defineProperty(prototype, 'height', height) - var imageRendering = require('./properties/imageRendering').definition; - Object.defineProperty(prototype, 'imageRendering', imageRendering) - Object.defineProperty(prototype, 'image-rendering', imageRendering) - var kerning = require('./properties/kerning').definition; - Object.defineProperty(prototype, 'kerning', kerning) - var left = require('./properties/left').definition; - Object.defineProperty(prototype, 'left', left) - var letterSpacing = require('./properties/letterSpacing').definition; - Object.defineProperty(prototype, 'letterSpacing', letterSpacing) - Object.defineProperty(prototype, 'letter-spacing', letterSpacing) - var lightingColor = require('./properties/lightingColor').definition; - Object.defineProperty(prototype, 'lightingColor', lightingColor) - Object.defineProperty(prototype, 'lighting-color', lightingColor) - var lineHeight = require('./properties/lineHeight').definition; - Object.defineProperty(prototype, 'lineHeight', lineHeight) - Object.defineProperty(prototype, 'line-height', lineHeight) - var listStyle = require('./properties/listStyle').definition; - Object.defineProperty(prototype, 'listStyle', listStyle) - Object.defineProperty(prototype, 'list-style', listStyle) - var listStyleImage = require('./properties/listStyleImage').definition; - Object.defineProperty(prototype, 'listStyleImage', listStyleImage) - Object.defineProperty(prototype, 'list-style-image', listStyleImage) - var listStylePosition = require('./properties/listStylePosition').definition; - Object.defineProperty(prototype, 'listStylePosition', listStylePosition) - Object.defineProperty(prototype, 'list-style-position', listStylePosition) - var listStyleType = require('./properties/listStyleType').definition; - Object.defineProperty(prototype, 'listStyleType', listStyleType) - Object.defineProperty(prototype, 'list-style-type', listStyleType) - var margin = require('./properties/margin').definition; - Object.defineProperty(prototype, 'margin', margin) - var marginBottom = require('./properties/marginBottom').definition; - Object.defineProperty(prototype, 'marginBottom', marginBottom) - Object.defineProperty(prototype, 'margin-bottom', marginBottom) - var marginLeft = require('./properties/marginLeft').definition; - Object.defineProperty(prototype, 'marginLeft', marginLeft) - Object.defineProperty(prototype, 'margin-left', marginLeft) - var marginRight = require('./properties/marginRight').definition; - Object.defineProperty(prototype, 'marginRight', marginRight) - Object.defineProperty(prototype, 'margin-right', marginRight) - var marginTop = require('./properties/marginTop').definition; - Object.defineProperty(prototype, 'marginTop', marginTop) - Object.defineProperty(prototype, 'margin-top', marginTop) - var marker = require('./properties/marker').definition; - Object.defineProperty(prototype, 'marker', marker) - var markerEnd = require('./properties/markerEnd').definition; - Object.defineProperty(prototype, 'markerEnd', markerEnd) - Object.defineProperty(prototype, 'marker-end', markerEnd) - var markerMid = require('./properties/markerMid').definition; - Object.defineProperty(prototype, 'markerMid', markerMid) - Object.defineProperty(prototype, 'marker-mid', markerMid) - var markerOffset = require('./properties/markerOffset').definition; - Object.defineProperty(prototype, 'markerOffset', markerOffset) - Object.defineProperty(prototype, 'marker-offset', markerOffset) - var markerStart = require('./properties/markerStart').definition; - Object.defineProperty(prototype, 'markerStart', markerStart) - Object.defineProperty(prototype, 'marker-start', markerStart) - var marks = require('./properties/marks').definition; - Object.defineProperty(prototype, 'marks', marks) - var mask = require('./properties/mask').definition; - Object.defineProperty(prototype, 'mask', mask) - var maxHeight = require('./properties/maxHeight').definition; - Object.defineProperty(prototype, 'maxHeight', maxHeight) - Object.defineProperty(prototype, 'max-height', maxHeight) - var maxWidth = require('./properties/maxWidth').definition; - Object.defineProperty(prototype, 'maxWidth', maxWidth) - Object.defineProperty(prototype, 'max-width', maxWidth) - var minHeight = require('./properties/minHeight').definition; - Object.defineProperty(prototype, 'minHeight', minHeight) - Object.defineProperty(prototype, 'min-height', minHeight) - var minWidth = require('./properties/minWidth').definition; - Object.defineProperty(prototype, 'minWidth', minWidth) - Object.defineProperty(prototype, 'min-width', minWidth) - var opacity = require('./properties/opacity').definition; - Object.defineProperty(prototype, 'opacity', opacity) - var orphans = require('./properties/orphans').definition; - Object.defineProperty(prototype, 'orphans', orphans) - var outline = require('./properties/outline').definition; - Object.defineProperty(prototype, 'outline', outline) - var outlineColor = require('./properties/outlineColor').definition; - Object.defineProperty(prototype, 'outlineColor', outlineColor) - Object.defineProperty(prototype, 'outline-color', outlineColor) - var outlineOffset = require('./properties/outlineOffset').definition; - Object.defineProperty(prototype, 'outlineOffset', outlineOffset) - Object.defineProperty(prototype, 'outline-offset', outlineOffset) - var outlineStyle = require('./properties/outlineStyle').definition; - Object.defineProperty(prototype, 'outlineStyle', outlineStyle) - Object.defineProperty(prototype, 'outline-style', outlineStyle) - var outlineWidth = require('./properties/outlineWidth').definition; - Object.defineProperty(prototype, 'outlineWidth', outlineWidth) - Object.defineProperty(prototype, 'outline-width', outlineWidth) - var overflow = require('./properties/overflow').definition; - Object.defineProperty(prototype, 'overflow', overflow) - var overflowX = require('./properties/overflowX').definition; - Object.defineProperty(prototype, 'overflowX', overflowX) - Object.defineProperty(prototype, 'overflow-x', overflowX) - var overflowY = require('./properties/overflowY').definition; - Object.defineProperty(prototype, 'overflowY', overflowY) - Object.defineProperty(prototype, 'overflow-y', overflowY) - var padding = require('./properties/padding').definition; - Object.defineProperty(prototype, 'padding', padding) - var paddingBottom = require('./properties/paddingBottom').definition; - Object.defineProperty(prototype, 'paddingBottom', paddingBottom) - Object.defineProperty(prototype, 'padding-bottom', paddingBottom) - var paddingLeft = require('./properties/paddingLeft').definition; - Object.defineProperty(prototype, 'paddingLeft', paddingLeft) - Object.defineProperty(prototype, 'padding-left', paddingLeft) - var paddingRight = require('./properties/paddingRight').definition; - Object.defineProperty(prototype, 'paddingRight', paddingRight) - Object.defineProperty(prototype, 'padding-right', paddingRight) - var paddingTop = require('./properties/paddingTop').definition; - Object.defineProperty(prototype, 'paddingTop', paddingTop) - Object.defineProperty(prototype, 'padding-top', paddingTop) - var page = require('./properties/page').definition; - Object.defineProperty(prototype, 'page', page) - var pageBreakAfter = require('./properties/pageBreakAfter').definition; - Object.defineProperty(prototype, 'pageBreakAfter', pageBreakAfter) - Object.defineProperty(prototype, 'page-break-after', pageBreakAfter) - var pageBreakBefore = require('./properties/pageBreakBefore').definition; - Object.defineProperty(prototype, 'pageBreakBefore', pageBreakBefore) - Object.defineProperty(prototype, 'page-break-before', pageBreakBefore) - var pageBreakInside = require('./properties/pageBreakInside').definition; - Object.defineProperty(prototype, 'pageBreakInside', pageBreakInside) - Object.defineProperty(prototype, 'page-break-inside', pageBreakInside) - var pause = require('./properties/pause').definition; - Object.defineProperty(prototype, 'pause', pause) - var pauseAfter = require('./properties/pauseAfter').definition; - Object.defineProperty(prototype, 'pauseAfter', pauseAfter) - Object.defineProperty(prototype, 'pause-after', pauseAfter) - var pauseBefore = require('./properties/pauseBefore').definition; - Object.defineProperty(prototype, 'pauseBefore', pauseBefore) - Object.defineProperty(prototype, 'pause-before', pauseBefore) - var pitch = require('./properties/pitch').definition; - Object.defineProperty(prototype, 'pitch', pitch) - var pitchRange = require('./properties/pitchRange').definition; - Object.defineProperty(prototype, 'pitchRange', pitchRange) - Object.defineProperty(prototype, 'pitch-range', pitchRange) - var playDuring = require('./properties/playDuring').definition; - Object.defineProperty(prototype, 'playDuring', playDuring) - Object.defineProperty(prototype, 'play-during', playDuring) - var pointerEvents = require('./properties/pointerEvents').definition; - Object.defineProperty(prototype, 'pointerEvents', pointerEvents) - Object.defineProperty(prototype, 'pointer-events', pointerEvents) - var position = require('./properties/position').definition; - Object.defineProperty(prototype, 'position', position) - var quotes = require('./properties/quotes').definition; - Object.defineProperty(prototype, 'quotes', quotes) - var resize = require('./properties/resize').definition; - Object.defineProperty(prototype, 'resize', resize) - var richness = require('./properties/richness').definition; - Object.defineProperty(prototype, 'richness', richness) - var right = require('./properties/right').definition; - Object.defineProperty(prototype, 'right', right) - var shapeRendering = require('./properties/shapeRendering').definition; - Object.defineProperty(prototype, 'shapeRendering', shapeRendering) - Object.defineProperty(prototype, 'shape-rendering', shapeRendering) - var size = require('./properties/size').definition; - Object.defineProperty(prototype, 'size', size) - var speak = require('./properties/speak').definition; - Object.defineProperty(prototype, 'speak', speak) - var speakHeader = require('./properties/speakHeader').definition; - Object.defineProperty(prototype, 'speakHeader', speakHeader) - Object.defineProperty(prototype, 'speak-header', speakHeader) - var speakNumeral = require('./properties/speakNumeral').definition; - Object.defineProperty(prototype, 'speakNumeral', speakNumeral) - Object.defineProperty(prototype, 'speak-numeral', speakNumeral) - var speakPunctuation = require('./properties/speakPunctuation').definition; - Object.defineProperty(prototype, 'speakPunctuation', speakPunctuation) - Object.defineProperty(prototype, 'speak-punctuation', speakPunctuation) - var speechRate = require('./properties/speechRate').definition; - Object.defineProperty(prototype, 'speechRate', speechRate) - Object.defineProperty(prototype, 'speech-rate', speechRate) - var src = require('./properties/src').definition; - Object.defineProperty(prototype, 'src', src) - var stopColor = require('./properties/stopColor').definition; - Object.defineProperty(prototype, 'stopColor', stopColor) - Object.defineProperty(prototype, 'stop-color', stopColor) - var stopOpacity = require('./properties/stopOpacity').definition; - Object.defineProperty(prototype, 'stopOpacity', stopOpacity) - Object.defineProperty(prototype, 'stop-opacity', stopOpacity) - var stress = require('./properties/stress').definition; - Object.defineProperty(prototype, 'stress', stress) - var stroke = require('./properties/stroke').definition; - Object.defineProperty(prototype, 'stroke', stroke) - var strokeDasharray = require('./properties/strokeDasharray').definition; - Object.defineProperty(prototype, 'strokeDasharray', strokeDasharray) - Object.defineProperty(prototype, 'stroke-dasharray', strokeDasharray) - var strokeDashoffset = require('./properties/strokeDashoffset').definition; - Object.defineProperty(prototype, 'strokeDashoffset', strokeDashoffset) - Object.defineProperty(prototype, 'stroke-dashoffset', strokeDashoffset) - var strokeLinecap = require('./properties/strokeLinecap').definition; - Object.defineProperty(prototype, 'strokeLinecap', strokeLinecap) - Object.defineProperty(prototype, 'stroke-linecap', strokeLinecap) - var strokeLinejoin = require('./properties/strokeLinejoin').definition; - Object.defineProperty(prototype, 'strokeLinejoin', strokeLinejoin) - Object.defineProperty(prototype, 'stroke-linejoin', strokeLinejoin) - var strokeMiterlimit = require('./properties/strokeMiterlimit').definition; - Object.defineProperty(prototype, 'strokeMiterlimit', strokeMiterlimit) - Object.defineProperty(prototype, 'stroke-miterlimit', strokeMiterlimit) - var strokeOpacity = require('./properties/strokeOpacity').definition; - Object.defineProperty(prototype, 'strokeOpacity', strokeOpacity) - Object.defineProperty(prototype, 'stroke-opacity', strokeOpacity) - var strokeWidth = require('./properties/strokeWidth').definition; - Object.defineProperty(prototype, 'strokeWidth', strokeWidth) - Object.defineProperty(prototype, 'stroke-width', strokeWidth) - var tableLayout = require('./properties/tableLayout').definition; - Object.defineProperty(prototype, 'tableLayout', tableLayout) - Object.defineProperty(prototype, 'table-layout', tableLayout) - var textAlign = require('./properties/textAlign').definition; - Object.defineProperty(prototype, 'textAlign', textAlign) - Object.defineProperty(prototype, 'text-align', textAlign) - var textAnchor = require('./properties/textAnchor').definition; - Object.defineProperty(prototype, 'textAnchor', textAnchor) - Object.defineProperty(prototype, 'text-anchor', textAnchor) - var textDecoration = require('./properties/textDecoration').definition; - Object.defineProperty(prototype, 'textDecoration', textDecoration) - Object.defineProperty(prototype, 'text-decoration', textDecoration) - var textIndent = require('./properties/textIndent').definition; - Object.defineProperty(prototype, 'textIndent', textIndent) - Object.defineProperty(prototype, 'text-indent', textIndent) - var textLineThrough = require('./properties/textLineThrough').definition; - Object.defineProperty(prototype, 'textLineThrough', textLineThrough) - Object.defineProperty(prototype, 'text-line-through', textLineThrough) - var textLineThroughColor = require('./properties/textLineThroughColor').definition; - Object.defineProperty(prototype, 'textLineThroughColor', textLineThroughColor) - Object.defineProperty(prototype, 'text-line-through-color', textLineThroughColor) - var textLineThroughMode = require('./properties/textLineThroughMode').definition; - Object.defineProperty(prototype, 'textLineThroughMode', textLineThroughMode) - Object.defineProperty(prototype, 'text-line-through-mode', textLineThroughMode) - var textLineThroughStyle = require('./properties/textLineThroughStyle').definition; - Object.defineProperty(prototype, 'textLineThroughStyle', textLineThroughStyle) - Object.defineProperty(prototype, 'text-line-through-style', textLineThroughStyle) - var textLineThroughWidth = require('./properties/textLineThroughWidth').definition; - Object.defineProperty(prototype, 'textLineThroughWidth', textLineThroughWidth) - Object.defineProperty(prototype, 'text-line-through-width', textLineThroughWidth) - var textOverflow = require('./properties/textOverflow').definition; - Object.defineProperty(prototype, 'textOverflow', textOverflow) - Object.defineProperty(prototype, 'text-overflow', textOverflow) - var textOverline = require('./properties/textOverline').definition; - Object.defineProperty(prototype, 'textOverline', textOverline) - Object.defineProperty(prototype, 'text-overline', textOverline) - var textOverlineColor = require('./properties/textOverlineColor').definition; - Object.defineProperty(prototype, 'textOverlineColor', textOverlineColor) - Object.defineProperty(prototype, 'text-overline-color', textOverlineColor) - var textOverlineMode = require('./properties/textOverlineMode').definition; - Object.defineProperty(prototype, 'textOverlineMode', textOverlineMode) - Object.defineProperty(prototype, 'text-overline-mode', textOverlineMode) - var textOverlineStyle = require('./properties/textOverlineStyle').definition; - Object.defineProperty(prototype, 'textOverlineStyle', textOverlineStyle) - Object.defineProperty(prototype, 'text-overline-style', textOverlineStyle) - var textOverlineWidth = require('./properties/textOverlineWidth').definition; - Object.defineProperty(prototype, 'textOverlineWidth', textOverlineWidth) - Object.defineProperty(prototype, 'text-overline-width', textOverlineWidth) - var textRendering = require('./properties/textRendering').definition; - Object.defineProperty(prototype, 'textRendering', textRendering) - Object.defineProperty(prototype, 'text-rendering', textRendering) - var textShadow = require('./properties/textShadow').definition; - Object.defineProperty(prototype, 'textShadow', textShadow) - Object.defineProperty(prototype, 'text-shadow', textShadow) - var textTransform = require('./properties/textTransform').definition; - Object.defineProperty(prototype, 'textTransform', textTransform) - Object.defineProperty(prototype, 'text-transform', textTransform) - var textUnderline = require('./properties/textUnderline').definition; - Object.defineProperty(prototype, 'textUnderline', textUnderline) - Object.defineProperty(prototype, 'text-underline', textUnderline) - var textUnderlineColor = require('./properties/textUnderlineColor').definition; - Object.defineProperty(prototype, 'textUnderlineColor', textUnderlineColor) - Object.defineProperty(prototype, 'text-underline-color', textUnderlineColor) - var textUnderlineMode = require('./properties/textUnderlineMode').definition; - Object.defineProperty(prototype, 'textUnderlineMode', textUnderlineMode) - Object.defineProperty(prototype, 'text-underline-mode', textUnderlineMode) - var textUnderlineStyle = require('./properties/textUnderlineStyle').definition; - Object.defineProperty(prototype, 'textUnderlineStyle', textUnderlineStyle) - Object.defineProperty(prototype, 'text-underline-style', textUnderlineStyle) - var textUnderlineWidth = require('./properties/textUnderlineWidth').definition; - Object.defineProperty(prototype, 'textUnderlineWidth', textUnderlineWidth) - Object.defineProperty(prototype, 'text-underline-width', textUnderlineWidth) - var top = require('./properties/top').definition; - Object.defineProperty(prototype, 'top', top) - var unicodeBidi = require('./properties/unicodeBidi').definition; - Object.defineProperty(prototype, 'unicodeBidi', unicodeBidi) - Object.defineProperty(prototype, 'unicode-bidi', unicodeBidi) - var unicodeRange = require('./properties/unicodeRange').definition; - Object.defineProperty(prototype, 'unicodeRange', unicodeRange) - Object.defineProperty(prototype, 'unicode-range', unicodeRange) - var vectorEffect = require('./properties/vectorEffect').definition; - Object.defineProperty(prototype, 'vectorEffect', vectorEffect) - Object.defineProperty(prototype, 'vector-effect', vectorEffect) - var verticalAlign = require('./properties/verticalAlign').definition; - Object.defineProperty(prototype, 'verticalAlign', verticalAlign) - Object.defineProperty(prototype, 'vertical-align', verticalAlign) - var visibility = require('./properties/visibility').definition; - Object.defineProperty(prototype, 'visibility', visibility) - var voiceFamily = require('./properties/voiceFamily').definition; - Object.defineProperty(prototype, 'voiceFamily', voiceFamily) - Object.defineProperty(prototype, 'voice-family', voiceFamily) - var volume = require('./properties/volume').definition; - Object.defineProperty(prototype, 'volume', volume) - var webkitAnimation = require('./properties/webkitAnimation').definition; - Object.defineProperty(prototype, 'webkitAnimation', webkitAnimation) - Object.defineProperty(prototype, 'webkit-animation', webkitAnimation) - var webkitAnimationDelay = require('./properties/webkitAnimationDelay').definition; - Object.defineProperty(prototype, 'webkitAnimationDelay', webkitAnimationDelay) - Object.defineProperty(prototype, 'webkit-animation-delay', webkitAnimationDelay) - var webkitAnimationDirection = require('./properties/webkitAnimationDirection').definition; - Object.defineProperty(prototype, 'webkitAnimationDirection', webkitAnimationDirection) - Object.defineProperty(prototype, 'webkit-animation-direction', webkitAnimationDirection) - var webkitAnimationDuration = require('./properties/webkitAnimationDuration').definition; - Object.defineProperty(prototype, 'webkitAnimationDuration', webkitAnimationDuration) - Object.defineProperty(prototype, 'webkit-animation-duration', webkitAnimationDuration) - var webkitAnimationFillMode = require('./properties/webkitAnimationFillMode').definition; - Object.defineProperty(prototype, 'webkitAnimationFillMode', webkitAnimationFillMode) - Object.defineProperty(prototype, 'webkit-animation-fill-mode', webkitAnimationFillMode) - var webkitAnimationIterationCount = require('./properties/webkitAnimationIterationCount').definition; - Object.defineProperty(prototype, 'webkitAnimationIterationCount', webkitAnimationIterationCount) - Object.defineProperty(prototype, 'webkit-animation-iteration-count', webkitAnimationIterationCount) - var webkitAnimationName = require('./properties/webkitAnimationName').definition; - Object.defineProperty(prototype, 'webkitAnimationName', webkitAnimationName) - Object.defineProperty(prototype, 'webkit-animation-name', webkitAnimationName) - var webkitAnimationPlayState = require('./properties/webkitAnimationPlayState').definition; - Object.defineProperty(prototype, 'webkitAnimationPlayState', webkitAnimationPlayState) - Object.defineProperty(prototype, 'webkit-animation-play-state', webkitAnimationPlayState) - var webkitAnimationTimingFunction = require('./properties/webkitAnimationTimingFunction').definition; - Object.defineProperty(prototype, 'webkitAnimationTimingFunction', webkitAnimationTimingFunction) - Object.defineProperty(prototype, 'webkit-animation-timing-function', webkitAnimationTimingFunction) - var webkitAppearance = require('./properties/webkitAppearance').definition; - Object.defineProperty(prototype, 'webkitAppearance', webkitAppearance) - Object.defineProperty(prototype, 'webkit-appearance', webkitAppearance) - var webkitAspectRatio = require('./properties/webkitAspectRatio').definition; - Object.defineProperty(prototype, 'webkitAspectRatio', webkitAspectRatio) - Object.defineProperty(prototype, 'webkit-aspect-ratio', webkitAspectRatio) - var webkitBackfaceVisibility = require('./properties/webkitBackfaceVisibility').definition; - Object.defineProperty(prototype, 'webkitBackfaceVisibility', webkitBackfaceVisibility) - Object.defineProperty(prototype, 'webkit-backface-visibility', webkitBackfaceVisibility) - var webkitBackgroundClip = require('./properties/webkitBackgroundClip').definition; - Object.defineProperty(prototype, 'webkitBackgroundClip', webkitBackgroundClip) - Object.defineProperty(prototype, 'webkit-background-clip', webkitBackgroundClip) - var webkitBackgroundComposite = require('./properties/webkitBackgroundComposite').definition; - Object.defineProperty(prototype, 'webkitBackgroundComposite', webkitBackgroundComposite) - Object.defineProperty(prototype, 'webkit-background-composite', webkitBackgroundComposite) - var webkitBackgroundOrigin = require('./properties/webkitBackgroundOrigin').definition; - Object.defineProperty(prototype, 'webkitBackgroundOrigin', webkitBackgroundOrigin) - Object.defineProperty(prototype, 'webkit-background-origin', webkitBackgroundOrigin) - var webkitBackgroundSize = require('./properties/webkitBackgroundSize').definition; - Object.defineProperty(prototype, 'webkitBackgroundSize', webkitBackgroundSize) - Object.defineProperty(prototype, 'webkit-background-size', webkitBackgroundSize) - var webkitBorderAfter = require('./properties/webkitBorderAfter').definition; - Object.defineProperty(prototype, 'webkitBorderAfter', webkitBorderAfter) - Object.defineProperty(prototype, 'webkit-border-after', webkitBorderAfter) - var webkitBorderAfterColor = require('./properties/webkitBorderAfterColor').definition; - Object.defineProperty(prototype, 'webkitBorderAfterColor', webkitBorderAfterColor) - Object.defineProperty(prototype, 'webkit-border-after-color', webkitBorderAfterColor) - var webkitBorderAfterStyle = require('./properties/webkitBorderAfterStyle').definition; - Object.defineProperty(prototype, 'webkitBorderAfterStyle', webkitBorderAfterStyle) - Object.defineProperty(prototype, 'webkit-border-after-style', webkitBorderAfterStyle) - var webkitBorderAfterWidth = require('./properties/webkitBorderAfterWidth').definition; - Object.defineProperty(prototype, 'webkitBorderAfterWidth', webkitBorderAfterWidth) - Object.defineProperty(prototype, 'webkit-border-after-width', webkitBorderAfterWidth) - var webkitBorderBefore = require('./properties/webkitBorderBefore').definition; - Object.defineProperty(prototype, 'webkitBorderBefore', webkitBorderBefore) - Object.defineProperty(prototype, 'webkit-border-before', webkitBorderBefore) - var webkitBorderBeforeColor = require('./properties/webkitBorderBeforeColor').definition; - Object.defineProperty(prototype, 'webkitBorderBeforeColor', webkitBorderBeforeColor) - Object.defineProperty(prototype, 'webkit-border-before-color', webkitBorderBeforeColor) - var webkitBorderBeforeStyle = require('./properties/webkitBorderBeforeStyle').definition; - Object.defineProperty(prototype, 'webkitBorderBeforeStyle', webkitBorderBeforeStyle) - Object.defineProperty(prototype, 'webkit-border-before-style', webkitBorderBeforeStyle) - var webkitBorderBeforeWidth = require('./properties/webkitBorderBeforeWidth').definition; - Object.defineProperty(prototype, 'webkitBorderBeforeWidth', webkitBorderBeforeWidth) - Object.defineProperty(prototype, 'webkit-border-before-width', webkitBorderBeforeWidth) - var webkitBorderEnd = require('./properties/webkitBorderEnd').definition; - Object.defineProperty(prototype, 'webkitBorderEnd', webkitBorderEnd) - Object.defineProperty(prototype, 'webkit-border-end', webkitBorderEnd) - var webkitBorderEndColor = require('./properties/webkitBorderEndColor').definition; - Object.defineProperty(prototype, 'webkitBorderEndColor', webkitBorderEndColor) - Object.defineProperty(prototype, 'webkit-border-end-color', webkitBorderEndColor) - var webkitBorderEndStyle = require('./properties/webkitBorderEndStyle').definition; - Object.defineProperty(prototype, 'webkitBorderEndStyle', webkitBorderEndStyle) - Object.defineProperty(prototype, 'webkit-border-end-style', webkitBorderEndStyle) - var webkitBorderEndWidth = require('./properties/webkitBorderEndWidth').definition; - Object.defineProperty(prototype, 'webkitBorderEndWidth', webkitBorderEndWidth) - Object.defineProperty(prototype, 'webkit-border-end-width', webkitBorderEndWidth) - var webkitBorderFit = require('./properties/webkitBorderFit').definition; - Object.defineProperty(prototype, 'webkitBorderFit', webkitBorderFit) - Object.defineProperty(prototype, 'webkit-border-fit', webkitBorderFit) - var webkitBorderHorizontalSpacing = require('./properties/webkitBorderHorizontalSpacing').definition; - Object.defineProperty(prototype, 'webkitBorderHorizontalSpacing', webkitBorderHorizontalSpacing) - Object.defineProperty(prototype, 'webkit-border-horizontal-spacing', webkitBorderHorizontalSpacing) - var webkitBorderImage = require('./properties/webkitBorderImage').definition; - Object.defineProperty(prototype, 'webkitBorderImage', webkitBorderImage) - Object.defineProperty(prototype, 'webkit-border-image', webkitBorderImage) - var webkitBorderRadius = require('./properties/webkitBorderRadius').definition; - Object.defineProperty(prototype, 'webkitBorderRadius', webkitBorderRadius) - Object.defineProperty(prototype, 'webkit-border-radius', webkitBorderRadius) - var webkitBorderStart = require('./properties/webkitBorderStart').definition; - Object.defineProperty(prototype, 'webkitBorderStart', webkitBorderStart) - Object.defineProperty(prototype, 'webkit-border-start', webkitBorderStart) - var webkitBorderStartColor = require('./properties/webkitBorderStartColor').definition; - Object.defineProperty(prototype, 'webkitBorderStartColor', webkitBorderStartColor) - Object.defineProperty(prototype, 'webkit-border-start-color', webkitBorderStartColor) - var webkitBorderStartStyle = require('./properties/webkitBorderStartStyle').definition; - Object.defineProperty(prototype, 'webkitBorderStartStyle', webkitBorderStartStyle) - Object.defineProperty(prototype, 'webkit-border-start-style', webkitBorderStartStyle) - var webkitBorderStartWidth = require('./properties/webkitBorderStartWidth').definition; - Object.defineProperty(prototype, 'webkitBorderStartWidth', webkitBorderStartWidth) - Object.defineProperty(prototype, 'webkit-border-start-width', webkitBorderStartWidth) - var webkitBorderVerticalSpacing = require('./properties/webkitBorderVerticalSpacing').definition; - Object.defineProperty(prototype, 'webkitBorderVerticalSpacing', webkitBorderVerticalSpacing) - Object.defineProperty(prototype, 'webkit-border-vertical-spacing', webkitBorderVerticalSpacing) - var webkitBoxAlign = require('./properties/webkitBoxAlign').definition; - Object.defineProperty(prototype, 'webkitBoxAlign', webkitBoxAlign) - Object.defineProperty(prototype, 'webkit-box-align', webkitBoxAlign) - var webkitBoxDirection = require('./properties/webkitBoxDirection').definition; - Object.defineProperty(prototype, 'webkitBoxDirection', webkitBoxDirection) - Object.defineProperty(prototype, 'webkit-box-direction', webkitBoxDirection) - var webkitBoxFlex = require('./properties/webkitBoxFlex').definition; - Object.defineProperty(prototype, 'webkitBoxFlex', webkitBoxFlex) - Object.defineProperty(prototype, 'webkit-box-flex', webkitBoxFlex) - var webkitBoxFlexGroup = require('./properties/webkitBoxFlexGroup').definition; - Object.defineProperty(prototype, 'webkitBoxFlexGroup', webkitBoxFlexGroup) - Object.defineProperty(prototype, 'webkit-box-flex-group', webkitBoxFlexGroup) - var webkitBoxLines = require('./properties/webkitBoxLines').definition; - Object.defineProperty(prototype, 'webkitBoxLines', webkitBoxLines) - Object.defineProperty(prototype, 'webkit-box-lines', webkitBoxLines) - var webkitBoxOrdinalGroup = require('./properties/webkitBoxOrdinalGroup').definition; - Object.defineProperty(prototype, 'webkitBoxOrdinalGroup', webkitBoxOrdinalGroup) - Object.defineProperty(prototype, 'webkit-box-ordinal-group', webkitBoxOrdinalGroup) - var webkitBoxOrient = require('./properties/webkitBoxOrient').definition; - Object.defineProperty(prototype, 'webkitBoxOrient', webkitBoxOrient) - Object.defineProperty(prototype, 'webkit-box-orient', webkitBoxOrient) - var webkitBoxPack = require('./properties/webkitBoxPack').definition; - Object.defineProperty(prototype, 'webkitBoxPack', webkitBoxPack) - Object.defineProperty(prototype, 'webkit-box-pack', webkitBoxPack) - var webkitBoxReflect = require('./properties/webkitBoxReflect').definition; - Object.defineProperty(prototype, 'webkitBoxReflect', webkitBoxReflect) - Object.defineProperty(prototype, 'webkit-box-reflect', webkitBoxReflect) - var webkitBoxShadow = require('./properties/webkitBoxShadow').definition; - Object.defineProperty(prototype, 'webkitBoxShadow', webkitBoxShadow) - Object.defineProperty(prototype, 'webkit-box-shadow', webkitBoxShadow) - var webkitColorCorrection = require('./properties/webkitColorCorrection').definition; - Object.defineProperty(prototype, 'webkitColorCorrection', webkitColorCorrection) - Object.defineProperty(prototype, 'webkit-color-correction', webkitColorCorrection) - var webkitColumnAxis = require('./properties/webkitColumnAxis').definition; - Object.defineProperty(prototype, 'webkitColumnAxis', webkitColumnAxis) - Object.defineProperty(prototype, 'webkit-column-axis', webkitColumnAxis) - var webkitColumnBreakAfter = require('./properties/webkitColumnBreakAfter').definition; - Object.defineProperty(prototype, 'webkitColumnBreakAfter', webkitColumnBreakAfter) - Object.defineProperty(prototype, 'webkit-column-break-after', webkitColumnBreakAfter) - var webkitColumnBreakBefore = require('./properties/webkitColumnBreakBefore').definition; - Object.defineProperty(prototype, 'webkitColumnBreakBefore', webkitColumnBreakBefore) - Object.defineProperty(prototype, 'webkit-column-break-before', webkitColumnBreakBefore) - var webkitColumnBreakInside = require('./properties/webkitColumnBreakInside').definition; - Object.defineProperty(prototype, 'webkitColumnBreakInside', webkitColumnBreakInside) - Object.defineProperty(prototype, 'webkit-column-break-inside', webkitColumnBreakInside) - var webkitColumnCount = require('./properties/webkitColumnCount').definition; - Object.defineProperty(prototype, 'webkitColumnCount', webkitColumnCount) - Object.defineProperty(prototype, 'webkit-column-count', webkitColumnCount) - var webkitColumnGap = require('./properties/webkitColumnGap').definition; - Object.defineProperty(prototype, 'webkitColumnGap', webkitColumnGap) - Object.defineProperty(prototype, 'webkit-column-gap', webkitColumnGap) - var webkitColumnRule = require('./properties/webkitColumnRule').definition; - Object.defineProperty(prototype, 'webkitColumnRule', webkitColumnRule) - Object.defineProperty(prototype, 'webkit-column-rule', webkitColumnRule) - var webkitColumnRuleColor = require('./properties/webkitColumnRuleColor').definition; - Object.defineProperty(prototype, 'webkitColumnRuleColor', webkitColumnRuleColor) - Object.defineProperty(prototype, 'webkit-column-rule-color', webkitColumnRuleColor) - var webkitColumnRuleStyle = require('./properties/webkitColumnRuleStyle').definition; - Object.defineProperty(prototype, 'webkitColumnRuleStyle', webkitColumnRuleStyle) - Object.defineProperty(prototype, 'webkit-column-rule-style', webkitColumnRuleStyle) - var webkitColumnRuleWidth = require('./properties/webkitColumnRuleWidth').definition; - Object.defineProperty(prototype, 'webkitColumnRuleWidth', webkitColumnRuleWidth) - Object.defineProperty(prototype, 'webkit-column-rule-width', webkitColumnRuleWidth) - var webkitColumnSpan = require('./properties/webkitColumnSpan').definition; - Object.defineProperty(prototype, 'webkitColumnSpan', webkitColumnSpan) - Object.defineProperty(prototype, 'webkit-column-span', webkitColumnSpan) - var webkitColumnWidth = require('./properties/webkitColumnWidth').definition; - Object.defineProperty(prototype, 'webkitColumnWidth', webkitColumnWidth) - Object.defineProperty(prototype, 'webkit-column-width', webkitColumnWidth) - var webkitColumns = require('./properties/webkitColumns').definition; - Object.defineProperty(prototype, 'webkitColumns', webkitColumns) - Object.defineProperty(prototype, 'webkit-columns', webkitColumns) - var webkitFilter = require('./properties/webkitFilter').definition; - Object.defineProperty(prototype, 'webkitFilter', webkitFilter) - Object.defineProperty(prototype, 'webkit-filter', webkitFilter) - var webkitFlexAlign = require('./properties/webkitFlexAlign').definition; - Object.defineProperty(prototype, 'webkitFlexAlign', webkitFlexAlign) - Object.defineProperty(prototype, 'webkit-flex-align', webkitFlexAlign) - var webkitFlexDirection = require('./properties/webkitFlexDirection').definition; - Object.defineProperty(prototype, 'webkitFlexDirection', webkitFlexDirection) - Object.defineProperty(prototype, 'webkit-flex-direction', webkitFlexDirection) - var webkitFlexFlow = require('./properties/webkitFlexFlow').definition; - Object.defineProperty(prototype, 'webkitFlexFlow', webkitFlexFlow) - Object.defineProperty(prototype, 'webkit-flex-flow', webkitFlexFlow) - var webkitFlexItemAlign = require('./properties/webkitFlexItemAlign').definition; - Object.defineProperty(prototype, 'webkitFlexItemAlign', webkitFlexItemAlign) - Object.defineProperty(prototype, 'webkit-flex-item-align', webkitFlexItemAlign) - var webkitFlexLinePack = require('./properties/webkitFlexLinePack').definition; - Object.defineProperty(prototype, 'webkitFlexLinePack', webkitFlexLinePack) - Object.defineProperty(prototype, 'webkit-flex-line-pack', webkitFlexLinePack) - var webkitFlexOrder = require('./properties/webkitFlexOrder').definition; - Object.defineProperty(prototype, 'webkitFlexOrder', webkitFlexOrder) - Object.defineProperty(prototype, 'webkit-flex-order', webkitFlexOrder) - var webkitFlexPack = require('./properties/webkitFlexPack').definition; - Object.defineProperty(prototype, 'webkitFlexPack', webkitFlexPack) - Object.defineProperty(prototype, 'webkit-flex-pack', webkitFlexPack) - var webkitFlexWrap = require('./properties/webkitFlexWrap').definition; - Object.defineProperty(prototype, 'webkitFlexWrap', webkitFlexWrap) - Object.defineProperty(prototype, 'webkit-flex-wrap', webkitFlexWrap) - var webkitFlowFrom = require('./properties/webkitFlowFrom').definition; - Object.defineProperty(prototype, 'webkitFlowFrom', webkitFlowFrom) - Object.defineProperty(prototype, 'webkit-flow-from', webkitFlowFrom) - var webkitFlowInto = require('./properties/webkitFlowInto').definition; - Object.defineProperty(prototype, 'webkitFlowInto', webkitFlowInto) - Object.defineProperty(prototype, 'webkit-flow-into', webkitFlowInto) - var webkitFontFeatureSettings = require('./properties/webkitFontFeatureSettings').definition; - Object.defineProperty(prototype, 'webkitFontFeatureSettings', webkitFontFeatureSettings) - Object.defineProperty(prototype, 'webkit-font-feature-settings', webkitFontFeatureSettings) - var webkitFontKerning = require('./properties/webkitFontKerning').definition; - Object.defineProperty(prototype, 'webkitFontKerning', webkitFontKerning) - Object.defineProperty(prototype, 'webkit-font-kerning', webkitFontKerning) - var webkitFontSizeDelta = require('./properties/webkitFontSizeDelta').definition; - Object.defineProperty(prototype, 'webkitFontSizeDelta', webkitFontSizeDelta) - Object.defineProperty(prototype, 'webkit-font-size-delta', webkitFontSizeDelta) - var webkitFontSmoothing = require('./properties/webkitFontSmoothing').definition; - Object.defineProperty(prototype, 'webkitFontSmoothing', webkitFontSmoothing) - Object.defineProperty(prototype, 'webkit-font-smoothing', webkitFontSmoothing) - var webkitFontVariantLigatures = require('./properties/webkitFontVariantLigatures').definition; - Object.defineProperty(prototype, 'webkitFontVariantLigatures', webkitFontVariantLigatures) - Object.defineProperty(prototype, 'webkit-font-variant-ligatures', webkitFontVariantLigatures) - var webkitHighlight = require('./properties/webkitHighlight').definition; - Object.defineProperty(prototype, 'webkitHighlight', webkitHighlight) - Object.defineProperty(prototype, 'webkit-highlight', webkitHighlight) - var webkitHyphenateCharacter = require('./properties/webkitHyphenateCharacter').definition; - Object.defineProperty(prototype, 'webkitHyphenateCharacter', webkitHyphenateCharacter) - Object.defineProperty(prototype, 'webkit-hyphenate-character', webkitHyphenateCharacter) - var webkitHyphenateLimitAfter = require('./properties/webkitHyphenateLimitAfter').definition; - Object.defineProperty(prototype, 'webkitHyphenateLimitAfter', webkitHyphenateLimitAfter) - Object.defineProperty(prototype, 'webkit-hyphenate-limit-after', webkitHyphenateLimitAfter) - var webkitHyphenateLimitBefore = require('./properties/webkitHyphenateLimitBefore').definition; - Object.defineProperty(prototype, 'webkitHyphenateLimitBefore', webkitHyphenateLimitBefore) - Object.defineProperty(prototype, 'webkit-hyphenate-limit-before', webkitHyphenateLimitBefore) - var webkitHyphenateLimitLines = require('./properties/webkitHyphenateLimitLines').definition; - Object.defineProperty(prototype, 'webkitHyphenateLimitLines', webkitHyphenateLimitLines) - Object.defineProperty(prototype, 'webkit-hyphenate-limit-lines', webkitHyphenateLimitLines) - var webkitHyphens = require('./properties/webkitHyphens').definition; - Object.defineProperty(prototype, 'webkitHyphens', webkitHyphens) - Object.defineProperty(prototype, 'webkit-hyphens', webkitHyphens) - var webkitLineAlign = require('./properties/webkitLineAlign').definition; - Object.defineProperty(prototype, 'webkitLineAlign', webkitLineAlign) - Object.defineProperty(prototype, 'webkit-line-align', webkitLineAlign) - var webkitLineBoxContain = require('./properties/webkitLineBoxContain').definition; - Object.defineProperty(prototype, 'webkitLineBoxContain', webkitLineBoxContain) - Object.defineProperty(prototype, 'webkit-line-box-contain', webkitLineBoxContain) - var webkitLineBreak = require('./properties/webkitLineBreak').definition; - Object.defineProperty(prototype, 'webkitLineBreak', webkitLineBreak) - Object.defineProperty(prototype, 'webkit-line-break', webkitLineBreak) - var webkitLineClamp = require('./properties/webkitLineClamp').definition; - Object.defineProperty(prototype, 'webkitLineClamp', webkitLineClamp) - Object.defineProperty(prototype, 'webkit-line-clamp', webkitLineClamp) - var webkitLineGrid = require('./properties/webkitLineGrid').definition; - Object.defineProperty(prototype, 'webkitLineGrid', webkitLineGrid) - Object.defineProperty(prototype, 'webkit-line-grid', webkitLineGrid) - var webkitLineSnap = require('./properties/webkitLineSnap').definition; - Object.defineProperty(prototype, 'webkitLineSnap', webkitLineSnap) - Object.defineProperty(prototype, 'webkit-line-snap', webkitLineSnap) - var webkitLocale = require('./properties/webkitLocale').definition; - Object.defineProperty(prototype, 'webkitLocale', webkitLocale) - Object.defineProperty(prototype, 'webkit-locale', webkitLocale) - var webkitLogicalHeight = require('./properties/webkitLogicalHeight').definition; - Object.defineProperty(prototype, 'webkitLogicalHeight', webkitLogicalHeight) - Object.defineProperty(prototype, 'webkit-logical-height', webkitLogicalHeight) - var webkitLogicalWidth = require('./properties/webkitLogicalWidth').definition; - Object.defineProperty(prototype, 'webkitLogicalWidth', webkitLogicalWidth) - Object.defineProperty(prototype, 'webkit-logical-width', webkitLogicalWidth) - var webkitMarginAfter = require('./properties/webkitMarginAfter').definition; - Object.defineProperty(prototype, 'webkitMarginAfter', webkitMarginAfter) - Object.defineProperty(prototype, 'webkit-margin-after', webkitMarginAfter) - var webkitMarginAfterCollapse = require('./properties/webkitMarginAfterCollapse').definition; - Object.defineProperty(prototype, 'webkitMarginAfterCollapse', webkitMarginAfterCollapse) - Object.defineProperty(prototype, 'webkit-margin-after-collapse', webkitMarginAfterCollapse) - var webkitMarginBefore = require('./properties/webkitMarginBefore').definition; - Object.defineProperty(prototype, 'webkitMarginBefore', webkitMarginBefore) - Object.defineProperty(prototype, 'webkit-margin-before', webkitMarginBefore) - var webkitMarginBeforeCollapse = require('./properties/webkitMarginBeforeCollapse').definition; - Object.defineProperty(prototype, 'webkitMarginBeforeCollapse', webkitMarginBeforeCollapse) - Object.defineProperty(prototype, 'webkit-margin-before-collapse', webkitMarginBeforeCollapse) - var webkitMarginBottomCollapse = require('./properties/webkitMarginBottomCollapse').definition; - Object.defineProperty(prototype, 'webkitMarginBottomCollapse', webkitMarginBottomCollapse) - Object.defineProperty(prototype, 'webkit-margin-bottom-collapse', webkitMarginBottomCollapse) - var webkitMarginCollapse = require('./properties/webkitMarginCollapse').definition; - Object.defineProperty(prototype, 'webkitMarginCollapse', webkitMarginCollapse) - Object.defineProperty(prototype, 'webkit-margin-collapse', webkitMarginCollapse) - var webkitMarginEnd = require('./properties/webkitMarginEnd').definition; - Object.defineProperty(prototype, 'webkitMarginEnd', webkitMarginEnd) - Object.defineProperty(prototype, 'webkit-margin-end', webkitMarginEnd) - var webkitMarginStart = require('./properties/webkitMarginStart').definition; - Object.defineProperty(prototype, 'webkitMarginStart', webkitMarginStart) - Object.defineProperty(prototype, 'webkit-margin-start', webkitMarginStart) - var webkitMarginTopCollapse = require('./properties/webkitMarginTopCollapse').definition; - Object.defineProperty(prototype, 'webkitMarginTopCollapse', webkitMarginTopCollapse) - Object.defineProperty(prototype, 'webkit-margin-top-collapse', webkitMarginTopCollapse) - var webkitMarquee = require('./properties/webkitMarquee').definition; - Object.defineProperty(prototype, 'webkitMarquee', webkitMarquee) - Object.defineProperty(prototype, 'webkit-marquee', webkitMarquee) - var webkitMarqueeDirection = require('./properties/webkitMarqueeDirection').definition; - Object.defineProperty(prototype, 'webkitMarqueeDirection', webkitMarqueeDirection) - Object.defineProperty(prototype, 'webkit-marquee-direction', webkitMarqueeDirection) - var webkitMarqueeIncrement = require('./properties/webkitMarqueeIncrement').definition; - Object.defineProperty(prototype, 'webkitMarqueeIncrement', webkitMarqueeIncrement) - Object.defineProperty(prototype, 'webkit-marquee-increment', webkitMarqueeIncrement) - var webkitMarqueeRepetition = require('./properties/webkitMarqueeRepetition').definition; - Object.defineProperty(prototype, 'webkitMarqueeRepetition', webkitMarqueeRepetition) - Object.defineProperty(prototype, 'webkit-marquee-repetition', webkitMarqueeRepetition) - var webkitMarqueeSpeed = require('./properties/webkitMarqueeSpeed').definition; - Object.defineProperty(prototype, 'webkitMarqueeSpeed', webkitMarqueeSpeed) - Object.defineProperty(prototype, 'webkit-marquee-speed', webkitMarqueeSpeed) - var webkitMarqueeStyle = require('./properties/webkitMarqueeStyle').definition; - Object.defineProperty(prototype, 'webkitMarqueeStyle', webkitMarqueeStyle) - Object.defineProperty(prototype, 'webkit-marquee-style', webkitMarqueeStyle) - var webkitMask = require('./properties/webkitMask').definition; - Object.defineProperty(prototype, 'webkitMask', webkitMask) - Object.defineProperty(prototype, 'webkit-mask', webkitMask) - var webkitMaskAttachment = require('./properties/webkitMaskAttachment').definition; - Object.defineProperty(prototype, 'webkitMaskAttachment', webkitMaskAttachment) - Object.defineProperty(prototype, 'webkit-mask-attachment', webkitMaskAttachment) - var webkitMaskBoxImage = require('./properties/webkitMaskBoxImage').definition; - Object.defineProperty(prototype, 'webkitMaskBoxImage', webkitMaskBoxImage) - Object.defineProperty(prototype, 'webkit-mask-box-image', webkitMaskBoxImage) - var webkitMaskBoxImageOutset = require('./properties/webkitMaskBoxImageOutset').definition; - Object.defineProperty(prototype, 'webkitMaskBoxImageOutset', webkitMaskBoxImageOutset) - Object.defineProperty(prototype, 'webkit-mask-box-image-outset', webkitMaskBoxImageOutset) - var webkitMaskBoxImageRepeat = require('./properties/webkitMaskBoxImageRepeat').definition; - Object.defineProperty(prototype, 'webkitMaskBoxImageRepeat', webkitMaskBoxImageRepeat) - Object.defineProperty(prototype, 'webkit-mask-box-image-repeat', webkitMaskBoxImageRepeat) - var webkitMaskBoxImageSlice = require('./properties/webkitMaskBoxImageSlice').definition; - Object.defineProperty(prototype, 'webkitMaskBoxImageSlice', webkitMaskBoxImageSlice) - Object.defineProperty(prototype, 'webkit-mask-box-image-slice', webkitMaskBoxImageSlice) - var webkitMaskBoxImageSource = require('./properties/webkitMaskBoxImageSource').definition; - Object.defineProperty(prototype, 'webkitMaskBoxImageSource', webkitMaskBoxImageSource) - Object.defineProperty(prototype, 'webkit-mask-box-image-source', webkitMaskBoxImageSource) - var webkitMaskBoxImageWidth = require('./properties/webkitMaskBoxImageWidth').definition; - Object.defineProperty(prototype, 'webkitMaskBoxImageWidth', webkitMaskBoxImageWidth) - Object.defineProperty(prototype, 'webkit-mask-box-image-width', webkitMaskBoxImageWidth) - var webkitMaskClip = require('./properties/webkitMaskClip').definition; - Object.defineProperty(prototype, 'webkitMaskClip', webkitMaskClip) - Object.defineProperty(prototype, 'webkit-mask-clip', webkitMaskClip) - var webkitMaskComposite = require('./properties/webkitMaskComposite').definition; - Object.defineProperty(prototype, 'webkitMaskComposite', webkitMaskComposite) - Object.defineProperty(prototype, 'webkit-mask-composite', webkitMaskComposite) - var webkitMaskImage = require('./properties/webkitMaskImage').definition; - Object.defineProperty(prototype, 'webkitMaskImage', webkitMaskImage) - Object.defineProperty(prototype, 'webkit-mask-image', webkitMaskImage) - var webkitMaskOrigin = require('./properties/webkitMaskOrigin').definition; - Object.defineProperty(prototype, 'webkitMaskOrigin', webkitMaskOrigin) - Object.defineProperty(prototype, 'webkit-mask-origin', webkitMaskOrigin) - var webkitMaskPosition = require('./properties/webkitMaskPosition').definition; - Object.defineProperty(prototype, 'webkitMaskPosition', webkitMaskPosition) - Object.defineProperty(prototype, 'webkit-mask-position', webkitMaskPosition) - var webkitMaskPositionX = require('./properties/webkitMaskPositionX').definition; - Object.defineProperty(prototype, 'webkitMaskPositionX', webkitMaskPositionX) - Object.defineProperty(prototype, 'webkit-mask-position-x', webkitMaskPositionX) - var webkitMaskPositionY = require('./properties/webkitMaskPositionY').definition; - Object.defineProperty(prototype, 'webkitMaskPositionY', webkitMaskPositionY) - Object.defineProperty(prototype, 'webkit-mask-position-y', webkitMaskPositionY) - var webkitMaskRepeat = require('./properties/webkitMaskRepeat').definition; - Object.defineProperty(prototype, 'webkitMaskRepeat', webkitMaskRepeat) - Object.defineProperty(prototype, 'webkit-mask-repeat', webkitMaskRepeat) - var webkitMaskRepeatX = require('./properties/webkitMaskRepeatX').definition; - Object.defineProperty(prototype, 'webkitMaskRepeatX', webkitMaskRepeatX) - Object.defineProperty(prototype, 'webkit-mask-repeat-x', webkitMaskRepeatX) - var webkitMaskRepeatY = require('./properties/webkitMaskRepeatY').definition; - Object.defineProperty(prototype, 'webkitMaskRepeatY', webkitMaskRepeatY) - Object.defineProperty(prototype, 'webkit-mask-repeat-y', webkitMaskRepeatY) - var webkitMaskSize = require('./properties/webkitMaskSize').definition; - Object.defineProperty(prototype, 'webkitMaskSize', webkitMaskSize) - Object.defineProperty(prototype, 'webkit-mask-size', webkitMaskSize) - var webkitMatchNearestMailBlockquoteColor = require('./properties/webkitMatchNearestMailBlockquoteColor').definition; - Object.defineProperty(prototype, 'webkitMatchNearestMailBlockquoteColor', webkitMatchNearestMailBlockquoteColor) - Object.defineProperty(prototype, 'webkit-match-nearest-mail-blockquote-color', webkitMatchNearestMailBlockquoteColor) - var webkitMaxLogicalHeight = require('./properties/webkitMaxLogicalHeight').definition; - Object.defineProperty(prototype, 'webkitMaxLogicalHeight', webkitMaxLogicalHeight) - Object.defineProperty(prototype, 'webkit-max-logical-height', webkitMaxLogicalHeight) - var webkitMaxLogicalWidth = require('./properties/webkitMaxLogicalWidth').definition; - Object.defineProperty(prototype, 'webkitMaxLogicalWidth', webkitMaxLogicalWidth) - Object.defineProperty(prototype, 'webkit-max-logical-width', webkitMaxLogicalWidth) - var webkitMinLogicalHeight = require('./properties/webkitMinLogicalHeight').definition; - Object.defineProperty(prototype, 'webkitMinLogicalHeight', webkitMinLogicalHeight) - Object.defineProperty(prototype, 'webkit-min-logical-height', webkitMinLogicalHeight) - var webkitMinLogicalWidth = require('./properties/webkitMinLogicalWidth').definition; - Object.defineProperty(prototype, 'webkitMinLogicalWidth', webkitMinLogicalWidth) - Object.defineProperty(prototype, 'webkit-min-logical-width', webkitMinLogicalWidth) - var webkitNbspMode = require('./properties/webkitNbspMode').definition; - Object.defineProperty(prototype, 'webkitNbspMode', webkitNbspMode) - Object.defineProperty(prototype, 'webkit-nbsp-mode', webkitNbspMode) - var webkitOverflowScrolling = require('./properties/webkitOverflowScrolling').definition; - Object.defineProperty(prototype, 'webkitOverflowScrolling', webkitOverflowScrolling) - Object.defineProperty(prototype, 'webkit-overflow-scrolling', webkitOverflowScrolling) - var webkitPaddingAfter = require('./properties/webkitPaddingAfter').definition; - Object.defineProperty(prototype, 'webkitPaddingAfter', webkitPaddingAfter) - Object.defineProperty(prototype, 'webkit-padding-after', webkitPaddingAfter) - var webkitPaddingBefore = require('./properties/webkitPaddingBefore').definition; - Object.defineProperty(prototype, 'webkitPaddingBefore', webkitPaddingBefore) - Object.defineProperty(prototype, 'webkit-padding-before', webkitPaddingBefore) - var webkitPaddingEnd = require('./properties/webkitPaddingEnd').definition; - Object.defineProperty(prototype, 'webkitPaddingEnd', webkitPaddingEnd) - Object.defineProperty(prototype, 'webkit-padding-end', webkitPaddingEnd) - var webkitPaddingStart = require('./properties/webkitPaddingStart').definition; - Object.defineProperty(prototype, 'webkitPaddingStart', webkitPaddingStart) - Object.defineProperty(prototype, 'webkit-padding-start', webkitPaddingStart) - var webkitPerspective = require('./properties/webkitPerspective').definition; - Object.defineProperty(prototype, 'webkitPerspective', webkitPerspective) - Object.defineProperty(prototype, 'webkit-perspective', webkitPerspective) - var webkitPerspectiveOrigin = require('./properties/webkitPerspectiveOrigin').definition; - Object.defineProperty(prototype, 'webkitPerspectiveOrigin', webkitPerspectiveOrigin) - Object.defineProperty(prototype, 'webkit-perspective-origin', webkitPerspectiveOrigin) - var webkitPerspectiveOriginX = require('./properties/webkitPerspectiveOriginX').definition; - Object.defineProperty(prototype, 'webkitPerspectiveOriginX', webkitPerspectiveOriginX) - Object.defineProperty(prototype, 'webkit-perspective-origin-x', webkitPerspectiveOriginX) - var webkitPerspectiveOriginY = require('./properties/webkitPerspectiveOriginY').definition; - Object.defineProperty(prototype, 'webkitPerspectiveOriginY', webkitPerspectiveOriginY) - Object.defineProperty(prototype, 'webkit-perspective-origin-y', webkitPerspectiveOriginY) - var webkitPrintColorAdjust = require('./properties/webkitPrintColorAdjust').definition; - Object.defineProperty(prototype, 'webkitPrintColorAdjust', webkitPrintColorAdjust) - Object.defineProperty(prototype, 'webkit-print-color-adjust', webkitPrintColorAdjust) - var webkitRegionBreakAfter = require('./properties/webkitRegionBreakAfter').definition; - Object.defineProperty(prototype, 'webkitRegionBreakAfter', webkitRegionBreakAfter) - Object.defineProperty(prototype, 'webkit-region-break-after', webkitRegionBreakAfter) - var webkitRegionBreakBefore = require('./properties/webkitRegionBreakBefore').definition; - Object.defineProperty(prototype, 'webkitRegionBreakBefore', webkitRegionBreakBefore) - Object.defineProperty(prototype, 'webkit-region-break-before', webkitRegionBreakBefore) - var webkitRegionBreakInside = require('./properties/webkitRegionBreakInside').definition; - Object.defineProperty(prototype, 'webkitRegionBreakInside', webkitRegionBreakInside) - Object.defineProperty(prototype, 'webkit-region-break-inside', webkitRegionBreakInside) - var webkitRegionOverflow = require('./properties/webkitRegionOverflow').definition; - Object.defineProperty(prototype, 'webkitRegionOverflow', webkitRegionOverflow) - Object.defineProperty(prototype, 'webkit-region-overflow', webkitRegionOverflow) - var webkitRtlOrdering = require('./properties/webkitRtlOrdering').definition; - Object.defineProperty(prototype, 'webkitRtlOrdering', webkitRtlOrdering) - Object.defineProperty(prototype, 'webkit-rtl-ordering', webkitRtlOrdering) - var webkitSvgShadow = require('./properties/webkitSvgShadow').definition; - Object.defineProperty(prototype, 'webkitSvgShadow', webkitSvgShadow) - Object.defineProperty(prototype, 'webkit-svg-shadow', webkitSvgShadow) - var webkitTapHighlightColor = require('./properties/webkitTapHighlightColor').definition; - Object.defineProperty(prototype, 'webkitTapHighlightColor', webkitTapHighlightColor) - Object.defineProperty(prototype, 'webkit-tap-highlight-color', webkitTapHighlightColor) - var webkitTextCombine = require('./properties/webkitTextCombine').definition; - Object.defineProperty(prototype, 'webkitTextCombine', webkitTextCombine) - Object.defineProperty(prototype, 'webkit-text-combine', webkitTextCombine) - var webkitTextDecorationsInEffect = require('./properties/webkitTextDecorationsInEffect').definition; - Object.defineProperty(prototype, 'webkitTextDecorationsInEffect', webkitTextDecorationsInEffect) - Object.defineProperty(prototype, 'webkit-text-decorations-in-effect', webkitTextDecorationsInEffect) - var webkitTextEmphasis = require('./properties/webkitTextEmphasis').definition; - Object.defineProperty(prototype, 'webkitTextEmphasis', webkitTextEmphasis) - Object.defineProperty(prototype, 'webkit-text-emphasis', webkitTextEmphasis) - var webkitTextEmphasisColor = require('./properties/webkitTextEmphasisColor').definition; - Object.defineProperty(prototype, 'webkitTextEmphasisColor', webkitTextEmphasisColor) - Object.defineProperty(prototype, 'webkit-text-emphasis-color', webkitTextEmphasisColor) - var webkitTextEmphasisPosition = require('./properties/webkitTextEmphasisPosition').definition; - Object.defineProperty(prototype, 'webkitTextEmphasisPosition', webkitTextEmphasisPosition) - Object.defineProperty(prototype, 'webkit-text-emphasis-position', webkitTextEmphasisPosition) - var webkitTextEmphasisStyle = require('./properties/webkitTextEmphasisStyle').definition; - Object.defineProperty(prototype, 'webkitTextEmphasisStyle', webkitTextEmphasisStyle) - Object.defineProperty(prototype, 'webkit-text-emphasis-style', webkitTextEmphasisStyle) - var webkitTextFillColor = require('./properties/webkitTextFillColor').definition; - Object.defineProperty(prototype, 'webkitTextFillColor', webkitTextFillColor) - Object.defineProperty(prototype, 'webkit-text-fill-color', webkitTextFillColor) - var webkitTextOrientation = require('./properties/webkitTextOrientation').definition; - Object.defineProperty(prototype, 'webkitTextOrientation', webkitTextOrientation) - Object.defineProperty(prototype, 'webkit-text-orientation', webkitTextOrientation) - var webkitTextSecurity = require('./properties/webkitTextSecurity').definition; - Object.defineProperty(prototype, 'webkitTextSecurity', webkitTextSecurity) - Object.defineProperty(prototype, 'webkit-text-security', webkitTextSecurity) - var webkitTextSizeAdjust = require('./properties/webkitTextSizeAdjust').definition; - Object.defineProperty(prototype, 'webkitTextSizeAdjust', webkitTextSizeAdjust) - Object.defineProperty(prototype, 'webkit-text-size-adjust', webkitTextSizeAdjust) - var webkitTextStroke = require('./properties/webkitTextStroke').definition; - Object.defineProperty(prototype, 'webkitTextStroke', webkitTextStroke) - Object.defineProperty(prototype, 'webkit-text-stroke', webkitTextStroke) - var webkitTextStrokeColor = require('./properties/webkitTextStrokeColor').definition; - Object.defineProperty(prototype, 'webkitTextStrokeColor', webkitTextStrokeColor) - Object.defineProperty(prototype, 'webkit-text-stroke-color', webkitTextStrokeColor) - var webkitTextStrokeWidth = require('./properties/webkitTextStrokeWidth').definition; - Object.defineProperty(prototype, 'webkitTextStrokeWidth', webkitTextStrokeWidth) - Object.defineProperty(prototype, 'webkit-text-stroke-width', webkitTextStrokeWidth) - var webkitTransform = require('./properties/webkitTransform').definition; - Object.defineProperty(prototype, 'webkitTransform', webkitTransform) - Object.defineProperty(prototype, 'webkit-transform', webkitTransform) - var webkitTransformOrigin = require('./properties/webkitTransformOrigin').definition; - Object.defineProperty(prototype, 'webkitTransformOrigin', webkitTransformOrigin) - Object.defineProperty(prototype, 'webkit-transform-origin', webkitTransformOrigin) - var webkitTransformOriginX = require('./properties/webkitTransformOriginX').definition; - Object.defineProperty(prototype, 'webkitTransformOriginX', webkitTransformOriginX) - Object.defineProperty(prototype, 'webkit-transform-origin-x', webkitTransformOriginX) - var webkitTransformOriginY = require('./properties/webkitTransformOriginY').definition; - Object.defineProperty(prototype, 'webkitTransformOriginY', webkitTransformOriginY) - Object.defineProperty(prototype, 'webkit-transform-origin-y', webkitTransformOriginY) - var webkitTransformOriginZ = require('./properties/webkitTransformOriginZ').definition; - Object.defineProperty(prototype, 'webkitTransformOriginZ', webkitTransformOriginZ) - Object.defineProperty(prototype, 'webkit-transform-origin-z', webkitTransformOriginZ) - var webkitTransformStyle = require('./properties/webkitTransformStyle').definition; - Object.defineProperty(prototype, 'webkitTransformStyle', webkitTransformStyle) - Object.defineProperty(prototype, 'webkit-transform-style', webkitTransformStyle) - var webkitTransition = require('./properties/webkitTransition').definition; - Object.defineProperty(prototype, 'webkitTransition', webkitTransition) - Object.defineProperty(prototype, 'webkit-transition', webkitTransition) - var webkitTransitionDelay = require('./properties/webkitTransitionDelay').definition; - Object.defineProperty(prototype, 'webkitTransitionDelay', webkitTransitionDelay) - Object.defineProperty(prototype, 'webkit-transition-delay', webkitTransitionDelay) - var webkitTransitionDuration = require('./properties/webkitTransitionDuration').definition; - Object.defineProperty(prototype, 'webkitTransitionDuration', webkitTransitionDuration) - Object.defineProperty(prototype, 'webkit-transition-duration', webkitTransitionDuration) - var webkitTransitionProperty = require('./properties/webkitTransitionProperty').definition; - Object.defineProperty(prototype, 'webkitTransitionProperty', webkitTransitionProperty) - Object.defineProperty(prototype, 'webkit-transition-property', webkitTransitionProperty) - var webkitTransitionTimingFunction = require('./properties/webkitTransitionTimingFunction').definition; - Object.defineProperty(prototype, 'webkitTransitionTimingFunction', webkitTransitionTimingFunction) - Object.defineProperty(prototype, 'webkit-transition-timing-function', webkitTransitionTimingFunction) - var webkitUserDrag = require('./properties/webkitUserDrag').definition; - Object.defineProperty(prototype, 'webkitUserDrag', webkitUserDrag) - Object.defineProperty(prototype, 'webkit-user-drag', webkitUserDrag) - var webkitUserModify = require('./properties/webkitUserModify').definition; - Object.defineProperty(prototype, 'webkitUserModify', webkitUserModify) - Object.defineProperty(prototype, 'webkit-user-modify', webkitUserModify) - var webkitUserSelect = require('./properties/webkitUserSelect').definition; - Object.defineProperty(prototype, 'webkitUserSelect', webkitUserSelect) - Object.defineProperty(prototype, 'webkit-user-select', webkitUserSelect) - var webkitWrap = require('./properties/webkitWrap').definition; - Object.defineProperty(prototype, 'webkitWrap', webkitWrap) - Object.defineProperty(prototype, 'webkit-wrap', webkitWrap) - var webkitWrapFlow = require('./properties/webkitWrapFlow').definition; - Object.defineProperty(prototype, 'webkitWrapFlow', webkitWrapFlow) - Object.defineProperty(prototype, 'webkit-wrap-flow', webkitWrapFlow) - var webkitWrapMargin = require('./properties/webkitWrapMargin').definition; - Object.defineProperty(prototype, 'webkitWrapMargin', webkitWrapMargin) - Object.defineProperty(prototype, 'webkit-wrap-margin', webkitWrapMargin) - var webkitWrapPadding = require('./properties/webkitWrapPadding').definition; - Object.defineProperty(prototype, 'webkitWrapPadding', webkitWrapPadding) - Object.defineProperty(prototype, 'webkit-wrap-padding', webkitWrapPadding) - var webkitWrapShapeInside = require('./properties/webkitWrapShapeInside').definition; - Object.defineProperty(prototype, 'webkitWrapShapeInside', webkitWrapShapeInside) - Object.defineProperty(prototype, 'webkit-wrap-shape-inside', webkitWrapShapeInside) - var webkitWrapShapeOutside = require('./properties/webkitWrapShapeOutside').definition; - Object.defineProperty(prototype, 'webkitWrapShapeOutside', webkitWrapShapeOutside) - Object.defineProperty(prototype, 'webkit-wrap-shape-outside', webkitWrapShapeOutside) - var webkitWrapThrough = require('./properties/webkitWrapThrough').definition; - Object.defineProperty(prototype, 'webkitWrapThrough', webkitWrapThrough) - Object.defineProperty(prototype, 'webkit-wrap-through', webkitWrapThrough) - var webkitWritingMode = require('./properties/webkitWritingMode').definition; - Object.defineProperty(prototype, 'webkitWritingMode', webkitWritingMode) - Object.defineProperty(prototype, 'webkit-writing-mode', webkitWritingMode) - var whiteSpace = require('./properties/whiteSpace').definition; - Object.defineProperty(prototype, 'whiteSpace', whiteSpace) - Object.defineProperty(prototype, 'white-space', whiteSpace) - var widows = require('./properties/widows').definition; - Object.defineProperty(prototype, 'widows', widows) - var width = require('./properties/width').definition; - Object.defineProperty(prototype, 'width', width) - var wordBreak = require('./properties/wordBreak').definition; - Object.defineProperty(prototype, 'wordBreak', wordBreak) - Object.defineProperty(prototype, 'word-break', wordBreak) - var wordSpacing = require('./properties/wordSpacing').definition; - Object.defineProperty(prototype, 'wordSpacing', wordSpacing) - Object.defineProperty(prototype, 'word-spacing', wordSpacing) - var wordWrap = require('./properties/wordWrap').definition; - Object.defineProperty(prototype, 'wordWrap', wordWrap) - Object.defineProperty(prototype, 'word-wrap', wordWrap) - var writingMode = require('./properties/writingMode').definition; - Object.defineProperty(prototype, 'writingMode', writingMode) - Object.defineProperty(prototype, 'writing-mode', writingMode) - var zIndex = require('./properties/zIndex').definition; - Object.defineProperty(prototype, 'zIndex', zIndex) - Object.defineProperty(prototype, 'z-index', zIndex) - var zoom = require('./properties/zoom').definition; - Object.defineProperty(prototype, 'zoom', zoom) -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/alignmentBaseline.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/alignmentBaseline.js deleted file mode 100644 index c9a4963..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/alignmentBaseline.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('alignment-baseline', v); - }, - get: function () { - return this.getPropertyValue('alignment-baseline'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/azimuth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/azimuth.js deleted file mode 100644 index d48be84..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/azimuth.js +++ /dev/null @@ -1,65 +0,0 @@ -'use strict'; - -var parsers = require('../parsers'); - -module.exports.definition = { - set: function (v) { - var valueType = parsers.valueType(v); - if (valueType === parsers.TYPES.ANGLE) { - return this._setProperty('azimuth', parsers.parseAngle(v)); - } - if (valueType === parsers.TYPES.KEYWORD) { - var keywords = v.toLowerCase().trim().split(/\s+/); - var hasBehind = false; - if (keywords.length > 2) { - return; - } - var behindIndex = keywords.indexOf('behind'); - hasBehind = (behindIndex !== -1); - - if (keywords.length === 2) { - if (!hasBehind) { - return; - } - keywords.splice(behindIndex, 1); - } - if (keywords[0] === 'leftwards' || keywords[0] === 'rightwards') { - if (hasBehind) { - return; - } - return this._setProperty('azimuth', keywords[0]); - } - if (keywords[0] === 'behind') { - return this._setProperty('azimuth', '180deg'); - } - var deg; - switch (keywords[0]) { - case 'left-side': - return this._setProperty('azimuth', '270deg'); - case 'far-left': - return this._setProperty('azimuth', (hasBehind ? 240 : 300) + 'deg'); - case 'left': - return this._setProperty('azimuth', (hasBehind ? 220 : 320) + 'deg'); - case 'center-left': - return this._setProperty('azimuth', (hasBehind ? 200 : 340) + 'deg'); - case 'center': - return this._setProperty('azimuth', (hasBehind ? 180 : 0) + 'deg'); - case 'center-right': - return this._setProperty('azimuth', (hasBehind ? 160 : 20) + 'deg'); - case 'right': - return this._setProperty('azimuth', (hasBehind ? 140 : 40) + 'deg'); - case 'far-right': - return this._setProperty('azimuth', (hasBehind ? 120 : 60) + 'deg'); - case 'right-side': - return this._setProperty('azimuth', '90deg'); - default: - return; - } - } - }, - get: function () { - return this.getPropertyValue('azimuth'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/background.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/background.js deleted file mode 100644 index 3f62c27..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/background.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -var shorthandParser = require('../parsers').shorthandParser; -var shorthandSetter = require('../parsers').shorthandSetter; -var shorthandGetter = require('../parsers').shorthandGetter; - -var shorthand_for = { - 'background-color': require('./backgroundColor'), - 'background-image': require('./backgroundImage'), - 'background-repeat': require('./backgroundRepeat'), - 'background-attachment': require('./backgroundAttachment'), - 'background-position': require('./backgroundPosition') -}; - -module.exports.isValid = function isValid(v) { - return shorthandParser(v, shorthand_for) !== undefined; -}; - -module.exports.definition = { - set: shorthandSetter('background', shorthand_for), - get: shorthandGetter('background', shorthand_for), - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundAttachment.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundAttachment.js deleted file mode 100644 index 3bcb1f1..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundAttachment.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var parsers = require('../parsers'); - -var isValid = module.exports.isValid = function isValid(v) { - return parsers.valueType(v) === parsers.TYPES.KEYWORD && - (v.toLowerCase() === 'scroll' || v.toLowerCase() === 'fixed' || v.toLowerCase() === 'inherit'); -}; - -module.exports.definition = { - set: function (v) { - if (!isValid(v)) { - return; - } - this._setProperty('background-attachment', v); - }, - get: function () { - return this.getPropertyValue('background-attachment'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundClip.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundClip.js deleted file mode 100644 index e7a1557..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundClip.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('background-clip', v); - }, - get: function () { - return this.getPropertyValue('background-clip'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundColor.js deleted file mode 100644 index 994975a..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundColor.js +++ /dev/null @@ -1,33 +0,0 @@ -'use strict'; - -var parsers = require('../parsers'); - -var parse = function parse(v) { - var parsed = parsers.parseColor(v); - if (parsed !== undefined) { - return parsed; - } - if (parsers.valueType(v) === parsers.TYPES.KEYWORD && (v.toLowerCase() === 'transparent' || v.toLowerCase() === 'inherit')) { - return v; - } - return undefined; -}; - -module.exports.isValid = function isValid(v) { - return parse(v) !== undefined; -}; - -module.exports.definition = { - set: function (v) { - var parsed = parse(v); - if (parsed === undefined) { - return; - } - this._setProperty('background-color', parsed); - }, - get: function () { - return this.getPropertyValue('background-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundImage.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundImage.js deleted file mode 100644 index 5bb79f9..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundImage.js +++ /dev/null @@ -1,29 +0,0 @@ -'use strict'; - -var parsers = require('../parsers'); - -var parse = function parse(v) { - var parsed = parsers.parseUrl(v); - if (parsed !== undefined) { - return parsed; - } - if (parsers.valueType(v) === parsers.TYPES.KEYWORD && (v.toLowerCase() === 'none' || v.toLowerCase() === 'inherit')) { - return v; - } - return undefined; -}; - -module.exports.isValid = function isValid(v) { - return parse(v) !== undefined; -}; - -module.exports.definition = { - set: function (v) { - this._setProperty('background-image', parse(v)); - }, - get: function () { - return this.getPropertyValue('background-image'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundOrigin.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundOrigin.js deleted file mode 100644 index 79bfdc2..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundOrigin.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('background-origin', v); - }, - get: function () { - return this.getPropertyValue('background-origin'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundPosition.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundPosition.js deleted file mode 100644 index b4c78d7..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundPosition.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict'; - -var parsers = require('../parsers'); - -var valid_keywords = ['top', 'center', 'bottom', 'left', 'right']; - -var parse = function parse(v) { - if (v === '' || v === null) { - return undefined; - } - var parts = v.split(/\s+/); - if (parts.length > 2 || parts.length < 1) { - return undefined; - } - var types = []; - parts.forEach(function (part, index) { - types[index] = parsers.valueType(part); - }); - if (parts.length === 1) { - if (types[0] === parsers.TYPES.LENGTH || types[0] === parsers.TYPES.PERCENT) { - return v; - } - if (types[0] === parsers.TYPES.KEYWORD) { - if (valid_keywords.indexOf(v.toLowerCase()) !== -1 || v.toLowerCase() === 'inherit') { - return v; - } - } - return undefined; - } - if ((types[0] === parsers.TYPES.LENGTH || types[0] === parsers.TYPES.PERCENT) && - (types[1] === parsers.TYPES.LENGTH || types[1] === parsers.TYPES.PERCENT)) { - return v; - } - if (types[0] !== parsers.TYPES.KEYWORD || types[1] !== parsers.TYPES.KEYWORD) { - return undefined; - } - if (valid_keywords.indexOf(parts[0]) !== -1 && valid_keywords.indexOf(parts[1]) !== -1) { - return v; - } - return undefined; -}; - -module.exports.isValid = function isValid(v) { - return parse(v) !== undefined; -}; - -module.exports.definition = { - set: function (v) { - this._setProperty('background-position', parse(v)); - }, - get: function () { - return this.getPropertyValue('background-position'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundPositionX.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundPositionX.js deleted file mode 100644 index 8f0f7f0..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundPositionX.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('background-position-x', v); - }, - get: function () { - return this.getPropertyValue('background-position-x'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundPositionY.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundPositionY.js deleted file mode 100644 index 3981d37..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundPositionY.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('background-position-y', v); - }, - get: function () { - return this.getPropertyValue('background-position-y'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundRepeat.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundRepeat.js deleted file mode 100644 index 765a06d..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundRepeat.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var parsers = require('../parsers'); - -var parse = function parse(v) { - if (parsers.valueType(v) === parsers.TYPES.KEYWORD && (v.toLowerCase() === 'repeat' || v.toLowerCase() === 'repeat-x' || v.toLowerCase() === 'repeat-y' || v.toLowerCase() === 'no-repeat' || v.toLowerCase() === 'inherit')) { - return v; - } - return undefined; -}; - -module.exports.isValid = function isValid(v) { - return parse(v) !== undefined; -}; - -module.exports.definition = { - set: function (v) { - this._setProperty('background-repeat', parse(v)); - }, - get: function () { - return this.getPropertyValue('background-repeat'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundRepeatX.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundRepeatX.js deleted file mode 100644 index ddc0fc8..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundRepeatX.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('background-repeat-x', v); - }, - get: function () { - return this.getPropertyValue('background-repeat-x'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundRepeatY.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundRepeatY.js deleted file mode 100644 index 583e0d7..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundRepeatY.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('background-repeat-y', v); - }, - get: function () { - return this.getPropertyValue('background-repeat-y'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundSize.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundSize.js deleted file mode 100644 index c4b4af2..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/backgroundSize.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('background-size', v); - }, - get: function () { - return this.getPropertyValue('background-size'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/baselineShift.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/baselineShift.js deleted file mode 100644 index a52252c..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/baselineShift.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('baseline-shift', v); - }, - get: function () { - return this.getPropertyValue('baseline-shift'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/border.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/border.js deleted file mode 100644 index 8cf97f6..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/border.js +++ /dev/null @@ -1,49 +0,0 @@ -'use strict'; - -var shorthandParser = require('../parsers').shorthandParser; -var shorthandSetter = require('../parsers').shorthandSetter; -var shorthandGetter = require('../parsers').shorthandGetter; - -var shorthand_for = { - 'border-width': require('./borderWidth'), - 'border-style': require('./borderStyle'), - 'border-color': require('./borderColor') -}; - -var isValid = function isValid(v) { - return shorthandParser(v, shorthand_for) !== undefined; -}; -module.exports.isValid = isValid; - -var parser = function (v) { - if (v.toString().toLowerCase() === 'none') { - v = ''; - } - if (isValid(v)) { - return v; - } - return undefined; -}; - -var myShorthandSetter = shorthandSetter('border', shorthand_for); -var myShorthandGetter = shorthandGetter('border', shorthand_for); - -module.exports.definition = { - set: function (v) { - if (v.toString().toLowerCase() === 'none') { - v = ''; - } - myShorthandSetter.call(this, v); - this.removeProperty('border-top'); - this.removeProperty('border-left'); - this.removeProperty('border-right'); - this.removeProperty('border-bottom'); - this._values['border-top'] = this._values.border; - this._values['border-left'] = this._values.border; - this._values['border-right'] = this._values.border; - this._values['border-bottom'] = this._values.border; - }, - get: myShorthandGetter, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottom.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottom.js deleted file mode 100644 index bc01dd3..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottom.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var shorthandSetter = require('../parsers').shorthandSetter; -var shorthandGetter = require('../parsers').shorthandGetter; -var shorthandParser = require('../parsers').shorthandParser; - -var shorthand_for = { - 'border-bottom-width': require('./borderBottomWidth'), - 'border-bottom-style': require('./borderBottomStyle'), - 'border-bottom-color': require('./borderBottomColor') -}; - -var isValid = function isValid(v) { - return shorthandParser(v, shorthand_for) !== undefined; -}; -module.exports.isValid = isValid; - -module.exports.definition = { - set: shorthandSetter('border-bottom', shorthand_for), - get: shorthandGetter('border-bottom', shorthand_for), - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottomColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottomColor.js deleted file mode 100644 index f7581bb..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottomColor.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var isValid = module.exports.isValid = require('./borderColor').isValid; - -module.exports.definition = { - set: function (v) { - if (isValid(v)) { - this._setProperty('border-bottom-color', v); - } - }, - get: function () { - return this.getPropertyValue('border-bottom-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottomLeftRadius.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottomLeftRadius.js deleted file mode 100644 index 0d340b7..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottomLeftRadius.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('border-bottom-left-radius', v); - }, - get: function () { - return this.getPropertyValue('border-bottom-left-radius'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottomRightRadius.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottomRightRadius.js deleted file mode 100644 index a63bffd..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottomRightRadius.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('border-bottom-right-radius', v); - }, - get: function () { - return this.getPropertyValue('border-bottom-right-radius'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottomStyle.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottomStyle.js deleted file mode 100644 index 59c8e93..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottomStyle.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var isValid = require('./borderStyle').isValid; -module.exports.isValid = isValid; - -module.exports.definition = { - set: function (v) { - if (isValid(v)) { - if (v.toLowerCase() === 'none') { - v = ''; - this.removeProperty('border-bottom-width'); - } - this._setProperty('border-bottom-style', v); - } - }, - get: function () { - return this.getPropertyValue('border-bottom-style'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottomWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottomWidth.js deleted file mode 100644 index f03bd6f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderBottomWidth.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var isValid = module.exports.isValid = require('./borderWidth').isValid; - -module.exports.definition = { - set: function (v) { - if (isValid(v)) { - this._setProperty('border-bottom-width', v); - } - }, - get: function () { - return this.getPropertyValue('border-bottom-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderCollapse.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderCollapse.js deleted file mode 100644 index 9df8b42..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderCollapse.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var parsers = require('../parsers'); - -var parse = function parse(v) { - if (parsers.valueType(v) === parsers.TYPES.KEYWORD && (v.toLowerCase() === 'collapse' || v.toLowerCase() === 'separate' || v.toLowerCase() === 'inherit')) { - return v; - } - return undefined; -}; - -module.exports.isValid = function isValid(v) { - return parse(v) !== undefined; -}; - -module.exports.definition = { - set: function (v) { - this._setProperty('border-collapse', parse(v)); - }, - get: function () { - return this.getPropertyValue('border-collapse'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderColor.js deleted file mode 100644 index a3c7a45..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderColor.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict'; - -var parsers = require('../parsers'); -var implicitSetter = require('../parsers').implicitSetter; - -module.exports.isValid = function parse(v) { - if (typeof v !== 'string') { - return false; - } - return (v === '' || v.toLowerCase() === 'transparent' || parsers.valueType(v) === parsers.TYPES.COLOR); -}; -var isValid = module.exports.isValid; - -var parser = function (v) { - if (isValid(v)) { - return v.toLowerCase(); - } - return undefined; -}; - -module.exports.definition = { - set: implicitSetter('border', 'color', isValid, parser), - get: function () { - return this.getPropertyValue('border-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImage.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImage.js deleted file mode 100644 index 6cbc016..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImage.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('border-image', v); - }, - get: function () { - return this.getPropertyValue('border-image'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImageOutset.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImageOutset.js deleted file mode 100644 index 4df8fca..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImageOutset.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('border-image-outset', v); - }, - get: function () { - return this.getPropertyValue('border-image-outset'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImageRepeat.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImageRepeat.js deleted file mode 100644 index 0752d86..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImageRepeat.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('border-image-repeat', v); - }, - get: function () { - return this.getPropertyValue('border-image-repeat'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImageSlice.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImageSlice.js deleted file mode 100644 index 8429007..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImageSlice.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('border-image-slice', v); - }, - get: function () { - return this.getPropertyValue('border-image-slice'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImageSource.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImageSource.js deleted file mode 100644 index 9f6228b..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImageSource.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('border-image-source', v); - }, - get: function () { - return this.getPropertyValue('border-image-source'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImageWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImageWidth.js deleted file mode 100644 index 492fe73..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderImageWidth.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('border-image-width', v); - }, - get: function () { - return this.getPropertyValue('border-image-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderLeft.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderLeft.js deleted file mode 100644 index 7f54157..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderLeft.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var shorthandSetter = require('../parsers').shorthandSetter; -var shorthandGetter = require('../parsers').shorthandGetter; -var shorthandParser = require('../parsers').shorthandParser; - -var shorthand_for = { - 'border-left-width': require('./borderLeftWidth'), - 'border-left-style': require('./borderLeftStyle'), - 'border-left-color': require('./borderLeftColor') -}; - -var isValid = function isValid(v) { - return shorthandParser(v, shorthand_for) !== undefined; -}; -module.exports.isValid = isValid; - -module.exports.definition = { - set: shorthandSetter('border-left', shorthand_for), - get: shorthandGetter('border-left', shorthand_for), - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderLeftColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderLeftColor.js deleted file mode 100644 index e28e531..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderLeftColor.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var isValid = module.exports.isValid = require('./borderColor').isValid; - -module.exports.definition = { - set: function (v) { - if (isValid(v)) { - this._setProperty('border-left-color', v); - } - }, - get: function () { - return this.getPropertyValue('border-left-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderLeftStyle.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderLeftStyle.js deleted file mode 100644 index 402823a..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderLeftStyle.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var isValid = require('./borderStyle').isValid; -module.exports.isValid = isValid; - -module.exports.definition = { - set: function (v) { - if (isValid(v)) { - if (v.toLowerCase() === 'none') { - v = ''; - this.removeProperty('border-left-width'); - } - this._setProperty('border-left-style', v); - } - }, - get: function () { - return this.getPropertyValue('border-left-style'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderLeftWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderLeftWidth.js deleted file mode 100644 index e0e76e3..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderLeftWidth.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var isValid = module.exports.isValid = require('./borderWidth').isValid; - -module.exports.definition = { - set: function (v) { - if (isValid(v)) { - this._setProperty('border-left-width', v); - } - }, - get: function () { - return this.getPropertyValue('border-left-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderRadius.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderRadius.js deleted file mode 100644 index 9b85c9e..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderRadius.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('border-radius', v); - }, - get: function () { - return this.getPropertyValue('border-radius'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderRight.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderRight.js deleted file mode 100644 index bfe1a78..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderRight.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -var shorthandSetter = require('../parsers').shorthandSetter; -var shorthandGetter = require('../parsers').shorthandGetter; -var shorthandParser = require('../parsers').shorthandParser; - -var shorthand_for = { - 'border-right-width': require('./borderRightWidth'), - 'border-right-style': require('./borderRightStyle'), - 'border-right-color': require('./borderRightColor') -}; - -var isValid = function isValid(v) { - return shorthandParser(v, shorthand_for) !== undefined; -}; -module.exports.isValid = isValid; - -module.exports.definition = { - set: shorthandSetter('border-right', shorthand_for), - get: shorthandGetter('border-right', shorthand_for), - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderRightColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderRightColor.js deleted file mode 100644 index fe9e512..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderRightColor.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var isValid = module.exports.isValid = require('./borderColor').isValid; - -module.exports.definition = { - set: function (v) { - if (isValid(v)) { - this._setProperty('border-right-color', v); - } - }, - get: function () { - return this.getPropertyValue('border-right-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderRightStyle.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderRightStyle.js deleted file mode 100644 index 7b794a2..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderRightStyle.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var isValid = require('./borderStyle').isValid; -module.exports.isValid = isValid; - -module.exports.definition = { - set: function (v) { - if (isValid(v)) { - if (v.toLowerCase() === 'none') { - v = ''; - this.removeProperty('border-right-width'); - } - this._setProperty('border-right-style', v); - } - }, - get: function () { - return this.getPropertyValue('border-right-style'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderRightWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderRightWidth.js deleted file mode 100644 index a9fe7dc..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderRightWidth.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var isValid = module.exports.isValid = require('./borderWidth').isValid; - -module.exports.definition = { - set: function (v) { - if (isValid(v)) { - this._setProperty('border-right-width', v); - } - }, - get: function () { - return this.getPropertyValue('border-right-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderSpacing.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderSpacing.js deleted file mode 100644 index 7979bd2..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderSpacing.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -var parsers = require('../parsers'); - -// ? | inherit -// if one, it applies to both horizontal and verical spacing -// if two, the first applies to the horizontal and the second applies to vertical spacing - -var parse = function parse(v) { - if (v === '' || v === null) { - return undefined; - } - if (v.toLowerCase() === 'inherit') { - return v; - } - var parts = v.split(/\s+/); - if (parts.length !== 1 && parts.length !== 2) { - return undefined; - } - parts.forEach(function (part) { - if (parsers.valueType(part) !== parsers.TYPES.LENGTH) { - return undefined; - } - }); - - return v; -}; - -module.exports.isValid = function isValid(v) { - return parse(v) !== undefined; -}; - -module.exports.definition = { - set: function (v) { - this._setProperty('border-spacing', parse(v)); - }, - get: function () { - return this.getPropertyValue('border-spacing'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderStyle.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderStyle.js deleted file mode 100644 index 6f79f43..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderStyle.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict'; - -var implicitSetter = require('../parsers').implicitSetter; - -// the valid border-styles: -var styles = ['none', 'hidden', 'dotted', 'dashed', 'solid', 'double', 'groove', 'ridge', 'inset', 'outset']; - -module.exports.isValid = function parse(v) { - return typeof v === 'string' && (v === '' || styles.indexOf(v) !== -1); -}; -var isValid = module.exports.isValid; - -var parser = function (v) { - if (isValid(v)) { - return v.toLowerCase(); - } - return undefined; -}; - -module.exports.definition = { - set: implicitSetter('border', 'style', isValid, parser), - get: function () { - return this.getPropertyValue('border-style'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTop.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTop.js deleted file mode 100644 index 98480e7..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTop.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - -var shorthandSetter = require('../parsers').shorthandSetter; -var shorthandGetter = require('../parsers').shorthandGetter; -var shorthandParser = require('../parsers').shorthandParser; - -var shorthand_for = { - 'border-top-width': require('./borderTopWidth'), - 'border-top-style': require('./borderTopStyle'), - 'border-top-color': require('./borderTopColor') -}; - -module.exports.isValid = function (v) { - return shorthandParser(v, shorthand_for) !== undefined; -}; - -module.exports.definition = { - set: shorthandSetter('border-top', shorthand_for), - get: shorthandGetter('border-top', shorthand_for), - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTopColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTopColor.js deleted file mode 100644 index 60857df..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTopColor.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var isValid = module.exports.isValid = require('./borderColor').isValid; - -module.exports.definition = { - set: function (v) { - if (isValid(v)) { - this._setProperty('border-top-color', v); - } - }, - get: function () { - return this.getPropertyValue('border-top-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTopLeftRadius.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTopLeftRadius.js deleted file mode 100644 index 36c5ba1..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTopLeftRadius.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('border-top-left-radius', v); - }, - get: function () { - return this.getPropertyValue('border-top-left-radius'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTopRightRadius.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTopRightRadius.js deleted file mode 100644 index 43a6bba..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTopRightRadius.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('border-top-right-radius', v); - }, - get: function () { - return this.getPropertyValue('border-top-right-radius'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTopStyle.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTopStyle.js deleted file mode 100644 index a593161..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTopStyle.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var isValid = require('./borderStyle').isValid; -module.exports.isValid = isValid; - -module.exports.definition = { - set: function (v) { - if (isValid(v)) { - if (v.toLowerCase() === 'none') { - v = ''; - this.removeProperty('border-top-width'); - } - this._setProperty('border-top-style', v); - } - }, - get: function () { - return this.getPropertyValue('border-top-style'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTopWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTopWidth.js deleted file mode 100644 index 49deee8..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderTopWidth.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -var isValid = require('./borderWidth').isValid; -module.exports.isValid = isValid; - -module.exports.definition = { - set: function (v) { - if (isValid(v)) { - this._setProperty('border-top-width', v); - } - }, - get: function () { - return this.getPropertyValue('border-top-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderWidth.js deleted file mode 100644 index 0bcc63b..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/borderWidth.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var parsers = require('../parsers'); -var parsers = require('../parsers'); -var implicitSetter = require('../parsers').implicitSetter; - -// the valid border-widths: -var widths = ['thin', 'medium', 'thick']; - -module.exports.isValid = function parse(v) { - var length = parsers.parseLength(v); - if (length !== undefined) { - return true; - } - if (typeof v !== 'string') { - return false; - } - if (v === '') { - return true; - } - v = v.toLowerCase(); - if (widths.indexOf(v) === -1) { - return false; - } - return true; -}; -var isValid = module.exports.isValid; - -var parser = function (v) { - var length = parsers.parseLength(v); - if (length !== undefined) { - return length; - } - if (isValid(v)) { - return v.toLowerCase(); - } - return undefined; -}; - -module.exports.definition = { - set: implicitSetter('border', 'width', isValid, parser), - get: function () { - return this.getPropertyValue('border-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/bottom.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/bottom.js deleted file mode 100644 index c7dda96..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/bottom.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseMeasurement = require('../parsers').parseMeasurement; - -module.exports.definition = { - set: function (v) { - this._setProperty('bottom', parseMeasurement(v)); - }, - get: function () { - return this.getPropertyValue('bottom'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/boxShadow.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/boxShadow.js deleted file mode 100644 index e178451..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/boxShadow.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('box-shadow', v); - }, - get: function () { - return this.getPropertyValue('box-shadow'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/boxSizing.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/boxSizing.js deleted file mode 100644 index 35c6371..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/boxSizing.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('box-sizing', v); - }, - get: function () { - return this.getPropertyValue('box-sizing'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/captionSide.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/captionSide.js deleted file mode 100644 index c1ef22b..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/captionSide.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('caption-side', v); - }, - get: function () { - return this.getPropertyValue('caption-side'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/clear.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/clear.js deleted file mode 100644 index 44070e7..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/clear.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -var parseKeyword = require('../parsers').parseKeyword; - -var clear_keywords = [ 'none', 'left', 'right', 'both', 'inherit' ]; - -module.exports.definition = { - set: function (v) { - this._setProperty('clear', parseKeyword(v, clear_keywords)); - }, - get: function () { - return this.getPropertyValue('clear'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/clip.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/clip.js deleted file mode 100644 index fe8bc93..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/clip.js +++ /dev/null @@ -1,49 +0,0 @@ -'use strict'; - -var parseMeasurement = require('../parsers').parseMeasurement; - -/*jslint regexp: true*/ -var shape_regex = /^rect\((.*)\)$/i; -/*jslint regexp: false*/ - -var parse = function (val) { - if (val === '' || val === null) { - return val; - } - if (typeof val !== 'string') { - return undefined; - } - val = val.toLowerCase(); - if (val === 'auto' || val === 'inherit') { - return val; - } - var matches = val.match(shape_regex); - if (!matches) { - return undefined; - } - var parts = matches[1].split(/\s*,\s*/); - if (parts.length !== 4) { - return undefined; - } - var valid = parts.every(function (part, index) { - var measurement = parseMeasurement(part); - parts[index] = measurement; - return measurement !== undefined; - }); - if (!valid) { - return undefined; - } - parts = parts.join(', '); - return val.replace(matches[1], parts); -}; - -module.exports.definition = { - set: function (v) { - this._setProperty('clip', parse(v)); - }, - get: function () { - return this.getPropertyValue('clip'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/color.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/color.js deleted file mode 100644 index a709c6b..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/color.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseColor = require('../parsers').parseColor; - -module.exports.definition = { - set: function (v) { - this._setProperty('color', parseColor(v)); - }, - get: function () { - return this.getPropertyValue('color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/colorInterpolation.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/colorInterpolation.js deleted file mode 100644 index 929f5de..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/colorInterpolation.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('color-interpolation', v); - }, - get: function () { - return this.getPropertyValue('color-interpolation'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/colorInterpolationFilters.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/colorInterpolationFilters.js deleted file mode 100644 index 4aab1a2..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/colorInterpolationFilters.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('color-interpolation-filters', v); - }, - get: function () { - return this.getPropertyValue('color-interpolation-filters'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/colorProfile.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/colorProfile.js deleted file mode 100644 index 1440d06..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/colorProfile.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('color-profile', v); - }, - get: function () { - return this.getPropertyValue('color-profile'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/colorRendering.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/colorRendering.js deleted file mode 100644 index 58a4eb4..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/colorRendering.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('color-rendering', v); - }, - get: function () { - return this.getPropertyValue('color-rendering'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/content.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/content.js deleted file mode 100644 index 68c4f43..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/content.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('content', v); - }, - get: function () { - return this.getPropertyValue('content'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/counterIncrement.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/counterIncrement.js deleted file mode 100644 index b5b6591..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/counterIncrement.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('counter-increment', v); - }, - get: function () { - return this.getPropertyValue('counter-increment'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/counterReset.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/counterReset.js deleted file mode 100644 index f4370f5..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/counterReset.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('counter-reset', v); - }, - get: function () { - return this.getPropertyValue('counter-reset'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/cssFloat.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/cssFloat.js deleted file mode 100644 index 65b4eda..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/cssFloat.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('float', v); - }, - get: function () { - return this.getPropertyValue('float'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/cue.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/cue.js deleted file mode 100644 index 59820a1..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/cue.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('cue', v); - }, - get: function () { - return this.getPropertyValue('cue'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/cueAfter.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/cueAfter.js deleted file mode 100644 index dea8630..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/cueAfter.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('cue-after', v); - }, - get: function () { - return this.getPropertyValue('cue-after'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/cueBefore.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/cueBefore.js deleted file mode 100644 index ebdb6f2..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/cueBefore.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('cue-before', v); - }, - get: function () { - return this.getPropertyValue('cue-before'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/cursor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/cursor.js deleted file mode 100644 index 6a16a45..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/cursor.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('cursor', v); - }, - get: function () { - return this.getPropertyValue('cursor'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/direction.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/direction.js deleted file mode 100644 index 0bd1c33..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/direction.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('direction', v); - }, - get: function () { - return this.getPropertyValue('direction'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/display.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/display.js deleted file mode 100644 index 1701669..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/display.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('display', v); - }, - get: function () { - return this.getPropertyValue('display'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/dominantBaseline.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/dominantBaseline.js deleted file mode 100644 index bb43287..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/dominantBaseline.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('dominant-baseline', v); - }, - get: function () { - return this.getPropertyValue('dominant-baseline'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/elevation.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/elevation.js deleted file mode 100644 index 4ba071a..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/elevation.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('elevation', v); - }, - get: function () { - return this.getPropertyValue('elevation'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/emptyCells.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/emptyCells.js deleted file mode 100644 index b4dc471..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/emptyCells.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('empty-cells', v); - }, - get: function () { - return this.getPropertyValue('empty-cells'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/enableBackground.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/enableBackground.js deleted file mode 100644 index 9572476..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/enableBackground.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('enable-background', v); - }, - get: function () { - return this.getPropertyValue('enable-background'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/fill.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/fill.js deleted file mode 100644 index d848500..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/fill.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('fill', v); - }, - get: function () { - return this.getPropertyValue('fill'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/fillOpacity.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/fillOpacity.js deleted file mode 100644 index abf941a..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/fillOpacity.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('fill-opacity', v); - }, - get: function () { - return this.getPropertyValue('fill-opacity'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/fillRule.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/fillRule.js deleted file mode 100644 index 1d56429..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/fillRule.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('fill-rule', v); - }, - get: function () { - return this.getPropertyValue('fill-rule'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/filter.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/filter.js deleted file mode 100644 index 0c602f9..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/filter.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('filter', v); - }, - get: function () { - return this.getPropertyValue('filter'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/floodColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/floodColor.js deleted file mode 100644 index 3a1d077..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/floodColor.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseColor = require('../parsers').parseColor; - -module.exports.definition = { - set: function (v) { - this._setProperty('flood-color', parseColor(v)); - }, - get: function () { - return this.getPropertyValue('flood-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/floodOpacity.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/floodOpacity.js deleted file mode 100644 index f4055b3..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/floodOpacity.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('flood-opacity', v); - }, - get: function () { - return this.getPropertyValue('flood-opacity'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/font.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/font.js deleted file mode 100644 index 8ec869d..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/font.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict'; - -var TYPES = require('../parsers').TYPES; -var valueType = require('../parsers').valueType; -var shorthandParser = require('../parsers').shorthandParser; -var shorthandSetter = require('../parsers').shorthandSetter; -var shorthandGetter = require('../parsers').shorthandGetter; - -var shorthand_for = { - 'font-family': require('./fontFamily'), - 'font-size': require('./fontSize'), - 'font-style': require('./fontStyle'), - 'font-variant': require('./fontVariant'), - 'font-weight': require('./fontWeight'), - 'line-height': require('./lineHeight') -}; - -var static_fonts = ['caption', 'icon', 'menu', 'message-box', 'small-caption', 'status-bar', 'inherit']; - -module.exports.isValid = function isValid(v) { - return (shorthandParser(v, shorthand_for) !== undefined) || - (valueType(v) === TYPES.KEYWORD && static_fonts.indexOf(v.toLowerCase()) !== -1); -}; - -var setter = shorthandSetter('font', shorthand_for); - -module.exports.definition = { - set: function (v) { - var short = shorthandParser(v, shorthand_for); - if (short !== undefined) { - return setter.call(this, v); - } - if (valueType(v) === TYPES.KEYWORD && static_fonts.indexOf(v.toLowerCase()) !== -1) { - this._setProperty('font', v); - } - }, - get: shorthandGetter('font', shorthand_for), - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontFamily.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontFamily.js deleted file mode 100644 index c7169c1..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontFamily.js +++ /dev/null @@ -1,33 +0,0 @@ -'use strict'; - -var TYPES = require('../parsers').TYPES; -var valueType = require('../parsers').valueType; - -var partsRegEx = /\s*,\s*/; -module.exports.isValid = function isValid(v) { - if (v === '' || v === null) { - return true; - } - var parts = v.split(partsRegEx); - var len = parts.length; - var i; - var type; - for (i = 0; i < len; i++) { - type = valueType(parts[i]); - if (type === TYPES.STRING || type === TYPES.KEYWORD) { - return true; - } - } - return false; -}; - -module.exports.definition = { - set: function (v) { - this._setProperty('font-family', v); - }, - get: function () { - return this.getPropertyValue('font-family'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontSize.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontSize.js deleted file mode 100644 index 0e33784..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontSize.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var TYPES = require('../parsers').TYPES; -var valueType = require('../parsers').valueType; - -var absoluteSizes = ['xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large']; -var relativeSizes = ['larger', 'smaller']; - -module.exports.isValid = function (v) { - var type = valueType(v.toLowerCase()); - return type === TYPES.LENGTH || type === TYPES.PERCENT || - (type === TYPES.KEYWORD && absoluteSizes.indexOf(v.toLowerCase()) !== -1) || - (type === TYPES.KEYWORD && relativeSizes.indexOf(v.toLowerCase()) !== -1); -}; - -module.exports.definition = { - set: function (v) { - this._setProperty('font-size', v); - }, - get: function () { - return this.getPropertyValue('font-size'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontSizeAdjust.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontSizeAdjust.js deleted file mode 100644 index ad8a45f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontSizeAdjust.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('font-size-adjust', v); - }, - get: function () { - return this.getPropertyValue('font-size-adjust'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontStretch.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontStretch.js deleted file mode 100644 index da486a7..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontStretch.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('font-stretch', v); - }, - get: function () { - return this.getPropertyValue('font-stretch'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontStyle.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontStyle.js deleted file mode 100644 index d0eefbb..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontStyle.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var valid_styles = ['normal', 'italic', 'oblique', 'inherit']; - -module.exports.isValid = function (v) { - return valid_styles.indexOf(v.toLowerCase()) !== -1; -}; - -module.exports.definition = { - set: function (v) { - this._setProperty('font-style', v); - }, - get: function () { - return this.getPropertyValue('font-style'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontVariant.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontVariant.js deleted file mode 100644 index 84711a4..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontVariant.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var valid_variants = ['normal', 'small-caps', 'inherit']; - -module.exports.isValid = function isValid(v) { - return valid_variants.indexOf(v.toLowerCase()) !== -1; -}; - -module.exports.definition = { - set: function (v) { - this._setProperty('font-variant', v); - }, - get: function () { - return this.getPropertyValue('font-variant'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontWeight.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontWeight.js deleted file mode 100644 index 7d6702d..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/fontWeight.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var valid_weights = ['normal', 'bold', 'bolder', 'lighter', '100', '200', '300', '400', '500', '600', '700', '800', '900', 'inherit']; - -module.exports.isValid = function isValid(v) { - return valid_weights.indexOf(v.toLowerCase()) !== -1; -}; - -module.exports.definition = { - set: function (v) { - this._setProperty('font-weight', v); - }, - get: function () { - return this.getPropertyValue('font-weight'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/glyphOrientationHorizontal.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/glyphOrientationHorizontal.js deleted file mode 100644 index fb685ef..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/glyphOrientationHorizontal.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('glyph-orientation-horizontal', v); - }, - get: function () { - return this.getPropertyValue('glyph-orientation-horizontal'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/glyphOrientationVertical.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/glyphOrientationVertical.js deleted file mode 100644 index 8eb59d0..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/glyphOrientationVertical.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('glyph-orientation-vertical', v); - }, - get: function () { - return this.getPropertyValue('glyph-orientation-vertical'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/height.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/height.js deleted file mode 100644 index dec46da..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/height.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -var parseMeasurement = require('../parsers').parseMeasurement; - -function parse(v) { - if (String(v).toLowerCase() === 'auto') { - return 'auto'; - } - if (String(v).toLowerCase() === 'inherit') { - return 'inherit'; - } - return parseMeasurement(v); -} - -module.exports.definition = { - set: function (v) { - this._setProperty('height', parse(v)); - }, - get: function () { - return this.getPropertyValue('height'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/imageRendering.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/imageRendering.js deleted file mode 100644 index 4c09b3c..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/imageRendering.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('image-rendering', v); - }, - get: function () { - return this.getPropertyValue('image-rendering'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/kerning.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/kerning.js deleted file mode 100644 index 2762746..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/kerning.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('kerning', v); - }, - get: function () { - return this.getPropertyValue('kerning'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/left.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/left.js deleted file mode 100644 index 040d3ba..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/left.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseMeasurement = require('../parsers').parseMeasurement; - -module.exports.definition = { - set: function (v) { - this._setProperty('left', parseMeasurement(v)); - }, - get: function () { - return this.getPropertyValue('left'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/letterSpacing.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/letterSpacing.js deleted file mode 100644 index 43ffdd7..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/letterSpacing.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('letter-spacing', v); - }, - get: function () { - return this.getPropertyValue('letter-spacing'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/lightingColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/lightingColor.js deleted file mode 100644 index 162f4b7..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/lightingColor.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseColor = require('../parsers').parseColor; - -module.exports.definition = { - set: function (v) { - this._setProperty('lighting-color', parseColor(v)); - }, - get: function () { - return this.getPropertyValue('lighting-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/lineHeight.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/lineHeight.js deleted file mode 100644 index e77a42b..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/lineHeight.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -var TYPES = require('../parsers').TYPES; -var valueType = require('../parsers').valueType; - -module.exports.isValid = function isValid(v) { - var type = valueType(v); - return (type === TYPES.KEYWORD && (v.toLowerCase() === 'normal') || (v.toLowerCase() === 'inherit')) || - type === TYPES.NUMBER || type === TYPES.LENGTH || type === TYPES.PERCENT; -}; - -module.exports.definition = { - set: function (v) { - this._setProperty('line-height', v); - }, - get: function () { - return this.getPropertyValue('line-height'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/listStyle.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/listStyle.js deleted file mode 100644 index 4757b8b..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/listStyle.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('list-style', v); - }, - get: function () { - return this.getPropertyValue('list-style'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/listStyleImage.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/listStyleImage.js deleted file mode 100644 index 15324b2..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/listStyleImage.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('list-style-image', v); - }, - get: function () { - return this.getPropertyValue('list-style-image'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/listStylePosition.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/listStylePosition.js deleted file mode 100644 index 55afa70..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/listStylePosition.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('list-style-position', v); - }, - get: function () { - return this.getPropertyValue('list-style-position'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/listStyleType.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/listStyleType.js deleted file mode 100644 index 353c98f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/listStyleType.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('list-style-type', v); - }, - get: function () { - return this.getPropertyValue('list-style-type'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/margin.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/margin.js deleted file mode 100644 index 35803a8..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/margin.js +++ /dev/null @@ -1,59 +0,0 @@ -'use strict'; - -var parsers = require('../parsers.js'); -var TYPES = parsers.TYPES; - -var isValid = function (v) { - if (v.toLowerCase() === "auto") { - return true; - } - var type = parsers.valueType(v); - return type === TYPES.LENGTH || type === TYPES.PERCENT || (type === TYPES.INTEGER && (v === '0' || v === 0)); -}; - -var parser = function (v) { - var V = v.toLowerCase(); - if (V === "auto") { - return V; - } - return parsers.parseMeasurement(v); -}; - -var mySetter = parsers.implicitSetter('margin', '', isValid, parser); -var myGlobal = parsers.implicitSetter('margin', '', function () { - return true; -}, function (v) { - return v; -}); - -module.exports.definition = { - set: function (v) { - if (typeof v === "number") { - v = String(v); - } - if (typeof v !== "string") { - return; - } - var V = v.toLowerCase(); - switch (V) { - case 'inherit': - case 'initial': - case 'unset': - case '': - myGlobal.call(this, V); - break; - - default: - mySetter.call(this, v); - break; - } - }, - get: function () { - return this.getPropertyValue('margin'); - }, - enumerable: true, - configurable: true -}; - -module.exports.isValid = isValid; -module.exports.parser = parser; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/marginBottom.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/marginBottom.js deleted file mode 100644 index 05fbb47..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/marginBottom.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var margin = require('./margin.js'); -var parsers = require('../parsers.js'); - -module.exports.definition = { - set: parsers.subImplicitSetter('margin', 'bottom', margin.isValid, margin.parser), - get: function () { - return this.getPropertyValue('margin-bottom'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/marginLeft.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/marginLeft.js deleted file mode 100644 index e1b884d..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/marginLeft.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var margin = require('./margin.js'); -var parsers = require('../parsers.js'); - -module.exports.definition = { - set: parsers.subImplicitSetter('margin', 'left', margin.isValid, margin.parser), - get: function () { - return this.getPropertyValue('margin-left'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/marginRight.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/marginRight.js deleted file mode 100644 index addb7f8..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/marginRight.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var margin = require('./margin.js'); -var parsers = require('../parsers.js'); - -module.exports.definition = { - set: parsers.subImplicitSetter('margin', 'right', margin.isValid, margin.parser), - get: function () { - return this.getPropertyValue('margin-right'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/marginTop.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/marginTop.js deleted file mode 100644 index 40aedd4..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/marginTop.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var margin = require('./margin.js'); -var parsers = require('../parsers.js'); - -module.exports.definition = { - set: parsers.subImplicitSetter('margin', 'top', margin.isValid, margin.parser), - get: function () { - return this.getPropertyValue('margin-top'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/marker.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/marker.js deleted file mode 100644 index 5084cc0..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/marker.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('marker', v); - }, - get: function () { - return this.getPropertyValue('marker'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/markerEnd.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/markerEnd.js deleted file mode 100644 index 4d3d75b..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/markerEnd.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('marker-end', v); - }, - get: function () { - return this.getPropertyValue('marker-end'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/markerMid.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/markerMid.js deleted file mode 100644 index d0237f6..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/markerMid.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('marker-mid', v); - }, - get: function () { - return this.getPropertyValue('marker-mid'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/markerOffset.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/markerOffset.js deleted file mode 100644 index 17dcbe0..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/markerOffset.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('marker-offset', v); - }, - get: function () { - return this.getPropertyValue('marker-offset'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/markerStart.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/markerStart.js deleted file mode 100644 index c941644..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/markerStart.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('marker-start', v); - }, - get: function () { - return this.getPropertyValue('marker-start'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/marks.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/marks.js deleted file mode 100644 index 5d3d475..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/marks.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('marks', v); - }, - get: function () { - return this.getPropertyValue('marks'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/mask.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/mask.js deleted file mode 100644 index aa0350a..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/mask.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('mask', v); - }, - get: function () { - return this.getPropertyValue('mask'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/maxHeight.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/maxHeight.js deleted file mode 100644 index 3c30aca..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/maxHeight.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('max-height', v); - }, - get: function () { - return this.getPropertyValue('max-height'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/maxWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/maxWidth.js deleted file mode 100644 index 1a12056..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/maxWidth.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('max-width', v); - }, - get: function () { - return this.getPropertyValue('max-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/minHeight.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/minHeight.js deleted file mode 100644 index 7e02a8a..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/minHeight.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('min-height', v); - }, - get: function () { - return this.getPropertyValue('min-height'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/minWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/minWidth.js deleted file mode 100644 index 1fca174..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/minWidth.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('min-width', v); - }, - get: function () { - return this.getPropertyValue('min-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/opacity.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/opacity.js deleted file mode 100644 index 2f5c547..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/opacity.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseNumber = require('../parsers').parseNumber; - -module.exports.definition = { - set: function (v) { - this._setProperty('opacity', parseNumber(v)); - }, - get: function () { - return this.getPropertyValue('opacity'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/orphans.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/orphans.js deleted file mode 100644 index a68614d..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/orphans.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('orphans', v); - }, - get: function () { - return this.getPropertyValue('orphans'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/outline.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/outline.js deleted file mode 100644 index 779f6ec..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/outline.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('outline', v); - }, - get: function () { - return this.getPropertyValue('outline'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/outlineColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/outlineColor.js deleted file mode 100644 index ae2135a..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/outlineColor.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseColor = require('../parsers').parseColor; - -module.exports.definition = { - set: function (v) { - this._setProperty('outline-color', parseColor(v)); - }, - get: function () { - return this.getPropertyValue('outline-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/outlineOffset.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/outlineOffset.js deleted file mode 100644 index fba8ce4..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/outlineOffset.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('outline-offset', v); - }, - get: function () { - return this.getPropertyValue('outline-offset'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/outlineStyle.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/outlineStyle.js deleted file mode 100644 index 1a59938..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/outlineStyle.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('outline-style', v); - }, - get: function () { - return this.getPropertyValue('outline-style'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/outlineWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/outlineWidth.js deleted file mode 100644 index dcef18b..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/outlineWidth.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('outline-width', v); - }, - get: function () { - return this.getPropertyValue('outline-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/overflow.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/overflow.js deleted file mode 100644 index 61092e3..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/overflow.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('overflow', v); - }, - get: function () { - return this.getPropertyValue('overflow'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/overflowX.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/overflowX.js deleted file mode 100644 index 1e9951f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/overflowX.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('overflow-x', v); - }, - get: function () { - return this.getPropertyValue('overflow-x'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/overflowY.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/overflowY.js deleted file mode 100644 index dfe0387..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/overflowY.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('overflow-y', v); - }, - get: function () { - return this.getPropertyValue('overflow-y'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/padding.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/padding.js deleted file mode 100644 index 3d82872..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/padding.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -var parsers = require('../parsers.js'); -var TYPES = parsers.TYPES; - -var isValid = function (v) { - var type = parsers.valueType(v); - return type === TYPES.LENGTH || type === TYPES.PERCENT || (type === TYPES.INTEGER && (v === '0' || v === 0)); -}; - -var parser = function (v) { - return parsers.parseMeasurement(v); -}; - -var mySetter = parsers.implicitSetter('padding', '', isValid, parser); -var myGlobal = parsers.implicitSetter('padding', '', function () { - return true; -}, function (v) { - return v; -}); - -module.exports.definition = { - set: function (v) { - if (typeof v === "number") { - v = String(v); - } - if (typeof v !== "string") { - return; - } - var V = v.toLowerCase(); - switch (V) { - case 'inherit': - case 'initial': - case 'unset': - case '': - myGlobal.call(this, V); - break; - - default: - mySetter.call(this, v); - break; - } - }, - get: function () { - return this.getPropertyValue('padding'); - }, - enumerable: true, - configurable: true -}; - -module.exports.isValid = isValid; -module.exports.parser = parser; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/paddingBottom.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/paddingBottom.js deleted file mode 100644 index 1645a78..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/paddingBottom.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var padding = require('./padding.js'); -var parsers = require('../parsers.js'); - -module.exports.definition = { - set: parsers.subImplicitSetter('padding', 'bottom', padding.isValid, padding.parser), - get: function () { - return this.getPropertyValue('padding-bottom'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/paddingLeft.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/paddingLeft.js deleted file mode 100644 index 8ace3ae..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/paddingLeft.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var padding = require('./padding.js'); -var parsers = require('../parsers.js'); - -module.exports.definition = { - set: parsers.subImplicitSetter('padding', 'left', padding.isValid, padding.parser), - get: function () { - return this.getPropertyValue('padding-left'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/paddingRight.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/paddingRight.js deleted file mode 100644 index c32e7c1..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/paddingRight.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var padding = require('./padding.js'); -var parsers = require('../parsers.js'); - -module.exports.definition = { - set: parsers.subImplicitSetter('padding', 'right', padding.isValid, padding.parser), - get: function () { - return this.getPropertyValue('padding-right'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/paddingTop.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/paddingTop.js deleted file mode 100644 index 9df114d..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/paddingTop.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var padding = require('./padding.js'); -var parsers = require('../parsers.js'); - -module.exports.definition = { - set: parsers.subImplicitSetter('padding', 'top', padding.isValid, padding.parser), - get: function () { - return this.getPropertyValue('padding-top'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/page.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/page.js deleted file mode 100644 index 02b4e21..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/page.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('page', v); - }, - get: function () { - return this.getPropertyValue('page'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/pageBreakAfter.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/pageBreakAfter.js deleted file mode 100644 index 7a61f1f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/pageBreakAfter.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('page-break-after', v); - }, - get: function () { - return this.getPropertyValue('page-break-after'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/pageBreakBefore.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/pageBreakBefore.js deleted file mode 100644 index 94a4987..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/pageBreakBefore.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('page-break-before', v); - }, - get: function () { - return this.getPropertyValue('page-break-before'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/pageBreakInside.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/pageBreakInside.js deleted file mode 100644 index e458e6a..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/pageBreakInside.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('page-break-inside', v); - }, - get: function () { - return this.getPropertyValue('page-break-inside'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/pause.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/pause.js deleted file mode 100644 index dbf94b7..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/pause.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('pause', v); - }, - get: function () { - return this.getPropertyValue('pause'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/pauseAfter.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/pauseAfter.js deleted file mode 100644 index 11ce039..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/pauseAfter.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('pause-after', v); - }, - get: function () { - return this.getPropertyValue('pause-after'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/pauseBefore.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/pauseBefore.js deleted file mode 100644 index 3059ea5..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/pauseBefore.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('pause-before', v); - }, - get: function () { - return this.getPropertyValue('pause-before'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/pitch.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/pitch.js deleted file mode 100644 index b47cbd2..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/pitch.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('pitch', v); - }, - get: function () { - return this.getPropertyValue('pitch'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/pitchRange.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/pitchRange.js deleted file mode 100644 index d442840..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/pitchRange.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('pitch-range', v); - }, - get: function () { - return this.getPropertyValue('pitch-range'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/playDuring.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/playDuring.js deleted file mode 100644 index ce478ee..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/playDuring.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('play-during', v); - }, - get: function () { - return this.getPropertyValue('play-during'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/pointerEvents.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/pointerEvents.js deleted file mode 100644 index 067ea62..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/pointerEvents.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('pointer-events', v); - }, - get: function () { - return this.getPropertyValue('pointer-events'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/position.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/position.js deleted file mode 100644 index 9535b76..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/position.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('position', v); - }, - get: function () { - return this.getPropertyValue('position'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/quotes.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/quotes.js deleted file mode 100644 index c90f09b..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/quotes.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('quotes', v); - }, - get: function () { - return this.getPropertyValue('quotes'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/resize.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/resize.js deleted file mode 100644 index 4ec6adc..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/resize.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('resize', v); - }, - get: function () { - return this.getPropertyValue('resize'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/richness.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/richness.js deleted file mode 100644 index 76ec02a..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/richness.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('richness', v); - }, - get: function () { - return this.getPropertyValue('richness'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/right.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/right.js deleted file mode 100644 index aa5db0e..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/right.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseMeasurement = require('../parsers').parseMeasurement; - -module.exports.definition = { - set: function (v) { - this._setProperty('right', parseMeasurement(v)); - }, - get: function () { - return this.getPropertyValue('right'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/shapeRendering.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/shapeRendering.js deleted file mode 100644 index d8b0191..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/shapeRendering.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('shape-rendering', v); - }, - get: function () { - return this.getPropertyValue('shape-rendering'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/size.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/size.js deleted file mode 100644 index 76792c9..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/size.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('size', v); - }, - get: function () { - return this.getPropertyValue('size'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/speak.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/speak.js deleted file mode 100644 index 422ae8b..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/speak.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('speak', v); - }, - get: function () { - return this.getPropertyValue('speak'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/speakHeader.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/speakHeader.js deleted file mode 100644 index 09bf191..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/speakHeader.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('speak-header', v); - }, - get: function () { - return this.getPropertyValue('speak-header'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/speakNumeral.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/speakNumeral.js deleted file mode 100644 index c41e38a..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/speakNumeral.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('speak-numeral', v); - }, - get: function () { - return this.getPropertyValue('speak-numeral'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/speakPunctuation.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/speakPunctuation.js deleted file mode 100644 index dc60da0..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/speakPunctuation.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('speak-punctuation', v); - }, - get: function () { - return this.getPropertyValue('speak-punctuation'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/speechRate.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/speechRate.js deleted file mode 100644 index d561f9b..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/speechRate.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('speech-rate', v); - }, - get: function () { - return this.getPropertyValue('speech-rate'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/src.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/src.js deleted file mode 100644 index a04dbea..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/src.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('src', v); - }, - get: function () { - return this.getPropertyValue('src'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/stopColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/stopColor.js deleted file mode 100644 index c6919bb..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/stopColor.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseColor = require('../parsers').parseColor; - -module.exports.definition = { - set: function (v) { - this._setProperty('stop-color', parseColor(v)); - }, - get: function () { - return this.getPropertyValue('stop-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/stopOpacity.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/stopOpacity.js deleted file mode 100644 index 4e60be0..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/stopOpacity.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('stop-opacity', v); - }, - get: function () { - return this.getPropertyValue('stop-opacity'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/stress.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/stress.js deleted file mode 100644 index 6e369a7..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/stress.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('stress', v); - }, - get: function () { - return this.getPropertyValue('stress'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/stroke.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/stroke.js deleted file mode 100644 index c58dd22..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/stroke.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('stroke', v); - }, - get: function () { - return this.getPropertyValue('stroke'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeDasharray.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeDasharray.js deleted file mode 100644 index 92334b2..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeDasharray.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('stroke-dasharray', v); - }, - get: function () { - return this.getPropertyValue('stroke-dasharray'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeDashoffset.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeDashoffset.js deleted file mode 100644 index 54d496f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeDashoffset.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('stroke-dashoffset', v); - }, - get: function () { - return this.getPropertyValue('stroke-dashoffset'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeLinecap.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeLinecap.js deleted file mode 100644 index e241a87..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeLinecap.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('stroke-linecap', v); - }, - get: function () { - return this.getPropertyValue('stroke-linecap'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeLinejoin.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeLinejoin.js deleted file mode 100644 index 61ef9d9..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeLinejoin.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('stroke-linejoin', v); - }, - get: function () { - return this.getPropertyValue('stroke-linejoin'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeMiterlimit.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeMiterlimit.js deleted file mode 100644 index fe69cbf..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeMiterlimit.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('stroke-miterlimit', v); - }, - get: function () { - return this.getPropertyValue('stroke-miterlimit'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeOpacity.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeOpacity.js deleted file mode 100644 index 1dc9324..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeOpacity.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('stroke-opacity', v); - }, - get: function () { - return this.getPropertyValue('stroke-opacity'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeWidth.js deleted file mode 100644 index 84d3268..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/strokeWidth.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('stroke-width', v); - }, - get: function () { - return this.getPropertyValue('stroke-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/tableLayout.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/tableLayout.js deleted file mode 100644 index 48f7484..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/tableLayout.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('table-layout', v); - }, - get: function () { - return this.getPropertyValue('table-layout'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textAlign.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textAlign.js deleted file mode 100644 index f6d994f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textAlign.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-align', v); - }, - get: function () { - return this.getPropertyValue('text-align'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textAnchor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textAnchor.js deleted file mode 100644 index 392799b..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textAnchor.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-anchor', v); - }, - get: function () { - return this.getPropertyValue('text-anchor'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textDecoration.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textDecoration.js deleted file mode 100644 index 680e808..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textDecoration.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-decoration', v); - }, - get: function () { - return this.getPropertyValue('text-decoration'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textIndent.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textIndent.js deleted file mode 100644 index 3c07750..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textIndent.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-indent', v); - }, - get: function () { - return this.getPropertyValue('text-indent'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textLineThrough.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textLineThrough.js deleted file mode 100644 index 29f4c3c..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textLineThrough.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-line-through', v); - }, - get: function () { - return this.getPropertyValue('text-line-through'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textLineThroughColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textLineThroughColor.js deleted file mode 100644 index 2357ed8..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textLineThroughColor.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseColor = require('../parsers').parseColor; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-line-through-color', parseColor(v)); - }, - get: function () { - return this.getPropertyValue('text-line-through-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textLineThroughMode.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textLineThroughMode.js deleted file mode 100644 index dca3d9b..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textLineThroughMode.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-line-through-mode', v); - }, - get: function () { - return this.getPropertyValue('text-line-through-mode'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textLineThroughStyle.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textLineThroughStyle.js deleted file mode 100644 index db1ad85..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textLineThroughStyle.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-line-through-style', v); - }, - get: function () { - return this.getPropertyValue('text-line-through-style'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textLineThroughWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textLineThroughWidth.js deleted file mode 100644 index 1c64a50..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textLineThroughWidth.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-line-through-width', v); - }, - get: function () { - return this.getPropertyValue('text-line-through-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverflow.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverflow.js deleted file mode 100644 index e6fc25e..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverflow.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-overflow', v); - }, - get: function () { - return this.getPropertyValue('text-overflow'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverline.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverline.js deleted file mode 100644 index 1991b6b..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverline.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-overline', v); - }, - get: function () { - return this.getPropertyValue('text-overline'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverlineColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverlineColor.js deleted file mode 100644 index 578fda5..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverlineColor.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseColor = require('../parsers').parseColor; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-overline-color', parseColor(v)); - }, - get: function () { - return this.getPropertyValue('text-overline-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverlineMode.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverlineMode.js deleted file mode 100644 index 597adae..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverlineMode.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-overline-mode', v); - }, - get: function () { - return this.getPropertyValue('text-overline-mode'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverlineStyle.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverlineStyle.js deleted file mode 100644 index 83165f0..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverlineStyle.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-overline-style', v); - }, - get: function () { - return this.getPropertyValue('text-overline-style'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverlineWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverlineWidth.js deleted file mode 100644 index b40ef7e..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textOverlineWidth.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-overline-width', v); - }, - get: function () { - return this.getPropertyValue('text-overline-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textRendering.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textRendering.js deleted file mode 100644 index 2886ef3..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textRendering.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-rendering', v); - }, - get: function () { - return this.getPropertyValue('text-rendering'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textShadow.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textShadow.js deleted file mode 100644 index e50d9fa..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textShadow.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-shadow', v); - }, - get: function () { - return this.getPropertyValue('text-shadow'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textTransform.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textTransform.js deleted file mode 100644 index 3836e00..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textTransform.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-transform', v); - }, - get: function () { - return this.getPropertyValue('text-transform'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textUnderline.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textUnderline.js deleted file mode 100644 index baeaf65..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textUnderline.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-underline', v); - }, - get: function () { - return this.getPropertyValue('text-underline'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textUnderlineColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textUnderlineColor.js deleted file mode 100644 index 2814dea..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textUnderlineColor.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseColor = require('../parsers').parseColor; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-underline-color', parseColor(v)); - }, - get: function () { - return this.getPropertyValue('text-underline-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textUnderlineMode.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textUnderlineMode.js deleted file mode 100644 index dcb6e71..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textUnderlineMode.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-underline-mode', v); - }, - get: function () { - return this.getPropertyValue('text-underline-mode'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textUnderlineStyle.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textUnderlineStyle.js deleted file mode 100644 index ac3a77e..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textUnderlineStyle.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-underline-style', v); - }, - get: function () { - return this.getPropertyValue('text-underline-style'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textUnderlineWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/textUnderlineWidth.js deleted file mode 100644 index 91b0d88..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/textUnderlineWidth.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('text-underline-width', v); - }, - get: function () { - return this.getPropertyValue('text-underline-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/top.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/top.js deleted file mode 100644 index aac4005..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/top.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseMeasurement = require('../parsers').parseMeasurement; - -module.exports.definition = { - set: function (v) { - this._setProperty('top', parseMeasurement(v)); - }, - get: function () { - return this.getPropertyValue('top'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/unicodeBidi.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/unicodeBidi.js deleted file mode 100644 index c443a9e..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/unicodeBidi.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('unicode-bidi', v); - }, - get: function () { - return this.getPropertyValue('unicode-bidi'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/unicodeRange.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/unicodeRange.js deleted file mode 100644 index e084396..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/unicodeRange.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('unicode-range', v); - }, - get: function () { - return this.getPropertyValue('unicode-range'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/vectorEffect.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/vectorEffect.js deleted file mode 100644 index 353c79d..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/vectorEffect.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('vector-effect', v); - }, - get: function () { - return this.getPropertyValue('vector-effect'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/verticalAlign.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/verticalAlign.js deleted file mode 100644 index a0dbd66..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/verticalAlign.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('vertical-align', v); - }, - get: function () { - return this.getPropertyValue('vertical-align'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/visibility.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/visibility.js deleted file mode 100644 index 08a2a6f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/visibility.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('visibility', v); - }, - get: function () { - return this.getPropertyValue('visibility'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/voiceFamily.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/voiceFamily.js deleted file mode 100644 index b275aa4..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/voiceFamily.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('voic-family', v); - }, - get: function () { - return this.getPropertyValue('voice-family'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/volume.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/volume.js deleted file mode 100644 index 422270e..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/volume.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('volume', v); - }, - get: function () { - return this.getPropertyValue('volume'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimation.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimation.js deleted file mode 100644 index 6a283a1..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimation.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-animation', v); - }, - get: function () { - return this.getPropertyValue('-webkit-animation'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationDelay.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationDelay.js deleted file mode 100644 index 329484b..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationDelay.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-animation-delay', v); - }, - get: function () { - return this.getPropertyValue('-webkit-animation-delay'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationDirection.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationDirection.js deleted file mode 100644 index 9bc92d9..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationDirection.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-animation-direction', v); - }, - get: function () { - return this.getPropertyValue('-webkit-animation-direction'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationDuration.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationDuration.js deleted file mode 100644 index be36b9d..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationDuration.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-animation-duration', v); - }, - get: function () { - return this.getPropertyValue('-webkit-animation-duration'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationFillMode.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationFillMode.js deleted file mode 100644 index 1a23ac0..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationFillMode.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-animation-fill-mode', v); - }, - get: function () { - return this.getPropertyValue('-webkit-animation-fill-mode'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationIterationCount.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationIterationCount.js deleted file mode 100644 index af37315..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationIterationCount.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-animation-iteration-count', v); - }, - get: function () { - return this.getPropertyValue('-webkit-animation-iteration-count'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationName.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationName.js deleted file mode 100644 index 8358409..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationName.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-animation-name', v); - }, - get: function () { - return this.getPropertyValue('-webkit-animation-name'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationPlayState.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationPlayState.js deleted file mode 100644 index 9ee0eb4..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationPlayState.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-animation-play-state', v); - }, - get: function () { - return this.getPropertyValue('-webkit-animation-play-state'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationTimingFunction.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationTimingFunction.js deleted file mode 100644 index e9eeb1e..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAnimationTimingFunction.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-animation-timing-function', v); - }, - get: function () { - return this.getPropertyValue('-webkit-animation-timing-function'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAppearance.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAppearance.js deleted file mode 100644 index 6387fa2..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAppearance.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-appearance', v); - }, - get: function () { - return this.getPropertyValue('-webkit-appearance'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAspectRatio.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAspectRatio.js deleted file mode 100644 index c4271c7..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitAspectRatio.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-aspect-ratio', v); - }, - get: function () { - return this.getPropertyValue('-webkit-aspect-ratio'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBackfaceVisibility.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBackfaceVisibility.js deleted file mode 100644 index 074a11d..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBackfaceVisibility.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-backface-visibility', v); - }, - get: function () { - return this.getPropertyValue('-webkit-backface-visibility'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBackgroundClip.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBackgroundClip.js deleted file mode 100644 index 7a0f017..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBackgroundClip.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-background-clip', v); - }, - get: function () { - return this.getPropertyValue('-webkit-background-clip'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBackgroundComposite.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBackgroundComposite.js deleted file mode 100644 index 530a6fa..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBackgroundComposite.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-background-composite', v); - }, - get: function () { - return this.getPropertyValue('-webkit-background-composite'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBackgroundOrigin.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBackgroundOrigin.js deleted file mode 100644 index 799e930..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBackgroundOrigin.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-background-origin', v); - }, - get: function () { - return this.getPropertyValue('-webkit-background-origin'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBackgroundSize.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBackgroundSize.js deleted file mode 100644 index ea3ed26..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBackgroundSize.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-background-size', v); - }, - get: function () { - return this.getPropertyValue('-webkit-background-size'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderAfter.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderAfter.js deleted file mode 100644 index 5d7fd61..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderAfter.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-after', v); - }, - get: function () { - return this.getPropertyValue('-webkit-border-after'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderAfterColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderAfterColor.js deleted file mode 100644 index d967ce6..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderAfterColor.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseColor = require('../parsers').parseColor; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-after-color', parseColor(v)); - }, - get: function () { - return this.getPropertyValue('-webkit-border-after-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderAfterStyle.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderAfterStyle.js deleted file mode 100644 index 7e8f2bb..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderAfterStyle.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-after-style', v); - }, - get: function () { - return this.getPropertyValue('-webkit-border-after-style'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderAfterWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderAfterWidth.js deleted file mode 100644 index eb2d344..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderAfterWidth.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-after-width', v); - }, - get: function () { - return this.getPropertyValue('-webkit-border-after-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderBefore.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderBefore.js deleted file mode 100644 index 22f881b..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderBefore.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-before', v); - }, - get: function () { - return this.getPropertyValue('-webkit-border-before'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderBeforeColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderBeforeColor.js deleted file mode 100644 index f259ab2..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderBeforeColor.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseColor = require('../parsers').parseColor; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-before-color', parseColor(v)); - }, - get: function () { - return this.getPropertyValue('-webkit-border-before-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderBeforeStyle.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderBeforeStyle.js deleted file mode 100644 index b2b57ad..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderBeforeStyle.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-before-style', v); - }, - get: function () { - return this.getPropertyValue('-webkit-border-before-style'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderBeforeWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderBeforeWidth.js deleted file mode 100644 index aed2f9c..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderBeforeWidth.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-before-width', v); - }, - get: function () { - return this.getPropertyValue('-webkit-border-before-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderEnd.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderEnd.js deleted file mode 100644 index 3744f98..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderEnd.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-end', v); - }, - get: function () { - return this.getPropertyValue('-webkit-border-end'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderEndColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderEndColor.js deleted file mode 100644 index 421d80b..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderEndColor.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseColor = require('../parsers').parseColor; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-end-color', parseColor(v)); - }, - get: function () { - return this.getPropertyValue('-webkit-border-end-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderEndStyle.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderEndStyle.js deleted file mode 100644 index 31648ea..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderEndStyle.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-end-style', v); - }, - get: function () { - return this.getPropertyValue('-webkit-border-end-style'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderEndWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderEndWidth.js deleted file mode 100644 index 948a9aa..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderEndWidth.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-end-width', v); - }, - get: function () { - return this.getPropertyValue('-webkit-border-end-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderFit.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderFit.js deleted file mode 100644 index 81eaf70..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderFit.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-fit', v); - }, - get: function () { - return this.getPropertyValue('-webkit-border-fit'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderHorizontalSpacing.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderHorizontalSpacing.js deleted file mode 100644 index 73cbd2f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderHorizontalSpacing.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-horizontal-spacing', v); - }, - get: function () { - return this.getPropertyValue('-webkit-border-horizontal-spacing'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderImage.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderImage.js deleted file mode 100644 index 9ea9214..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderImage.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-image', v); - }, - get: function () { - return this.getPropertyValue('-webkit-border-image'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderRadius.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderRadius.js deleted file mode 100644 index af8a6dd..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderRadius.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-radius', v); - }, - get: function () { - return this.getPropertyValue('-webkit-border-radius'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderStart.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderStart.js deleted file mode 100644 index 0a415d9..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderStart.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-start', v); - }, - get: function () { - return this.getPropertyValue('-webkit-border-start'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderStartColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderStartColor.js deleted file mode 100644 index c6fd7c4..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderStartColor.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseColor = require('../parsers').parseColor; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-start-color', parseColor(v)); - }, - get: function () { - return this.getPropertyValue('-webkit-border-start-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderStartStyle.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderStartStyle.js deleted file mode 100644 index 74a666a..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderStartStyle.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-start-style', v); - }, - get: function () { - return this.getPropertyValue('-webkit-border-start-style'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderStartWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderStartWidth.js deleted file mode 100644 index cf5cb1f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderStartWidth.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-start-width', v); - }, - get: function () { - return this.getPropertyValue('-webkit-border-start-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderVerticalSpacing.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderVerticalSpacing.js deleted file mode 100644 index 7d96425..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBorderVerticalSpacing.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-border-vertical-spacing', v); - }, - get: function () { - return this.getPropertyValue('-webkit-border-vertical-spacing'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxAlign.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxAlign.js deleted file mode 100644 index c5483b5..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxAlign.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-box-align', v); - }, - get: function () { - return this.getPropertyValue('-webkit-box-align'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxDirection.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxDirection.js deleted file mode 100644 index 0aad038..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxDirection.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-box-direction', v); - }, - get: function () { - return this.getPropertyValue('-webkit-box-direction'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxFlex.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxFlex.js deleted file mode 100644 index 510fb58..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxFlex.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-box-flex', v); - }, - get: function () { - return this.getPropertyValue('-webkit-box-flex'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxFlexGroup.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxFlexGroup.js deleted file mode 100644 index 94dd158..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxFlexGroup.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-box-flex-group', v); - }, - get: function () { - return this.getPropertyValue('-webkit-box-flex-group'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxLines.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxLines.js deleted file mode 100644 index 4ba077c..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxLines.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-box-lines', v); - }, - get: function () { - return this.getPropertyValue('-webkit-box-lines'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxOrdinalGroup.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxOrdinalGroup.js deleted file mode 100644 index fc1705d..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxOrdinalGroup.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-box-ordinal-group', v); - }, - get: function () { - return this.getPropertyValue('-webkit-box-ordinal-group'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxOrient.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxOrient.js deleted file mode 100644 index 930d183..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxOrient.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-box-orient', v); - }, - get: function () { - return this.getPropertyValue('-webkit-box-orient'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxPack.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxPack.js deleted file mode 100644 index 0fa82d4..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxPack.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-box-pack', v); - }, - get: function () { - return this.getPropertyValue('-webkit-box-pack'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxReflect.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxReflect.js deleted file mode 100644 index 0efc0fc..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxReflect.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-box-reflect', v); - }, - get: function () { - return this.getPropertyValue('-webkit-box-reflect'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxShadow.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxShadow.js deleted file mode 100644 index 9a25857..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitBoxShadow.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-box-shadow', v); - }, - get: function () { - return this.getPropertyValue('-webkit-box-shadow'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColorCorrection.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColorCorrection.js deleted file mode 100644 index c53d360..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColorCorrection.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-color-correction', v); - }, - get: function () { - return this.getPropertyValue('-webkit-color-correction'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnAxis.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnAxis.js deleted file mode 100644 index 6e32388..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnAxis.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-column-axis', v); - }, - get: function () { - return this.getPropertyValue('-webkit-column-axis'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnBreakAfter.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnBreakAfter.js deleted file mode 100644 index 640af1d..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnBreakAfter.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-column-break-after', v); - }, - get: function () { - return this.getPropertyValue('-webkit-column-break-after'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnBreakBefore.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnBreakBefore.js deleted file mode 100644 index ef82ede..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnBreakBefore.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-column-break-before', v); - }, - get: function () { - return this.getPropertyValue('-webkit-column-break-before'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnBreakInside.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnBreakInside.js deleted file mode 100644 index a300301..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnBreakInside.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-column-break-inside', v); - }, - get: function () { - return this.getPropertyValue('-webkit-column-break-inside'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnCount.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnCount.js deleted file mode 100644 index 513d5f7..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnCount.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-column-count', v); - }, - get: function () { - return this.getPropertyValue('-webkit-column-count'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnGap.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnGap.js deleted file mode 100644 index 4e18e6b..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnGap.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-column-gap', v); - }, - get: function () { - return this.getPropertyValue('-webkit-column-gap'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnRule.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnRule.js deleted file mode 100644 index e7eb990..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnRule.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-column-rule', v); - }, - get: function () { - return this.getPropertyValue('-webkit-column-rule'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnRuleColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnRuleColor.js deleted file mode 100644 index e5ea7a2..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnRuleColor.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseColor = require('../parsers').parseColor; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-column-rule-color', parseColor(v)); - }, - get: function () { - return this.getPropertyValue('-webkit-column-rule-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnRuleStyle.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnRuleStyle.js deleted file mode 100644 index d72fd8c..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnRuleStyle.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-column-rule-style', v); - }, - get: function () { - return this.getPropertyValue('-webkit-column-rule-style'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnRuleWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnRuleWidth.js deleted file mode 100644 index c8da6f4..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnRuleWidth.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-column-rule-width', v); - }, - get: function () { - return this.getPropertyValue('-webkit-column-rule-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnSpan.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnSpan.js deleted file mode 100644 index a881a6c..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnSpan.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-column-span', v); - }, - get: function () { - return this.getPropertyValue('-webkit-column-span'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnWidth.js deleted file mode 100644 index 7bc231f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumnWidth.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-column-width', v); - }, - get: function () { - return this.getPropertyValue('-webkit-column-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumns.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumns.js deleted file mode 100644 index 9381098..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitColumns.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-columns', v); - }, - get: function () { - return this.getPropertyValue('-webkit-columns'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFilter.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFilter.js deleted file mode 100644 index 7c81be0..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFilter.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-filter', v); - }, - get: function () { - return this.getPropertyValue('-webkit-filter'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexAlign.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexAlign.js deleted file mode 100644 index c55e282..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexAlign.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-flex-align', v); - }, - get: function () { - return this.getPropertyValue('-webkit-flex-align'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexDirection.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexDirection.js deleted file mode 100644 index 3dd5807..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexDirection.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-flex-direction', v); - }, - get: function () { - return this.getPropertyValue('-webkit-flex-direction'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexFlow.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexFlow.js deleted file mode 100644 index aa9da48..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexFlow.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-flex-flow', v); - }, - get: function () { - return this.getPropertyValue('-webkit-flex-flow'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexItemAlign.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexItemAlign.js deleted file mode 100644 index cbf8b8f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexItemAlign.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-flex-item-align', v); - }, - get: function () { - return this.getPropertyValue('-webkit-flex-item-align'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexLinePack.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexLinePack.js deleted file mode 100644 index 78b528e..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexLinePack.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-flex-line-pack', v); - }, - get: function () { - return this.getPropertyValue('-webkit-flex-line-pack'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexOrder.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexOrder.js deleted file mode 100644 index 7f77aec..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexOrder.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-flex-order', v); - }, - get: function () { - return this.getPropertyValue('-webkit-flex-order'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexPack.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexPack.js deleted file mode 100644 index 6636612..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexPack.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-flex-pack', v); - }, - get: function () { - return this.getPropertyValue('-webkit-flex-pack'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexWrap.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexWrap.js deleted file mode 100644 index 4d03ec6..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlexWrap.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-flex-wrap', v); - }, - get: function () { - return this.getPropertyValue('-webkit-flex-wrap'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlowFrom.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlowFrom.js deleted file mode 100644 index 0f60e76..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlowFrom.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-flow-from', v); - }, - get: function () { - return this.getPropertyValue('-webkit-flow-from'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlowInto.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlowInto.js deleted file mode 100644 index 7ea20bd..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFlowInto.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-flow-into', v); - }, - get: function () { - return this.getPropertyValue('-webkit-flow-into'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFontFeatureSettings.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFontFeatureSettings.js deleted file mode 100644 index c83f4b8..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFontFeatureSettings.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-font-feature-settings', v); - }, - get: function () { - return this.getPropertyValue('-webkit-font-feature-settings'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFontKerning.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFontKerning.js deleted file mode 100644 index eba2339..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFontKerning.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-font-kerning', v); - }, - get: function () { - return this.getPropertyValue('-webkit-font-kerning'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFontSizeDelta.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFontSizeDelta.js deleted file mode 100644 index 89aaca5..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFontSizeDelta.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-font-size-delta', v); - }, - get: function () { - return this.getPropertyValue('-webkit-font-size-delta'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFontSmoothing.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFontSmoothing.js deleted file mode 100644 index c3dc1ab..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFontSmoothing.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-font-smoothing', v); - }, - get: function () { - return this.getPropertyValue('-webkit-font-smoothing'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFontVariantLigatures.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFontVariantLigatures.js deleted file mode 100644 index 79f07e4..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitFontVariantLigatures.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-font-variant-ligatures', v); - }, - get: function () { - return this.getPropertyValue('-webkit-font-variant-ligatures'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHighlight.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHighlight.js deleted file mode 100644 index 355d8f2..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHighlight.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-highlight', v); - }, - get: function () { - return this.getPropertyValue('-webkit-highlight'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHyphenateCharacter.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHyphenateCharacter.js deleted file mode 100644 index 287473f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHyphenateCharacter.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-hyphenate-character', v); - }, - get: function () { - return this.getPropertyValue('-webkit-hyphenate-character'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHyphenateLimitAfter.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHyphenateLimitAfter.js deleted file mode 100644 index a20a859..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHyphenateLimitAfter.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-hyphenate-limit-after', v); - }, - get: function () { - return this.getPropertyValue('-webkit-hyphenate-limit-after'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHyphenateLimitBefore.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHyphenateLimitBefore.js deleted file mode 100644 index 8fc1c2d..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHyphenateLimitBefore.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-hyphenate-limit-before', v); - }, - get: function () { - return this.getPropertyValue('-webkit-hyphenate-limit-before'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHyphenateLimitLines.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHyphenateLimitLines.js deleted file mode 100644 index c145b1d..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHyphenateLimitLines.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-hyphenate-limit-lines', v); - }, - get: function () { - return this.getPropertyValue('-webkit-hyphenate-limit-lines'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHyphens.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHyphens.js deleted file mode 100644 index 3dfe9a7..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitHyphens.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-hyphens', v); - }, - get: function () { - return this.getPropertyValue('-webkit-hyphens'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineAlign.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineAlign.js deleted file mode 100644 index 1246968..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineAlign.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-line-align', v); - }, - get: function () { - return this.getPropertyValue('-webkit-line-align'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineBoxContain.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineBoxContain.js deleted file mode 100644 index 492d9fa..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineBoxContain.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-line-box-contain', v); - }, - get: function () { - return this.getPropertyValue('-webkit-line-box-contain'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineBreak.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineBreak.js deleted file mode 100644 index 3a6737e..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineBreak.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-line-break', v); - }, - get: function () { - return this.getPropertyValue('-webkit-line-break'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineClamp.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineClamp.js deleted file mode 100644 index 43d09f9..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineClamp.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-line-clamp', v); - }, - get: function () { - return this.getPropertyValue('-webkit-line-clamp'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineGrid.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineGrid.js deleted file mode 100644 index 427351f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineGrid.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-line-grid', v); - }, - get: function () { - return this.getPropertyValue('-webkit-line-grid'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineSnap.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineSnap.js deleted file mode 100644 index 3c49780..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLineSnap.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-line-snap', v); - }, - get: function () { - return this.getPropertyValue('-webkit-line-snap'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLocale.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLocale.js deleted file mode 100644 index fba69d1..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLocale.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-locale', v); - }, - get: function () { - return this.getPropertyValue('-webkit-locale'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLogicalHeight.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLogicalHeight.js deleted file mode 100644 index be3cfa0..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLogicalHeight.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-logical-height', v); - }, - get: function () { - return this.getPropertyValue('-webkit-logical-height'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLogicalWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLogicalWidth.js deleted file mode 100644 index 14efe8a..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitLogicalWidth.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-logical-width', v); - }, - get: function () { - return this.getPropertyValue('-webkit-logical-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginAfter.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginAfter.js deleted file mode 100644 index 9efa007..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginAfter.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-margin-after', v); - }, - get: function () { - return this.getPropertyValue('-webkit-margin-after'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginAfterCollapse.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginAfterCollapse.js deleted file mode 100644 index f7a3bdf..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginAfterCollapse.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-margin-after-collapse', v); - }, - get: function () { - return this.getPropertyValue('-webkit-margin-after-collapse'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginBefore.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginBefore.js deleted file mode 100644 index 8324cc7..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginBefore.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-margin-before', v); - }, - get: function () { - return this.getPropertyValue('-webkit-margin-before'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginBeforeCollapse.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginBeforeCollapse.js deleted file mode 100644 index 5d8b04f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginBeforeCollapse.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-margin-before-collapse', v); - }, - get: function () { - return this.getPropertyValue('-webkit-margin-before-collapse'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginBottomCollapse.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginBottomCollapse.js deleted file mode 100644 index 749eb22..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginBottomCollapse.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-margin-bottom-collapse', v); - }, - get: function () { - return this.getPropertyValue('-webkit-margin-bottom-collapse'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginCollapse.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginCollapse.js deleted file mode 100644 index 71442e0..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginCollapse.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-margin-collapse', v); - }, - get: function () { - return this.getPropertyValue('-webkit-margin-collapse'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginEnd.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginEnd.js deleted file mode 100644 index 1994ed7..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginEnd.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-margin-end', v); - }, - get: function () { - return this.getPropertyValue('-webkit-margin-end'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginStart.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginStart.js deleted file mode 100644 index 6c348f6..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginStart.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-margin-start', v); - }, - get: function () { - return this.getPropertyValue('-webkit-margin-start'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginTopCollapse.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginTopCollapse.js deleted file mode 100644 index 9325fca..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarginTopCollapse.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-margin-top-collapse', v); - }, - get: function () { - return this.getPropertyValue('-webkit-margin-top-collapse'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarquee.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarquee.js deleted file mode 100644 index dc1d99f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarquee.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-marquee', v); - }, - get: function () { - return this.getPropertyValue('-webkit-marquee'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarqueeDirection.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarqueeDirection.js deleted file mode 100644 index 1f73245..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarqueeDirection.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-marquee-direction', v); - }, - get: function () { - return this.getPropertyValue('-webkit-marquee-direction'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarqueeIncrement.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarqueeIncrement.js deleted file mode 100644 index 9ae4a5d..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarqueeIncrement.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-marquee-increment', v); - }, - get: function () { - return this.getPropertyValue('-webkit-marquee-increment'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarqueeRepetition.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarqueeRepetition.js deleted file mode 100644 index f718ced..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarqueeRepetition.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-marquee-repetition', v); - }, - get: function () { - return this.getPropertyValue('-webkit-marquee-repetition'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarqueeSpeed.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarqueeSpeed.js deleted file mode 100644 index 99dbad7..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarqueeSpeed.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-marquee-speed', v); - }, - get: function () { - return this.getPropertyValue('-webkit-marquee-speed'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarqueeStyle.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarqueeStyle.js deleted file mode 100644 index 9bd0631..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMarqueeStyle.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-marquee-style', v); - }, - get: function () { - return this.getPropertyValue('-webkit-marquee-style'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMask.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMask.js deleted file mode 100644 index 6a9603c..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMask.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-mask', v); - }, - get: function () { - return this.getPropertyValue('-webkit-mask'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskAttachment.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskAttachment.js deleted file mode 100644 index bc5ea46..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskAttachment.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-mask-attachment', v); - }, - get: function () { - return this.getPropertyValue('-webkit-mask-attachment'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImage.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImage.js deleted file mode 100644 index 93955a6..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImage.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-mask-box-image', v); - }, - get: function () { - return this.getPropertyValue('-webkit-mask-box-image'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImageOutset.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImageOutset.js deleted file mode 100644 index d539302..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImageOutset.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-mask-box-image-outset', v); - }, - get: function () { - return this.getPropertyValue('-webkit-mask-box-image-outset'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImageRepeat.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImageRepeat.js deleted file mode 100644 index 3a02cf6..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImageRepeat.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-mask-box-image-repeat', v); - }, - get: function () { - return this.getPropertyValue('-webkit-mask-box-image-repeat'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImageSlice.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImageSlice.js deleted file mode 100644 index 7bb49e7..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImageSlice.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-mask-box-image-slice', v); - }, - get: function () { - return this.getPropertyValue('-webkit-mask-box-image-slice'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImageSource.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImageSource.js deleted file mode 100644 index 9508871..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImageSource.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-mask-box-image-source', v); - }, - get: function () { - return this.getPropertyValue('-webkit-mask-box-image-source'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImageWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImageWidth.js deleted file mode 100644 index f500bbb..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskBoxImageWidth.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-mask-box-image-width', v); - }, - get: function () { - return this.getPropertyValue('-webkit-mask-box-image-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskClip.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskClip.js deleted file mode 100644 index 4140c1e..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskClip.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-mask-clip', v); - }, - get: function () { - return this.getPropertyValue('-webkit-mask-clip'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskComposite.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskComposite.js deleted file mode 100644 index 88fedab..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskComposite.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-mask-composite', v); - }, - get: function () { - return this.getPropertyValue('-webkit-mask-composite'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskImage.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskImage.js deleted file mode 100644 index 8155e71..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskImage.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-mask-image', v); - }, - get: function () { - return this.getPropertyValue('-webkit-mask-image'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskOrigin.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskOrigin.js deleted file mode 100644 index 9eb2c5a..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskOrigin.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-mask-origin', v); - }, - get: function () { - return this.getPropertyValue('-webkit-mask-origin'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskPosition.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskPosition.js deleted file mode 100644 index a0c228c..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskPosition.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-mask-position', v); - }, - get: function () { - return this.getPropertyValue('-webkit-mask-position'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskPositionX.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskPositionX.js deleted file mode 100644 index 6aae1d2..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskPositionX.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-mask-position-x', v); - }, - get: function () { - return this.getPropertyValue('-webkit-mask-position-x'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskPositionY.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskPositionY.js deleted file mode 100644 index 3dd7dbc..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskPositionY.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-mask-position-y', v); - }, - get: function () { - return this.getPropertyValue('-webkit-mask-position-y'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskRepeat.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskRepeat.js deleted file mode 100644 index ef66b66..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskRepeat.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-mask-repeat', v); - }, - get: function () { - return this.getPropertyValue('-webkit-mask-repeat'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskRepeatX.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskRepeatX.js deleted file mode 100644 index 35f47d8..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskRepeatX.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-mask-repeat-x', v); - }, - get: function () { - return this.getPropertyValue('-webkit-mask-repeat-x'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskRepeatY.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskRepeatY.js deleted file mode 100644 index 8c743c0..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskRepeatY.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-mask-repeat-y', v); - }, - get: function () { - return this.getPropertyValue('-webkit-mask-repeat-y'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskSize.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskSize.js deleted file mode 100644 index 3327343..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaskSize.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-mask-size', v); - }, - get: function () { - return this.getPropertyValue('-webkit-mask-size'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMatchNearestMailBlockquoteColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMatchNearestMailBlockquoteColor.js deleted file mode 100644 index c4a2153..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMatchNearestMailBlockquoteColor.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseColor = require('../parsers').parseColor; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-match-nearest-mail-blockquote-color', parseColor(v)); - }, - get: function () { - return this.getPropertyValue('-webkit-match-nearest-mail-blockquote-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaxLogicalHeight.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaxLogicalHeight.js deleted file mode 100644 index 97a293d..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaxLogicalHeight.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-max-logical-height', v); - }, - get: function () { - return this.getPropertyValue('-webkit-max-logical-height'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaxLogicalWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaxLogicalWidth.js deleted file mode 100644 index f746b72..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMaxLogicalWidth.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-max-logical-width', v); - }, - get: function () { - return this.getPropertyValue('-webkit-max-logical-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMinLogicalHeight.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMinLogicalHeight.js deleted file mode 100644 index 948b899..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMinLogicalHeight.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-min-logical-height', v); - }, - get: function () { - return this.getPropertyValue('-webkit-min-logical-height'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMinLogicalWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMinLogicalWidth.js deleted file mode 100644 index eb990b0..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitMinLogicalWidth.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-min-logical-width', v); - }, - get: function () { - return this.getPropertyValue('-webkit-min-logical-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitNbspMode.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitNbspMode.js deleted file mode 100644 index 1d93619..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitNbspMode.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-nbsp-mode', v); - }, - get: function () { - return this.getPropertyValue('-webkit-nbsp-mode'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitOverflowScrolling.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitOverflowScrolling.js deleted file mode 100644 index 7ba9e57..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitOverflowScrolling.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-overflow-scrolling', v); - }, - get: function () { - return this.getPropertyValue('-webkit-overflow-scrolling'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPaddingAfter.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPaddingAfter.js deleted file mode 100644 index 033cde8..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPaddingAfter.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-padding-after', v); - }, - get: function () { - return this.getPropertyValue('-webkit-padding-after'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPaddingBefore.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPaddingBefore.js deleted file mode 100644 index 04e3796..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPaddingBefore.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-padding-before', v); - }, - get: function () { - return this.getPropertyValue('-webkit-padding-before'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPaddingEnd.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPaddingEnd.js deleted file mode 100644 index 1677ebc..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPaddingEnd.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-padding-end', v); - }, - get: function () { - return this.getPropertyValue('-webkit-padding-end'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPaddingStart.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPaddingStart.js deleted file mode 100644 index 1c89a92..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPaddingStart.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-padding-start', v); - }, - get: function () { - return this.getPropertyValue('-webkit-padding-start'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPerspective.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPerspective.js deleted file mode 100644 index 9544932..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPerspective.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-perspective', v); - }, - get: function () { - return this.getPropertyValue('-webkit-perspective'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPerspectiveOrigin.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPerspectiveOrigin.js deleted file mode 100644 index f6531f1..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPerspectiveOrigin.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-perspective-origin', v); - }, - get: function () { - return this.getPropertyValue('-webkit-perspective-origin'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPerspectiveOriginX.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPerspectiveOriginX.js deleted file mode 100644 index 5cc28a4..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPerspectiveOriginX.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-perspective-origin-x', v); - }, - get: function () { - return this.getPropertyValue('-webkit-perspective-origin-x'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPerspectiveOriginY.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPerspectiveOriginY.js deleted file mode 100644 index 05d5393..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPerspectiveOriginY.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-perspective-origin-y', v); - }, - get: function () { - return this.getPropertyValue('-webkit-perspective-origin-y'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPrintColorAdjust.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPrintColorAdjust.js deleted file mode 100644 index 9254283..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitPrintColorAdjust.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-print-color-adjust', v); - }, - get: function () { - return this.getPropertyValue('-webkit-print-color-adjust'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitRegionBreakAfter.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitRegionBreakAfter.js deleted file mode 100644 index 27210e1..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitRegionBreakAfter.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-region-break-after', v); - }, - get: function () { - return this.getPropertyValue('-webkit-region-break-after'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitRegionBreakBefore.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitRegionBreakBefore.js deleted file mode 100644 index 52d068f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitRegionBreakBefore.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-region-break-before', v); - }, - get: function () { - return this.getPropertyValue('-webkit-region-break-before'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitRegionBreakInside.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitRegionBreakInside.js deleted file mode 100644 index 5adc8f7..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitRegionBreakInside.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-region-break-inside', v); - }, - get: function () { - return this.getPropertyValue('-webkit-region-break-inside'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitRegionOverflow.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitRegionOverflow.js deleted file mode 100644 index 730b0b4..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitRegionOverflow.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-region-overflow', v); - }, - get: function () { - return this.getPropertyValue('-webkit-region-overflow'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitRtlOrdering.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitRtlOrdering.js deleted file mode 100644 index 08c2b42..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitRtlOrdering.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-rtl-ordering', v); - }, - get: function () { - return this.getPropertyValue('-webkit-rtl-ordering'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitSvgShadow.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitSvgShadow.js deleted file mode 100644 index 33fccf4..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitSvgShadow.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-svg-shadow', v); - }, - get: function () { - return this.getPropertyValue('-webkit-svg-shadow'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTapHighlightColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTapHighlightColor.js deleted file mode 100644 index 9510b78..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTapHighlightColor.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseColor = require('../parsers').parseColor; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-tap-highlight-color', parseColor(v)); - }, - get: function () { - return this.getPropertyValue('-webkit-tap-highlight-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextCombine.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextCombine.js deleted file mode 100644 index aab7223..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextCombine.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-text-combine', v); - }, - get: function () { - return this.getPropertyValue('-webkit-text-combine'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextDecorationsInEffect.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextDecorationsInEffect.js deleted file mode 100644 index f6defb0..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextDecorationsInEffect.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-text-decorations-in-effect', v); - }, - get: function () { - return this.getPropertyValue('-webkit-text-decorations-in-effect'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextEmphasis.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextEmphasis.js deleted file mode 100644 index b7523dc..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextEmphasis.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-text-emphasis', v); - }, - get: function () { - return this.getPropertyValue('-webkit-text-emphasis'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextEmphasisColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextEmphasisColor.js deleted file mode 100644 index 14b269f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextEmphasisColor.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseColor = require('../parsers').parseColor; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-text-emphasis-color', parseColor(v)); - }, - get: function () { - return this.getPropertyValue('-webkit-text-emphasis-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextEmphasisPosition.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextEmphasisPosition.js deleted file mode 100644 index 2a1cc25..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextEmphasisPosition.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-text-emphasis-position', v); - }, - get: function () { - return this.getPropertyValue('-webkit-text-emphasis-position'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextEmphasisStyle.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextEmphasisStyle.js deleted file mode 100644 index 69f3e5a..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextEmphasisStyle.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-text-emphasis-style', v); - }, - get: function () { - return this.getPropertyValue('-webkit-text-emphasis-style'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextFillColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextFillColor.js deleted file mode 100644 index 1d0981d..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextFillColor.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseColor = require('../parsers').parseColor; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-text-fill-color', parseColor(v)); - }, - get: function () { - return this.getPropertyValue('-webkit-text-fill-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextOrientation.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextOrientation.js deleted file mode 100644 index b43bfe8..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextOrientation.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-text-orientation', v); - }, - get: function () { - return this.getPropertyValue('-webkit-text-orientation'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextSecurity.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextSecurity.js deleted file mode 100644 index 27cd712..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextSecurity.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-text-security', v); - }, - get: function () { - return this.getPropertyValue('-webkit-text-security'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextSizeAdjust.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextSizeAdjust.js deleted file mode 100644 index 42a1769..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextSizeAdjust.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-text-size-adjust', v); - }, - get: function () { - return this.getPropertyValue('-webkit-text-size-adjust'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextStroke.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextStroke.js deleted file mode 100644 index 95f08f0..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextStroke.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-text-stroke', v); - }, - get: function () { - return this.getPropertyValue('-webkit-text-stroke'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextStrokeColor.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextStrokeColor.js deleted file mode 100644 index 34aa180..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextStrokeColor.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var parseColor = require('../parsers').parseColor; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-text-stroke-color', parseColor(v)); - }, - get: function () { - return this.getPropertyValue('-webkit-text-stroke-color'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextStrokeWidth.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextStrokeWidth.js deleted file mode 100644 index 9abdb0d..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTextStrokeWidth.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-text-stroke-width', v); - }, - get: function () { - return this.getPropertyValue('-webkit-text-stroke-width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransform.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransform.js deleted file mode 100644 index 55025d0..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransform.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-transform', v); - }, - get: function () { - return this.getPropertyValue('-webkit-transform'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransformOrigin.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransformOrigin.js deleted file mode 100644 index 17f2470..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransformOrigin.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-transform-origin', v); - }, - get: function () { - return this.getPropertyValue('-webkit-transform-origin'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransformOriginX.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransformOriginX.js deleted file mode 100644 index 27f356c..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransformOriginX.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-transform-origin-x', v); - }, - get: function () { - return this.getPropertyValue('-webkit-transform-origin-x'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransformOriginY.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransformOriginY.js deleted file mode 100644 index cd9fe41..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransformOriginY.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-transform-origin-y', v); - }, - get: function () { - return this.getPropertyValue('-webkit-transform-origin-y'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransformOriginZ.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransformOriginZ.js deleted file mode 100644 index 448a4c6..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransformOriginZ.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-transform-origin-z', v); - }, - get: function () { - return this.getPropertyValue('-webkit-transform-origin-z'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransformStyle.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransformStyle.js deleted file mode 100644 index 7258af3..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransformStyle.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-transform-style', v); - }, - get: function () { - return this.getPropertyValue('-webkit-transform-style'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransition.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransition.js deleted file mode 100644 index e8e611a..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransition.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-transition', v); - }, - get: function () { - return this.getPropertyValue('-webkit-transition'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransitionDelay.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransitionDelay.js deleted file mode 100644 index 0e4a855..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransitionDelay.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-transition-delay', v); - }, - get: function () { - return this.getPropertyValue('-webkit-transition-delay'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransitionDuration.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransitionDuration.js deleted file mode 100644 index 916354e..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransitionDuration.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-transition-duration', v); - }, - get: function () { - return this.getPropertyValue('-webkit-transition-duration'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransitionProperty.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransitionProperty.js deleted file mode 100644 index 2c05b93..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransitionProperty.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-transition-property', v); - }, - get: function () { - return this.getPropertyValue('-webkit-transition-property'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransitionTimingFunction.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransitionTimingFunction.js deleted file mode 100644 index 6000a5a..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitTransitionTimingFunction.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-transition-timing-function', v); - }, - get: function () { - return this.getPropertyValue('-webkit-transition-timing-function'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitUserDrag.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitUserDrag.js deleted file mode 100644 index 91979ce..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitUserDrag.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-user-drag', v); - }, - get: function () { - return this.getPropertyValue('-webkit-user-drag'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitUserModify.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitUserModify.js deleted file mode 100644 index f681902..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitUserModify.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-user-modify', v); - }, - get: function () { - return this.getPropertyValue('-webkit-user-modify'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitUserSelect.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitUserSelect.js deleted file mode 100644 index a33611f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitUserSelect.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-user-select', v); - }, - get: function () { - return this.getPropertyValue('-webkit-user-select'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrap.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrap.js deleted file mode 100644 index 1861f67..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrap.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-wrap', v); - }, - get: function () { - return this.getPropertyValue('-webkit-wrap'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapFlow.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapFlow.js deleted file mode 100644 index f213f11..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapFlow.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-wrap-flow', v); - }, - get: function () { - return this.getPropertyValue('-webkit-wrap-flow'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapMargin.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapMargin.js deleted file mode 100644 index 27b6d57..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapMargin.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-wrap-margin', v); - }, - get: function () { - return this.getPropertyValue('-webkit-wrap-margin'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapPadding.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapPadding.js deleted file mode 100644 index b408d5f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapPadding.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-wrap-padding', v); - }, - get: function () { - return this.getPropertyValue('-webkit-wrap-padding'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapShapeInside.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapShapeInside.js deleted file mode 100644 index 52e04cc..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapShapeInside.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-wrap-shape-inside', v); - }, - get: function () { - return this.getPropertyValue('-webkit-wrap-shape-inside'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapShapeOutside.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapShapeOutside.js deleted file mode 100644 index 8bb0407..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapShapeOutside.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-wrap-shape-outside', v); - }, - get: function () { - return this.getPropertyValue('-webkit-wrap-shape-outside'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapThrough.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapThrough.js deleted file mode 100644 index a6dc684..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWrapThrough.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-wrap-through', v); - }, - get: function () { - return this.getPropertyValue('-webkit-wrap-through'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWritingMode.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWritingMode.js deleted file mode 100644 index ef1b1f7..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/webkitWritingMode.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('-webkit-writing-mode', v); - }, - get: function () { - return this.getPropertyValue('-webkit-writing-mode'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/whiteSpace.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/whiteSpace.js deleted file mode 100644 index 969718f..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/whiteSpace.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('white-space', v); - }, - get: function () { - return this.getPropertyValue('white-space'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/widows.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/widows.js deleted file mode 100644 index 02b7298..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/widows.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('widows', v); - }, - get: function () { - return this.getPropertyValue('widows'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/width.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/width.js deleted file mode 100644 index b64161e..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/width.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -var parseMeasurement = require('../parsers').parseMeasurement; - -function parse(v) { - if (String(v).toLowerCase() === 'auto') { - return 'auto'; - } - if (String(v).toLowerCase() === 'inherit') { - return 'inherit'; - } - return parseMeasurement(v); -} - -module.exports.definition = { - set: function (v) { - this._setProperty('width', parse(v)); - }, - get: function () { - return this.getPropertyValue('width'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/wordBreak.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/wordBreak.js deleted file mode 100644 index 568f19b..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/wordBreak.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('word-break', v); - }, - get: function () { - return this.getPropertyValue('word-break'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/wordSpacing.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/wordSpacing.js deleted file mode 100644 index bfb77e4..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/wordSpacing.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('word-spacing', v); - }, - get: function () { - return this.getPropertyValue('word-spacing'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/wordWrap.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/wordWrap.js deleted file mode 100644 index f826c91..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/wordWrap.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('word-wrap', v); - }, - get: function () { - return this.getPropertyValue('word-wrap'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/writingMode.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/writingMode.js deleted file mode 100644 index e5affa4..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/writingMode.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('writing-mode', v); - }, - get: function () { - return this.getPropertyValue('writing-mode'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/zIndex.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/zIndex.js deleted file mode 100644 index 3d81e08..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/zIndex.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('z-index', v); - }, - get: function () { - return this.getPropertyValue('z-index'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/lib/properties/zoom.js b/node_modules/jsdom/node_modules/cssstyle/lib/properties/zoom.js deleted file mode 100644 index e563185..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/lib/properties/zoom.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -module.exports.definition = { - set: function (v) { - this._setProperty('zoom', v); - }, - get: function () { - return this.getPropertyValue('zoom'); - }, - enumerable: true, - configurable: true -}; diff --git a/node_modules/jsdom/node_modules/cssstyle/package.json b/node_modules/jsdom/node_modules/cssstyle/package.json deleted file mode 100644 index 27ad0c0..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/package.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "name": "cssstyle", - "description": "CSSStyleDeclaration Object Model implementation", - "keywords": [ - "CSS", - "CSSStyleDeclaration", - "StyleSheet" - ], - "version": "0.2.36", - "homepage": "https://github.com/chad3814/CSSStyleDeclaration", - "maintainers": [ - { - "name": "chad3814", - "email": "chad@chad-cat-lore-eddie.com" - } - ], - "contributors": [ - { - "name": "Nikita Vasilyev", - "email": "me@elv1s.ru" - }, - { - "name": "Davide P. Cervone" - } - ], - "repository": { - "type": "git", - "url": "git+https://github.com/chad3814/CSSStyleDeclaration.git" - }, - "bugs": { - "url": "https://github.com/chad3814/CSSStyleDeclaration/issues" - }, - "directories": { - "lib": "./lib" - }, - "main": "./lib/CSSStyleDeclaration.js", - "dependencies": { - "cssom": "0.3.x" - }, - "devDependencies": { - "nodeunit": "~0.8.0" - }, - "scripts": { - "test": "./scripts/run_tests.sh", - "prepublish": "node ./scripts/generate_properties.js" - }, - "license": "MIT", - "gitHead": "e85f5d43e68d6ca0ff1fa9bb790ab65cfd0e799c", - "_id": "cssstyle@0.2.36", - "_shasum": "5cfed6b1a4526b58d77673d51b3520856fb6af3e", - "_from": "cssstyle@>=0.2.21 <0.3.0", - "_npmVersion": "3.8.9", - "_nodeVersion": "6.2.0", - "_npmUser": { - "name": "chad3814", - "email": "chad@chad-cat-lore-eddie.com" - }, - "dist": { - "shasum": "5cfed6b1a4526b58d77673d51b3520856fb6af3e", - "tarball": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.36.tgz" - }, - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/cssstyle-0.2.36.tgz_1464157230715_0.58683220599778" - }, - "_resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.36.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/cssstyle/scripts/generate_properties.js b/node_modules/jsdom/node_modules/cssstyle/scripts/generate_properties.js deleted file mode 100644 index 25c97ad..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/scripts/generate_properties.js +++ /dev/null @@ -1,33 +0,0 @@ -'use strict'; - -var fs = require('fs'); -var path = require('path'); - -var camelToDashed = require('../lib/parsers').camelToDashed; - -var property_files = fs.readdirSync(path.resolve(__dirname, '../lib/properties')); -var out_file = fs.createWriteStream(path.resolve(__dirname, '../lib/properties.js'), {encoding: 'utf-8'}); - -out_file.write('\'use strict\';\n\n// autogenerated\n\n'); -out_file.write('/*\n *\n * http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSS2Properties\n */\n\n'); -out_file.write('module.exports = function (prototype) {\n'); - -property_files.forEach(function (property) { - var dashed; - if (property.substr(-3) === '.js') { - property = path.basename(property, '.js'); - dashed = camelToDashed(property); - out_file.write(' var '+property+' = require(\'./properties/' + property + '\').definition;\n'); - out_file.write(' Object.defineProperty(prototype, \'' + property + '\', '+property+')\n'); - if (property !== dashed) { - out_file.write(' Object.defineProperty(prototype, \'' + dashed + '\', '+property+')\n'); - } - } -}); - -out_file.write('};\n'); -out_file.end(function (err) { - if (err) { - throw err; - } -}); diff --git a/node_modules/jsdom/node_modules/cssstyle/scripts/run_tests.sh b/node_modules/jsdom/node_modules/cssstyle/scripts/run_tests.sh deleted file mode 100755 index dc32fc3..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/scripts/run_tests.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -node ./scripts/generate_properties.js -nodeunit tests diff --git a/node_modules/jsdom/node_modules/cssstyle/tests/tests.js b/node_modules/jsdom/node_modules/cssstyle/tests/tests.js deleted file mode 100644 index 8227711..0000000 --- a/node_modules/jsdom/node_modules/cssstyle/tests/tests.js +++ /dev/null @@ -1,405 +0,0 @@ -"use strict"; -var util = require('util'); -var cssstyle = require('../lib/CSSStyleDeclaration'); - -var camelToDashed = require('../lib/parsers').camelToDashed; - -/** - * These are the required properties - * see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSS2Properties - **/ -var properties = [ 'azimuth', 'background', 'backgroundAttachment', 'backgroundColor', 'backgroundImage', 'backgroundPosition', 'backgroundRepeat', 'border', 'borderCollapse', 'borderColor', 'borderSpacing', 'borderStyle', 'borderTop', 'borderRight', 'borderBottom', 'borderLeft', 'borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor', 'borderTopStyle', 'borderRightStyle', 'borderBottomStyle', 'borderLeftStyle', 'borderTopWidth', 'borderRightWidth', 'borderBottomWidth', 'borderLeftWidth', 'borderWidth', 'bottom', 'captionSide', 'clear', 'clip', 'color', 'content', 'counterIncrement', 'counterReset', 'cue', 'cueAfter', 'cueBefore', 'cursor', 'direction', 'display', 'elevation', 'emptyCells', 'cssFloat', 'font', 'fontFamily', 'fontSize', 'fontSizeAdjust', 'fontStretch', 'fontStyle', 'fontVariant', 'fontWeight', 'height', 'left', 'letterSpacing', 'lineHeight', 'listStyle', 'listStyleImage', 'listStylePosition', 'listStyleType', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'markerOffset', 'marks', 'maxHeight', 'maxWidth', 'minHeight', 'minWidth', 'orphans', 'outline', 'outlineColor', 'outlineStyle', 'outlineWidth', 'overflow', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'page', 'pageBreakAfter', 'pageBreakBefore', 'pageBreakInside', 'pause', 'pauseAfter', 'pauseBefore', 'pitch', 'pitchRange', 'playDuring', 'position', 'quotes', 'richness', 'right', 'size', 'speak', 'speakHeader', 'speakNumeral', 'speakPunctuation', 'speechRate', 'stress', 'tableLayout', 'textAlign', 'textDecoration', 'textIndent', 'textShadow', 'textTransform', 'top', 'unicodeBidi', 'verticalAlign', 'visibility', 'voiceFamily', 'volume', 'whiteSpace', 'widows', 'width', 'wordSpacing', 'zIndex']; -var dashed_properties = properties.map(function (property) { - return camelToDashed(property); -}); - -module.exports = { - 'Verify Has Properties': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(properties.length * 2); - properties.forEach(function (property) { - test.ok(style.__lookupGetter__(property), 'missing ' + property + ' property'); - test.ok(style.__lookupSetter__(property), 'missing ' + property + ' property'); - }); - test.done(); - }, - 'Verify Has Dashed Properties': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(dashed_properties.length * 2); - dashed_properties.forEach(function (property) { - test.ok(style.__lookupGetter__(property), 'missing ' + property + ' property'); - test.ok(style.__lookupSetter__(property), 'missing ' + property + ' property'); - }); - test.done(); - }, - 'Verify Has Functions': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(6); - test.ok(typeof style.getPropertyValue === 'function', 'missing getPropertyValue()'); - test.ok(typeof style.getPropertyCSSValue === 'function', 'missing getPropertyCSSValue()'); - test.ok(typeof style.removeProperty === 'function', 'missing removeProperty()'); - test.ok(typeof style.getPropertyPriority === 'function', 'missing getPropertyPriority()'); - test.ok(typeof style.setProperty === 'function', 'missing setProperty()'); - test.ok(typeof style.item === 'function', 'missing item()'); - test.done(); - }, - 'Verify Has Special Properties': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(5); - test.ok(style.__lookupGetter__('cssText'), 'missing cssText getter'); - test.ok(style.__lookupSetter__('cssText'), 'missing cssText setter'); - test.ok(style.__lookupGetter__('length'), 'missing length getter'); - test.ok(style.__lookupSetter__('length'), 'missing length setter'); - test.ok(style.__lookupGetter__('parentRule'), 'missing parentRule getter'); - test.done(); - }, - 'Test From Style String': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(8); - style.cssText = 'color: blue; background-color: red; width: 78%'; - test.ok(3 === style.length, 'length is not 3'); - test.ok('color: blue; background-color: red; width: 78%;' === style.cssText, 'cssText is wrong'); - test.ok('blue' === style.getPropertyValue('color'), "getPropertyValue('color') failed"); - test.ok('color' === style.item(0), 'item(0) failed'); - test.ok('background-color' === style[1], 'style[1] failed'); - test.ok('red' === style.backgroundColor, 'style.backgroundColor failed with "' + style.backgroundColor + '"'); - style.cssText = ''; - test.ok('' === style.cssText, 'cssText is not empty'); - test.ok(0 === style.length, 'length is not 0'); - test.done(); - }, - 'Test From Properties': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(11); - style.color = 'blue'; - test.ok(1 === style.length, 'length is not 1'); - test.ok('color' === style[0], 'style[0] is not color'); - test.ok('color: blue;' === style.cssText, 'cssText is wrong'); - test.ok('color' === style.item(0), 'item(0) is not color'); - test.ok('blue' === style.color, 'color is not blue'); - style.backgroundColor = 'red'; - test.ok(2 === style.length, 'length is not 2'); - test.ok('color' === style[0], 'style[0] is not color'); - test.ok('background-color' === style[1], 'style[1] is not background-color'); - test.ok('color: blue; background-color: red;' === style.cssText, 'cssText is wrong'); - test.ok('red' === style.backgroundColor, 'backgroundColor is not red'); - style.removeProperty('color'); - test.ok('background-color' === style[0], 'style[0] is not background-color'); - test.done(); - }, - 'Test Shorthand Properties': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(11); - style.background = 'blue url(http://www.example.com/some_img.jpg)'; - test.ok('blue' === style.backgroundColor, 'backgroundColor is not blue'); - test.ok('url(http://www.example.com/some_img.jpg)' === style.backgroundImage, 'backgroundImage is wrong'); - test.ok('blue url(http://www.example.com/some_img.jpg)' === style.background, 'background is different'); - style.border = '0 solid black'; - test.ok('0px' === style.borderWidth, 'borderWidth is not 0px'); - test.ok('solid' === style.borderStyle, 'borderStyle is not solid'); - test.ok('black' === style.borderColor, 'borderColor is not black'); - test.ok('0px' === style.borderTopWidth, 'borderTopWidth is not 0px'); - test.ok('solid' === style.borderLeftStyle, 'borderLeftStyle is not solid'); - test.ok('black' === style.borderBottomColor, 'borderBottomColor is not black'); - style.font = '12em monospace'; - test.ok('12em' === style.fontSize, 'fontSize is not 12em'); - test.ok('monospace' === style.fontFamily, 'fontFamily is not monospace'); - test.done(); - }, - 'Test width and height Properties and null and empty strings': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(7); - style.height = 6; - test.ok('' === style.height, 'height does not remain unset'); - style.width = 0; - test.ok('0px' === style.width, 'width is not 0px'); - style.height = '34%'; - test.ok('34%' === style.height, 'height is not 34%'); - style.height = ''; - test.ok(style.length === 1, 'length is not 1'); - test.ok('width: 0px;' === style.cssText, 'cssText is not "width: 0px;"'); - style.width = null; - test.ok(style.length === 0, 'length is not 0'); - test.ok('' === style.cssText, 'cssText is not empty string'); - test.done(); - }, - 'Test Implicit Properties': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(7); - style.borderWidth = 0; - test.ok(1 === style.length, 'length is not 1'); - test.ok('0px' === style.borderWidth, 'borderWidth is not 0px'); - test.ok('0px' === style.borderTopWidth, 'borderTopWidth is not 0px'); - test.ok('0px' === style.borderBottomWidth, 'borderBottomWidth is not 0px'); - test.ok('0px' === style.borderLeftWidth, 'borderLeftWidth is not 0px'); - test.ok('0px' === style.borderRightWidth, 'borderRightWidth is not 0px'); - test.ok('border-width: 0px;' === style.cssText, 'cssText is not "border-width: 0px", "' + style.cssText + '"'); - test.done(); - }, - 'Test Top, Left, Right, Bottom Properties': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(6); - style.top = 0; - style.left = '0%'; - style.right = '5em'; - style.bottom = '12pt'; - test.ok('0px' === style.top, 'top is not 0px'); - test.ok('0%' === style.left, 'left is not 0%'); - test.ok('5em' === style.right, 'right is not 5em'); - test.ok('12pt' === style.bottom, 'bottom is not 12pt'); - test.ok(4 === style.length, 'length is not 4'); - test.ok('top: 0px; left: 0%; right: 5em; bottom: 12pt;' === style.cssText, 'text is not "top: 0px; left: 0%; right: 5em; bottom: 12pt;"'); - test.done(); - }, - 'Test Clear and Clip Properties': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(10); - style.clear = 'none'; - test.ok('none' === style.clear, 'clear is not none'); - style.clear = 'lfet'; // intentionally wrong - test.ok('none' === style.clear, 'clear is not still none'); - style.clear = 'left'; - test.ok('left' === style.clear, 'clear is not left'); - style.clear = 'right'; - test.ok('right' === style.clear, 'clear is not right'); - style.clear = 'both'; - test.ok('both' === style.clear, 'clear is not both'); - style.clip = 'elipse(5px, 10px)'; - test.ok('' === style.clip, 'clip should not be set'); - test.ok(1 === style.length, 'length is not 1'); - style.clip = 'rect(0, 3Em, 2pt, 50%)'; - test.ok('rect(0px, 3em, 2pt, 50%)' === style.clip, 'clip is not "rect(0px, 3em, 2pt, 50%)", "' + style.clip + '"'); - test.ok(2 === style.length, 'length is not 2'); - test.ok('clear: both; clip: rect(0px, 3em, 2pt, 50%);' === style.cssText, 'cssText is not "clear: both; clip: rect(0px, 3em, 2pt, 50%);"'); - test.done(); - }, - 'Test colors': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(4); - style.color = 'rgba(0,0,0,0)'; - test.ok('rgba(0, 0, 0, 0)' === style.color, 'color is not rgba(0, 0, 0, 0)'); - style.color = 'rgba(5%, 10%, 20%, 0.4)'; - test.ok('rgba(12, 25, 51, 0.4)' === style.color, 'color is not rgba(12, 25, 51, 0.4)'); - style.color = 'rgb(33%, 34%, 33%)'; - test.ok('rgb(84, 86, 84)' === style.color, 'color is not rgb(84, 86, 84)'); - style.color = 'rgba(300, 200, 100, 1.5)'; - test.ok('rgb(255, 200, 100)' === style.color, 'color is not rgb(255, 200, 100) ' + style.color); - test.done(); - }, - 'Test short hand properties with embedded spaces': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(4); - style.background = 'rgb(0, 0, 0) url(/something/somewhere.jpg)'; - test.ok('rgb(0, 0, 0)' === style.backgroundColor, 'backgroundColor is not rgb(0, 0, 0): ' + style.backgroundColor); - test.ok('url(/something/somewhere.jpg)' === style.backgroundImage, 'backgroundImage is not url(/something/somewhere.jpg): ' + style.backgroundImage); - test.ok('background: rgb(0, 0, 0) url(/something/somewhere.jpg);' === style.cssText, 'cssText is not correct: ' + style.cssText); - style = new cssstyle.CSSStyleDeclaration(); - style.border = ' 1px solid black '; - test.ok('1px solid black' === style.border, 'multiple spaces not properly parsed: ' + style.border); - test.done(); - }, - 'Setting shorthand properties to an empty string should clear all dependent properties': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(2); - style.borderWidth = '1px'; - test.ok('border-width: 1px;' === style.cssText, 'cssText is not "border-width: 1px;": ' + style.cssText); - style.border = ''; - test.ok('' === style.cssText, 'cssText is not "": ' + style.cssText); - test.done(); - }, - 'Setting implicit properties to an empty string should clear all dependent properties': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(2); - style.borderTopWidth = '1px'; - test.ok('border-top-width: 1px;' === style.cssText, 'cssText is not "border-top-width: 1px;": ' + style.cssText); - style.borderWidth = ''; - test.ok('' === style.cssText, 'cssText is not "": ' + style.cssText); - test.done(); - }, - 'Setting a shorthand property, whose shorthands are implicit properties, to an empty string should clear all dependent properties': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(4); - style.borderTopWidth = '1px'; - test.ok('border-top-width: 1px;' === style.cssText, 'cssText is not "border-top-width: 1px;": ' + style.cssText); - style.border = ''; - test.ok('' === style.cssText, 'cssText is not "": ' + style.cssText); - style.borderTop = '1px solid black'; - test.ok('border-top: 1px solid black;' === style.cssText, 'cssText is not "border-top: 1px solid black;": ' + style.cssText); - style.border = ''; - test.ok('' === style.cssText, 'cssText is not "": ' + style.cssText); - test.done(); - }, - 'Setting border values to "none" should clear dependent values': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(8); - style.borderTopWidth = '1px'; - test.ok('border-top-width: 1px;' === style.cssText, 'cssText is not "border-top-width: 1px;": ' + style.cssText); - style.border = 'none'; - test.ok('' === style.cssText, 'cssText is not "": ' + style.cssText); - style.borderTopWidth = '1px'; - test.ok('border-top-width: 1px;' === style.cssText, 'cssText is not "border-top-width: 1px;": ' + style.cssText); - style.borderTopStyle = 'none'; - test.ok('' === style.cssText, 'cssText is not "": ' + style.cssText); - style.borderTopWidth = '1px'; - test.ok('border-top-width: 1px;' === style.cssText, 'cssText is not "border-top-width: 1px;": ' + style.cssText); - style.borderTop = 'none'; - test.ok('' === style.cssText, 'cssText is not "": ' + style.cssText); - style.borderTopWidth = '1px'; - style.borderLeftWidth = '1px'; - test.ok('border-top-width: 1px; border-left-width: 1px;' === style.cssText, 'cssText is not "border-top-width: 1px; border-left-width: 1px;": ' + style.cssText); - style.borderTop = 'none'; - test.ok('border-left-width: 1px;' === style.cssText, 'cssText is not "border-left-width: 1px;": ' + style.cssText); - test.done(); - }, - 'Setting border to 0 should be okay': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(1); - style.border = 0; - test.ok('border: 0px;' === style.cssText, 'cssText is not "border: 0px;": ' + style.cssText); - test.done(); - }, - 'Setting values implicit and shorthand properties via cssText and setProperty should propagate to dependent properties': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(4); - style.cssText = 'border: 1px solid black;'; - test.ok('border: 1px solid black;' === style.cssText, 'cssText is not "border: 1px solid black;": ' + style.cssText); - test.ok('1px solid black' === style.borderTop, 'borderTop is not "1px solid black": ' + style.borderTop); - style.border = ''; - test.ok('' === style.cssText, 'cssText is not "": ' + style.cssText); - style.setProperty('border', '1px solid black'); - test.ok('border: 1px solid black;' === style.cssText, 'cssText is not "border: 1px solid black;": ' + style.cssText); - test.done(); - }, - 'Setting opacity should work': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(3); - style.setProperty('opacity', 0.75); - test.ok('opacity: 0.75;' === style.cssText, 'cssText is not "opacity: 0.75;": ' + style.cssText); - style.opacity = '0.50'; - test.ok('opacity: 0.5;' === style.cssText, 'cssText is not "opacity: 0.5;": ' + style.cssText); - style.opacity = 1.0; - test.ok('opacity: 1;' === style.cssText, 'cssText is not "opacity: 1;": ' + style.cssText); - test.done(); - }, - 'Width and height of auto should work': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(4); - style.width = "auto"; - test.equal(style.cssText,'width: auto;', 'cssText is not "width: auto;": ' + style.cssText); - test.equal(style.width,'auto', 'width is not "auto": ' + style.width); - style = new cssstyle.CSSStyleDeclaration(); - style.height = "auto"; - test.equal(style.cssText,'height: auto;', 'cssText is not "height: auto;": ' + style.cssText); - test.equal(style.height,'auto', 'height is not "auto": ' + style.height); - test.done(); - }, - 'Padding and margin should set/clear shorthand properties': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - var parts = ["Top","Right","Bottom","Left"]; - var testParts = function (name,v,V) { - style[name] = v; - for (var i = 0; i < 4; i++) { - var part = name + parts[i]; - test.equal(V[i],style[part], part + ' is not "' + V[i] + '": "' + style[part] + '"'); - } - test.equal(v,style[name], name + ' is not "' + v + '": "' + style[name] + '"'); - style[name] = ""; - }; - test.expect(50); - testParts("padding","1px",["1px","1px","1px","1px"]); - testParts("padding","1px 2%",["1px","2%","1px","2%"]); - testParts("padding","1px 2px 3px",["1px","2px","3px","2px"]); - testParts("padding","1px 2px 3px 4px",["1px","2px","3px","4px"]); - style.paddingTop = style.paddingRight = style.paddingBottom = style.paddingLeft = "1px"; - testParts("padding","",["","","",""]); - testParts("margin","1px",["1px","1px","1px","1px"]); - testParts("margin","1px auto",["1px","auto","1px","auto"]); - testParts("margin","1px 2% 3px",["1px","2%","3px","2%"]); - testParts("margin","1px 2px 3px 4px",["1px","2px","3px","4px"]); - style.marginTop = style.marginRight = style.marginBottom = style.marginLeft = "1px"; - testParts("margin","",["","","",""]); - test.done(); - }, - 'Padding and margin shorthands should set main properties': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - var parts = ["Top","Right","Bottom","Left"]; - var testParts = function (name,v,V) { - var expect; - for (var i = 0; i < 4; i++) { - style[name] = v; - style[name+parts[i]] = V; - expect = v.split(/ /); - expect[i] = V; - expect = expect.join(" "); - test.equal(expect,style[name], name + ' is not "' + expect + '": "' + style[name] + '"'); - } - }; - test.expect(12); - testParts("padding","1px 2px 3px 4px","10px"); - testParts("margin","1px 2px 3px 4px","10px"); - testParts("margin","1px 2px 3px 4px","auto"); - test.done(); - }, - 'Setting a value to 0 should return the string value': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(1); - style.setProperty('fill-opacity', 0); - test.ok('0' === style.fillOpacity, 'fillOpacity is not "0": ' + style.fillOpacity); - test.done(); - }, - 'onChange callback should be called when the cssText changes': function (test) { - var style = new cssstyle.CSSStyleDeclaration(function (cssText) { - test.ok('opacity: 0;' === cssText, 'cssText is not "opacity: 0;": ' + cssText); - test.done(); - }); - test.expect(1); - style.setProperty('opacity', 0); - }, - 'Setting float should work the same as cssFloat': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(1); - style.float = 'left'; - test.ok('left' === style.cssFloat, 'cssFloat is not "left": ' + style.cssFloat); - test.done(); - }, - 'Setting improper css to cssText should not throw': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(2); - style.cssText = 'color: '; - test.ok('' === style.cssText, 'cssText wasn\'t cleared: ' + style.cssText); - style.color = 'black'; - style.cssText = 'float: '; - test.ok('' === style.cssText, 'cssText wasn\'t cleared: ' + style.cssText); - test.done(); - }, - 'Make sure url parsing works with quotes': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(3); - style.backgroundImage = 'url(http://some/url/here1.png)'; - test.ok('url(http://some/url/here1.png)' === style.backgroundImage, 'background-image wasn\'t url(http://some/url/here1.png): ' + style.backgroundImage); - style.backgroundImage = 'url(\'http://some/url/here2.png\')'; - test.ok('url(http://some/url/here2.png)' === style.backgroundImage, 'background-image wasn\'t url(http://some/url/here2.png): ' + style.backgroundImage); - style.backgroundImage = 'url("http://some/url/here3.png")'; - test.ok('url(http://some/url/here3.png)' === style.backgroundImage, 'background-image wasn\'t url(http://some/url/here3.png): ' + style.backgroundImage); - test.done(); - }, - 'Make sure setting 0 to a padding or margin works': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(2); - style.padding = 0; - test.equal(style.cssText, 'padding: 0px;', 'padding is not 0px'); - style.margin = '1em'; - style.marginTop = '0' - test.equal(style.marginTop, '0px', 'margin-top is not 0px'); - test.done(); - }, - 'Make sure setting null to background works': function (test) { - var style = new cssstyle.CSSStyleDeclaration(); - test.expect(2); - style.background = 'red'; - test.equal(style.cssText, 'background: red;', 'background is not red'); - style.background = null; - test.equal(style.cssText, '', 'cssText is not empty'); - test.done(); - } -}; diff --git a/node_modules/jsdom/node_modules/escodegen/LICENSE.BSD b/node_modules/jsdom/node_modules/escodegen/LICENSE.BSD deleted file mode 100644 index 3e580c3..0000000 --- a/node_modules/jsdom/node_modules/escodegen/LICENSE.BSD +++ /dev/null @@ -1,19 +0,0 @@ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/jsdom/node_modules/escodegen/LICENSE.source-map b/node_modules/jsdom/node_modules/escodegen/LICENSE.source-map deleted file mode 100644 index 259c59f..0000000 --- a/node_modules/jsdom/node_modules/escodegen/LICENSE.source-map +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2009-2011, Mozilla Foundation and contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the names of the Mozilla Foundation nor the names of project - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/jsdom/node_modules/escodegen/bin/escodegen.js b/node_modules/jsdom/node_modules/escodegen/bin/escodegen.js deleted file mode 100755 index a7c38aa..0000000 --- a/node_modules/jsdom/node_modules/escodegen/bin/escodegen.js +++ /dev/null @@ -1,77 +0,0 @@ -#!/usr/bin/env node -/* - Copyright (C) 2012 Yusuke Suzuki - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/*jslint sloppy:true node:true */ - -var fs = require('fs'), - path = require('path'), - root = path.join(path.dirname(fs.realpathSync(__filename)), '..'), - esprima = require('esprima'), - escodegen = require(root), - optionator = require('optionator')({ - prepend: 'Usage: escodegen [options] file...', - options: [ - { - option: 'config', - alias: 'c', - type: 'String', - description: 'configuration json for escodegen' - } - ] - }), - args = optionator.parse(process.argv), - files = args._, - options, - esprimaOptions = { - raw: true, - tokens: true, - range: true, - comment: true - }; - -if (files.length === 0) { - console.log(optionator.generateHelp()); - process.exit(1); -} - -if (args.config) { - try { - options = JSON.parse(fs.readFileSync(args.config, 'utf-8')); - } catch (err) { - console.error('Error parsing config: ', err); - } -} - -files.forEach(function (filename) { - var content = fs.readFileSync(filename, 'utf-8'), - syntax = esprima.parse(content, esprimaOptions); - - if (options.comment) { - escodegen.attachComments(syntax, syntax.comments, syntax.tokens); - } - - console.log(escodegen.generate(syntax, options)); -}); -/* vim: set sw=4 ts=4 et tw=80 : */ diff --git a/node_modules/jsdom/node_modules/escodegen/bin/esgenerate.js b/node_modules/jsdom/node_modules/escodegen/bin/esgenerate.js deleted file mode 100755 index 449abcc..0000000 --- a/node_modules/jsdom/node_modules/escodegen/bin/esgenerate.js +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env node -/* - Copyright (C) 2012 Yusuke Suzuki - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/*jslint sloppy:true node:true */ - -var fs = require('fs'), - path = require('path'), - root = path.join(path.dirname(fs.realpathSync(__filename)), '..'), - escodegen = require(root), - optionator = require('optionator')({ - prepend: 'Usage: esgenerate [options] file.json ...', - options: [ - { - option: 'config', - alias: 'c', - type: 'String', - description: 'configuration json for escodegen' - } - ] - }), - args = optionator.parse(process.argv), - files = args._, - options; - -if (files.length === 0) { - console.log(optionator.generateHelp()); - process.exit(1); -} - -if (args.config) { - try { - options = JSON.parse(fs.readFileSync(args.config, 'utf-8')) - } catch (err) { - console.error('Error parsing config: ', err); - } -} - -files.forEach(function (filename) { - var content = fs.readFileSync(filename, 'utf-8'); - console.log(escodegen.generate(JSON.parse(content), options)); -}); -/* vim: set sw=4 ts=4 et tw=80 : */ diff --git a/node_modules/jsdom/node_modules/escodegen/escodegen.js b/node_modules/jsdom/node_modules/escodegen/escodegen.js deleted file mode 100644 index 40ea53c..0000000 --- a/node_modules/jsdom/node_modules/escodegen/escodegen.js +++ /dev/null @@ -1,2599 +0,0 @@ -/* - Copyright (C) 2012-2014 Yusuke Suzuki - Copyright (C) 2015 Ingvar Stepanyan - Copyright (C) 2014 Ivan Nikulin - Copyright (C) 2012-2013 Michael Ficarra - Copyright (C) 2012-2013 Mathias Bynens - Copyright (C) 2013 Irakli Gozalishvili - Copyright (C) 2012 Robert Gust-Bardon - Copyright (C) 2012 John Freeman - Copyright (C) 2011-2012 Ariya Hidayat - Copyright (C) 2012 Joost-Wim Boekesteijn - Copyright (C) 2012 Kris Kowal - Copyright (C) 2012 Arpad Borsos - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/*global exports:true, require:true, global:true*/ -(function () { - 'use strict'; - - var Syntax, - Precedence, - BinaryPrecedence, - SourceNode, - estraverse, - esutils, - isArray, - base, - indent, - json, - renumber, - hexadecimal, - quotes, - escapeless, - newline, - space, - parentheses, - semicolons, - safeConcatenation, - directive, - extra, - parse, - sourceMap, - sourceCode, - preserveBlankLines, - FORMAT_MINIFY, - FORMAT_DEFAULTS; - - estraverse = require('estraverse'); - esutils = require('esutils'); - - Syntax = estraverse.Syntax; - - // Generation is done by generateExpression. - function isExpression(node) { - return CodeGenerator.Expression.hasOwnProperty(node.type); - } - - // Generation is done by generateStatement. - function isStatement(node) { - return CodeGenerator.Statement.hasOwnProperty(node.type); - } - - Precedence = { - Sequence: 0, - Yield: 1, - Await: 1, - Assignment: 1, - Conditional: 2, - ArrowFunction: 2, - LogicalOR: 3, - LogicalAND: 4, - BitwiseOR: 5, - BitwiseXOR: 6, - BitwiseAND: 7, - Equality: 8, - Relational: 9, - BitwiseSHIFT: 10, - Additive: 11, - Multiplicative: 12, - Unary: 13, - Postfix: 14, - Call: 15, - New: 16, - TaggedTemplate: 17, - Member: 18, - Primary: 19 - }; - - BinaryPrecedence = { - '||': Precedence.LogicalOR, - '&&': Precedence.LogicalAND, - '|': Precedence.BitwiseOR, - '^': Precedence.BitwiseXOR, - '&': Precedence.BitwiseAND, - '==': Precedence.Equality, - '!=': Precedence.Equality, - '===': Precedence.Equality, - '!==': Precedence.Equality, - 'is': Precedence.Equality, - 'isnt': Precedence.Equality, - '<': Precedence.Relational, - '>': Precedence.Relational, - '<=': Precedence.Relational, - '>=': Precedence.Relational, - 'in': Precedence.Relational, - 'instanceof': Precedence.Relational, - '<<': Precedence.BitwiseSHIFT, - '>>': Precedence.BitwiseSHIFT, - '>>>': Precedence.BitwiseSHIFT, - '+': Precedence.Additive, - '-': Precedence.Additive, - '*': Precedence.Multiplicative, - '%': Precedence.Multiplicative, - '/': Precedence.Multiplicative - }; - - //Flags - var F_ALLOW_IN = 1, - F_ALLOW_CALL = 1 << 1, - F_ALLOW_UNPARATH_NEW = 1 << 2, - F_FUNC_BODY = 1 << 3, - F_DIRECTIVE_CTX = 1 << 4, - F_SEMICOLON_OPT = 1 << 5; - - //Expression flag sets - //NOTE: Flag order: - // F_ALLOW_IN - // F_ALLOW_CALL - // F_ALLOW_UNPARATH_NEW - var E_FTT = F_ALLOW_CALL | F_ALLOW_UNPARATH_NEW, - E_TTF = F_ALLOW_IN | F_ALLOW_CALL, - E_TTT = F_ALLOW_IN | F_ALLOW_CALL | F_ALLOW_UNPARATH_NEW, - E_TFF = F_ALLOW_IN, - E_FFT = F_ALLOW_UNPARATH_NEW, - E_TFT = F_ALLOW_IN | F_ALLOW_UNPARATH_NEW; - - //Statement flag sets - //NOTE: Flag order: - // F_ALLOW_IN - // F_FUNC_BODY - // F_DIRECTIVE_CTX - // F_SEMICOLON_OPT - var S_TFFF = F_ALLOW_IN, - S_TFFT = F_ALLOW_IN | F_SEMICOLON_OPT, - S_FFFF = 0x00, - S_TFTF = F_ALLOW_IN | F_DIRECTIVE_CTX, - S_TTFF = F_ALLOW_IN | F_FUNC_BODY; - - function getDefaultOptions() { - // default options - return { - indent: null, - base: null, - parse: null, - comment: false, - format: { - indent: { - style: ' ', - base: 0, - adjustMultilineComment: false - }, - newline: '\n', - space: ' ', - json: false, - renumber: false, - hexadecimal: false, - quotes: 'single', - escapeless: false, - compact: false, - parentheses: true, - semicolons: true, - safeConcatenation: false, - preserveBlankLines: false - }, - moz: { - comprehensionExpressionStartsWithAssignment: false, - starlessGenerator: false - }, - sourceMap: null, - sourceMapRoot: null, - sourceMapWithCode: false, - directive: false, - raw: true, - verbatim: null, - sourceCode: null - }; - } - - function stringRepeat(str, num) { - var result = ''; - - for (num |= 0; num > 0; num >>>= 1, str += str) { - if (num & 1) { - result += str; - } - } - - return result; - } - - isArray = Array.isArray; - if (!isArray) { - isArray = function isArray(array) { - return Object.prototype.toString.call(array) === '[object Array]'; - }; - } - - function hasLineTerminator(str) { - return (/[\r\n]/g).test(str); - } - - function endsWithLineTerminator(str) { - var len = str.length; - return len && esutils.code.isLineTerminator(str.charCodeAt(len - 1)); - } - - function merge(target, override) { - var key; - for (key in override) { - if (override.hasOwnProperty(key)) { - target[key] = override[key]; - } - } - return target; - } - - function updateDeeply(target, override) { - var key, val; - - function isHashObject(target) { - return typeof target === 'object' && target instanceof Object && !(target instanceof RegExp); - } - - for (key in override) { - if (override.hasOwnProperty(key)) { - val = override[key]; - if (isHashObject(val)) { - if (isHashObject(target[key])) { - updateDeeply(target[key], val); - } else { - target[key] = updateDeeply({}, val); - } - } else { - target[key] = val; - } - } - } - return target; - } - - function generateNumber(value) { - var result, point, temp, exponent, pos; - - if (value !== value) { - throw new Error('Numeric literal whose value is NaN'); - } - if (value < 0 || (value === 0 && 1 / value < 0)) { - throw new Error('Numeric literal whose value is negative'); - } - - if (value === 1 / 0) { - return json ? 'null' : renumber ? '1e400' : '1e+400'; - } - - result = '' + value; - if (!renumber || result.length < 3) { - return result; - } - - point = result.indexOf('.'); - if (!json && result.charCodeAt(0) === 0x30 /* 0 */ && point === 1) { - point = 0; - result = result.slice(1); - } - temp = result; - result = result.replace('e+', 'e'); - exponent = 0; - if ((pos = temp.indexOf('e')) > 0) { - exponent = +temp.slice(pos + 1); - temp = temp.slice(0, pos); - } - if (point >= 0) { - exponent -= temp.length - point - 1; - temp = +(temp.slice(0, point) + temp.slice(point + 1)) + ''; - } - pos = 0; - while (temp.charCodeAt(temp.length + pos - 1) === 0x30 /* 0 */) { - --pos; - } - if (pos !== 0) { - exponent -= pos; - temp = temp.slice(0, pos); - } - if (exponent !== 0) { - temp += 'e' + exponent; - } - if ((temp.length < result.length || - (hexadecimal && value > 1e12 && Math.floor(value) === value && (temp = '0x' + value.toString(16)).length < result.length)) && - +temp === value) { - result = temp; - } - - return result; - } - - // Generate valid RegExp expression. - // This function is based on https://github.com/Constellation/iv Engine - - function escapeRegExpCharacter(ch, previousIsBackslash) { - // not handling '\' and handling \u2028 or \u2029 to unicode escape sequence - if ((ch & ~1) === 0x2028) { - return (previousIsBackslash ? 'u' : '\\u') + ((ch === 0x2028) ? '2028' : '2029'); - } else if (ch === 10 || ch === 13) { // \n, \r - return (previousIsBackslash ? '' : '\\') + ((ch === 10) ? 'n' : 'r'); - } - return String.fromCharCode(ch); - } - - function generateRegExp(reg) { - var match, result, flags, i, iz, ch, characterInBrack, previousIsBackslash; - - result = reg.toString(); - - if (reg.source) { - // extract flag from toString result - match = result.match(/\/([^/]*)$/); - if (!match) { - return result; - } - - flags = match[1]; - result = ''; - - characterInBrack = false; - previousIsBackslash = false; - for (i = 0, iz = reg.source.length; i < iz; ++i) { - ch = reg.source.charCodeAt(i); - - if (!previousIsBackslash) { - if (characterInBrack) { - if (ch === 93) { // ] - characterInBrack = false; - } - } else { - if (ch === 47) { // / - result += '\\'; - } else if (ch === 91) { // [ - characterInBrack = true; - } - } - result += escapeRegExpCharacter(ch, previousIsBackslash); - previousIsBackslash = ch === 92; // \ - } else { - // if new RegExp("\\\n') is provided, create /\n/ - result += escapeRegExpCharacter(ch, previousIsBackslash); - // prevent like /\\[/]/ - previousIsBackslash = false; - } - } - - return '/' + result + '/' + flags; - } - - return result; - } - - function escapeAllowedCharacter(code, next) { - var hex; - - if (code === 0x08 /* \b */) { - return '\\b'; - } - - if (code === 0x0C /* \f */) { - return '\\f'; - } - - if (code === 0x09 /* \t */) { - return '\\t'; - } - - hex = code.toString(16).toUpperCase(); - if (json || code > 0xFF) { - return '\\u' + '0000'.slice(hex.length) + hex; - } else if (code === 0x0000 && !esutils.code.isDecimalDigit(next)) { - return '\\0'; - } else if (code === 0x000B /* \v */) { // '\v' - return '\\x0B'; - } else { - return '\\x' + '00'.slice(hex.length) + hex; - } - } - - function escapeDisallowedCharacter(code) { - if (code === 0x5C /* \ */) { - return '\\\\'; - } - - if (code === 0x0A /* \n */) { - return '\\n'; - } - - if (code === 0x0D /* \r */) { - return '\\r'; - } - - if (code === 0x2028) { - return '\\u2028'; - } - - if (code === 0x2029) { - return '\\u2029'; - } - - throw new Error('Incorrectly classified character'); - } - - function escapeDirective(str) { - var i, iz, code, quote; - - quote = quotes === 'double' ? '"' : '\''; - for (i = 0, iz = str.length; i < iz; ++i) { - code = str.charCodeAt(i); - if (code === 0x27 /* ' */) { - quote = '"'; - break; - } else if (code === 0x22 /* " */) { - quote = '\''; - break; - } else if (code === 0x5C /* \ */) { - ++i; - } - } - - return quote + str + quote; - } - - function escapeString(str) { - var result = '', i, len, code, singleQuotes = 0, doubleQuotes = 0, single, quote; - - for (i = 0, len = str.length; i < len; ++i) { - code = str.charCodeAt(i); - if (code === 0x27 /* ' */) { - ++singleQuotes; - } else if (code === 0x22 /* " */) { - ++doubleQuotes; - } else if (code === 0x2F /* / */ && json) { - result += '\\'; - } else if (esutils.code.isLineTerminator(code) || code === 0x5C /* \ */) { - result += escapeDisallowedCharacter(code); - continue; - } else if (!esutils.code.isIdentifierPartES5(code) && (json && code < 0x20 /* SP */ || !json && !escapeless && (code < 0x20 /* SP */ || code > 0x7E /* ~ */))) { - result += escapeAllowedCharacter(code, str.charCodeAt(i + 1)); - continue; - } - result += String.fromCharCode(code); - } - - single = !(quotes === 'double' || (quotes === 'auto' && doubleQuotes < singleQuotes)); - quote = single ? '\'' : '"'; - - if (!(single ? singleQuotes : doubleQuotes)) { - return quote + result + quote; - } - - str = result; - result = quote; - - for (i = 0, len = str.length; i < len; ++i) { - code = str.charCodeAt(i); - if ((code === 0x27 /* ' */ && single) || (code === 0x22 /* " */ && !single)) { - result += '\\'; - } - result += String.fromCharCode(code); - } - - return result + quote; - } - - /** - * flatten an array to a string, where the array can contain - * either strings or nested arrays - */ - function flattenToString(arr) { - var i, iz, elem, result = ''; - for (i = 0, iz = arr.length; i < iz; ++i) { - elem = arr[i]; - result += isArray(elem) ? flattenToString(elem) : elem; - } - return result; - } - - /** - * convert generated to a SourceNode when source maps are enabled. - */ - function toSourceNodeWhenNeeded(generated, node) { - if (!sourceMap) { - // with no source maps, generated is either an - // array or a string. if an array, flatten it. - // if a string, just return it - if (isArray(generated)) { - return flattenToString(generated); - } else { - return generated; - } - } - if (node == null) { - if (generated instanceof SourceNode) { - return generated; - } else { - node = {}; - } - } - if (node.loc == null) { - return new SourceNode(null, null, sourceMap, generated, node.name || null); - } - return new SourceNode(node.loc.start.line, node.loc.start.column, (sourceMap === true ? node.loc.source || null : sourceMap), generated, node.name || null); - } - - function noEmptySpace() { - return (space) ? space : ' '; - } - - function join(left, right) { - var leftSource, - rightSource, - leftCharCode, - rightCharCode; - - leftSource = toSourceNodeWhenNeeded(left).toString(); - if (leftSource.length === 0) { - return [right]; - } - - rightSource = toSourceNodeWhenNeeded(right).toString(); - if (rightSource.length === 0) { - return [left]; - } - - leftCharCode = leftSource.charCodeAt(leftSource.length - 1); - rightCharCode = rightSource.charCodeAt(0); - - if ((leftCharCode === 0x2B /* + */ || leftCharCode === 0x2D /* - */) && leftCharCode === rightCharCode || - esutils.code.isIdentifierPartES5(leftCharCode) && esutils.code.isIdentifierPartES5(rightCharCode) || - leftCharCode === 0x2F /* / */ && rightCharCode === 0x69 /* i */) { // infix word operators all start with `i` - return [left, noEmptySpace(), right]; - } else if (esutils.code.isWhiteSpace(leftCharCode) || esutils.code.isLineTerminator(leftCharCode) || - esutils.code.isWhiteSpace(rightCharCode) || esutils.code.isLineTerminator(rightCharCode)) { - return [left, right]; - } - return [left, space, right]; - } - - function addIndent(stmt) { - return [base, stmt]; - } - - function withIndent(fn) { - var previousBase; - previousBase = base; - base += indent; - fn(base); - base = previousBase; - } - - function calculateSpaces(str) { - var i; - for (i = str.length - 1; i >= 0; --i) { - if (esutils.code.isLineTerminator(str.charCodeAt(i))) { - break; - } - } - return (str.length - 1) - i; - } - - function adjustMultilineComment(value, specialBase) { - var array, i, len, line, j, spaces, previousBase, sn; - - array = value.split(/\r\n|[\r\n]/); - spaces = Number.MAX_VALUE; - - // first line doesn't have indentation - for (i = 1, len = array.length; i < len; ++i) { - line = array[i]; - j = 0; - while (j < line.length && esutils.code.isWhiteSpace(line.charCodeAt(j))) { - ++j; - } - if (spaces > j) { - spaces = j; - } - } - - if (typeof specialBase !== 'undefined') { - // pattern like - // { - // var t = 20; /* - // * this is comment - // */ - // } - previousBase = base; - if (array[1][spaces] === '*') { - specialBase += ' '; - } - base = specialBase; - } else { - if (spaces & 1) { - // /* - // * - // */ - // If spaces are odd number, above pattern is considered. - // We waste 1 space. - --spaces; - } - previousBase = base; - } - - for (i = 1, len = array.length; i < len; ++i) { - sn = toSourceNodeWhenNeeded(addIndent(array[i].slice(spaces))); - array[i] = sourceMap ? sn.join('') : sn; - } - - base = previousBase; - - return array.join('\n'); - } - - function generateComment(comment, specialBase) { - if (comment.type === 'Line') { - if (endsWithLineTerminator(comment.value)) { - return '//' + comment.value; - } else { - // Always use LineTerminator - var result = '//' + comment.value; - if (!preserveBlankLines) { - result += '\n'; - } - return result; - } - } - if (extra.format.indent.adjustMultilineComment && /[\n\r]/.test(comment.value)) { - return adjustMultilineComment('/*' + comment.value + '*/', specialBase); - } - return '/*' + comment.value + '*/'; - } - - function addComments(stmt, result) { - var i, len, comment, save, tailingToStatement, specialBase, fragment, - extRange, range, prevRange, prefix, infix, suffix, count; - - if (stmt.leadingComments && stmt.leadingComments.length > 0) { - save = result; - - if (preserveBlankLines) { - comment = stmt.leadingComments[0]; - result = []; - - extRange = comment.extendedRange; - range = comment.range; - - prefix = sourceCode.substring(extRange[0], range[0]); - count = (prefix.match(/\n/g) || []).length; - if (count > 0) { - result.push(stringRepeat('\n', count)); - result.push(addIndent(generateComment(comment))); - } else { - result.push(prefix); - result.push(generateComment(comment)); - } - - prevRange = range; - - for (i = 1, len = stmt.leadingComments.length; i < len; i++) { - comment = stmt.leadingComments[i]; - range = comment.range; - - infix = sourceCode.substring(prevRange[1], range[0]); - count = (infix.match(/\n/g) || []).length; - result.push(stringRepeat('\n', count)); - result.push(addIndent(generateComment(comment))); - - prevRange = range; - } - - suffix = sourceCode.substring(range[1], extRange[1]); - count = (suffix.match(/\n/g) || []).length; - result.push(stringRepeat('\n', count)); - } else { - comment = stmt.leadingComments[0]; - result = []; - if (safeConcatenation && stmt.type === Syntax.Program && stmt.body.length === 0) { - result.push('\n'); - } - result.push(generateComment(comment)); - if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { - result.push('\n'); - } - - for (i = 1, len = stmt.leadingComments.length; i < len; ++i) { - comment = stmt.leadingComments[i]; - fragment = [generateComment(comment)]; - if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) { - fragment.push('\n'); - } - result.push(addIndent(fragment)); - } - } - - result.push(addIndent(save)); - } - - if (stmt.trailingComments) { - - if (preserveBlankLines) { - comment = stmt.trailingComments[0]; - extRange = comment.extendedRange; - range = comment.range; - - prefix = sourceCode.substring(extRange[0], range[0]); - count = (prefix.match(/\n/g) || []).length; - - if (count > 0) { - result.push(stringRepeat('\n', count)); - result.push(addIndent(generateComment(comment))); - } else { - result.push(prefix); - result.push(generateComment(comment)); - } - } else { - tailingToStatement = !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString()); - specialBase = stringRepeat(' ', calculateSpaces(toSourceNodeWhenNeeded([base, result, indent]).toString())); - for (i = 0, len = stmt.trailingComments.length; i < len; ++i) { - comment = stmt.trailingComments[i]; - if (tailingToStatement) { - // We assume target like following script - // - // var t = 20; /** - // * This is comment of t - // */ - if (i === 0) { - // first case - result = [result, indent]; - } else { - result = [result, specialBase]; - } - result.push(generateComment(comment, specialBase)); - } else { - result = [result, addIndent(generateComment(comment))]; - } - if (i !== len - 1 && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { - result = [result, '\n']; - } - } - } - } - - return result; - } - - function generateBlankLines(start, end, result) { - var j, newlineCount = 0; - - for (j = start; j < end; j++) { - if (sourceCode[j] === '\n') { - newlineCount++; - } - } - - for (j = 1; j < newlineCount; j++) { - result.push(newline); - } - } - - function parenthesize(text, current, should) { - if (current < should) { - return ['(', text, ')']; - } - return text; - } - - function generateVerbatimString(string) { - var i, iz, result; - result = string.split(/\r\n|\n/); - for (i = 1, iz = result.length; i < iz; i++) { - result[i] = newline + base + result[i]; - } - return result; - } - - function generateVerbatim(expr, precedence) { - var verbatim, result, prec; - verbatim = expr[extra.verbatim]; - - if (typeof verbatim === 'string') { - result = parenthesize(generateVerbatimString(verbatim), Precedence.Sequence, precedence); - } else { - // verbatim is object - result = generateVerbatimString(verbatim.content); - prec = (verbatim.precedence != null) ? verbatim.precedence : Precedence.Sequence; - result = parenthesize(result, prec, precedence); - } - - return toSourceNodeWhenNeeded(result, expr); - } - - function CodeGenerator() { - } - - // Helpers. - - CodeGenerator.prototype.maybeBlock = function(stmt, flags) { - var result, noLeadingComment, that = this; - - noLeadingComment = !extra.comment || !stmt.leadingComments; - - if (stmt.type === Syntax.BlockStatement && noLeadingComment) { - return [space, this.generateStatement(stmt, flags)]; - } - - if (stmt.type === Syntax.EmptyStatement && noLeadingComment) { - return ';'; - } - - withIndent(function () { - result = [ - newline, - addIndent(that.generateStatement(stmt, flags)) - ]; - }); - - return result; - }; - - CodeGenerator.prototype.maybeBlockSuffix = function (stmt, result) { - var ends = endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString()); - if (stmt.type === Syntax.BlockStatement && (!extra.comment || !stmt.leadingComments) && !ends) { - return [result, space]; - } - if (ends) { - return [result, base]; - } - return [result, newline, base]; - }; - - function generateIdentifier(node) { - return toSourceNodeWhenNeeded(node.name, node); - } - - function generateAsyncPrefix(node, spaceRequired) { - return node.async ? 'async' + (spaceRequired ? noEmptySpace() : space) : ''; - } - - function generateStarSuffix(node) { - var isGenerator = node.generator && !extra.moz.starlessGenerator; - return isGenerator ? '*' + space : ''; - } - - function generateMethodPrefix(prop) { - var func = prop.value; - if (func.async) { - return generateAsyncPrefix(func, !prop.computed); - } else { - // avoid space before method name - return generateStarSuffix(func) ? '*' : ''; - } - } - - CodeGenerator.prototype.generatePattern = function (node, precedence, flags) { - if (node.type === Syntax.Identifier) { - return generateIdentifier(node); - } - return this.generateExpression(node, precedence, flags); - }; - - CodeGenerator.prototype.generateFunctionParams = function (node) { - var i, iz, result, hasDefault; - - hasDefault = false; - - if (node.type === Syntax.ArrowFunctionExpression && - !node.rest && (!node.defaults || node.defaults.length === 0) && - node.params.length === 1 && node.params[0].type === Syntax.Identifier) { - // arg => { } case - result = [generateAsyncPrefix(node, true), generateIdentifier(node.params[0])]; - } else { - result = node.type === Syntax.ArrowFunctionExpression ? [generateAsyncPrefix(node, false)] : []; - result.push('('); - if (node.defaults) { - hasDefault = true; - } - for (i = 0, iz = node.params.length; i < iz; ++i) { - if (hasDefault && node.defaults[i]) { - // Handle default values. - result.push(this.generateAssignment(node.params[i], node.defaults[i], '=', Precedence.Assignment, E_TTT)); - } else { - result.push(this.generatePattern(node.params[i], Precedence.Assignment, E_TTT)); - } - if (i + 1 < iz) { - result.push(',' + space); - } - } - - if (node.rest) { - if (node.params.length) { - result.push(',' + space); - } - result.push('...'); - result.push(generateIdentifier(node.rest)); - } - - result.push(')'); - } - - return result; - }; - - CodeGenerator.prototype.generateFunctionBody = function (node) { - var result, expr; - - result = this.generateFunctionParams(node); - - if (node.type === Syntax.ArrowFunctionExpression) { - result.push(space); - result.push('=>'); - } - - if (node.expression) { - result.push(space); - expr = this.generateExpression(node.body, Precedence.Assignment, E_TTT); - if (expr.toString().charAt(0) === '{') { - expr = ['(', expr, ')']; - } - result.push(expr); - } else { - result.push(this.maybeBlock(node.body, S_TTFF)); - } - - return result; - }; - - CodeGenerator.prototype.generateIterationForStatement = function (operator, stmt, flags) { - var result = ['for' + space + '('], that = this; - withIndent(function () { - if (stmt.left.type === Syntax.VariableDeclaration) { - withIndent(function () { - result.push(stmt.left.kind + noEmptySpace()); - result.push(that.generateStatement(stmt.left.declarations[0], S_FFFF)); - }); - } else { - result.push(that.generateExpression(stmt.left, Precedence.Call, E_TTT)); - } - - result = join(result, operator); - result = [join( - result, - that.generateExpression(stmt.right, Precedence.Sequence, E_TTT) - ), ')']; - }); - result.push(this.maybeBlock(stmt.body, flags)); - return result; - }; - - CodeGenerator.prototype.generatePropertyKey = function (expr, computed) { - var result = []; - - if (computed) { - result.push('['); - } - - result.push(this.generateExpression(expr, Precedence.Sequence, E_TTT)); - if (computed) { - result.push(']'); - } - - return result; - }; - - CodeGenerator.prototype.generateAssignment = function (left, right, operator, precedence, flags) { - if (Precedence.Assignment < precedence) { - flags |= F_ALLOW_IN; - } - - return parenthesize( - [ - this.generateExpression(left, Precedence.Call, flags), - space + operator + space, - this.generateExpression(right, Precedence.Assignment, flags) - ], - Precedence.Assignment, - precedence - ); - }; - - CodeGenerator.prototype.semicolon = function (flags) { - if (!semicolons && flags & F_SEMICOLON_OPT) { - return ''; - } - return ';'; - }; - - // Statements. - - CodeGenerator.Statement = { - - BlockStatement: function (stmt, flags) { - var range, content, result = ['{', newline], that = this; - - withIndent(function () { - // handle functions without any code - if (stmt.body.length === 0 && preserveBlankLines) { - range = stmt.range; - if (range[1] - range[0] > 2) { - content = sourceCode.substring(range[0] + 1, range[1] - 1); - if (content[0] === '\n') { - result = ['{']; - } - result.push(content); - } - } - - var i, iz, fragment, bodyFlags; - bodyFlags = S_TFFF; - if (flags & F_FUNC_BODY) { - bodyFlags |= F_DIRECTIVE_CTX; - } - - for (i = 0, iz = stmt.body.length; i < iz; ++i) { - if (preserveBlankLines) { - // handle spaces before the first line - if (i === 0) { - if (stmt.body[0].leadingComments) { - range = stmt.body[0].leadingComments[0].extendedRange; - content = sourceCode.substring(range[0], range[1]); - if (content[0] === '\n') { - result = ['{']; - } - } - if (!stmt.body[0].leadingComments) { - generateBlankLines(stmt.range[0], stmt.body[0].range[0], result); - } - } - - // handle spaces between lines - if (i > 0) { - if (!stmt.body[i - 1].trailingComments && !stmt.body[i].leadingComments) { - generateBlankLines(stmt.body[i - 1].range[1], stmt.body[i].range[0], result); - } - } - } - - if (i === iz - 1) { - bodyFlags |= F_SEMICOLON_OPT; - } - - if (stmt.body[i].leadingComments && preserveBlankLines) { - fragment = that.generateStatement(stmt.body[i], bodyFlags); - } else { - fragment = addIndent(that.generateStatement(stmt.body[i], bodyFlags)); - } - - result.push(fragment); - if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) { - if (preserveBlankLines && i < iz - 1) { - // don't add a new line if there are leading coments - // in the next statement - if (!stmt.body[i + 1].leadingComments) { - result.push(newline); - } - } else { - result.push(newline); - } - } - - if (preserveBlankLines) { - // handle spaces after the last line - if (i === iz - 1) { - if (!stmt.body[i].trailingComments) { - generateBlankLines(stmt.body[i].range[1], stmt.range[1], result); - } - } - } - } - }); - - result.push(addIndent('}')); - return result; - }, - - BreakStatement: function (stmt, flags) { - if (stmt.label) { - return 'break ' + stmt.label.name + this.semicolon(flags); - } - return 'break' + this.semicolon(flags); - }, - - ContinueStatement: function (stmt, flags) { - if (stmt.label) { - return 'continue ' + stmt.label.name + this.semicolon(flags); - } - return 'continue' + this.semicolon(flags); - }, - - ClassBody: function (stmt, flags) { - var result = [ '{', newline], that = this; - - withIndent(function (indent) { - var i, iz; - - for (i = 0, iz = stmt.body.length; i < iz; ++i) { - result.push(indent); - result.push(that.generateExpression(stmt.body[i], Precedence.Sequence, E_TTT)); - if (i + 1 < iz) { - result.push(newline); - } - } - }); - - if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { - result.push(newline); - } - result.push(base); - result.push('}'); - return result; - }, - - ClassDeclaration: function (stmt, flags) { - var result, fragment; - result = ['class ' + stmt.id.name]; - if (stmt.superClass) { - fragment = join('extends', this.generateExpression(stmt.superClass, Precedence.Assignment, E_TTT)); - result = join(result, fragment); - } - result.push(space); - result.push(this.generateStatement(stmt.body, S_TFFT)); - return result; - }, - - DirectiveStatement: function (stmt, flags) { - if (extra.raw && stmt.raw) { - return stmt.raw + this.semicolon(flags); - } - return escapeDirective(stmt.directive) + this.semicolon(flags); - }, - - DoWhileStatement: function (stmt, flags) { - // Because `do 42 while (cond)` is Syntax Error. We need semicolon. - var result = join('do', this.maybeBlock(stmt.body, S_TFFF)); - result = this.maybeBlockSuffix(stmt.body, result); - return join(result, [ - 'while' + space + '(', - this.generateExpression(stmt.test, Precedence.Sequence, E_TTT), - ')' + this.semicolon(flags) - ]); - }, - - CatchClause: function (stmt, flags) { - var result, that = this; - withIndent(function () { - var guard; - - result = [ - 'catch' + space + '(', - that.generateExpression(stmt.param, Precedence.Sequence, E_TTT), - ')' - ]; - - if (stmt.guard) { - guard = that.generateExpression(stmt.guard, Precedence.Sequence, E_TTT); - result.splice(2, 0, ' if ', guard); - } - }); - result.push(this.maybeBlock(stmt.body, S_TFFF)); - return result; - }, - - DebuggerStatement: function (stmt, flags) { - return 'debugger' + this.semicolon(flags); - }, - - EmptyStatement: function (stmt, flags) { - return ';'; - }, - - ExportDefaultDeclaration: function (stmt, flags) { - var result = [ 'export' ], bodyFlags; - - bodyFlags = (flags & F_SEMICOLON_OPT) ? S_TFFT : S_TFFF; - - // export default HoistableDeclaration[Default] - // export default AssignmentExpression[In] ; - result = join(result, 'default'); - if (isStatement(stmt.declaration)) { - result = join(result, this.generateStatement(stmt.declaration, bodyFlags)); - } else { - result = join(result, this.generateExpression(stmt.declaration, Precedence.Assignment, E_TTT) + this.semicolon(flags)); - } - return result; - }, - - ExportNamedDeclaration: function (stmt, flags) { - var result = [ 'export' ], bodyFlags, that = this; - - bodyFlags = (flags & F_SEMICOLON_OPT) ? S_TFFT : S_TFFF; - - // export VariableStatement - // export Declaration[Default] - if (stmt.declaration) { - return join(result, this.generateStatement(stmt.declaration, bodyFlags)); - } - - // export ExportClause[NoReference] FromClause ; - // export ExportClause ; - if (stmt.specifiers) { - if (stmt.specifiers.length === 0) { - result = join(result, '{' + space + '}'); - } else if (stmt.specifiers[0].type === Syntax.ExportBatchSpecifier) { - result = join(result, this.generateExpression(stmt.specifiers[0], Precedence.Sequence, E_TTT)); - } else { - result = join(result, '{'); - withIndent(function (indent) { - var i, iz; - result.push(newline); - for (i = 0, iz = stmt.specifiers.length; i < iz; ++i) { - result.push(indent); - result.push(that.generateExpression(stmt.specifiers[i], Precedence.Sequence, E_TTT)); - if (i + 1 < iz) { - result.push(',' + newline); - } - } - }); - if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { - result.push(newline); - } - result.push(base + '}'); - } - - if (stmt.source) { - result = join(result, [ - 'from' + space, - // ModuleSpecifier - this.generateExpression(stmt.source, Precedence.Sequence, E_TTT), - this.semicolon(flags) - ]); - } else { - result.push(this.semicolon(flags)); - } - } - return result; - }, - - ExportAllDeclaration: function (stmt, flags) { - // export * FromClause ; - return [ - 'export' + space, - '*' + space, - 'from' + space, - // ModuleSpecifier - this.generateExpression(stmt.source, Precedence.Sequence, E_TTT), - this.semicolon(flags) - ]; - }, - - ExpressionStatement: function (stmt, flags) { - var result, fragment; - - function isClassPrefixed(fragment) { - var code; - if (fragment.slice(0, 5) !== 'class') { - return false; - } - code = fragment.charCodeAt(5); - return code === 0x7B /* '{' */ || esutils.code.isWhiteSpace(code) || esutils.code.isLineTerminator(code); - } - - function isFunctionPrefixed(fragment) { - var code; - if (fragment.slice(0, 8) !== 'function') { - return false; - } - code = fragment.charCodeAt(8); - return code === 0x28 /* '(' */ || esutils.code.isWhiteSpace(code) || code === 0x2A /* '*' */ || esutils.code.isLineTerminator(code); - } - - function isAsyncPrefixed(fragment) { - var code, i, iz; - if (fragment.slice(0, 5) !== 'async') { - return false; - } - if (!esutils.code.isWhiteSpace(fragment.charCodeAt(5))) { - return false; - } - for (i = 6, iz = fragment.length; i < iz; ++i) { - if (!esutils.code.isWhiteSpace(fragment.charCodeAt(i))) { - break; - } - } - if (i === iz) { - return false; - } - if (fragment.slice(i, i + 8) !== 'function') { - return false; - } - code = fragment.charCodeAt(i + 8); - return code === 0x28 /* '(' */ || esutils.code.isWhiteSpace(code) || code === 0x2A /* '*' */ || esutils.code.isLineTerminator(code); - } - - result = [this.generateExpression(stmt.expression, Precedence.Sequence, E_TTT)]; - // 12.4 '{', 'function', 'class' is not allowed in this position. - // wrap expression with parentheses - fragment = toSourceNodeWhenNeeded(result).toString(); - if (fragment.charCodeAt(0) === 0x7B /* '{' */ || // ObjectExpression - isClassPrefixed(fragment) || - isFunctionPrefixed(fragment) || - isAsyncPrefixed(fragment) || - (directive && (flags & F_DIRECTIVE_CTX) && stmt.expression.type === Syntax.Literal && typeof stmt.expression.value === 'string')) { - result = ['(', result, ')' + this.semicolon(flags)]; - } else { - result.push(this.semicolon(flags)); - } - return result; - }, - - ImportDeclaration: function (stmt, flags) { - // ES6: 15.2.1 valid import declarations: - // - import ImportClause FromClause ; - // - import ModuleSpecifier ; - var result, cursor, that = this; - - // If no ImportClause is present, - // this should be `import ModuleSpecifier` so skip `from` - // ModuleSpecifier is StringLiteral. - if (stmt.specifiers.length === 0) { - // import ModuleSpecifier ; - return [ - 'import', - space, - // ModuleSpecifier - this.generateExpression(stmt.source, Precedence.Sequence, E_TTT), - this.semicolon(flags) - ]; - } - - // import ImportClause FromClause ; - result = [ - 'import' - ]; - cursor = 0; - - // ImportedBinding - if (stmt.specifiers[cursor].type === Syntax.ImportDefaultSpecifier) { - result = join(result, [ - this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT) - ]); - ++cursor; - } - - if (stmt.specifiers[cursor]) { - if (cursor !== 0) { - result.push(','); - } - - if (stmt.specifiers[cursor].type === Syntax.ImportNamespaceSpecifier) { - // NameSpaceImport - result = join(result, [ - space, - this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT) - ]); - } else { - // NamedImports - result.push(space + '{'); - - if ((stmt.specifiers.length - cursor) === 1) { - // import { ... } from "..."; - result.push(space); - result.push(this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT)); - result.push(space + '}' + space); - } else { - // import { - // ..., - // ..., - // } from "..."; - withIndent(function (indent) { - var i, iz; - result.push(newline); - for (i = cursor, iz = stmt.specifiers.length; i < iz; ++i) { - result.push(indent); - result.push(that.generateExpression(stmt.specifiers[i], Precedence.Sequence, E_TTT)); - if (i + 1 < iz) { - result.push(',' + newline); - } - } - }); - if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { - result.push(newline); - } - result.push(base + '}' + space); - } - } - } - - result = join(result, [ - 'from' + space, - // ModuleSpecifier - this.generateExpression(stmt.source, Precedence.Sequence, E_TTT), - this.semicolon(flags) - ]); - return result; - }, - - VariableDeclarator: function (stmt, flags) { - var itemFlags = (flags & F_ALLOW_IN) ? E_TTT : E_FTT; - if (stmt.init) { - return [ - this.generateExpression(stmt.id, Precedence.Assignment, itemFlags), - space, - '=', - space, - this.generateExpression(stmt.init, Precedence.Assignment, itemFlags) - ]; - } - return this.generatePattern(stmt.id, Precedence.Assignment, itemFlags); - }, - - VariableDeclaration: function (stmt, flags) { - // VariableDeclarator is typed as Statement, - // but joined with comma (not LineTerminator). - // So if comment is attached to target node, we should specialize. - var result, i, iz, node, bodyFlags, that = this; - - result = [ stmt.kind ]; - - bodyFlags = (flags & F_ALLOW_IN) ? S_TFFF : S_FFFF; - - function block() { - node = stmt.declarations[0]; - if (extra.comment && node.leadingComments) { - result.push('\n'); - result.push(addIndent(that.generateStatement(node, bodyFlags))); - } else { - result.push(noEmptySpace()); - result.push(that.generateStatement(node, bodyFlags)); - } - - for (i = 1, iz = stmt.declarations.length; i < iz; ++i) { - node = stmt.declarations[i]; - if (extra.comment && node.leadingComments) { - result.push(',' + newline); - result.push(addIndent(that.generateStatement(node, bodyFlags))); - } else { - result.push(',' + space); - result.push(that.generateStatement(node, bodyFlags)); - } - } - } - - if (stmt.declarations.length > 1) { - withIndent(block); - } else { - block(); - } - - result.push(this.semicolon(flags)); - - return result; - }, - - ThrowStatement: function (stmt, flags) { - return [join( - 'throw', - this.generateExpression(stmt.argument, Precedence.Sequence, E_TTT) - ), this.semicolon(flags)]; - }, - - TryStatement: function (stmt, flags) { - var result, i, iz, guardedHandlers; - - result = ['try', this.maybeBlock(stmt.block, S_TFFF)]; - result = this.maybeBlockSuffix(stmt.block, result); - - if (stmt.handlers) { - // old interface - for (i = 0, iz = stmt.handlers.length; i < iz; ++i) { - result = join(result, this.generateStatement(stmt.handlers[i], S_TFFF)); - if (stmt.finalizer || i + 1 !== iz) { - result = this.maybeBlockSuffix(stmt.handlers[i].body, result); - } - } - } else { - guardedHandlers = stmt.guardedHandlers || []; - - for (i = 0, iz = guardedHandlers.length; i < iz; ++i) { - result = join(result, this.generateStatement(guardedHandlers[i], S_TFFF)); - if (stmt.finalizer || i + 1 !== iz) { - result = this.maybeBlockSuffix(guardedHandlers[i].body, result); - } - } - - // new interface - if (stmt.handler) { - if (isArray(stmt.handler)) { - for (i = 0, iz = stmt.handler.length; i < iz; ++i) { - result = join(result, this.generateStatement(stmt.handler[i], S_TFFF)); - if (stmt.finalizer || i + 1 !== iz) { - result = this.maybeBlockSuffix(stmt.handler[i].body, result); - } - } - } else { - result = join(result, this.generateStatement(stmt.handler, S_TFFF)); - if (stmt.finalizer) { - result = this.maybeBlockSuffix(stmt.handler.body, result); - } - } - } - } - if (stmt.finalizer) { - result = join(result, ['finally', this.maybeBlock(stmt.finalizer, S_TFFF)]); - } - return result; - }, - - SwitchStatement: function (stmt, flags) { - var result, fragment, i, iz, bodyFlags, that = this; - withIndent(function () { - result = [ - 'switch' + space + '(', - that.generateExpression(stmt.discriminant, Precedence.Sequence, E_TTT), - ')' + space + '{' + newline - ]; - }); - if (stmt.cases) { - bodyFlags = S_TFFF; - for (i = 0, iz = stmt.cases.length; i < iz; ++i) { - if (i === iz - 1) { - bodyFlags |= F_SEMICOLON_OPT; - } - fragment = addIndent(this.generateStatement(stmt.cases[i], bodyFlags)); - result.push(fragment); - if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) { - result.push(newline); - } - } - } - result.push(addIndent('}')); - return result; - }, - - SwitchCase: function (stmt, flags) { - var result, fragment, i, iz, bodyFlags, that = this; - withIndent(function () { - if (stmt.test) { - result = [ - join('case', that.generateExpression(stmt.test, Precedence.Sequence, E_TTT)), - ':' - ]; - } else { - result = ['default:']; - } - - i = 0; - iz = stmt.consequent.length; - if (iz && stmt.consequent[0].type === Syntax.BlockStatement) { - fragment = that.maybeBlock(stmt.consequent[0], S_TFFF); - result.push(fragment); - i = 1; - } - - if (i !== iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { - result.push(newline); - } - - bodyFlags = S_TFFF; - for (; i < iz; ++i) { - if (i === iz - 1 && flags & F_SEMICOLON_OPT) { - bodyFlags |= F_SEMICOLON_OPT; - } - fragment = addIndent(that.generateStatement(stmt.consequent[i], bodyFlags)); - result.push(fragment); - if (i + 1 !== iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) { - result.push(newline); - } - } - }); - return result; - }, - - IfStatement: function (stmt, flags) { - var result, bodyFlags, semicolonOptional, that = this; - withIndent(function () { - result = [ - 'if' + space + '(', - that.generateExpression(stmt.test, Precedence.Sequence, E_TTT), - ')' - ]; - }); - semicolonOptional = flags & F_SEMICOLON_OPT; - bodyFlags = S_TFFF; - if (semicolonOptional) { - bodyFlags |= F_SEMICOLON_OPT; - } - if (stmt.alternate) { - result.push(this.maybeBlock(stmt.consequent, S_TFFF)); - result = this.maybeBlockSuffix(stmt.consequent, result); - if (stmt.alternate.type === Syntax.IfStatement) { - result = join(result, ['else ', this.generateStatement(stmt.alternate, bodyFlags)]); - } else { - result = join(result, join('else', this.maybeBlock(stmt.alternate, bodyFlags))); - } - } else { - result.push(this.maybeBlock(stmt.consequent, bodyFlags)); - } - return result; - }, - - ForStatement: function (stmt, flags) { - var result, that = this; - withIndent(function () { - result = ['for' + space + '(']; - if (stmt.init) { - if (stmt.init.type === Syntax.VariableDeclaration) { - result.push(that.generateStatement(stmt.init, S_FFFF)); - } else { - // F_ALLOW_IN becomes false. - result.push(that.generateExpression(stmt.init, Precedence.Sequence, E_FTT)); - result.push(';'); - } - } else { - result.push(';'); - } - - if (stmt.test) { - result.push(space); - result.push(that.generateExpression(stmt.test, Precedence.Sequence, E_TTT)); - result.push(';'); - } else { - result.push(';'); - } - - if (stmt.update) { - result.push(space); - result.push(that.generateExpression(stmt.update, Precedence.Sequence, E_TTT)); - result.push(')'); - } else { - result.push(')'); - } - }); - - result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF)); - return result; - }, - - ForInStatement: function (stmt, flags) { - return this.generateIterationForStatement('in', stmt, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF); - }, - - ForOfStatement: function (stmt, flags) { - return this.generateIterationForStatement('of', stmt, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF); - }, - - LabeledStatement: function (stmt, flags) { - return [stmt.label.name + ':', this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF)]; - }, - - Program: function (stmt, flags) { - var result, fragment, i, iz, bodyFlags; - iz = stmt.body.length; - result = [safeConcatenation && iz > 0 ? '\n' : '']; - bodyFlags = S_TFTF; - for (i = 0; i < iz; ++i) { - if (!safeConcatenation && i === iz - 1) { - bodyFlags |= F_SEMICOLON_OPT; - } - - if (preserveBlankLines) { - // handle spaces before the first line - if (i === 0) { - if (!stmt.body[0].leadingComments) { - generateBlankLines(stmt.range[0], stmt.body[i].range[0], result); - } - } - - // handle spaces between lines - if (i > 0) { - if (!stmt.body[i - 1].trailingComments && !stmt.body[i].leadingComments) { - generateBlankLines(stmt.body[i - 1].range[1], stmt.body[i].range[0], result); - } - } - } - - fragment = addIndent(this.generateStatement(stmt.body[i], bodyFlags)); - result.push(fragment); - if (i + 1 < iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) { - if (preserveBlankLines) { - if (!stmt.body[i + 1].leadingComments) { - result.push(newline); - } - } else { - result.push(newline); - } - } - - if (preserveBlankLines) { - // handle spaces after the last line - if (i === iz - 1) { - if (!stmt.body[i].trailingComments) { - generateBlankLines(stmt.body[i].range[1], stmt.range[1], result); - } - } - } - } - return result; - }, - - FunctionDeclaration: function (stmt, flags) { - return [ - generateAsyncPrefix(stmt, true), - 'function', - generateStarSuffix(stmt) || noEmptySpace(), - stmt.id ? generateIdentifier(stmt.id) : '', - this.generateFunctionBody(stmt) - ]; - }, - - ReturnStatement: function (stmt, flags) { - if (stmt.argument) { - return [join( - 'return', - this.generateExpression(stmt.argument, Precedence.Sequence, E_TTT) - ), this.semicolon(flags)]; - } - return ['return' + this.semicolon(flags)]; - }, - - WhileStatement: function (stmt, flags) { - var result, that = this; - withIndent(function () { - result = [ - 'while' + space + '(', - that.generateExpression(stmt.test, Precedence.Sequence, E_TTT), - ')' - ]; - }); - result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF)); - return result; - }, - - WithStatement: function (stmt, flags) { - var result, that = this; - withIndent(function () { - result = [ - 'with' + space + '(', - that.generateExpression(stmt.object, Precedence.Sequence, E_TTT), - ')' - ]; - }); - result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF)); - return result; - } - - }; - - merge(CodeGenerator.prototype, CodeGenerator.Statement); - - // Expressions. - - CodeGenerator.Expression = { - - SequenceExpression: function (expr, precedence, flags) { - var result, i, iz; - if (Precedence.Sequence < precedence) { - flags |= F_ALLOW_IN; - } - result = []; - for (i = 0, iz = expr.expressions.length; i < iz; ++i) { - result.push(this.generateExpression(expr.expressions[i], Precedence.Assignment, flags)); - if (i + 1 < iz) { - result.push(',' + space); - } - } - return parenthesize(result, Precedence.Sequence, precedence); - }, - - AssignmentExpression: function (expr, precedence, flags) { - return this.generateAssignment(expr.left, expr.right, expr.operator, precedence, flags); - }, - - ArrowFunctionExpression: function (expr, precedence, flags) { - return parenthesize(this.generateFunctionBody(expr), Precedence.ArrowFunction, precedence); - }, - - ConditionalExpression: function (expr, precedence, flags) { - if (Precedence.Conditional < precedence) { - flags |= F_ALLOW_IN; - } - return parenthesize( - [ - this.generateExpression(expr.test, Precedence.LogicalOR, flags), - space + '?' + space, - this.generateExpression(expr.consequent, Precedence.Assignment, flags), - space + ':' + space, - this.generateExpression(expr.alternate, Precedence.Assignment, flags) - ], - Precedence.Conditional, - precedence - ); - }, - - LogicalExpression: function (expr, precedence, flags) { - return this.BinaryExpression(expr, precedence, flags); - }, - - BinaryExpression: function (expr, precedence, flags) { - var result, currentPrecedence, fragment, leftSource; - currentPrecedence = BinaryPrecedence[expr.operator]; - - if (currentPrecedence < precedence) { - flags |= F_ALLOW_IN; - } - - fragment = this.generateExpression(expr.left, currentPrecedence, flags); - - leftSource = fragment.toString(); - - if (leftSource.charCodeAt(leftSource.length - 1) === 0x2F /* / */ && esutils.code.isIdentifierPartES5(expr.operator.charCodeAt(0))) { - result = [fragment, noEmptySpace(), expr.operator]; - } else { - result = join(fragment, expr.operator); - } - - fragment = this.generateExpression(expr.right, currentPrecedence + 1, flags); - - if (expr.operator === '/' && fragment.toString().charAt(0) === '/' || - expr.operator.slice(-1) === '<' && fragment.toString().slice(0, 3) === '!--') { - // If '/' concats with '/' or `<` concats with `!--`, it is interpreted as comment start - result.push(noEmptySpace()); - result.push(fragment); - } else { - result = join(result, fragment); - } - - if (expr.operator === 'in' && !(flags & F_ALLOW_IN)) { - return ['(', result, ')']; - } - return parenthesize(result, currentPrecedence, precedence); - }, - - CallExpression: function (expr, precedence, flags) { - var result, i, iz; - // F_ALLOW_UNPARATH_NEW becomes false. - result = [this.generateExpression(expr.callee, Precedence.Call, E_TTF)]; - result.push('('); - for (i = 0, iz = expr['arguments'].length; i < iz; ++i) { - result.push(this.generateExpression(expr['arguments'][i], Precedence.Assignment, E_TTT)); - if (i + 1 < iz) { - result.push(',' + space); - } - } - result.push(')'); - - if (!(flags & F_ALLOW_CALL)) { - return ['(', result, ')']; - } - return parenthesize(result, Precedence.Call, precedence); - }, - - NewExpression: function (expr, precedence, flags) { - var result, length, i, iz, itemFlags; - length = expr['arguments'].length; - - // F_ALLOW_CALL becomes false. - // F_ALLOW_UNPARATH_NEW may become false. - itemFlags = (flags & F_ALLOW_UNPARATH_NEW && !parentheses && length === 0) ? E_TFT : E_TFF; - - result = join( - 'new', - this.generateExpression(expr.callee, Precedence.New, itemFlags) - ); - - if (!(flags & F_ALLOW_UNPARATH_NEW) || parentheses || length > 0) { - result.push('('); - for (i = 0, iz = length; i < iz; ++i) { - result.push(this.generateExpression(expr['arguments'][i], Precedence.Assignment, E_TTT)); - if (i + 1 < iz) { - result.push(',' + space); - } - } - result.push(')'); - } - - return parenthesize(result, Precedence.New, precedence); - }, - - MemberExpression: function (expr, precedence, flags) { - var result, fragment; - - // F_ALLOW_UNPARATH_NEW becomes false. - result = [this.generateExpression(expr.object, Precedence.Call, (flags & F_ALLOW_CALL) ? E_TTF : E_TFF)]; - - if (expr.computed) { - result.push('['); - result.push(this.generateExpression(expr.property, Precedence.Sequence, flags & F_ALLOW_CALL ? E_TTT : E_TFT)); - result.push(']'); - } else { - if (expr.object.type === Syntax.Literal && typeof expr.object.value === 'number') { - fragment = toSourceNodeWhenNeeded(result).toString(); - // When the following conditions are all true, - // 1. No floating point - // 2. Don't have exponents - // 3. The last character is a decimal digit - // 4. Not hexadecimal OR octal number literal - // we should add a floating point. - if ( - fragment.indexOf('.') < 0 && - !/[eExX]/.test(fragment) && - esutils.code.isDecimalDigit(fragment.charCodeAt(fragment.length - 1)) && - !(fragment.length >= 2 && fragment.charCodeAt(0) === 48) // '0' - ) { - result.push('.'); - } - } - result.push('.'); - result.push(generateIdentifier(expr.property)); - } - - return parenthesize(result, Precedence.Member, precedence); - }, - - MetaProperty: function (expr, precedence, flags) { - var result; - result = []; - result.push(expr.meta); - result.push('.'); - result.push(expr.property); - return parenthesize(result, Precedence.Member, precedence); - }, - - UnaryExpression: function (expr, precedence, flags) { - var result, fragment, rightCharCode, leftSource, leftCharCode; - fragment = this.generateExpression(expr.argument, Precedence.Unary, E_TTT); - - if (space === '') { - result = join(expr.operator, fragment); - } else { - result = [expr.operator]; - if (expr.operator.length > 2) { - // delete, void, typeof - // get `typeof []`, not `typeof[]` - result = join(result, fragment); - } else { - // Prevent inserting spaces between operator and argument if it is unnecessary - // like, `!cond` - leftSource = toSourceNodeWhenNeeded(result).toString(); - leftCharCode = leftSource.charCodeAt(leftSource.length - 1); - rightCharCode = fragment.toString().charCodeAt(0); - - if (((leftCharCode === 0x2B /* + */ || leftCharCode === 0x2D /* - */) && leftCharCode === rightCharCode) || - (esutils.code.isIdentifierPartES5(leftCharCode) && esutils.code.isIdentifierPartES5(rightCharCode))) { - result.push(noEmptySpace()); - result.push(fragment); - } else { - result.push(fragment); - } - } - } - return parenthesize(result, Precedence.Unary, precedence); - }, - - YieldExpression: function (expr, precedence, flags) { - var result; - if (expr.delegate) { - result = 'yield*'; - } else { - result = 'yield'; - } - if (expr.argument) { - result = join( - result, - this.generateExpression(expr.argument, Precedence.Yield, E_TTT) - ); - } - return parenthesize(result, Precedence.Yield, precedence); - }, - - AwaitExpression: function (expr, precedence, flags) { - var result = join( - expr.all ? 'await*' : 'await', - this.generateExpression(expr.argument, Precedence.Await, E_TTT) - ); - return parenthesize(result, Precedence.Await, precedence); - }, - - UpdateExpression: function (expr, precedence, flags) { - if (expr.prefix) { - return parenthesize( - [ - expr.operator, - this.generateExpression(expr.argument, Precedence.Unary, E_TTT) - ], - Precedence.Unary, - precedence - ); - } - return parenthesize( - [ - this.generateExpression(expr.argument, Precedence.Postfix, E_TTT), - expr.operator - ], - Precedence.Postfix, - precedence - ); - }, - - FunctionExpression: function (expr, precedence, flags) { - var result = [ - generateAsyncPrefix(expr, true), - 'function' - ]; - if (expr.id) { - result.push(generateStarSuffix(expr) || noEmptySpace()); - result.push(generateIdentifier(expr.id)); - } else { - result.push(generateStarSuffix(expr) || space); - } - result.push(this.generateFunctionBody(expr)); - return result; - }, - - ArrayPattern: function (expr, precedence, flags) { - return this.ArrayExpression(expr, precedence, flags, true); - }, - - ArrayExpression: function (expr, precedence, flags, isPattern) { - var result, multiline, that = this; - if (!expr.elements.length) { - return '[]'; - } - multiline = isPattern ? false : expr.elements.length > 1; - result = ['[', multiline ? newline : '']; - withIndent(function (indent) { - var i, iz; - for (i = 0, iz = expr.elements.length; i < iz; ++i) { - if (!expr.elements[i]) { - if (multiline) { - result.push(indent); - } - if (i + 1 === iz) { - result.push(','); - } - } else { - result.push(multiline ? indent : ''); - result.push(that.generateExpression(expr.elements[i], Precedence.Assignment, E_TTT)); - } - if (i + 1 < iz) { - result.push(',' + (multiline ? newline : space)); - } - } - }); - if (multiline && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { - result.push(newline); - } - result.push(multiline ? base : ''); - result.push(']'); - return result; - }, - - RestElement: function(expr, precedence, flags) { - return '...' + this.generatePattern(expr.argument); - }, - - ClassExpression: function (expr, precedence, flags) { - var result, fragment; - result = ['class']; - if (expr.id) { - result = join(result, this.generateExpression(expr.id, Precedence.Sequence, E_TTT)); - } - if (expr.superClass) { - fragment = join('extends', this.generateExpression(expr.superClass, Precedence.Assignment, E_TTT)); - result = join(result, fragment); - } - result.push(space); - result.push(this.generateStatement(expr.body, S_TFFT)); - return result; - }, - - MethodDefinition: function (expr, precedence, flags) { - var result, fragment; - if (expr['static']) { - result = ['static' + space]; - } else { - result = []; - } - if (expr.kind === 'get' || expr.kind === 'set') { - fragment = [ - join(expr.kind, this.generatePropertyKey(expr.key, expr.computed)), - this.generateFunctionBody(expr.value) - ]; - } else { - fragment = [ - generateMethodPrefix(expr), - this.generatePropertyKey(expr.key, expr.computed), - this.generateFunctionBody(expr.value) - ]; - } - return join(result, fragment); - }, - - Property: function (expr, precedence, flags) { - if (expr.kind === 'get' || expr.kind === 'set') { - return [ - expr.kind, noEmptySpace(), - this.generatePropertyKey(expr.key, expr.computed), - this.generateFunctionBody(expr.value) - ]; - } - - if (expr.shorthand) { - return this.generatePropertyKey(expr.key, expr.computed); - } - - if (expr.method) { - return [ - generateMethodPrefix(expr), - this.generatePropertyKey(expr.key, expr.computed), - this.generateFunctionBody(expr.value) - ]; - } - - return [ - this.generatePropertyKey(expr.key, expr.computed), - ':' + space, - this.generateExpression(expr.value, Precedence.Assignment, E_TTT) - ]; - }, - - ObjectExpression: function (expr, precedence, flags) { - var multiline, result, fragment, that = this; - - if (!expr.properties.length) { - return '{}'; - } - multiline = expr.properties.length > 1; - - withIndent(function () { - fragment = that.generateExpression(expr.properties[0], Precedence.Sequence, E_TTT); - }); - - if (!multiline) { - // issues 4 - // Do not transform from - // dejavu.Class.declare({ - // method2: function () {} - // }); - // to - // dejavu.Class.declare({method2: function () { - // }}); - if (!hasLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) { - return [ '{', space, fragment, space, '}' ]; - } - } - - withIndent(function (indent) { - var i, iz; - result = [ '{', newline, indent, fragment ]; - - if (multiline) { - result.push(',' + newline); - for (i = 1, iz = expr.properties.length; i < iz; ++i) { - result.push(indent); - result.push(that.generateExpression(expr.properties[i], Precedence.Sequence, E_TTT)); - if (i + 1 < iz) { - result.push(',' + newline); - } - } - } - }); - - if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { - result.push(newline); - } - result.push(base); - result.push('}'); - return result; - }, - - AssignmentPattern: function(expr, precedence, flags) { - return this.generateAssignment(expr.left, expr.right, expr.operator, precedence, flags); - }, - - ObjectPattern: function (expr, precedence, flags) { - var result, i, iz, multiline, property, that = this; - if (!expr.properties.length) { - return '{}'; - } - - multiline = false; - if (expr.properties.length === 1) { - property = expr.properties[0]; - if (property.value.type !== Syntax.Identifier) { - multiline = true; - } - } else { - for (i = 0, iz = expr.properties.length; i < iz; ++i) { - property = expr.properties[i]; - if (!property.shorthand) { - multiline = true; - break; - } - } - } - result = ['{', multiline ? newline : '' ]; - - withIndent(function (indent) { - var i, iz; - for (i = 0, iz = expr.properties.length; i < iz; ++i) { - result.push(multiline ? indent : ''); - result.push(that.generateExpression(expr.properties[i], Precedence.Sequence, E_TTT)); - if (i + 1 < iz) { - result.push(',' + (multiline ? newline : space)); - } - } - }); - - if (multiline && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { - result.push(newline); - } - result.push(multiline ? base : ''); - result.push('}'); - return result; - }, - - ThisExpression: function (expr, precedence, flags) { - return 'this'; - }, - - Super: function (expr, precedence, flags) { - return 'super'; - }, - - Identifier: function (expr, precedence, flags) { - return generateIdentifier(expr); - }, - - ImportDefaultSpecifier: function (expr, precedence, flags) { - return generateIdentifier(expr.id || expr.local); - }, - - ImportNamespaceSpecifier: function (expr, precedence, flags) { - var result = ['*']; - var id = expr.id || expr.local; - if (id) { - result.push(space + 'as' + noEmptySpace() + generateIdentifier(id)); - } - return result; - }, - - ImportSpecifier: function (expr, precedence, flags) { - var imported = expr.imported; - var result = [ imported.name ]; - var local = expr.local; - if (local && local.name !== imported.name) { - result.push(noEmptySpace() + 'as' + noEmptySpace() + generateIdentifier(local)); - } - return result; - }, - - ExportSpecifier: function (expr, precedence, flags) { - var local = expr.local; - var result = [ local.name ]; - var exported = expr.exported; - if (exported && exported.name !== local.name) { - result.push(noEmptySpace() + 'as' + noEmptySpace() + generateIdentifier(exported)); - } - return result; - }, - - Literal: function (expr, precedence, flags) { - var raw; - if (expr.hasOwnProperty('raw') && parse && extra.raw) { - try { - raw = parse(expr.raw).body[0].expression; - if (raw.type === Syntax.Literal) { - if (raw.value === expr.value) { - return expr.raw; - } - } - } catch (e) { - // not use raw property - } - } - - if (expr.value === null) { - return 'null'; - } - - if (typeof expr.value === 'string') { - return escapeString(expr.value); - } - - if (typeof expr.value === 'number') { - return generateNumber(expr.value); - } - - if (typeof expr.value === 'boolean') { - return expr.value ? 'true' : 'false'; - } - - return generateRegExp(expr.value); - }, - - GeneratorExpression: function (expr, precedence, flags) { - return this.ComprehensionExpression(expr, precedence, flags); - }, - - ComprehensionExpression: function (expr, precedence, flags) { - // GeneratorExpression should be parenthesized with (...), ComprehensionExpression with [...] - // Due to https://bugzilla.mozilla.org/show_bug.cgi?id=883468 position of expr.body can differ in Spidermonkey and ES6 - - var result, i, iz, fragment, that = this; - result = (expr.type === Syntax.GeneratorExpression) ? ['('] : ['[']; - - if (extra.moz.comprehensionExpressionStartsWithAssignment) { - fragment = this.generateExpression(expr.body, Precedence.Assignment, E_TTT); - result.push(fragment); - } - - if (expr.blocks) { - withIndent(function () { - for (i = 0, iz = expr.blocks.length; i < iz; ++i) { - fragment = that.generateExpression(expr.blocks[i], Precedence.Sequence, E_TTT); - if (i > 0 || extra.moz.comprehensionExpressionStartsWithAssignment) { - result = join(result, fragment); - } else { - result.push(fragment); - } - } - }); - } - - if (expr.filter) { - result = join(result, 'if' + space); - fragment = this.generateExpression(expr.filter, Precedence.Sequence, E_TTT); - result = join(result, [ '(', fragment, ')' ]); - } - - if (!extra.moz.comprehensionExpressionStartsWithAssignment) { - fragment = this.generateExpression(expr.body, Precedence.Assignment, E_TTT); - - result = join(result, fragment); - } - - result.push((expr.type === Syntax.GeneratorExpression) ? ')' : ']'); - return result; - }, - - ComprehensionBlock: function (expr, precedence, flags) { - var fragment; - if (expr.left.type === Syntax.VariableDeclaration) { - fragment = [ - expr.left.kind, noEmptySpace(), - this.generateStatement(expr.left.declarations[0], S_FFFF) - ]; - } else { - fragment = this.generateExpression(expr.left, Precedence.Call, E_TTT); - } - - fragment = join(fragment, expr.of ? 'of' : 'in'); - fragment = join(fragment, this.generateExpression(expr.right, Precedence.Sequence, E_TTT)); - - return [ 'for' + space + '(', fragment, ')' ]; - }, - - SpreadElement: function (expr, precedence, flags) { - return [ - '...', - this.generateExpression(expr.argument, Precedence.Assignment, E_TTT) - ]; - }, - - TaggedTemplateExpression: function (expr, precedence, flags) { - var itemFlags = E_TTF; - if (!(flags & F_ALLOW_CALL)) { - itemFlags = E_TFF; - } - var result = [ - this.generateExpression(expr.tag, Precedence.Call, itemFlags), - this.generateExpression(expr.quasi, Precedence.Primary, E_FFT) - ]; - return parenthesize(result, Precedence.TaggedTemplate, precedence); - }, - - TemplateElement: function (expr, precedence, flags) { - // Don't use "cooked". Since tagged template can use raw template - // representation. So if we do so, it breaks the script semantics. - return expr.value.raw; - }, - - TemplateLiteral: function (expr, precedence, flags) { - var result, i, iz; - result = [ '`' ]; - for (i = 0, iz = expr.quasis.length; i < iz; ++i) { - result.push(this.generateExpression(expr.quasis[i], Precedence.Primary, E_TTT)); - if (i + 1 < iz) { - result.push('${' + space); - result.push(this.generateExpression(expr.expressions[i], Precedence.Sequence, E_TTT)); - result.push(space + '}'); - } - } - result.push('`'); - return result; - }, - - ModuleSpecifier: function (expr, precedence, flags) { - return this.Literal(expr, precedence, flags); - } - - }; - - merge(CodeGenerator.prototype, CodeGenerator.Expression); - - CodeGenerator.prototype.generateExpression = function (expr, precedence, flags) { - var result, type; - - type = expr.type || Syntax.Property; - - if (extra.verbatim && expr.hasOwnProperty(extra.verbatim)) { - return generateVerbatim(expr, precedence); - } - - result = this[type](expr, precedence, flags); - - - if (extra.comment) { - result = addComments(expr, result); - } - return toSourceNodeWhenNeeded(result, expr); - }; - - CodeGenerator.prototype.generateStatement = function (stmt, flags) { - var result, - fragment; - - result = this[stmt.type](stmt, flags); - - // Attach comments - - if (extra.comment) { - result = addComments(stmt, result); - } - - fragment = toSourceNodeWhenNeeded(result).toString(); - if (stmt.type === Syntax.Program && !safeConcatenation && newline === '' && fragment.charAt(fragment.length - 1) === '\n') { - result = sourceMap ? toSourceNodeWhenNeeded(result).replaceRight(/\s+$/, '') : fragment.replace(/\s+$/, ''); - } - - return toSourceNodeWhenNeeded(result, stmt); - }; - - function generateInternal(node) { - var codegen; - - codegen = new CodeGenerator(); - if (isStatement(node)) { - return codegen.generateStatement(node, S_TFFF); - } - - if (isExpression(node)) { - return codegen.generateExpression(node, Precedence.Sequence, E_TTT); - } - - throw new Error('Unknown node type: ' + node.type); - } - - function generate(node, options) { - var defaultOptions = getDefaultOptions(), result, pair; - - if (options != null) { - // Obsolete options - // - // `options.indent` - // `options.base` - // - // Instead of them, we can use `option.format.indent`. - if (typeof options.indent === 'string') { - defaultOptions.format.indent.style = options.indent; - } - if (typeof options.base === 'number') { - defaultOptions.format.indent.base = options.base; - } - options = updateDeeply(defaultOptions, options); - indent = options.format.indent.style; - if (typeof options.base === 'string') { - base = options.base; - } else { - base = stringRepeat(indent, options.format.indent.base); - } - } else { - options = defaultOptions; - indent = options.format.indent.style; - base = stringRepeat(indent, options.format.indent.base); - } - json = options.format.json; - renumber = options.format.renumber; - hexadecimal = json ? false : options.format.hexadecimal; - quotes = json ? 'double' : options.format.quotes; - escapeless = options.format.escapeless; - newline = options.format.newline; - space = options.format.space; - if (options.format.compact) { - newline = space = indent = base = ''; - } - parentheses = options.format.parentheses; - semicolons = options.format.semicolons; - safeConcatenation = options.format.safeConcatenation; - directive = options.directive; - parse = json ? null : options.parse; - sourceMap = options.sourceMap; - sourceCode = options.sourceCode; - preserveBlankLines = options.format.preserveBlankLines && sourceCode !== null; - extra = options; - - if (sourceMap) { - if (!exports.browser) { - // We assume environment is node.js - // And prevent from including source-map by browserify - SourceNode = require('source-map').SourceNode; - } else { - SourceNode = global.sourceMap.SourceNode; - } - } - - result = generateInternal(node); - - if (!sourceMap) { - pair = {code: result.toString(), map: null}; - return options.sourceMapWithCode ? pair : pair.code; - } - - - pair = result.toStringWithSourceMap({ - file: options.file, - sourceRoot: options.sourceMapRoot - }); - - if (options.sourceContent) { - pair.map.setSourceContent(options.sourceMap, - options.sourceContent); - } - - if (options.sourceMapWithCode) { - return pair; - } - - return pair.map.toString(); - } - - FORMAT_MINIFY = { - indent: { - style: '', - base: 0 - }, - renumber: true, - hexadecimal: true, - quotes: 'auto', - escapeless: true, - compact: true, - parentheses: false, - semicolons: false - }; - - FORMAT_DEFAULTS = getDefaultOptions().format; - - exports.version = require('./package.json').version; - exports.generate = generate; - exports.attachComments = estraverse.attachComments; - exports.Precedence = updateDeeply({}, Precedence); - exports.browser = false; - exports.FORMAT_MINIFY = FORMAT_MINIFY; - exports.FORMAT_DEFAULTS = FORMAT_DEFAULTS; -}()); -/* vim: set sw=4 ts=4 et tw=80 : */ diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/.bin/esparse b/node_modules/jsdom/node_modules/escodegen/node_modules/.bin/esparse deleted file mode 120000 index 7423b18..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/.bin/esparse +++ /dev/null @@ -1 +0,0 @@ -../esprima/bin/esparse.js \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/.bin/esvalidate b/node_modules/jsdom/node_modules/escodegen/node_modules/.bin/esvalidate deleted file mode 120000 index 16069ef..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/.bin/esvalidate +++ /dev/null @@ -1 +0,0 @@ -../esprima/bin/esvalidate.js \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/ChangeLog b/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/ChangeLog deleted file mode 100644 index 864ab69..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/ChangeLog +++ /dev/null @@ -1,170 +0,0 @@ -2016-02-02: Version 2.7.2 - - * Fix out-of-bound error location in an invalid string literal (issue 1457) - * Fix shorthand object destructuring defaults in variable declarations (issue 1459) - -2015-12-10: Version 2.7.1 - - * Do not allow trailing comma in a variable declaration (issue 1360) - * Fix assignment to `let` in non-strict mode (issue 1376) - * Fix missing delegate property in YieldExpression (issue 1407) - -2015-10-22: Version 2.7.0 - - * Fix the handling of semicolon in a break statement (issue 1044) - * Run the test suite with major web browsers (issue 1259, 1317) - * Allow `let` as an identifier in non-strict mode (issue 1289) - * Attach orphaned comments as `innerComments` (issue 1328) - * Add the support for token delegator (issue 1332) - -2015-09-01: Version 2.6.0 - - * Properly allow or prohibit `let` in a binding identifier/pattern (issue 1048, 1098) - * Add sourceType field for Program node (issue 1159) - * Ensure that strict mode reserved word binding throw an error (issue 1171) - * Run the test suite with Node.js and IE 11 on Windows (issue 1294) - * Allow binding pattern with no initializer in a for statement (issue 1301) - -2015-07-31: Version 2.5.0 - - * Run the test suite in a browser environment (issue 1004) - * Ensure a comma between imported default binding and named imports (issue 1046) - * Distinguish `yield` as a keyword vs an identifier (issue 1186) - * Support ES6 meta property `new.target` (issue 1203) - * Fix the syntax node for yield with expression (issue 1223) - * Fix the check of duplicated proto in property names (issue 1225) - * Fix ES6 Unicode escape in identifier name (issue 1229) - * Support ES6 IdentifierStart and IdentifierPart (issue 1232) - * Treat await as a reserved word when parsing as a module (issue 1234) - * Recognize identifier characters from Unicode SMP (issue 1244) - * Ensure that export and import can be followed by a comma (issue 1250) - * Fix yield operator precedence (issue 1262) - -2015-07-01: Version 2.4.1 - - * Fix some cases of comment attachment (issue 1071, 1175) - * Fix the handling of destructuring in function arguments (issue 1193) - * Fix invalid ranges in assignment expression (issue 1201) - -2015-06-26: Version 2.4.0 - - * Support ES6 for-of iteration (issue 1047) - * Support ES6 spread arguments (issue 1169) - * Minimize npm payload (issue 1191) - -2015-06-16: Version 2.3.0 - - * Support ES6 generator (issue 1033) - * Improve parsing of regular expressions with `u` flag (issue 1179) - -2015-04-17: Version 2.2.0 - - * Support ES6 import and export declarations (issue 1000) - * Fix line terminator before arrow not recognized as error (issue 1009) - * Support ES6 destructuring (issue 1045) - * Support ES6 template literal (issue 1074) - * Fix the handling of invalid/incomplete string escape sequences (issue 1106) - * Fix ES3 static member access restriction (issue 1120) - * Support for `super` in ES6 class (issue 1147) - -2015-03-09: Version 2.1.0 - - * Support ES6 class (issue 1001) - * Support ES6 rest parameter (issue 1011) - * Expand the location of property getter, setter, and methods (issue 1029) - * Enable TryStatement transition to a single handler (issue 1031) - * Support ES6 computed property name (issue 1037) - * Tolerate unclosed block comment (issue 1041) - * Support ES6 lexical declaration (issue 1065) - -2015-02-06: Version 2.0.0 - - * Support ES6 arrow function (issue 517) - * Support ES6 Unicode code point escape (issue 521) - * Improve the speed and accuracy of comment attachment (issue 522) - * Support ES6 default parameter (issue 519) - * Support ES6 regular expression flags (issue 557) - * Fix scanning of implicit octal literals (issue 565) - * Fix the handling of automatic semicolon insertion (issue 574) - * Support ES6 method definition (issue 620) - * Support ES6 octal integer literal (issue 621) - * Support ES6 binary integer literal (issue 622) - * Support ES6 object literal property value shorthand (issue 624) - -2015-03-03: Version 1.2.5 - - * Fix scanning of implicit octal literals (issue 565) - -2015-02-05: Version 1.2.4 - - * Fix parsing of LeftHandSideExpression in ForInStatement (issue 560) - * Fix the handling of automatic semicolon insertion (issue 574) - -2015-01-18: Version 1.2.3 - - * Fix division by this (issue 616) - -2014-05-18: Version 1.2.2 - - * Fix duplicated tokens when collecting comments (issue 537) - -2014-05-04: Version 1.2.1 - - * Ensure that Program node may still have leading comments (issue 536) - -2014-04-29: Version 1.2.0 - - * Fix semicolon handling for expression statement (issue 462, 533) - * Disallow escaped characters in regular expression flags (issue 503) - * Performance improvement for location tracking (issue 520) - * Improve the speed of comment attachment (issue 522) - -2014-03-26: Version 1.1.1 - - * Fix token handling of forward slash after an array literal (issue 512) - -2014-03-23: Version 1.1.0 - - * Optionally attach comments to the owning syntax nodes (issue 197) - * Simplify binary parsing with stack-based shift reduce (issue 352) - * Always include the raw source of literals (issue 376) - * Add optional input source information (issue 386) - * Tokenizer API for pure lexical scanning (issue 398) - * Improve the web site and its online demos (issue 337, 400, 404) - * Performance improvement for location tracking (issue 417, 424) - * Support HTML comment syntax (issue 451) - * Drop support for legacy browsers (issue 474) - -2013-08-27: Version 1.0.4 - - * Minimize the payload for packages (issue 362) - * Fix missing cases on an empty switch statement (issue 436) - * Support escaped ] in regexp literal character classes (issue 442) - * Tolerate invalid left-hand side expression (issue 130) - -2013-05-17: Version 1.0.3 - - * Variable declaration needs at least one declarator (issue 391) - * Fix benchmark's variance unit conversion (issue 397) - * IE < 9: \v should be treated as vertical tab (issue 405) - * Unary expressions should always have prefix: true (issue 418) - * Catch clause should only accept an identifier (issue 423) - * Tolerate setters without parameter (issue 426) - -2012-11-02: Version 1.0.2 - - Improvement: - - * Fix esvalidate JUnit output upon a syntax error (issue 374) - -2012-10-28: Version 1.0.1 - - Improvements: - - * esvalidate understands shebang in a Unix shell script (issue 361) - * esvalidate treats fatal parsing failure as an error (issue 361) - * Reduce Node.js package via .npmignore (issue 362) - -2012-10-22: Version 1.0.0 - - Initial release. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/LICENSE.BSD b/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/LICENSE.BSD deleted file mode 100644 index 17557ec..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/LICENSE.BSD +++ /dev/null @@ -1,21 +0,0 @@ -Copyright (c) jQuery Foundation, Inc. and Contributors, All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/README.md b/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/README.md deleted file mode 100644 index 749454f..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/README.md +++ /dev/null @@ -1,27 +0,0 @@ -[![NPM version](https://img.shields.io/npm/v/esprima.svg)](https://www.npmjs.com/package/esprima) -[![npm download](https://img.shields.io/npm/dm/esprima.svg)](https://www.npmjs.com/package/esprima) -[![Build Status](https://img.shields.io/travis/jquery/esprima/master.svg)](https://travis-ci.org/jquery/esprima) -[![Coverage Status](https://img.shields.io/codecov/c/github/jquery/esprima/master.svg)](https://codecov.io/github/jquery/esprima) - -**Esprima** ([esprima.org](http://esprima.org), BSD license) is a high performance, -standard-compliant [ECMAScript](http://www.ecma-international.org/publications/standards/Ecma-262.htm) -parser written in ECMAScript (also popularly known as -[JavaScript](https://en.wikipedia.org/wiki/JavaScript)). -Esprima is created and maintained by [Ariya Hidayat](https://twitter.com/ariyahidayat), -with the help of [many contributors](https://github.com/jquery/esprima/contributors). - -### Features - -- Full support for ECMAScript 6 ([ECMA-262](http://www.ecma-international.org/publications/standards/Ecma-262.htm)) -- Sensible [syntax tree format](https://github.com/estree/estree/blob/master/spec.md) as standardized by [ESTree project](https://github.com/estree/estree) -- Optional tracking of syntax node location (index-based and line-column) -- [Heavily tested](http://esprima.org/test/ci.html) (~1250 [unit tests](https://github.com/jquery/esprima/tree/master/test/fixtures) with [full code coverage](https://codecov.io/github/jquery/esprima)) - -Esprima serves as a **building block** for some JavaScript -language tools, from [code instrumentation](http://esprima.org/demo/functiontrace.html) -to [editor autocompletion](http://esprima.org/demo/autocomplete.html). - -Esprima runs on many popular web browsers, as well as other ECMAScript platforms such as -[Rhino](http://www.mozilla.org/rhino), [Nashorn](http://openjdk.java.net/projects/nashorn/), and [Node.js](https://npmjs.org/package/esprima). - -For more information, check the web site [esprima.org](http://esprima.org). diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/bin/esparse.js b/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/bin/esparse.js deleted file mode 100755 index 98bdbf4..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/bin/esparse.js +++ /dev/null @@ -1,126 +0,0 @@ -#!/usr/bin/env node -/* - Copyright (c) jQuery Foundation, Inc. and Contributors, All Rights Reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/*jslint sloppy:true node:true rhino:true */ - -var fs, esprima, fname, content, options, syntax; - -if (typeof require === 'function') { - fs = require('fs'); - esprima = require('esprima'); -} else if (typeof load === 'function') { - try { - load('esprima.js'); - } catch (e) { - load('../esprima.js'); - } -} - -// Shims to Node.js objects when running under Rhino. -if (typeof console === 'undefined' && typeof process === 'undefined') { - console = { log: print }; - fs = { readFileSync: readFile }; - process = { argv: arguments, exit: quit }; - process.argv.unshift('esparse.js'); - process.argv.unshift('rhino'); -} - -function showUsage() { - console.log('Usage:'); - console.log(' esparse [options] file.js'); - console.log(); - console.log('Available options:'); - console.log(); - console.log(' --comment Gather all line and block comments in an array'); - console.log(' --loc Include line-column location info for each syntax node'); - console.log(' --range Include index-based range for each syntax node'); - console.log(' --raw Display the raw value of literals'); - console.log(' --tokens List all tokens in an array'); - console.log(' --tolerant Tolerate errors on a best-effort basis (experimental)'); - console.log(' -v, --version Shows program version'); - console.log(); - process.exit(1); -} - -if (process.argv.length <= 2) { - showUsage(); -} - -options = {}; - -process.argv.splice(2).forEach(function (entry) { - - if (entry === '-h' || entry === '--help') { - showUsage(); - } else if (entry === '-v' || entry === '--version') { - console.log('ECMAScript Parser (using Esprima version', esprima.version, ')'); - console.log(); - process.exit(0); - } else if (entry === '--comment') { - options.comment = true; - } else if (entry === '--loc') { - options.loc = true; - } else if (entry === '--range') { - options.range = true; - } else if (entry === '--raw') { - options.raw = true; - } else if (entry === '--tokens') { - options.tokens = true; - } else if (entry === '--tolerant') { - options.tolerant = true; - } else if (entry.slice(0, 2) === '--') { - console.log('Error: unknown option ' + entry + '.'); - process.exit(1); - } else if (typeof fname === 'string') { - console.log('Error: more than one input file.'); - process.exit(1); - } else { - fname = entry; - } -}); - -if (typeof fname !== 'string') { - console.log('Error: no input file.'); - process.exit(1); -} - -// Special handling for regular expression literal since we need to -// convert it to a string literal, otherwise it will be decoded -// as object "{}" and the regular expression would be lost. -function adjustRegexLiteral(key, value) { - if (key === 'value' && value instanceof RegExp) { - value = value.toString(); - } - return value; -} - -try { - content = fs.readFileSync(fname, 'utf-8'); - syntax = esprima.parse(content, options); - console.log(JSON.stringify(syntax, adjustRegexLiteral, 4)); -} catch (e) { - console.log('Error: ' + e.message); - process.exit(1); -} diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/bin/esvalidate.js b/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/bin/esvalidate.js deleted file mode 100755 index f522dec..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/bin/esvalidate.js +++ /dev/null @@ -1,199 +0,0 @@ -#!/usr/bin/env node -/* - Copyright (c) jQuery Foundation, Inc. and Contributors, All Rights Reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/*jslint sloppy:true plusplus:true node:true rhino:true */ -/*global phantom:true */ - -var fs, system, esprima, options, fnames, count; - -if (typeof esprima === 'undefined') { - // PhantomJS can only require() relative files - if (typeof phantom === 'object') { - fs = require('fs'); - system = require('system'); - esprima = require('./esprima'); - } else if (typeof require === 'function') { - fs = require('fs'); - esprima = require('esprima'); - } else if (typeof load === 'function') { - try { - load('esprima.js'); - } catch (e) { - load('../esprima.js'); - } - } -} - -// Shims to Node.js objects when running under PhantomJS 1.7+. -if (typeof phantom === 'object') { - fs.readFileSync = fs.read; - process = { - argv: [].slice.call(system.args), - exit: phantom.exit - }; - process.argv.unshift('phantomjs'); -} - -// Shims to Node.js objects when running under Rhino. -if (typeof console === 'undefined' && typeof process === 'undefined') { - console = { log: print }; - fs = { readFileSync: readFile }; - process = { argv: arguments, exit: quit }; - process.argv.unshift('esvalidate.js'); - process.argv.unshift('rhino'); -} - -function showUsage() { - console.log('Usage:'); - console.log(' esvalidate [options] file.js'); - console.log(); - console.log('Available options:'); - console.log(); - console.log(' --format=type Set the report format, plain (default) or junit'); - console.log(' -v, --version Print program version'); - console.log(); - process.exit(1); -} - -if (process.argv.length <= 2) { - showUsage(); -} - -options = { - format: 'plain' -}; - -fnames = []; - -process.argv.splice(2).forEach(function (entry) { - - if (entry === '-h' || entry === '--help') { - showUsage(); - } else if (entry === '-v' || entry === '--version') { - console.log('ECMAScript Validator (using Esprima version', esprima.version, ')'); - console.log(); - process.exit(0); - } else if (entry.slice(0, 9) === '--format=') { - options.format = entry.slice(9); - if (options.format !== 'plain' && options.format !== 'junit') { - console.log('Error: unknown report format ' + options.format + '.'); - process.exit(1); - } - } else if (entry.slice(0, 2) === '--') { - console.log('Error: unknown option ' + entry + '.'); - process.exit(1); - } else { - fnames.push(entry); - } -}); - -if (fnames.length === 0) { - console.log('Error: no input file.'); - process.exit(1); -} - -if (options.format === 'junit') { - console.log(''); - console.log(''); -} - -count = 0; -fnames.forEach(function (fname) { - var content, timestamp, syntax, name; - try { - content = fs.readFileSync(fname, 'utf-8'); - - if (content[0] === '#' && content[1] === '!') { - content = '//' + content.substr(2, content.length); - } - - timestamp = Date.now(); - syntax = esprima.parse(content, { tolerant: true }); - - if (options.format === 'junit') { - - name = fname; - if (name.lastIndexOf('/') >= 0) { - name = name.slice(name.lastIndexOf('/') + 1); - } - - console.log(''); - - syntax.errors.forEach(function (error) { - var msg = error.message; - msg = msg.replace(/^Line\ [0-9]*\:\ /, ''); - console.log(' '); - console.log(' ' + - error.message + '(' + name + ':' + error.lineNumber + ')' + - ''); - console.log(' '); - }); - - console.log(''); - - } else if (options.format === 'plain') { - - syntax.errors.forEach(function (error) { - var msg = error.message; - msg = msg.replace(/^Line\ [0-9]*\:\ /, ''); - msg = fname + ':' + error.lineNumber + ': ' + msg; - console.log(msg); - ++count; - }); - - } - } catch (e) { - ++count; - if (options.format === 'junit') { - console.log(''); - console.log(' '); - console.log(' ' + - e.message + '(' + fname + ((e.lineNumber) ? ':' + e.lineNumber : '') + - ')'); - console.log(' '); - console.log(''); - } else { - console.log('Error: ' + e.message); - } - } -}); - -if (options.format === 'junit') { - console.log(''); -} - -if (count > 0) { - process.exit(1); -} - -if (count === 0 && typeof phantom === 'object') { - process.exit(0); -} diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/esprima.js b/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/esprima.js deleted file mode 100644 index 654e5fd..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/esprima.js +++ /dev/null @@ -1,5739 +0,0 @@ -/* - Copyright (c) jQuery Foundation, Inc. and Contributors, All Rights Reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -(function (root, factory) { - 'use strict'; - - // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, - // Rhino, and plain browser loading. - - /* istanbul ignore next */ - if (typeof define === 'function' && define.amd) { - define(['exports'], factory); - } else if (typeof exports !== 'undefined') { - factory(exports); - } else { - factory((root.esprima = {})); - } -}(this, function (exports) { - 'use strict'; - - var Token, - TokenName, - FnExprTokens, - Syntax, - PlaceHolders, - Messages, - Regex, - source, - strict, - index, - lineNumber, - lineStart, - hasLineTerminator, - lastIndex, - lastLineNumber, - lastLineStart, - startIndex, - startLineNumber, - startLineStart, - scanning, - length, - lookahead, - state, - extra, - isBindingElement, - isAssignmentTarget, - firstCoverInitializedNameError; - - Token = { - BooleanLiteral: 1, - EOF: 2, - Identifier: 3, - Keyword: 4, - NullLiteral: 5, - NumericLiteral: 6, - Punctuator: 7, - StringLiteral: 8, - RegularExpression: 9, - Template: 10 - }; - - TokenName = {}; - TokenName[Token.BooleanLiteral] = 'Boolean'; - TokenName[Token.EOF] = ''; - TokenName[Token.Identifier] = 'Identifier'; - TokenName[Token.Keyword] = 'Keyword'; - TokenName[Token.NullLiteral] = 'Null'; - TokenName[Token.NumericLiteral] = 'Numeric'; - TokenName[Token.Punctuator] = 'Punctuator'; - TokenName[Token.StringLiteral] = 'String'; - TokenName[Token.RegularExpression] = 'RegularExpression'; - TokenName[Token.Template] = 'Template'; - - // A function following one of those tokens is an expression. - FnExprTokens = ['(', '{', '[', 'in', 'typeof', 'instanceof', 'new', - 'return', 'case', 'delete', 'throw', 'void', - // assignment operators - '=', '+=', '-=', '*=', '/=', '%=', '<<=', '>>=', '>>>=', - '&=', '|=', '^=', ',', - // binary/unary operators - '+', '-', '*', '/', '%', '++', '--', '<<', '>>', '>>>', '&', - '|', '^', '!', '~', '&&', '||', '?', ':', '===', '==', '>=', - '<=', '<', '>', '!=', '!==']; - - Syntax = { - AssignmentExpression: 'AssignmentExpression', - AssignmentPattern: 'AssignmentPattern', - ArrayExpression: 'ArrayExpression', - ArrayPattern: 'ArrayPattern', - ArrowFunctionExpression: 'ArrowFunctionExpression', - BlockStatement: 'BlockStatement', - BinaryExpression: 'BinaryExpression', - BreakStatement: 'BreakStatement', - CallExpression: 'CallExpression', - CatchClause: 'CatchClause', - ClassBody: 'ClassBody', - ClassDeclaration: 'ClassDeclaration', - ClassExpression: 'ClassExpression', - ConditionalExpression: 'ConditionalExpression', - ContinueStatement: 'ContinueStatement', - DoWhileStatement: 'DoWhileStatement', - DebuggerStatement: 'DebuggerStatement', - EmptyStatement: 'EmptyStatement', - ExportAllDeclaration: 'ExportAllDeclaration', - ExportDefaultDeclaration: 'ExportDefaultDeclaration', - ExportNamedDeclaration: 'ExportNamedDeclaration', - ExportSpecifier: 'ExportSpecifier', - ExpressionStatement: 'ExpressionStatement', - ForStatement: 'ForStatement', - ForOfStatement: 'ForOfStatement', - ForInStatement: 'ForInStatement', - FunctionDeclaration: 'FunctionDeclaration', - FunctionExpression: 'FunctionExpression', - Identifier: 'Identifier', - IfStatement: 'IfStatement', - ImportDeclaration: 'ImportDeclaration', - ImportDefaultSpecifier: 'ImportDefaultSpecifier', - ImportNamespaceSpecifier: 'ImportNamespaceSpecifier', - ImportSpecifier: 'ImportSpecifier', - Literal: 'Literal', - LabeledStatement: 'LabeledStatement', - LogicalExpression: 'LogicalExpression', - MemberExpression: 'MemberExpression', - MetaProperty: 'MetaProperty', - MethodDefinition: 'MethodDefinition', - NewExpression: 'NewExpression', - ObjectExpression: 'ObjectExpression', - ObjectPattern: 'ObjectPattern', - Program: 'Program', - Property: 'Property', - RestElement: 'RestElement', - ReturnStatement: 'ReturnStatement', - SequenceExpression: 'SequenceExpression', - SpreadElement: 'SpreadElement', - Super: 'Super', - SwitchCase: 'SwitchCase', - SwitchStatement: 'SwitchStatement', - TaggedTemplateExpression: 'TaggedTemplateExpression', - TemplateElement: 'TemplateElement', - TemplateLiteral: 'TemplateLiteral', - ThisExpression: 'ThisExpression', - ThrowStatement: 'ThrowStatement', - TryStatement: 'TryStatement', - UnaryExpression: 'UnaryExpression', - UpdateExpression: 'UpdateExpression', - VariableDeclaration: 'VariableDeclaration', - VariableDeclarator: 'VariableDeclarator', - WhileStatement: 'WhileStatement', - WithStatement: 'WithStatement', - YieldExpression: 'YieldExpression' - }; - - PlaceHolders = { - ArrowParameterPlaceHolder: 'ArrowParameterPlaceHolder' - }; - - // Error messages should be identical to V8. - Messages = { - UnexpectedToken: 'Unexpected token %0', - UnexpectedNumber: 'Unexpected number', - UnexpectedString: 'Unexpected string', - UnexpectedIdentifier: 'Unexpected identifier', - UnexpectedReserved: 'Unexpected reserved word', - UnexpectedTemplate: 'Unexpected quasi %0', - UnexpectedEOS: 'Unexpected end of input', - NewlineAfterThrow: 'Illegal newline after throw', - InvalidRegExp: 'Invalid regular expression', - UnterminatedRegExp: 'Invalid regular expression: missing /', - InvalidLHSInAssignment: 'Invalid left-hand side in assignment', - InvalidLHSInForIn: 'Invalid left-hand side in for-in', - InvalidLHSInForLoop: 'Invalid left-hand side in for-loop', - MultipleDefaultsInSwitch: 'More than one default clause in switch statement', - NoCatchOrFinally: 'Missing catch or finally after try', - UnknownLabel: 'Undefined label \'%0\'', - Redeclaration: '%0 \'%1\' has already been declared', - IllegalContinue: 'Illegal continue statement', - IllegalBreak: 'Illegal break statement', - IllegalReturn: 'Illegal return statement', - StrictModeWith: 'Strict mode code may not include a with statement', - StrictCatchVariable: 'Catch variable may not be eval or arguments in strict mode', - StrictVarName: 'Variable name may not be eval or arguments in strict mode', - StrictParamName: 'Parameter name eval or arguments is not allowed in strict mode', - StrictParamDupe: 'Strict mode function may not have duplicate parameter names', - StrictFunctionName: 'Function name may not be eval or arguments in strict mode', - StrictOctalLiteral: 'Octal literals are not allowed in strict mode.', - StrictDelete: 'Delete of an unqualified identifier in strict mode.', - StrictLHSAssignment: 'Assignment to eval or arguments is not allowed in strict mode', - StrictLHSPostfix: 'Postfix increment/decrement may not have eval or arguments operand in strict mode', - StrictLHSPrefix: 'Prefix increment/decrement may not have eval or arguments operand in strict mode', - StrictReservedWord: 'Use of future reserved word in strict mode', - TemplateOctalLiteral: 'Octal literals are not allowed in template strings.', - ParameterAfterRestParameter: 'Rest parameter must be last formal parameter', - DefaultRestParameter: 'Unexpected token =', - ObjectPatternAsRestParameter: 'Unexpected token {', - DuplicateProtoProperty: 'Duplicate __proto__ fields are not allowed in object literals', - ConstructorSpecialMethod: 'Class constructor may not be an accessor', - DuplicateConstructor: 'A class may only have one constructor', - StaticPrototype: 'Classes may not have static property named prototype', - MissingFromClause: 'Unexpected token', - NoAsAfterImportNamespace: 'Unexpected token', - InvalidModuleSpecifier: 'Unexpected token', - IllegalImportDeclaration: 'Unexpected token', - IllegalExportDeclaration: 'Unexpected token', - DuplicateBinding: 'Duplicate binding %0' - }; - - // See also tools/generate-unicode-regex.js. - Regex = { - // ECMAScript 6/Unicode v7.0.0 NonAsciiIdentifierStart: - NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B2\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDE00-\uDE11\uDE13-\uDE2B\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDE00-\uDE2F\uDE44\uDE80-\uDEAA]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF98]|\uD809[\uDC00-\uDC6E]|[\uD80C\uD840-\uD868\uD86A-\uD86C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]/, - - // ECMAScript 6/Unicode v7.0.0 NonAsciiIdentifierPart: - NonAsciiIdentifierPart: /[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B2\u08E4-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA69D\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2D\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDD0-\uDDDA\uDE00-\uDE11\uDE13-\uDE37\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF01-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF98]|\uD809[\uDC00-\uDC6E]|[\uD80C\uD840-\uD868\uD86A-\uD86C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/ - }; - - // Ensure the condition is true, otherwise throw an error. - // This is only to have a better contract semantic, i.e. another safety net - // to catch a logic error. The condition shall be fulfilled in normal case. - // Do NOT use this to enforce a certain condition on any user input. - - function assert(condition, message) { - /* istanbul ignore if */ - if (!condition) { - throw new Error('ASSERT: ' + message); - } - } - - function isDecimalDigit(ch) { - return (ch >= 0x30 && ch <= 0x39); // 0..9 - } - - function isHexDigit(ch) { - return '0123456789abcdefABCDEF'.indexOf(ch) >= 0; - } - - function isOctalDigit(ch) { - return '01234567'.indexOf(ch) >= 0; - } - - function octalToDecimal(ch) { - // \0 is not octal escape sequence - var octal = (ch !== '0'), code = '01234567'.indexOf(ch); - - if (index < length && isOctalDigit(source[index])) { - octal = true; - code = code * 8 + '01234567'.indexOf(source[index++]); - - // 3 digits are only allowed when string starts - // with 0, 1, 2, 3 - if ('0123'.indexOf(ch) >= 0 && - index < length && - isOctalDigit(source[index])) { - code = code * 8 + '01234567'.indexOf(source[index++]); - } - } - - return { - code: code, - octal: octal - }; - } - - // ECMA-262 11.2 White Space - - function isWhiteSpace(ch) { - return (ch === 0x20) || (ch === 0x09) || (ch === 0x0B) || (ch === 0x0C) || (ch === 0xA0) || - (ch >= 0x1680 && [0x1680, 0x180E, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x202F, 0x205F, 0x3000, 0xFEFF].indexOf(ch) >= 0); - } - - // ECMA-262 11.3 Line Terminators - - function isLineTerminator(ch) { - return (ch === 0x0A) || (ch === 0x0D) || (ch === 0x2028) || (ch === 0x2029); - } - - // ECMA-262 11.6 Identifier Names and Identifiers - - function fromCodePoint(cp) { - return (cp < 0x10000) ? String.fromCharCode(cp) : - String.fromCharCode(0xD800 + ((cp - 0x10000) >> 10)) + - String.fromCharCode(0xDC00 + ((cp - 0x10000) & 1023)); - } - - function isIdentifierStart(ch) { - return (ch === 0x24) || (ch === 0x5F) || // $ (dollar) and _ (underscore) - (ch >= 0x41 && ch <= 0x5A) || // A..Z - (ch >= 0x61 && ch <= 0x7A) || // a..z - (ch === 0x5C) || // \ (backslash) - ((ch >= 0x80) && Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch))); - } - - function isIdentifierPart(ch) { - return (ch === 0x24) || (ch === 0x5F) || // $ (dollar) and _ (underscore) - (ch >= 0x41 && ch <= 0x5A) || // A..Z - (ch >= 0x61 && ch <= 0x7A) || // a..z - (ch >= 0x30 && ch <= 0x39) || // 0..9 - (ch === 0x5C) || // \ (backslash) - ((ch >= 0x80) && Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch))); - } - - // ECMA-262 11.6.2.2 Future Reserved Words - - function isFutureReservedWord(id) { - switch (id) { - case 'enum': - case 'export': - case 'import': - case 'super': - return true; - default: - return false; - } - } - - function isStrictModeReservedWord(id) { - switch (id) { - case 'implements': - case 'interface': - case 'package': - case 'private': - case 'protected': - case 'public': - case 'static': - case 'yield': - case 'let': - return true; - default: - return false; - } - } - - function isRestrictedWord(id) { - return id === 'eval' || id === 'arguments'; - } - - // ECMA-262 11.6.2.1 Keywords - - function isKeyword(id) { - switch (id.length) { - case 2: - return (id === 'if') || (id === 'in') || (id === 'do'); - case 3: - return (id === 'var') || (id === 'for') || (id === 'new') || - (id === 'try') || (id === 'let'); - case 4: - return (id === 'this') || (id === 'else') || (id === 'case') || - (id === 'void') || (id === 'with') || (id === 'enum'); - case 5: - return (id === 'while') || (id === 'break') || (id === 'catch') || - (id === 'throw') || (id === 'const') || (id === 'yield') || - (id === 'class') || (id === 'super'); - case 6: - return (id === 'return') || (id === 'typeof') || (id === 'delete') || - (id === 'switch') || (id === 'export') || (id === 'import'); - case 7: - return (id === 'default') || (id === 'finally') || (id === 'extends'); - case 8: - return (id === 'function') || (id === 'continue') || (id === 'debugger'); - case 10: - return (id === 'instanceof'); - default: - return false; - } - } - - // ECMA-262 11.4 Comments - - function addComment(type, value, start, end, loc) { - var comment; - - assert(typeof start === 'number', 'Comment must have valid position'); - - state.lastCommentStart = start; - - comment = { - type: type, - value: value - }; - if (extra.range) { - comment.range = [start, end]; - } - if (extra.loc) { - comment.loc = loc; - } - extra.comments.push(comment); - if (extra.attachComment) { - extra.leadingComments.push(comment); - extra.trailingComments.push(comment); - } - if (extra.tokenize) { - comment.type = comment.type + 'Comment'; - if (extra.delegate) { - comment = extra.delegate(comment); - } - extra.tokens.push(comment); - } - } - - function skipSingleLineComment(offset) { - var start, loc, ch, comment; - - start = index - offset; - loc = { - start: { - line: lineNumber, - column: index - lineStart - offset - } - }; - - while (index < length) { - ch = source.charCodeAt(index); - ++index; - if (isLineTerminator(ch)) { - hasLineTerminator = true; - if (extra.comments) { - comment = source.slice(start + offset, index - 1); - loc.end = { - line: lineNumber, - column: index - lineStart - 1 - }; - addComment('Line', comment, start, index - 1, loc); - } - if (ch === 13 && source.charCodeAt(index) === 10) { - ++index; - } - ++lineNumber; - lineStart = index; - return; - } - } - - if (extra.comments) { - comment = source.slice(start + offset, index); - loc.end = { - line: lineNumber, - column: index - lineStart - }; - addComment('Line', comment, start, index, loc); - } - } - - function skipMultiLineComment() { - var start, loc, ch, comment; - - if (extra.comments) { - start = index - 2; - loc = { - start: { - line: lineNumber, - column: index - lineStart - 2 - } - }; - } - - while (index < length) { - ch = source.charCodeAt(index); - if (isLineTerminator(ch)) { - if (ch === 0x0D && source.charCodeAt(index + 1) === 0x0A) { - ++index; - } - hasLineTerminator = true; - ++lineNumber; - ++index; - lineStart = index; - } else if (ch === 0x2A) { - // Block comment ends with '*/'. - if (source.charCodeAt(index + 1) === 0x2F) { - ++index; - ++index; - if (extra.comments) { - comment = source.slice(start + 2, index - 2); - loc.end = { - line: lineNumber, - column: index - lineStart - }; - addComment('Block', comment, start, index, loc); - } - return; - } - ++index; - } else { - ++index; - } - } - - // Ran off the end of the file - the whole thing is a comment - if (extra.comments) { - loc.end = { - line: lineNumber, - column: index - lineStart - }; - comment = source.slice(start + 2, index); - addComment('Block', comment, start, index, loc); - } - tolerateUnexpectedToken(); - } - - function skipComment() { - var ch, start; - hasLineTerminator = false; - - start = (index === 0); - while (index < length) { - ch = source.charCodeAt(index); - - if (isWhiteSpace(ch)) { - ++index; - } else if (isLineTerminator(ch)) { - hasLineTerminator = true; - ++index; - if (ch === 0x0D && source.charCodeAt(index) === 0x0A) { - ++index; - } - ++lineNumber; - lineStart = index; - start = true; - } else if (ch === 0x2F) { // U+002F is '/' - ch = source.charCodeAt(index + 1); - if (ch === 0x2F) { - ++index; - ++index; - skipSingleLineComment(2); - start = true; - } else if (ch === 0x2A) { // U+002A is '*' - ++index; - ++index; - skipMultiLineComment(); - } else { - break; - } - } else if (start && ch === 0x2D) { // U+002D is '-' - // U+003E is '>' - if ((source.charCodeAt(index + 1) === 0x2D) && (source.charCodeAt(index + 2) === 0x3E)) { - // '-->' is a single-line comment - index += 3; - skipSingleLineComment(3); - } else { - break; - } - } else if (ch === 0x3C) { // U+003C is '<' - if (source.slice(index + 1, index + 4) === '!--') { - ++index; // `<` - ++index; // `!` - ++index; // `-` - ++index; // `-` - skipSingleLineComment(4); - } else { - break; - } - } else { - break; - } - } - } - - function scanHexEscape(prefix) { - var i, len, ch, code = 0; - - len = (prefix === 'u') ? 4 : 2; - for (i = 0; i < len; ++i) { - if (index < length && isHexDigit(source[index])) { - ch = source[index++]; - code = code * 16 + '0123456789abcdef'.indexOf(ch.toLowerCase()); - } else { - return ''; - } - } - return String.fromCharCode(code); - } - - function scanUnicodeCodePointEscape() { - var ch, code; - - ch = source[index]; - code = 0; - - // At least, one hex digit is required. - if (ch === '}') { - throwUnexpectedToken(); - } - - while (index < length) { - ch = source[index++]; - if (!isHexDigit(ch)) { - break; - } - code = code * 16 + '0123456789abcdef'.indexOf(ch.toLowerCase()); - } - - if (code > 0x10FFFF || ch !== '}') { - throwUnexpectedToken(); - } - - return fromCodePoint(code); - } - - function codePointAt(i) { - var cp, first, second; - - cp = source.charCodeAt(i); - if (cp >= 0xD800 && cp <= 0xDBFF) { - second = source.charCodeAt(i + 1); - if (second >= 0xDC00 && second <= 0xDFFF) { - first = cp; - cp = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000; - } - } - - return cp; - } - - function getComplexIdentifier() { - var cp, ch, id; - - cp = codePointAt(index); - id = fromCodePoint(cp); - index += id.length; - - // '\u' (U+005C, U+0075) denotes an escaped character. - if (cp === 0x5C) { - if (source.charCodeAt(index) !== 0x75) { - throwUnexpectedToken(); - } - ++index; - if (source[index] === '{') { - ++index; - ch = scanUnicodeCodePointEscape(); - } else { - ch = scanHexEscape('u'); - cp = ch.charCodeAt(0); - if (!ch || ch === '\\' || !isIdentifierStart(cp)) { - throwUnexpectedToken(); - } - } - id = ch; - } - - while (index < length) { - cp = codePointAt(index); - if (!isIdentifierPart(cp)) { - break; - } - ch = fromCodePoint(cp); - id += ch; - index += ch.length; - - // '\u' (U+005C, U+0075) denotes an escaped character. - if (cp === 0x5C) { - id = id.substr(0, id.length - 1); - if (source.charCodeAt(index) !== 0x75) { - throwUnexpectedToken(); - } - ++index; - if (source[index] === '{') { - ++index; - ch = scanUnicodeCodePointEscape(); - } else { - ch = scanHexEscape('u'); - cp = ch.charCodeAt(0); - if (!ch || ch === '\\' || !isIdentifierPart(cp)) { - throwUnexpectedToken(); - } - } - id += ch; - } - } - - return id; - } - - function getIdentifier() { - var start, ch; - - start = index++; - while (index < length) { - ch = source.charCodeAt(index); - if (ch === 0x5C) { - // Blackslash (U+005C) marks Unicode escape sequence. - index = start; - return getComplexIdentifier(); - } else if (ch >= 0xD800 && ch < 0xDFFF) { - // Need to handle surrogate pairs. - index = start; - return getComplexIdentifier(); - } - if (isIdentifierPart(ch)) { - ++index; - } else { - break; - } - } - - return source.slice(start, index); - } - - function scanIdentifier() { - var start, id, type; - - start = index; - - // Backslash (U+005C) starts an escaped character. - id = (source.charCodeAt(index) === 0x5C) ? getComplexIdentifier() : getIdentifier(); - - // There is no keyword or literal with only one character. - // Thus, it must be an identifier. - if (id.length === 1) { - type = Token.Identifier; - } else if (isKeyword(id)) { - type = Token.Keyword; - } else if (id === 'null') { - type = Token.NullLiteral; - } else if (id === 'true' || id === 'false') { - type = Token.BooleanLiteral; - } else { - type = Token.Identifier; - } - - return { - type: type, - value: id, - lineNumber: lineNumber, - lineStart: lineStart, - start: start, - end: index - }; - } - - - // ECMA-262 11.7 Punctuators - - function scanPunctuator() { - var token, str; - - token = { - type: Token.Punctuator, - value: '', - lineNumber: lineNumber, - lineStart: lineStart, - start: index, - end: index - }; - - // Check for most common single-character punctuators. - str = source[index]; - switch (str) { - - case '(': - if (extra.tokenize) { - extra.openParenToken = extra.tokenValues.length; - } - ++index; - break; - - case '{': - if (extra.tokenize) { - extra.openCurlyToken = extra.tokenValues.length; - } - state.curlyStack.push('{'); - ++index; - break; - - case '.': - ++index; - if (source[index] === '.' && source[index + 1] === '.') { - // Spread operator: ... - index += 2; - str = '...'; - } - break; - - case '}': - ++index; - state.curlyStack.pop(); - break; - case ')': - case ';': - case ',': - case '[': - case ']': - case ':': - case '?': - case '~': - ++index; - break; - - default: - // 4-character punctuator. - str = source.substr(index, 4); - if (str === '>>>=') { - index += 4; - } else { - - // 3-character punctuators. - str = str.substr(0, 3); - if (str === '===' || str === '!==' || str === '>>>' || - str === '<<=' || str === '>>=') { - index += 3; - } else { - - // 2-character punctuators. - str = str.substr(0, 2); - if (str === '&&' || str === '||' || str === '==' || str === '!=' || - str === '+=' || str === '-=' || str === '*=' || str === '/=' || - str === '++' || str === '--' || str === '<<' || str === '>>' || - str === '&=' || str === '|=' || str === '^=' || str === '%=' || - str === '<=' || str === '>=' || str === '=>') { - index += 2; - } else { - - // 1-character punctuators. - str = source[index]; - if ('<>=!+-*%&|^/'.indexOf(str) >= 0) { - ++index; - } - } - } - } - } - - if (index === token.start) { - throwUnexpectedToken(); - } - - token.end = index; - token.value = str; - return token; - } - - // ECMA-262 11.8.3 Numeric Literals - - function scanHexLiteral(start) { - var number = ''; - - while (index < length) { - if (!isHexDigit(source[index])) { - break; - } - number += source[index++]; - } - - if (number.length === 0) { - throwUnexpectedToken(); - } - - if (isIdentifierStart(source.charCodeAt(index))) { - throwUnexpectedToken(); - } - - return { - type: Token.NumericLiteral, - value: parseInt('0x' + number, 16), - lineNumber: lineNumber, - lineStart: lineStart, - start: start, - end: index - }; - } - - function scanBinaryLiteral(start) { - var ch, number; - - number = ''; - - while (index < length) { - ch = source[index]; - if (ch !== '0' && ch !== '1') { - break; - } - number += source[index++]; - } - - if (number.length === 0) { - // only 0b or 0B - throwUnexpectedToken(); - } - - if (index < length) { - ch = source.charCodeAt(index); - /* istanbul ignore else */ - if (isIdentifierStart(ch) || isDecimalDigit(ch)) { - throwUnexpectedToken(); - } - } - - return { - type: Token.NumericLiteral, - value: parseInt(number, 2), - lineNumber: lineNumber, - lineStart: lineStart, - start: start, - end: index - }; - } - - function scanOctalLiteral(prefix, start) { - var number, octal; - - if (isOctalDigit(prefix)) { - octal = true; - number = '0' + source[index++]; - } else { - octal = false; - ++index; - number = ''; - } - - while (index < length) { - if (!isOctalDigit(source[index])) { - break; - } - number += source[index++]; - } - - if (!octal && number.length === 0) { - // only 0o or 0O - throwUnexpectedToken(); - } - - if (isIdentifierStart(source.charCodeAt(index)) || isDecimalDigit(source.charCodeAt(index))) { - throwUnexpectedToken(); - } - - return { - type: Token.NumericLiteral, - value: parseInt(number, 8), - octal: octal, - lineNumber: lineNumber, - lineStart: lineStart, - start: start, - end: index - }; - } - - function isImplicitOctalLiteral() { - var i, ch; - - // Implicit octal, unless there is a non-octal digit. - // (Annex B.1.1 on Numeric Literals) - for (i = index + 1; i < length; ++i) { - ch = source[i]; - if (ch === '8' || ch === '9') { - return false; - } - if (!isOctalDigit(ch)) { - return true; - } - } - - return true; - } - - function scanNumericLiteral() { - var number, start, ch; - - ch = source[index]; - assert(isDecimalDigit(ch.charCodeAt(0)) || (ch === '.'), - 'Numeric literal must start with a decimal digit or a decimal point'); - - start = index; - number = ''; - if (ch !== '.') { - number = source[index++]; - ch = source[index]; - - // Hex number starts with '0x'. - // Octal number starts with '0'. - // Octal number in ES6 starts with '0o'. - // Binary number in ES6 starts with '0b'. - if (number === '0') { - if (ch === 'x' || ch === 'X') { - ++index; - return scanHexLiteral(start); - } - if (ch === 'b' || ch === 'B') { - ++index; - return scanBinaryLiteral(start); - } - if (ch === 'o' || ch === 'O') { - return scanOctalLiteral(ch, start); - } - - if (isOctalDigit(ch)) { - if (isImplicitOctalLiteral()) { - return scanOctalLiteral(ch, start); - } - } - } - - while (isDecimalDigit(source.charCodeAt(index))) { - number += source[index++]; - } - ch = source[index]; - } - - if (ch === '.') { - number += source[index++]; - while (isDecimalDigit(source.charCodeAt(index))) { - number += source[index++]; - } - ch = source[index]; - } - - if (ch === 'e' || ch === 'E') { - number += source[index++]; - - ch = source[index]; - if (ch === '+' || ch === '-') { - number += source[index++]; - } - if (isDecimalDigit(source.charCodeAt(index))) { - while (isDecimalDigit(source.charCodeAt(index))) { - number += source[index++]; - } - } else { - throwUnexpectedToken(); - } - } - - if (isIdentifierStart(source.charCodeAt(index))) { - throwUnexpectedToken(); - } - - return { - type: Token.NumericLiteral, - value: parseFloat(number), - lineNumber: lineNumber, - lineStart: lineStart, - start: start, - end: index - }; - } - - // ECMA-262 11.8.4 String Literals - - function scanStringLiteral() { - var str = '', quote, start, ch, unescaped, octToDec, octal = false; - - quote = source[index]; - assert((quote === '\'' || quote === '"'), - 'String literal must starts with a quote'); - - start = index; - ++index; - - while (index < length) { - ch = source[index++]; - - if (ch === quote) { - quote = ''; - break; - } else if (ch === '\\') { - ch = source[index++]; - if (!ch || !isLineTerminator(ch.charCodeAt(0))) { - switch (ch) { - case 'u': - case 'x': - if (source[index] === '{') { - ++index; - str += scanUnicodeCodePointEscape(); - } else { - unescaped = scanHexEscape(ch); - if (!unescaped) { - throw throwUnexpectedToken(); - } - str += unescaped; - } - break; - case 'n': - str += '\n'; - break; - case 'r': - str += '\r'; - break; - case 't': - str += '\t'; - break; - case 'b': - str += '\b'; - break; - case 'f': - str += '\f'; - break; - case 'v': - str += '\x0B'; - break; - case '8': - case '9': - str += ch; - tolerateUnexpectedToken(); - break; - - default: - if (isOctalDigit(ch)) { - octToDec = octalToDecimal(ch); - - octal = octToDec.octal || octal; - str += String.fromCharCode(octToDec.code); - } else { - str += ch; - } - break; - } - } else { - ++lineNumber; - if (ch === '\r' && source[index] === '\n') { - ++index; - } - lineStart = index; - } - } else if (isLineTerminator(ch.charCodeAt(0))) { - break; - } else { - str += ch; - } - } - - if (quote !== '') { - index = start; - throwUnexpectedToken(); - } - - return { - type: Token.StringLiteral, - value: str, - octal: octal, - lineNumber: startLineNumber, - lineStart: startLineStart, - start: start, - end: index - }; - } - - // ECMA-262 11.8.6 Template Literal Lexical Components - - function scanTemplate() { - var cooked = '', ch, start, rawOffset, terminated, head, tail, restore, unescaped; - - terminated = false; - tail = false; - start = index; - head = (source[index] === '`'); - rawOffset = 2; - - ++index; - - while (index < length) { - ch = source[index++]; - if (ch === '`') { - rawOffset = 1; - tail = true; - terminated = true; - break; - } else if (ch === '$') { - if (source[index] === '{') { - state.curlyStack.push('${'); - ++index; - terminated = true; - break; - } - cooked += ch; - } else if (ch === '\\') { - ch = source[index++]; - if (!isLineTerminator(ch.charCodeAt(0))) { - switch (ch) { - case 'n': - cooked += '\n'; - break; - case 'r': - cooked += '\r'; - break; - case 't': - cooked += '\t'; - break; - case 'u': - case 'x': - if (source[index] === '{') { - ++index; - cooked += scanUnicodeCodePointEscape(); - } else { - restore = index; - unescaped = scanHexEscape(ch); - if (unescaped) { - cooked += unescaped; - } else { - index = restore; - cooked += ch; - } - } - break; - case 'b': - cooked += '\b'; - break; - case 'f': - cooked += '\f'; - break; - case 'v': - cooked += '\v'; - break; - - default: - if (ch === '0') { - if (isDecimalDigit(source.charCodeAt(index))) { - // Illegal: \01 \02 and so on - throwError(Messages.TemplateOctalLiteral); - } - cooked += '\0'; - } else if (isOctalDigit(ch)) { - // Illegal: \1 \2 - throwError(Messages.TemplateOctalLiteral); - } else { - cooked += ch; - } - break; - } - } else { - ++lineNumber; - if (ch === '\r' && source[index] === '\n') { - ++index; - } - lineStart = index; - } - } else if (isLineTerminator(ch.charCodeAt(0))) { - ++lineNumber; - if (ch === '\r' && source[index] === '\n') { - ++index; - } - lineStart = index; - cooked += '\n'; - } else { - cooked += ch; - } - } - - if (!terminated) { - throwUnexpectedToken(); - } - - if (!head) { - state.curlyStack.pop(); - } - - return { - type: Token.Template, - value: { - cooked: cooked, - raw: source.slice(start + 1, index - rawOffset) - }, - head: head, - tail: tail, - lineNumber: lineNumber, - lineStart: lineStart, - start: start, - end: index - }; - } - - // ECMA-262 11.8.5 Regular Expression Literals - - function testRegExp(pattern, flags) { - // The BMP character to use as a replacement for astral symbols when - // translating an ES6 "u"-flagged pattern to an ES5-compatible - // approximation. - // Note: replacing with '\uFFFF' enables false positives in unlikely - // scenarios. For example, `[\u{1044f}-\u{10440}]` is an invalid - // pattern that would not be detected by this substitution. - var astralSubstitute = '\uFFFF', - tmp = pattern; - - if (flags.indexOf('u') >= 0) { - tmp = tmp - // Replace every Unicode escape sequence with the equivalent - // BMP character or a constant ASCII code point in the case of - // astral symbols. (See the above note on `astralSubstitute` - // for more information.) - .replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g, function ($0, $1, $2) { - var codePoint = parseInt($1 || $2, 16); - if (codePoint > 0x10FFFF) { - throwUnexpectedToken(null, Messages.InvalidRegExp); - } - if (codePoint <= 0xFFFF) { - return String.fromCharCode(codePoint); - } - return astralSubstitute; - }) - // Replace each paired surrogate with a single ASCII symbol to - // avoid throwing on regular expressions that are only valid in - // combination with the "u" flag. - .replace( - /[\uD800-\uDBFF][\uDC00-\uDFFF]/g, - astralSubstitute - ); - } - - // First, detect invalid regular expressions. - try { - RegExp(tmp); - } catch (e) { - throwUnexpectedToken(null, Messages.InvalidRegExp); - } - - // Return a regular expression object for this pattern-flag pair, or - // `null` in case the current environment doesn't support the flags it - // uses. - try { - return new RegExp(pattern, flags); - } catch (exception) { - return null; - } - } - - function scanRegExpBody() { - var ch, str, classMarker, terminated, body; - - ch = source[index]; - assert(ch === '/', 'Regular expression literal must start with a slash'); - str = source[index++]; - - classMarker = false; - terminated = false; - while (index < length) { - ch = source[index++]; - str += ch; - if (ch === '\\') { - ch = source[index++]; - // ECMA-262 7.8.5 - if (isLineTerminator(ch.charCodeAt(0))) { - throwUnexpectedToken(null, Messages.UnterminatedRegExp); - } - str += ch; - } else if (isLineTerminator(ch.charCodeAt(0))) { - throwUnexpectedToken(null, Messages.UnterminatedRegExp); - } else if (classMarker) { - if (ch === ']') { - classMarker = false; - } - } else { - if (ch === '/') { - terminated = true; - break; - } else if (ch === '[') { - classMarker = true; - } - } - } - - if (!terminated) { - throwUnexpectedToken(null, Messages.UnterminatedRegExp); - } - - // Exclude leading and trailing slash. - body = str.substr(1, str.length - 2); - return { - value: body, - literal: str - }; - } - - function scanRegExpFlags() { - var ch, str, flags, restore; - - str = ''; - flags = ''; - while (index < length) { - ch = source[index]; - if (!isIdentifierPart(ch.charCodeAt(0))) { - break; - } - - ++index; - if (ch === '\\' && index < length) { - ch = source[index]; - if (ch === 'u') { - ++index; - restore = index; - ch = scanHexEscape('u'); - if (ch) { - flags += ch; - for (str += '\\u'; restore < index; ++restore) { - str += source[restore]; - } - } else { - index = restore; - flags += 'u'; - str += '\\u'; - } - tolerateUnexpectedToken(); - } else { - str += '\\'; - tolerateUnexpectedToken(); - } - } else { - flags += ch; - str += ch; - } - } - - return { - value: flags, - literal: str - }; - } - - function scanRegExp() { - var start, body, flags, value; - scanning = true; - - lookahead = null; - skipComment(); - start = index; - - body = scanRegExpBody(); - flags = scanRegExpFlags(); - value = testRegExp(body.value, flags.value); - scanning = false; - if (extra.tokenize) { - return { - type: Token.RegularExpression, - value: value, - regex: { - pattern: body.value, - flags: flags.value - }, - lineNumber: lineNumber, - lineStart: lineStart, - start: start, - end: index - }; - } - - return { - literal: body.literal + flags.literal, - value: value, - regex: { - pattern: body.value, - flags: flags.value - }, - start: start, - end: index - }; - } - - function collectRegex() { - var pos, loc, regex, token; - - skipComment(); - - pos = index; - loc = { - start: { - line: lineNumber, - column: index - lineStart - } - }; - - regex = scanRegExp(); - - loc.end = { - line: lineNumber, - column: index - lineStart - }; - - /* istanbul ignore next */ - if (!extra.tokenize) { - // Pop the previous token, which is likely '/' or '/=' - if (extra.tokens.length > 0) { - token = extra.tokens[extra.tokens.length - 1]; - if (token.range[0] === pos && token.type === 'Punctuator') { - if (token.value === '/' || token.value === '/=') { - extra.tokens.pop(); - } - } - } - - extra.tokens.push({ - type: 'RegularExpression', - value: regex.literal, - regex: regex.regex, - range: [pos, index], - loc: loc - }); - } - - return regex; - } - - function isIdentifierName(token) { - return token.type === Token.Identifier || - token.type === Token.Keyword || - token.type === Token.BooleanLiteral || - token.type === Token.NullLiteral; - } - - // Using the following algorithm: - // https://github.com/mozilla/sweet.js/wiki/design - - function advanceSlash() { - var regex, previous, check; - - function testKeyword(value) { - return value && (value.length > 1) && (value[0] >= 'a') && (value[0] <= 'z'); - } - - previous = extra.tokenValues[extra.tokens.length - 1]; - regex = (previous !== null); - - switch (previous) { - case 'this': - case ']': - regex = false; - break; - - case ')': - check = extra.tokenValues[extra.openParenToken - 1]; - regex = (check === 'if' || check === 'while' || check === 'for' || check === 'with'); - break; - - case '}': - // Dividing a function by anything makes little sense, - // but we have to check for that. - regex = false; - if (testKeyword(extra.tokenValues[extra.openCurlyToken - 3])) { - // Anonymous function, e.g. function(){} /42 - check = extra.tokenValues[extra.openCurlyToken - 4]; - regex = check ? (FnExprTokens.indexOf(check) < 0) : false; - } else if (testKeyword(extra.tokenValues[extra.openCurlyToken - 4])) { - // Named function, e.g. function f(){} /42/ - check = extra.tokenValues[extra.openCurlyToken - 5]; - regex = check ? (FnExprTokens.indexOf(check) < 0) : true; - } - } - - return regex ? collectRegex() : scanPunctuator(); - } - - function advance() { - var cp, token; - - if (index >= length) { - return { - type: Token.EOF, - lineNumber: lineNumber, - lineStart: lineStart, - start: index, - end: index - }; - } - - cp = source.charCodeAt(index); - - if (isIdentifierStart(cp)) { - token = scanIdentifier(); - if (strict && isStrictModeReservedWord(token.value)) { - token.type = Token.Keyword; - } - return token; - } - - // Very common: ( and ) and ; - if (cp === 0x28 || cp === 0x29 || cp === 0x3B) { - return scanPunctuator(); - } - - // String literal starts with single quote (U+0027) or double quote (U+0022). - if (cp === 0x27 || cp === 0x22) { - return scanStringLiteral(); - } - - // Dot (.) U+002E can also start a floating-point number, hence the need - // to check the next character. - if (cp === 0x2E) { - if (isDecimalDigit(source.charCodeAt(index + 1))) { - return scanNumericLiteral(); - } - return scanPunctuator(); - } - - if (isDecimalDigit(cp)) { - return scanNumericLiteral(); - } - - // Slash (/) U+002F can also start a regex. - if (extra.tokenize && cp === 0x2F) { - return advanceSlash(); - } - - // Template literals start with ` (U+0060) for template head - // or } (U+007D) for template middle or template tail. - if (cp === 0x60 || (cp === 0x7D && state.curlyStack[state.curlyStack.length - 1] === '${')) { - return scanTemplate(); - } - - // Possible identifier start in a surrogate pair. - if (cp >= 0xD800 && cp < 0xDFFF) { - cp = codePointAt(index); - if (isIdentifierStart(cp)) { - return scanIdentifier(); - } - } - - return scanPunctuator(); - } - - function collectToken() { - var loc, token, value, entry; - - loc = { - start: { - line: lineNumber, - column: index - lineStart - } - }; - - token = advance(); - loc.end = { - line: lineNumber, - column: index - lineStart - }; - - if (token.type !== Token.EOF) { - value = source.slice(token.start, token.end); - entry = { - type: TokenName[token.type], - value: value, - range: [token.start, token.end], - loc: loc - }; - if (token.regex) { - entry.regex = { - pattern: token.regex.pattern, - flags: token.regex.flags - }; - } - if (extra.tokenValues) { - extra.tokenValues.push((entry.type === 'Punctuator' || entry.type === 'Keyword') ? entry.value : null); - } - if (extra.tokenize) { - if (!extra.range) { - delete entry.range; - } - if (!extra.loc) { - delete entry.loc; - } - if (extra.delegate) { - entry = extra.delegate(entry); - } - } - extra.tokens.push(entry); - } - - return token; - } - - function lex() { - var token; - scanning = true; - - lastIndex = index; - lastLineNumber = lineNumber; - lastLineStart = lineStart; - - skipComment(); - - token = lookahead; - - startIndex = index; - startLineNumber = lineNumber; - startLineStart = lineStart; - - lookahead = (typeof extra.tokens !== 'undefined') ? collectToken() : advance(); - scanning = false; - return token; - } - - function peek() { - scanning = true; - - skipComment(); - - lastIndex = index; - lastLineNumber = lineNumber; - lastLineStart = lineStart; - - startIndex = index; - startLineNumber = lineNumber; - startLineStart = lineStart; - - lookahead = (typeof extra.tokens !== 'undefined') ? collectToken() : advance(); - scanning = false; - } - - function Position() { - this.line = startLineNumber; - this.column = startIndex - startLineStart; - } - - function SourceLocation() { - this.start = new Position(); - this.end = null; - } - - function WrappingSourceLocation(startToken) { - this.start = { - line: startToken.lineNumber, - column: startToken.start - startToken.lineStart - }; - this.end = null; - } - - function Node() { - if (extra.range) { - this.range = [startIndex, 0]; - } - if (extra.loc) { - this.loc = new SourceLocation(); - } - } - - function WrappingNode(startToken) { - if (extra.range) { - this.range = [startToken.start, 0]; - } - if (extra.loc) { - this.loc = new WrappingSourceLocation(startToken); - } - } - - WrappingNode.prototype = Node.prototype = { - - processComment: function () { - var lastChild, - innerComments, - leadingComments, - trailingComments, - bottomRight = extra.bottomRightStack, - i, - comment, - last = bottomRight[bottomRight.length - 1]; - - if (this.type === Syntax.Program) { - if (this.body.length > 0) { - return; - } - } - /** - * patch innnerComments for properties empty block - * `function a() {/** comments **\/}` - */ - - if (this.type === Syntax.BlockStatement && this.body.length === 0) { - innerComments = []; - for (i = extra.leadingComments.length - 1; i >= 0; --i) { - comment = extra.leadingComments[i]; - if (this.range[1] >= comment.range[1]) { - innerComments.unshift(comment); - extra.leadingComments.splice(i, 1); - extra.trailingComments.splice(i, 1); - } - } - if (innerComments.length) { - this.innerComments = innerComments; - //bottomRight.push(this); - return; - } - } - - if (extra.trailingComments.length > 0) { - trailingComments = []; - for (i = extra.trailingComments.length - 1; i >= 0; --i) { - comment = extra.trailingComments[i]; - if (comment.range[0] >= this.range[1]) { - trailingComments.unshift(comment); - extra.trailingComments.splice(i, 1); - } - } - extra.trailingComments = []; - } else { - if (last && last.trailingComments && last.trailingComments[0].range[0] >= this.range[1]) { - trailingComments = last.trailingComments; - delete last.trailingComments; - } - } - - // Eating the stack. - while (last && last.range[0] >= this.range[0]) { - lastChild = bottomRight.pop(); - last = bottomRight[bottomRight.length - 1]; - } - - if (lastChild) { - if (lastChild.leadingComments) { - leadingComments = []; - for (i = lastChild.leadingComments.length - 1; i >= 0; --i) { - comment = lastChild.leadingComments[i]; - if (comment.range[1] <= this.range[0]) { - leadingComments.unshift(comment); - lastChild.leadingComments.splice(i, 1); - } - } - - if (!lastChild.leadingComments.length) { - lastChild.leadingComments = undefined; - } - } - } else if (extra.leadingComments.length > 0) { - leadingComments = []; - for (i = extra.leadingComments.length - 1; i >= 0; --i) { - comment = extra.leadingComments[i]; - if (comment.range[1] <= this.range[0]) { - leadingComments.unshift(comment); - extra.leadingComments.splice(i, 1); - } - } - } - - - if (leadingComments && leadingComments.length > 0) { - this.leadingComments = leadingComments; - } - if (trailingComments && trailingComments.length > 0) { - this.trailingComments = trailingComments; - } - - bottomRight.push(this); - }, - - finish: function () { - if (extra.range) { - this.range[1] = lastIndex; - } - if (extra.loc) { - this.loc.end = { - line: lastLineNumber, - column: lastIndex - lastLineStart - }; - if (extra.source) { - this.loc.source = extra.source; - } - } - - if (extra.attachComment) { - this.processComment(); - } - }, - - finishArrayExpression: function (elements) { - this.type = Syntax.ArrayExpression; - this.elements = elements; - this.finish(); - return this; - }, - - finishArrayPattern: function (elements) { - this.type = Syntax.ArrayPattern; - this.elements = elements; - this.finish(); - return this; - }, - - finishArrowFunctionExpression: function (params, defaults, body, expression) { - this.type = Syntax.ArrowFunctionExpression; - this.id = null; - this.params = params; - this.defaults = defaults; - this.body = body; - this.generator = false; - this.expression = expression; - this.finish(); - return this; - }, - - finishAssignmentExpression: function (operator, left, right) { - this.type = Syntax.AssignmentExpression; - this.operator = operator; - this.left = left; - this.right = right; - this.finish(); - return this; - }, - - finishAssignmentPattern: function (left, right) { - this.type = Syntax.AssignmentPattern; - this.left = left; - this.right = right; - this.finish(); - return this; - }, - - finishBinaryExpression: function (operator, left, right) { - this.type = (operator === '||' || operator === '&&') ? Syntax.LogicalExpression : Syntax.BinaryExpression; - this.operator = operator; - this.left = left; - this.right = right; - this.finish(); - return this; - }, - - finishBlockStatement: function (body) { - this.type = Syntax.BlockStatement; - this.body = body; - this.finish(); - return this; - }, - - finishBreakStatement: function (label) { - this.type = Syntax.BreakStatement; - this.label = label; - this.finish(); - return this; - }, - - finishCallExpression: function (callee, args) { - this.type = Syntax.CallExpression; - this.callee = callee; - this.arguments = args; - this.finish(); - return this; - }, - - finishCatchClause: function (param, body) { - this.type = Syntax.CatchClause; - this.param = param; - this.body = body; - this.finish(); - return this; - }, - - finishClassBody: function (body) { - this.type = Syntax.ClassBody; - this.body = body; - this.finish(); - return this; - }, - - finishClassDeclaration: function (id, superClass, body) { - this.type = Syntax.ClassDeclaration; - this.id = id; - this.superClass = superClass; - this.body = body; - this.finish(); - return this; - }, - - finishClassExpression: function (id, superClass, body) { - this.type = Syntax.ClassExpression; - this.id = id; - this.superClass = superClass; - this.body = body; - this.finish(); - return this; - }, - - finishConditionalExpression: function (test, consequent, alternate) { - this.type = Syntax.ConditionalExpression; - this.test = test; - this.consequent = consequent; - this.alternate = alternate; - this.finish(); - return this; - }, - - finishContinueStatement: function (label) { - this.type = Syntax.ContinueStatement; - this.label = label; - this.finish(); - return this; - }, - - finishDebuggerStatement: function () { - this.type = Syntax.DebuggerStatement; - this.finish(); - return this; - }, - - finishDoWhileStatement: function (body, test) { - this.type = Syntax.DoWhileStatement; - this.body = body; - this.test = test; - this.finish(); - return this; - }, - - finishEmptyStatement: function () { - this.type = Syntax.EmptyStatement; - this.finish(); - return this; - }, - - finishExpressionStatement: function (expression) { - this.type = Syntax.ExpressionStatement; - this.expression = expression; - this.finish(); - return this; - }, - - finishForStatement: function (init, test, update, body) { - this.type = Syntax.ForStatement; - this.init = init; - this.test = test; - this.update = update; - this.body = body; - this.finish(); - return this; - }, - - finishForOfStatement: function (left, right, body) { - this.type = Syntax.ForOfStatement; - this.left = left; - this.right = right; - this.body = body; - this.finish(); - return this; - }, - - finishForInStatement: function (left, right, body) { - this.type = Syntax.ForInStatement; - this.left = left; - this.right = right; - this.body = body; - this.each = false; - this.finish(); - return this; - }, - - finishFunctionDeclaration: function (id, params, defaults, body, generator) { - this.type = Syntax.FunctionDeclaration; - this.id = id; - this.params = params; - this.defaults = defaults; - this.body = body; - this.generator = generator; - this.expression = false; - this.finish(); - return this; - }, - - finishFunctionExpression: function (id, params, defaults, body, generator) { - this.type = Syntax.FunctionExpression; - this.id = id; - this.params = params; - this.defaults = defaults; - this.body = body; - this.generator = generator; - this.expression = false; - this.finish(); - return this; - }, - - finishIdentifier: function (name) { - this.type = Syntax.Identifier; - this.name = name; - this.finish(); - return this; - }, - - finishIfStatement: function (test, consequent, alternate) { - this.type = Syntax.IfStatement; - this.test = test; - this.consequent = consequent; - this.alternate = alternate; - this.finish(); - return this; - }, - - finishLabeledStatement: function (label, body) { - this.type = Syntax.LabeledStatement; - this.label = label; - this.body = body; - this.finish(); - return this; - }, - - finishLiteral: function (token) { - this.type = Syntax.Literal; - this.value = token.value; - this.raw = source.slice(token.start, token.end); - if (token.regex) { - this.regex = token.regex; - } - this.finish(); - return this; - }, - - finishMemberExpression: function (accessor, object, property) { - this.type = Syntax.MemberExpression; - this.computed = accessor === '['; - this.object = object; - this.property = property; - this.finish(); - return this; - }, - - finishMetaProperty: function (meta, property) { - this.type = Syntax.MetaProperty; - this.meta = meta; - this.property = property; - this.finish(); - return this; - }, - - finishNewExpression: function (callee, args) { - this.type = Syntax.NewExpression; - this.callee = callee; - this.arguments = args; - this.finish(); - return this; - }, - - finishObjectExpression: function (properties) { - this.type = Syntax.ObjectExpression; - this.properties = properties; - this.finish(); - return this; - }, - - finishObjectPattern: function (properties) { - this.type = Syntax.ObjectPattern; - this.properties = properties; - this.finish(); - return this; - }, - - finishPostfixExpression: function (operator, argument) { - this.type = Syntax.UpdateExpression; - this.operator = operator; - this.argument = argument; - this.prefix = false; - this.finish(); - return this; - }, - - finishProgram: function (body, sourceType) { - this.type = Syntax.Program; - this.body = body; - this.sourceType = sourceType; - this.finish(); - return this; - }, - - finishProperty: function (kind, key, computed, value, method, shorthand) { - this.type = Syntax.Property; - this.key = key; - this.computed = computed; - this.value = value; - this.kind = kind; - this.method = method; - this.shorthand = shorthand; - this.finish(); - return this; - }, - - finishRestElement: function (argument) { - this.type = Syntax.RestElement; - this.argument = argument; - this.finish(); - return this; - }, - - finishReturnStatement: function (argument) { - this.type = Syntax.ReturnStatement; - this.argument = argument; - this.finish(); - return this; - }, - - finishSequenceExpression: function (expressions) { - this.type = Syntax.SequenceExpression; - this.expressions = expressions; - this.finish(); - return this; - }, - - finishSpreadElement: function (argument) { - this.type = Syntax.SpreadElement; - this.argument = argument; - this.finish(); - return this; - }, - - finishSwitchCase: function (test, consequent) { - this.type = Syntax.SwitchCase; - this.test = test; - this.consequent = consequent; - this.finish(); - return this; - }, - - finishSuper: function () { - this.type = Syntax.Super; - this.finish(); - return this; - }, - - finishSwitchStatement: function (discriminant, cases) { - this.type = Syntax.SwitchStatement; - this.discriminant = discriminant; - this.cases = cases; - this.finish(); - return this; - }, - - finishTaggedTemplateExpression: function (tag, quasi) { - this.type = Syntax.TaggedTemplateExpression; - this.tag = tag; - this.quasi = quasi; - this.finish(); - return this; - }, - - finishTemplateElement: function (value, tail) { - this.type = Syntax.TemplateElement; - this.value = value; - this.tail = tail; - this.finish(); - return this; - }, - - finishTemplateLiteral: function (quasis, expressions) { - this.type = Syntax.TemplateLiteral; - this.quasis = quasis; - this.expressions = expressions; - this.finish(); - return this; - }, - - finishThisExpression: function () { - this.type = Syntax.ThisExpression; - this.finish(); - return this; - }, - - finishThrowStatement: function (argument) { - this.type = Syntax.ThrowStatement; - this.argument = argument; - this.finish(); - return this; - }, - - finishTryStatement: function (block, handler, finalizer) { - this.type = Syntax.TryStatement; - this.block = block; - this.guardedHandlers = []; - this.handlers = handler ? [handler] : []; - this.handler = handler; - this.finalizer = finalizer; - this.finish(); - return this; - }, - - finishUnaryExpression: function (operator, argument) { - this.type = (operator === '++' || operator === '--') ? Syntax.UpdateExpression : Syntax.UnaryExpression; - this.operator = operator; - this.argument = argument; - this.prefix = true; - this.finish(); - return this; - }, - - finishVariableDeclaration: function (declarations) { - this.type = Syntax.VariableDeclaration; - this.declarations = declarations; - this.kind = 'var'; - this.finish(); - return this; - }, - - finishLexicalDeclaration: function (declarations, kind) { - this.type = Syntax.VariableDeclaration; - this.declarations = declarations; - this.kind = kind; - this.finish(); - return this; - }, - - finishVariableDeclarator: function (id, init) { - this.type = Syntax.VariableDeclarator; - this.id = id; - this.init = init; - this.finish(); - return this; - }, - - finishWhileStatement: function (test, body) { - this.type = Syntax.WhileStatement; - this.test = test; - this.body = body; - this.finish(); - return this; - }, - - finishWithStatement: function (object, body) { - this.type = Syntax.WithStatement; - this.object = object; - this.body = body; - this.finish(); - return this; - }, - - finishExportSpecifier: function (local, exported) { - this.type = Syntax.ExportSpecifier; - this.exported = exported || local; - this.local = local; - this.finish(); - return this; - }, - - finishImportDefaultSpecifier: function (local) { - this.type = Syntax.ImportDefaultSpecifier; - this.local = local; - this.finish(); - return this; - }, - - finishImportNamespaceSpecifier: function (local) { - this.type = Syntax.ImportNamespaceSpecifier; - this.local = local; - this.finish(); - return this; - }, - - finishExportNamedDeclaration: function (declaration, specifiers, src) { - this.type = Syntax.ExportNamedDeclaration; - this.declaration = declaration; - this.specifiers = specifiers; - this.source = src; - this.finish(); - return this; - }, - - finishExportDefaultDeclaration: function (declaration) { - this.type = Syntax.ExportDefaultDeclaration; - this.declaration = declaration; - this.finish(); - return this; - }, - - finishExportAllDeclaration: function (src) { - this.type = Syntax.ExportAllDeclaration; - this.source = src; - this.finish(); - return this; - }, - - finishImportSpecifier: function (local, imported) { - this.type = Syntax.ImportSpecifier; - this.local = local || imported; - this.imported = imported; - this.finish(); - return this; - }, - - finishImportDeclaration: function (specifiers, src) { - this.type = Syntax.ImportDeclaration; - this.specifiers = specifiers; - this.source = src; - this.finish(); - return this; - }, - - finishYieldExpression: function (argument, delegate) { - this.type = Syntax.YieldExpression; - this.argument = argument; - this.delegate = delegate; - this.finish(); - return this; - } - }; - - - function recordError(error) { - var e, existing; - - for (e = 0; e < extra.errors.length; e++) { - existing = extra.errors[e]; - // Prevent duplicated error. - /* istanbul ignore next */ - if (existing.index === error.index && existing.message === error.message) { - return; - } - } - - extra.errors.push(error); - } - - function constructError(msg, column) { - var error = new Error(msg); - try { - throw error; - } catch (base) { - /* istanbul ignore else */ - if (Object.create && Object.defineProperty) { - error = Object.create(base); - Object.defineProperty(error, 'column', { value: column }); - } - } finally { - return error; - } - } - - function createError(line, pos, description) { - var msg, column, error; - - msg = 'Line ' + line + ': ' + description; - column = pos - (scanning ? lineStart : lastLineStart) + 1; - error = constructError(msg, column); - error.lineNumber = line; - error.description = description; - error.index = pos; - return error; - } - - // Throw an exception - - function throwError(messageFormat) { - var args, msg; - - args = Array.prototype.slice.call(arguments, 1); - msg = messageFormat.replace(/%(\d)/g, - function (whole, idx) { - assert(idx < args.length, 'Message reference must be in range'); - return args[idx]; - } - ); - - throw createError(lastLineNumber, lastIndex, msg); - } - - function tolerateError(messageFormat) { - var args, msg, error; - - args = Array.prototype.slice.call(arguments, 1); - /* istanbul ignore next */ - msg = messageFormat.replace(/%(\d)/g, - function (whole, idx) { - assert(idx < args.length, 'Message reference must be in range'); - return args[idx]; - } - ); - - error = createError(lineNumber, lastIndex, msg); - if (extra.errors) { - recordError(error); - } else { - throw error; - } - } - - // Throw an exception because of the token. - - function unexpectedTokenError(token, message) { - var value, msg = message || Messages.UnexpectedToken; - - if (token) { - if (!message) { - msg = (token.type === Token.EOF) ? Messages.UnexpectedEOS : - (token.type === Token.Identifier) ? Messages.UnexpectedIdentifier : - (token.type === Token.NumericLiteral) ? Messages.UnexpectedNumber : - (token.type === Token.StringLiteral) ? Messages.UnexpectedString : - (token.type === Token.Template) ? Messages.UnexpectedTemplate : - Messages.UnexpectedToken; - - if (token.type === Token.Keyword) { - if (isFutureReservedWord(token.value)) { - msg = Messages.UnexpectedReserved; - } else if (strict && isStrictModeReservedWord(token.value)) { - msg = Messages.StrictReservedWord; - } - } - } - - value = (token.type === Token.Template) ? token.value.raw : token.value; - } else { - value = 'ILLEGAL'; - } - - msg = msg.replace('%0', value); - - return (token && typeof token.lineNumber === 'number') ? - createError(token.lineNumber, token.start, msg) : - createError(scanning ? lineNumber : lastLineNumber, scanning ? index : lastIndex, msg); - } - - function throwUnexpectedToken(token, message) { - throw unexpectedTokenError(token, message); - } - - function tolerateUnexpectedToken(token, message) { - var error = unexpectedTokenError(token, message); - if (extra.errors) { - recordError(error); - } else { - throw error; - } - } - - // Expect the next token to match the specified punctuator. - // If not, an exception will be thrown. - - function expect(value) { - var token = lex(); - if (token.type !== Token.Punctuator || token.value !== value) { - throwUnexpectedToken(token); - } - } - - /** - * @name expectCommaSeparator - * @description Quietly expect a comma when in tolerant mode, otherwise delegates - * to expect(value) - * @since 2.0 - */ - function expectCommaSeparator() { - var token; - - if (extra.errors) { - token = lookahead; - if (token.type === Token.Punctuator && token.value === ',') { - lex(); - } else if (token.type === Token.Punctuator && token.value === ';') { - lex(); - tolerateUnexpectedToken(token); - } else { - tolerateUnexpectedToken(token, Messages.UnexpectedToken); - } - } else { - expect(','); - } - } - - // Expect the next token to match the specified keyword. - // If not, an exception will be thrown. - - function expectKeyword(keyword) { - var token = lex(); - if (token.type !== Token.Keyword || token.value !== keyword) { - throwUnexpectedToken(token); - } - } - - // Return true if the next token matches the specified punctuator. - - function match(value) { - return lookahead.type === Token.Punctuator && lookahead.value === value; - } - - // Return true if the next token matches the specified keyword - - function matchKeyword(keyword) { - return lookahead.type === Token.Keyword && lookahead.value === keyword; - } - - // Return true if the next token matches the specified contextual keyword - // (where an identifier is sometimes a keyword depending on the context) - - function matchContextualKeyword(keyword) { - return lookahead.type === Token.Identifier && lookahead.value === keyword; - } - - // Return true if the next token is an assignment operator - - function matchAssign() { - var op; - - if (lookahead.type !== Token.Punctuator) { - return false; - } - op = lookahead.value; - return op === '=' || - op === '*=' || - op === '/=' || - op === '%=' || - op === '+=' || - op === '-=' || - op === '<<=' || - op === '>>=' || - op === '>>>=' || - op === '&=' || - op === '^=' || - op === '|='; - } - - function consumeSemicolon() { - // Catch the very common case first: immediately a semicolon (U+003B). - if (source.charCodeAt(startIndex) === 0x3B || match(';')) { - lex(); - return; - } - - if (hasLineTerminator) { - return; - } - - // FIXME(ikarienator): this is seemingly an issue in the previous location info convention. - lastIndex = startIndex; - lastLineNumber = startLineNumber; - lastLineStart = startLineStart; - - if (lookahead.type !== Token.EOF && !match('}')) { - throwUnexpectedToken(lookahead); - } - } - - // Cover grammar support. - // - // When an assignment expression position starts with an left parenthesis, the determination of the type - // of the syntax is to be deferred arbitrarily long until the end of the parentheses pair (plus a lookahead) - // or the first comma. This situation also defers the determination of all the expressions nested in the pair. - // - // There are three productions that can be parsed in a parentheses pair that needs to be determined - // after the outermost pair is closed. They are: - // - // 1. AssignmentExpression - // 2. BindingElements - // 3. AssignmentTargets - // - // In order to avoid exponential backtracking, we use two flags to denote if the production can be - // binding element or assignment target. - // - // The three productions have the relationship: - // - // BindingElements ⊆ AssignmentTargets ⊆ AssignmentExpression - // - // with a single exception that CoverInitializedName when used directly in an Expression, generates - // an early error. Therefore, we need the third state, firstCoverInitializedNameError, to track the - // first usage of CoverInitializedName and report it when we reached the end of the parentheses pair. - // - // isolateCoverGrammar function runs the given parser function with a new cover grammar context, and it does not - // effect the current flags. This means the production the parser parses is only used as an expression. Therefore - // the CoverInitializedName check is conducted. - // - // inheritCoverGrammar function runs the given parse function with a new cover grammar context, and it propagates - // the flags outside of the parser. This means the production the parser parses is used as a part of a potential - // pattern. The CoverInitializedName check is deferred. - function isolateCoverGrammar(parser) { - var oldIsBindingElement = isBindingElement, - oldIsAssignmentTarget = isAssignmentTarget, - oldFirstCoverInitializedNameError = firstCoverInitializedNameError, - result; - isBindingElement = true; - isAssignmentTarget = true; - firstCoverInitializedNameError = null; - result = parser(); - if (firstCoverInitializedNameError !== null) { - throwUnexpectedToken(firstCoverInitializedNameError); - } - isBindingElement = oldIsBindingElement; - isAssignmentTarget = oldIsAssignmentTarget; - firstCoverInitializedNameError = oldFirstCoverInitializedNameError; - return result; - } - - function inheritCoverGrammar(parser) { - var oldIsBindingElement = isBindingElement, - oldIsAssignmentTarget = isAssignmentTarget, - oldFirstCoverInitializedNameError = firstCoverInitializedNameError, - result; - isBindingElement = true; - isAssignmentTarget = true; - firstCoverInitializedNameError = null; - result = parser(); - isBindingElement = isBindingElement && oldIsBindingElement; - isAssignmentTarget = isAssignmentTarget && oldIsAssignmentTarget; - firstCoverInitializedNameError = oldFirstCoverInitializedNameError || firstCoverInitializedNameError; - return result; - } - - // ECMA-262 13.3.3 Destructuring Binding Patterns - - function parseArrayPattern(params, kind) { - var node = new Node(), elements = [], rest, restNode; - expect('['); - - while (!match(']')) { - if (match(',')) { - lex(); - elements.push(null); - } else { - if (match('...')) { - restNode = new Node(); - lex(); - params.push(lookahead); - rest = parseVariableIdentifier(kind); - elements.push(restNode.finishRestElement(rest)); - break; - } else { - elements.push(parsePatternWithDefault(params, kind)); - } - if (!match(']')) { - expect(','); - } - } - - } - - expect(']'); - - return node.finishArrayPattern(elements); - } - - function parsePropertyPattern(params, kind) { - var node = new Node(), key, keyToken, computed = match('['), init; - if (lookahead.type === Token.Identifier) { - keyToken = lookahead; - key = parseVariableIdentifier(); - if (match('=')) { - params.push(keyToken); - lex(); - init = parseAssignmentExpression(); - - return node.finishProperty( - 'init', key, false, - new WrappingNode(keyToken).finishAssignmentPattern(key, init), false, true); - } else if (!match(':')) { - params.push(keyToken); - return node.finishProperty('init', key, false, key, false, true); - } - } else { - key = parseObjectPropertyKey(); - } - expect(':'); - init = parsePatternWithDefault(params, kind); - return node.finishProperty('init', key, computed, init, false, false); - } - - function parseObjectPattern(params, kind) { - var node = new Node(), properties = []; - - expect('{'); - - while (!match('}')) { - properties.push(parsePropertyPattern(params, kind)); - if (!match('}')) { - expect(','); - } - } - - lex(); - - return node.finishObjectPattern(properties); - } - - function parsePattern(params, kind) { - if (match('[')) { - return parseArrayPattern(params, kind); - } else if (match('{')) { - return parseObjectPattern(params, kind); - } else if (matchKeyword('let')) { - if (kind === 'const' || kind === 'let') { - tolerateUnexpectedToken(lookahead, Messages.UnexpectedToken); - } - } - - params.push(lookahead); - return parseVariableIdentifier(kind); - } - - function parsePatternWithDefault(params, kind) { - var startToken = lookahead, pattern, previousAllowYield, right; - pattern = parsePattern(params, kind); - if (match('=')) { - lex(); - previousAllowYield = state.allowYield; - state.allowYield = true; - right = isolateCoverGrammar(parseAssignmentExpression); - state.allowYield = previousAllowYield; - pattern = new WrappingNode(startToken).finishAssignmentPattern(pattern, right); - } - return pattern; - } - - // ECMA-262 12.2.5 Array Initializer - - function parseArrayInitializer() { - var elements = [], node = new Node(), restSpread; - - expect('['); - - while (!match(']')) { - if (match(',')) { - lex(); - elements.push(null); - } else if (match('...')) { - restSpread = new Node(); - lex(); - restSpread.finishSpreadElement(inheritCoverGrammar(parseAssignmentExpression)); - - if (!match(']')) { - isAssignmentTarget = isBindingElement = false; - expect(','); - } - elements.push(restSpread); - } else { - elements.push(inheritCoverGrammar(parseAssignmentExpression)); - - if (!match(']')) { - expect(','); - } - } - } - - lex(); - - return node.finishArrayExpression(elements); - } - - // ECMA-262 12.2.6 Object Initializer - - function parsePropertyFunction(node, paramInfo, isGenerator) { - var previousStrict, body; - - isAssignmentTarget = isBindingElement = false; - - previousStrict = strict; - body = isolateCoverGrammar(parseFunctionSourceElements); - - if (strict && paramInfo.firstRestricted) { - tolerateUnexpectedToken(paramInfo.firstRestricted, paramInfo.message); - } - if (strict && paramInfo.stricted) { - tolerateUnexpectedToken(paramInfo.stricted, paramInfo.message); - } - - strict = previousStrict; - return node.finishFunctionExpression(null, paramInfo.params, paramInfo.defaults, body, isGenerator); - } - - function parsePropertyMethodFunction() { - var params, method, node = new Node(), - previousAllowYield = state.allowYield; - - state.allowYield = false; - params = parseParams(); - state.allowYield = previousAllowYield; - - state.allowYield = false; - method = parsePropertyFunction(node, params, false); - state.allowYield = previousAllowYield; - - return method; - } - - function parseObjectPropertyKey() { - var token, node = new Node(), expr; - - token = lex(); - - // Note: This function is called only from parseObjectProperty(), where - // EOF and Punctuator tokens are already filtered out. - - switch (token.type) { - case Token.StringLiteral: - case Token.NumericLiteral: - if (strict && token.octal) { - tolerateUnexpectedToken(token, Messages.StrictOctalLiteral); - } - return node.finishLiteral(token); - case Token.Identifier: - case Token.BooleanLiteral: - case Token.NullLiteral: - case Token.Keyword: - return node.finishIdentifier(token.value); - case Token.Punctuator: - if (token.value === '[') { - expr = isolateCoverGrammar(parseAssignmentExpression); - expect(']'); - return expr; - } - break; - } - throwUnexpectedToken(token); - } - - function lookaheadPropertyName() { - switch (lookahead.type) { - case Token.Identifier: - case Token.StringLiteral: - case Token.BooleanLiteral: - case Token.NullLiteral: - case Token.NumericLiteral: - case Token.Keyword: - return true; - case Token.Punctuator: - return lookahead.value === '['; - } - return false; - } - - // This function is to try to parse a MethodDefinition as defined in 14.3. But in the case of object literals, - // it might be called at a position where there is in fact a short hand identifier pattern or a data property. - // This can only be determined after we consumed up to the left parentheses. - // - // In order to avoid back tracking, it returns `null` if the position is not a MethodDefinition and the caller - // is responsible to visit other options. - function tryParseMethodDefinition(token, key, computed, node) { - var value, options, methodNode, params, - previousAllowYield = state.allowYield; - - if (token.type === Token.Identifier) { - // check for `get` and `set`; - - if (token.value === 'get' && lookaheadPropertyName()) { - computed = match('['); - key = parseObjectPropertyKey(); - methodNode = new Node(); - expect('('); - expect(')'); - - state.allowYield = false; - value = parsePropertyFunction(methodNode, { - params: [], - defaults: [], - stricted: null, - firstRestricted: null, - message: null - }, false); - state.allowYield = previousAllowYield; - - return node.finishProperty('get', key, computed, value, false, false); - } else if (token.value === 'set' && lookaheadPropertyName()) { - computed = match('['); - key = parseObjectPropertyKey(); - methodNode = new Node(); - expect('('); - - options = { - params: [], - defaultCount: 0, - defaults: [], - firstRestricted: null, - paramSet: {} - }; - if (match(')')) { - tolerateUnexpectedToken(lookahead); - } else { - state.allowYield = false; - parseParam(options); - state.allowYield = previousAllowYield; - if (options.defaultCount === 0) { - options.defaults = []; - } - } - expect(')'); - - state.allowYield = false; - value = parsePropertyFunction(methodNode, options, false); - state.allowYield = previousAllowYield; - - return node.finishProperty('set', key, computed, value, false, false); - } - } else if (token.type === Token.Punctuator && token.value === '*' && lookaheadPropertyName()) { - computed = match('['); - key = parseObjectPropertyKey(); - methodNode = new Node(); - - state.allowYield = true; - params = parseParams(); - state.allowYield = previousAllowYield; - - state.allowYield = false; - value = parsePropertyFunction(methodNode, params, true); - state.allowYield = previousAllowYield; - - return node.finishProperty('init', key, computed, value, true, false); - } - - if (key && match('(')) { - value = parsePropertyMethodFunction(); - return node.finishProperty('init', key, computed, value, true, false); - } - - // Not a MethodDefinition. - return null; - } - - function parseObjectProperty(hasProto) { - var token = lookahead, node = new Node(), computed, key, maybeMethod, proto, value; - - computed = match('['); - if (match('*')) { - lex(); - } else { - key = parseObjectPropertyKey(); - } - maybeMethod = tryParseMethodDefinition(token, key, computed, node); - if (maybeMethod) { - return maybeMethod; - } - - if (!key) { - throwUnexpectedToken(lookahead); - } - - // Check for duplicated __proto__ - if (!computed) { - proto = (key.type === Syntax.Identifier && key.name === '__proto__') || - (key.type === Syntax.Literal && key.value === '__proto__'); - if (hasProto.value && proto) { - tolerateError(Messages.DuplicateProtoProperty); - } - hasProto.value |= proto; - } - - if (match(':')) { - lex(); - value = inheritCoverGrammar(parseAssignmentExpression); - return node.finishProperty('init', key, computed, value, false, false); - } - - if (token.type === Token.Identifier) { - if (match('=')) { - firstCoverInitializedNameError = lookahead; - lex(); - value = isolateCoverGrammar(parseAssignmentExpression); - return node.finishProperty('init', key, computed, - new WrappingNode(token).finishAssignmentPattern(key, value), false, true); - } - return node.finishProperty('init', key, computed, key, false, true); - } - - throwUnexpectedToken(lookahead); - } - - function parseObjectInitializer() { - var properties = [], hasProto = {value: false}, node = new Node(); - - expect('{'); - - while (!match('}')) { - properties.push(parseObjectProperty(hasProto)); - - if (!match('}')) { - expectCommaSeparator(); - } - } - - expect('}'); - - return node.finishObjectExpression(properties); - } - - function reinterpretExpressionAsPattern(expr) { - var i; - switch (expr.type) { - case Syntax.Identifier: - case Syntax.MemberExpression: - case Syntax.RestElement: - case Syntax.AssignmentPattern: - break; - case Syntax.SpreadElement: - expr.type = Syntax.RestElement; - reinterpretExpressionAsPattern(expr.argument); - break; - case Syntax.ArrayExpression: - expr.type = Syntax.ArrayPattern; - for (i = 0; i < expr.elements.length; i++) { - if (expr.elements[i] !== null) { - reinterpretExpressionAsPattern(expr.elements[i]); - } - } - break; - case Syntax.ObjectExpression: - expr.type = Syntax.ObjectPattern; - for (i = 0; i < expr.properties.length; i++) { - reinterpretExpressionAsPattern(expr.properties[i].value); - } - break; - case Syntax.AssignmentExpression: - expr.type = Syntax.AssignmentPattern; - reinterpretExpressionAsPattern(expr.left); - break; - default: - // Allow other node type for tolerant parsing. - break; - } - } - - // ECMA-262 12.2.9 Template Literals - - function parseTemplateElement(option) { - var node, token; - - if (lookahead.type !== Token.Template || (option.head && !lookahead.head)) { - throwUnexpectedToken(); - } - - node = new Node(); - token = lex(); - - return node.finishTemplateElement({ raw: token.value.raw, cooked: token.value.cooked }, token.tail); - } - - function parseTemplateLiteral() { - var quasi, quasis, expressions, node = new Node(); - - quasi = parseTemplateElement({ head: true }); - quasis = [quasi]; - expressions = []; - - while (!quasi.tail) { - expressions.push(parseExpression()); - quasi = parseTemplateElement({ head: false }); - quasis.push(quasi); - } - - return node.finishTemplateLiteral(quasis, expressions); - } - - // ECMA-262 12.2.10 The Grouping Operator - - function parseGroupExpression() { - var expr, expressions, startToken, i, params = []; - - expect('('); - - if (match(')')) { - lex(); - if (!match('=>')) { - expect('=>'); - } - return { - type: PlaceHolders.ArrowParameterPlaceHolder, - params: [], - rawParams: [] - }; - } - - startToken = lookahead; - if (match('...')) { - expr = parseRestElement(params); - expect(')'); - if (!match('=>')) { - expect('=>'); - } - return { - type: PlaceHolders.ArrowParameterPlaceHolder, - params: [expr] - }; - } - - isBindingElement = true; - expr = inheritCoverGrammar(parseAssignmentExpression); - - if (match(',')) { - isAssignmentTarget = false; - expressions = [expr]; - - while (startIndex < length) { - if (!match(',')) { - break; - } - lex(); - - if (match('...')) { - if (!isBindingElement) { - throwUnexpectedToken(lookahead); - } - expressions.push(parseRestElement(params)); - expect(')'); - if (!match('=>')) { - expect('=>'); - } - isBindingElement = false; - for (i = 0; i < expressions.length; i++) { - reinterpretExpressionAsPattern(expressions[i]); - } - return { - type: PlaceHolders.ArrowParameterPlaceHolder, - params: expressions - }; - } - - expressions.push(inheritCoverGrammar(parseAssignmentExpression)); - } - - expr = new WrappingNode(startToken).finishSequenceExpression(expressions); - } - - - expect(')'); - - if (match('=>')) { - if (expr.type === Syntax.Identifier && expr.name === 'yield') { - return { - type: PlaceHolders.ArrowParameterPlaceHolder, - params: [expr] - }; - } - - if (!isBindingElement) { - throwUnexpectedToken(lookahead); - } - - if (expr.type === Syntax.SequenceExpression) { - for (i = 0; i < expr.expressions.length; i++) { - reinterpretExpressionAsPattern(expr.expressions[i]); - } - } else { - reinterpretExpressionAsPattern(expr); - } - - expr = { - type: PlaceHolders.ArrowParameterPlaceHolder, - params: expr.type === Syntax.SequenceExpression ? expr.expressions : [expr] - }; - } - isBindingElement = false; - return expr; - } - - - // ECMA-262 12.2 Primary Expressions - - function parsePrimaryExpression() { - var type, token, expr, node; - - if (match('(')) { - isBindingElement = false; - return inheritCoverGrammar(parseGroupExpression); - } - - if (match('[')) { - return inheritCoverGrammar(parseArrayInitializer); - } - - if (match('{')) { - return inheritCoverGrammar(parseObjectInitializer); - } - - type = lookahead.type; - node = new Node(); - - if (type === Token.Identifier) { - if (state.sourceType === 'module' && lookahead.value === 'await') { - tolerateUnexpectedToken(lookahead); - } - expr = node.finishIdentifier(lex().value); - } else if (type === Token.StringLiteral || type === Token.NumericLiteral) { - isAssignmentTarget = isBindingElement = false; - if (strict && lookahead.octal) { - tolerateUnexpectedToken(lookahead, Messages.StrictOctalLiteral); - } - expr = node.finishLiteral(lex()); - } else if (type === Token.Keyword) { - if (!strict && state.allowYield && matchKeyword('yield')) { - return parseNonComputedProperty(); - } - if (!strict && matchKeyword('let')) { - return node.finishIdentifier(lex().value); - } - isAssignmentTarget = isBindingElement = false; - if (matchKeyword('function')) { - return parseFunctionExpression(); - } - if (matchKeyword('this')) { - lex(); - return node.finishThisExpression(); - } - if (matchKeyword('class')) { - return parseClassExpression(); - } - throwUnexpectedToken(lex()); - } else if (type === Token.BooleanLiteral) { - isAssignmentTarget = isBindingElement = false; - token = lex(); - token.value = (token.value === 'true'); - expr = node.finishLiteral(token); - } else if (type === Token.NullLiteral) { - isAssignmentTarget = isBindingElement = false; - token = lex(); - token.value = null; - expr = node.finishLiteral(token); - } else if (match('/') || match('/=')) { - isAssignmentTarget = isBindingElement = false; - index = startIndex; - - if (typeof extra.tokens !== 'undefined') { - token = collectRegex(); - } else { - token = scanRegExp(); - } - lex(); - expr = node.finishLiteral(token); - } else if (type === Token.Template) { - expr = parseTemplateLiteral(); - } else { - throwUnexpectedToken(lex()); - } - - return expr; - } - - // ECMA-262 12.3 Left-Hand-Side Expressions - - function parseArguments() { - var args = [], expr; - - expect('('); - - if (!match(')')) { - while (startIndex < length) { - if (match('...')) { - expr = new Node(); - lex(); - expr.finishSpreadElement(isolateCoverGrammar(parseAssignmentExpression)); - } else { - expr = isolateCoverGrammar(parseAssignmentExpression); - } - args.push(expr); - if (match(')')) { - break; - } - expectCommaSeparator(); - } - } - - expect(')'); - - return args; - } - - function parseNonComputedProperty() { - var token, node = new Node(); - - token = lex(); - - if (!isIdentifierName(token)) { - throwUnexpectedToken(token); - } - - return node.finishIdentifier(token.value); - } - - function parseNonComputedMember() { - expect('.'); - - return parseNonComputedProperty(); - } - - function parseComputedMember() { - var expr; - - expect('['); - - expr = isolateCoverGrammar(parseExpression); - - expect(']'); - - return expr; - } - - // ECMA-262 12.3.3 The new Operator - - function parseNewExpression() { - var callee, args, node = new Node(); - - expectKeyword('new'); - - if (match('.')) { - lex(); - if (lookahead.type === Token.Identifier && lookahead.value === 'target') { - if (state.inFunctionBody) { - lex(); - return node.finishMetaProperty('new', 'target'); - } - } - throwUnexpectedToken(lookahead); - } - - callee = isolateCoverGrammar(parseLeftHandSideExpression); - args = match('(') ? parseArguments() : []; - - isAssignmentTarget = isBindingElement = false; - - return node.finishNewExpression(callee, args); - } - - // ECMA-262 12.3.4 Function Calls - - function parseLeftHandSideExpressionAllowCall() { - var quasi, expr, args, property, startToken, previousAllowIn = state.allowIn; - - startToken = lookahead; - state.allowIn = true; - - if (matchKeyword('super') && state.inFunctionBody) { - expr = new Node(); - lex(); - expr = expr.finishSuper(); - if (!match('(') && !match('.') && !match('[')) { - throwUnexpectedToken(lookahead); - } - } else { - expr = inheritCoverGrammar(matchKeyword('new') ? parseNewExpression : parsePrimaryExpression); - } - - for (;;) { - if (match('.')) { - isBindingElement = false; - isAssignmentTarget = true; - property = parseNonComputedMember(); - expr = new WrappingNode(startToken).finishMemberExpression('.', expr, property); - } else if (match('(')) { - isBindingElement = false; - isAssignmentTarget = false; - args = parseArguments(); - expr = new WrappingNode(startToken).finishCallExpression(expr, args); - } else if (match('[')) { - isBindingElement = false; - isAssignmentTarget = true; - property = parseComputedMember(); - expr = new WrappingNode(startToken).finishMemberExpression('[', expr, property); - } else if (lookahead.type === Token.Template && lookahead.head) { - quasi = parseTemplateLiteral(); - expr = new WrappingNode(startToken).finishTaggedTemplateExpression(expr, quasi); - } else { - break; - } - } - state.allowIn = previousAllowIn; - - return expr; - } - - // ECMA-262 12.3 Left-Hand-Side Expressions - - function parseLeftHandSideExpression() { - var quasi, expr, property, startToken; - assert(state.allowIn, 'callee of new expression always allow in keyword.'); - - startToken = lookahead; - - if (matchKeyword('super') && state.inFunctionBody) { - expr = new Node(); - lex(); - expr = expr.finishSuper(); - if (!match('[') && !match('.')) { - throwUnexpectedToken(lookahead); - } - } else { - expr = inheritCoverGrammar(matchKeyword('new') ? parseNewExpression : parsePrimaryExpression); - } - - for (;;) { - if (match('[')) { - isBindingElement = false; - isAssignmentTarget = true; - property = parseComputedMember(); - expr = new WrappingNode(startToken).finishMemberExpression('[', expr, property); - } else if (match('.')) { - isBindingElement = false; - isAssignmentTarget = true; - property = parseNonComputedMember(); - expr = new WrappingNode(startToken).finishMemberExpression('.', expr, property); - } else if (lookahead.type === Token.Template && lookahead.head) { - quasi = parseTemplateLiteral(); - expr = new WrappingNode(startToken).finishTaggedTemplateExpression(expr, quasi); - } else { - break; - } - } - return expr; - } - - // ECMA-262 12.4 Postfix Expressions - - function parsePostfixExpression() { - var expr, token, startToken = lookahead; - - expr = inheritCoverGrammar(parseLeftHandSideExpressionAllowCall); - - if (!hasLineTerminator && lookahead.type === Token.Punctuator) { - if (match('++') || match('--')) { - // ECMA-262 11.3.1, 11.3.2 - if (strict && expr.type === Syntax.Identifier && isRestrictedWord(expr.name)) { - tolerateError(Messages.StrictLHSPostfix); - } - - if (!isAssignmentTarget) { - tolerateError(Messages.InvalidLHSInAssignment); - } - - isAssignmentTarget = isBindingElement = false; - - token = lex(); - expr = new WrappingNode(startToken).finishPostfixExpression(token.value, expr); - } - } - - return expr; - } - - // ECMA-262 12.5 Unary Operators - - function parseUnaryExpression() { - var token, expr, startToken; - - if (lookahead.type !== Token.Punctuator && lookahead.type !== Token.Keyword) { - expr = parsePostfixExpression(); - } else if (match('++') || match('--')) { - startToken = lookahead; - token = lex(); - expr = inheritCoverGrammar(parseUnaryExpression); - // ECMA-262 11.4.4, 11.4.5 - if (strict && expr.type === Syntax.Identifier && isRestrictedWord(expr.name)) { - tolerateError(Messages.StrictLHSPrefix); - } - - if (!isAssignmentTarget) { - tolerateError(Messages.InvalidLHSInAssignment); - } - expr = new WrappingNode(startToken).finishUnaryExpression(token.value, expr); - isAssignmentTarget = isBindingElement = false; - } else if (match('+') || match('-') || match('~') || match('!')) { - startToken = lookahead; - token = lex(); - expr = inheritCoverGrammar(parseUnaryExpression); - expr = new WrappingNode(startToken).finishUnaryExpression(token.value, expr); - isAssignmentTarget = isBindingElement = false; - } else if (matchKeyword('delete') || matchKeyword('void') || matchKeyword('typeof')) { - startToken = lookahead; - token = lex(); - expr = inheritCoverGrammar(parseUnaryExpression); - expr = new WrappingNode(startToken).finishUnaryExpression(token.value, expr); - if (strict && expr.operator === 'delete' && expr.argument.type === Syntax.Identifier) { - tolerateError(Messages.StrictDelete); - } - isAssignmentTarget = isBindingElement = false; - } else { - expr = parsePostfixExpression(); - } - - return expr; - } - - function binaryPrecedence(token, allowIn) { - var prec = 0; - - if (token.type !== Token.Punctuator && token.type !== Token.Keyword) { - return 0; - } - - switch (token.value) { - case '||': - prec = 1; - break; - - case '&&': - prec = 2; - break; - - case '|': - prec = 3; - break; - - case '^': - prec = 4; - break; - - case '&': - prec = 5; - break; - - case '==': - case '!=': - case '===': - case '!==': - prec = 6; - break; - - case '<': - case '>': - case '<=': - case '>=': - case 'instanceof': - prec = 7; - break; - - case 'in': - prec = allowIn ? 7 : 0; - break; - - case '<<': - case '>>': - case '>>>': - prec = 8; - break; - - case '+': - case '-': - prec = 9; - break; - - case '*': - case '/': - case '%': - prec = 11; - break; - - default: - break; - } - - return prec; - } - - // ECMA-262 12.6 Multiplicative Operators - // ECMA-262 12.7 Additive Operators - // ECMA-262 12.8 Bitwise Shift Operators - // ECMA-262 12.9 Relational Operators - // ECMA-262 12.10 Equality Operators - // ECMA-262 12.11 Binary Bitwise Operators - // ECMA-262 12.12 Binary Logical Operators - - function parseBinaryExpression() { - var marker, markers, expr, token, prec, stack, right, operator, left, i; - - marker = lookahead; - left = inheritCoverGrammar(parseUnaryExpression); - - token = lookahead; - prec = binaryPrecedence(token, state.allowIn); - if (prec === 0) { - return left; - } - isAssignmentTarget = isBindingElement = false; - token.prec = prec; - lex(); - - markers = [marker, lookahead]; - right = isolateCoverGrammar(parseUnaryExpression); - - stack = [left, token, right]; - - while ((prec = binaryPrecedence(lookahead, state.allowIn)) > 0) { - - // Reduce: make a binary expression from the three topmost entries. - while ((stack.length > 2) && (prec <= stack[stack.length - 2].prec)) { - right = stack.pop(); - operator = stack.pop().value; - left = stack.pop(); - markers.pop(); - expr = new WrappingNode(markers[markers.length - 1]).finishBinaryExpression(operator, left, right); - stack.push(expr); - } - - // Shift. - token = lex(); - token.prec = prec; - stack.push(token); - markers.push(lookahead); - expr = isolateCoverGrammar(parseUnaryExpression); - stack.push(expr); - } - - // Final reduce to clean-up the stack. - i = stack.length - 1; - expr = stack[i]; - markers.pop(); - while (i > 1) { - expr = new WrappingNode(markers.pop()).finishBinaryExpression(stack[i - 1].value, stack[i - 2], expr); - i -= 2; - } - - return expr; - } - - - // ECMA-262 12.13 Conditional Operator - - function parseConditionalExpression() { - var expr, previousAllowIn, consequent, alternate, startToken; - - startToken = lookahead; - - expr = inheritCoverGrammar(parseBinaryExpression); - if (match('?')) { - lex(); - previousAllowIn = state.allowIn; - state.allowIn = true; - consequent = isolateCoverGrammar(parseAssignmentExpression); - state.allowIn = previousAllowIn; - expect(':'); - alternate = isolateCoverGrammar(parseAssignmentExpression); - - expr = new WrappingNode(startToken).finishConditionalExpression(expr, consequent, alternate); - isAssignmentTarget = isBindingElement = false; - } - - return expr; - } - - // ECMA-262 14.2 Arrow Function Definitions - - function parseConciseBody() { - if (match('{')) { - return parseFunctionSourceElements(); - } - return isolateCoverGrammar(parseAssignmentExpression); - } - - function checkPatternParam(options, param) { - var i; - switch (param.type) { - case Syntax.Identifier: - validateParam(options, param, param.name); - break; - case Syntax.RestElement: - checkPatternParam(options, param.argument); - break; - case Syntax.AssignmentPattern: - checkPatternParam(options, param.left); - break; - case Syntax.ArrayPattern: - for (i = 0; i < param.elements.length; i++) { - if (param.elements[i] !== null) { - checkPatternParam(options, param.elements[i]); - } - } - break; - case Syntax.YieldExpression: - break; - default: - assert(param.type === Syntax.ObjectPattern, 'Invalid type'); - for (i = 0; i < param.properties.length; i++) { - checkPatternParam(options, param.properties[i].value); - } - break; - } - } - function reinterpretAsCoverFormalsList(expr) { - var i, len, param, params, defaults, defaultCount, options, token; - - defaults = []; - defaultCount = 0; - params = [expr]; - - switch (expr.type) { - case Syntax.Identifier: - break; - case PlaceHolders.ArrowParameterPlaceHolder: - params = expr.params; - break; - default: - return null; - } - - options = { - paramSet: {} - }; - - for (i = 0, len = params.length; i < len; i += 1) { - param = params[i]; - switch (param.type) { - case Syntax.AssignmentPattern: - params[i] = param.left; - if (param.right.type === Syntax.YieldExpression) { - if (param.right.argument) { - throwUnexpectedToken(lookahead); - } - param.right.type = Syntax.Identifier; - param.right.name = 'yield'; - delete param.right.argument; - delete param.right.delegate; - } - defaults.push(param.right); - ++defaultCount; - checkPatternParam(options, param.left); - break; - default: - checkPatternParam(options, param); - params[i] = param; - defaults.push(null); - break; - } - } - - if (strict || !state.allowYield) { - for (i = 0, len = params.length; i < len; i += 1) { - param = params[i]; - if (param.type === Syntax.YieldExpression) { - throwUnexpectedToken(lookahead); - } - } - } - - if (options.message === Messages.StrictParamDupe) { - token = strict ? options.stricted : options.firstRestricted; - throwUnexpectedToken(token, options.message); - } - - if (defaultCount === 0) { - defaults = []; - } - - return { - params: params, - defaults: defaults, - stricted: options.stricted, - firstRestricted: options.firstRestricted, - message: options.message - }; - } - - function parseArrowFunctionExpression(options, node) { - var previousStrict, previousAllowYield, body; - - if (hasLineTerminator) { - tolerateUnexpectedToken(lookahead); - } - expect('=>'); - - previousStrict = strict; - previousAllowYield = state.allowYield; - state.allowYield = true; - - body = parseConciseBody(); - - if (strict && options.firstRestricted) { - throwUnexpectedToken(options.firstRestricted, options.message); - } - if (strict && options.stricted) { - tolerateUnexpectedToken(options.stricted, options.message); - } - - strict = previousStrict; - state.allowYield = previousAllowYield; - - return node.finishArrowFunctionExpression(options.params, options.defaults, body, body.type !== Syntax.BlockStatement); - } - - // ECMA-262 14.4 Yield expression - - function parseYieldExpression() { - var argument, expr, delegate, previousAllowYield; - - argument = null; - expr = new Node(); - delegate = false; - - expectKeyword('yield'); - - if (!hasLineTerminator) { - previousAllowYield = state.allowYield; - state.allowYield = false; - delegate = match('*'); - if (delegate) { - lex(); - argument = parseAssignmentExpression(); - } else { - if (!match(';') && !match('}') && !match(')') && lookahead.type !== Token.EOF) { - argument = parseAssignmentExpression(); - } - } - state.allowYield = previousAllowYield; - } - - return expr.finishYieldExpression(argument, delegate); - } - - // ECMA-262 12.14 Assignment Operators - - function parseAssignmentExpression() { - var token, expr, right, list, startToken; - - startToken = lookahead; - token = lookahead; - - if (!state.allowYield && matchKeyword('yield')) { - return parseYieldExpression(); - } - - expr = parseConditionalExpression(); - - if (expr.type === PlaceHolders.ArrowParameterPlaceHolder || match('=>')) { - isAssignmentTarget = isBindingElement = false; - list = reinterpretAsCoverFormalsList(expr); - - if (list) { - firstCoverInitializedNameError = null; - return parseArrowFunctionExpression(list, new WrappingNode(startToken)); - } - - return expr; - } - - if (matchAssign()) { - if (!isAssignmentTarget) { - tolerateError(Messages.InvalidLHSInAssignment); - } - - // ECMA-262 12.1.1 - if (strict && expr.type === Syntax.Identifier) { - if (isRestrictedWord(expr.name)) { - tolerateUnexpectedToken(token, Messages.StrictLHSAssignment); - } - if (isStrictModeReservedWord(expr.name)) { - tolerateUnexpectedToken(token, Messages.StrictReservedWord); - } - } - - if (!match('=')) { - isAssignmentTarget = isBindingElement = false; - } else { - reinterpretExpressionAsPattern(expr); - } - - token = lex(); - right = isolateCoverGrammar(parseAssignmentExpression); - expr = new WrappingNode(startToken).finishAssignmentExpression(token.value, expr, right); - firstCoverInitializedNameError = null; - } - - return expr; - } - - // ECMA-262 12.15 Comma Operator - - function parseExpression() { - var expr, startToken = lookahead, expressions; - - expr = isolateCoverGrammar(parseAssignmentExpression); - - if (match(',')) { - expressions = [expr]; - - while (startIndex < length) { - if (!match(',')) { - break; - } - lex(); - expressions.push(isolateCoverGrammar(parseAssignmentExpression)); - } - - expr = new WrappingNode(startToken).finishSequenceExpression(expressions); - } - - return expr; - } - - // ECMA-262 13.2 Block - - function parseStatementListItem() { - if (lookahead.type === Token.Keyword) { - switch (lookahead.value) { - case 'export': - if (state.sourceType !== 'module') { - tolerateUnexpectedToken(lookahead, Messages.IllegalExportDeclaration); - } - return parseExportDeclaration(); - case 'import': - if (state.sourceType !== 'module') { - tolerateUnexpectedToken(lookahead, Messages.IllegalImportDeclaration); - } - return parseImportDeclaration(); - case 'const': - return parseLexicalDeclaration({inFor: false}); - case 'function': - return parseFunctionDeclaration(new Node()); - case 'class': - return parseClassDeclaration(); - } - } - - if (matchKeyword('let') && isLexicalDeclaration()) { - return parseLexicalDeclaration({inFor: false}); - } - - return parseStatement(); - } - - function parseStatementList() { - var list = []; - while (startIndex < length) { - if (match('}')) { - break; - } - list.push(parseStatementListItem()); - } - - return list; - } - - function parseBlock() { - var block, node = new Node(); - - expect('{'); - - block = parseStatementList(); - - expect('}'); - - return node.finishBlockStatement(block); - } - - // ECMA-262 13.3.2 Variable Statement - - function parseVariableIdentifier(kind) { - var token, node = new Node(); - - token = lex(); - - if (token.type === Token.Keyword && token.value === 'yield') { - if (strict) { - tolerateUnexpectedToken(token, Messages.StrictReservedWord); - } if (!state.allowYield) { - throwUnexpectedToken(token); - } - } else if (token.type !== Token.Identifier) { - if (strict && token.type === Token.Keyword && isStrictModeReservedWord(token.value)) { - tolerateUnexpectedToken(token, Messages.StrictReservedWord); - } else { - if (strict || token.value !== 'let' || kind !== 'var') { - throwUnexpectedToken(token); - } - } - } else if (state.sourceType === 'module' && token.type === Token.Identifier && token.value === 'await') { - tolerateUnexpectedToken(token); - } - - return node.finishIdentifier(token.value); - } - - function parseVariableDeclaration(options) { - var init = null, id, node = new Node(), params = []; - - id = parsePattern(params, 'var'); - - // ECMA-262 12.2.1 - if (strict && isRestrictedWord(id.name)) { - tolerateError(Messages.StrictVarName); - } - - if (match('=')) { - lex(); - init = isolateCoverGrammar(parseAssignmentExpression); - } else if (id.type !== Syntax.Identifier && !options.inFor) { - expect('='); - } - - return node.finishVariableDeclarator(id, init); - } - - function parseVariableDeclarationList(options) { - var opt, list; - - opt = { inFor: options.inFor }; - list = [parseVariableDeclaration(opt)]; - - while (match(',')) { - lex(); - list.push(parseVariableDeclaration(opt)); - } - - return list; - } - - function parseVariableStatement(node) { - var declarations; - - expectKeyword('var'); - - declarations = parseVariableDeclarationList({ inFor: false }); - - consumeSemicolon(); - - return node.finishVariableDeclaration(declarations); - } - - // ECMA-262 13.3.1 Let and Const Declarations - - function parseLexicalBinding(kind, options) { - var init = null, id, node = new Node(), params = []; - - id = parsePattern(params, kind); - - // ECMA-262 12.2.1 - if (strict && id.type === Syntax.Identifier && isRestrictedWord(id.name)) { - tolerateError(Messages.StrictVarName); - } - - if (kind === 'const') { - if (!matchKeyword('in') && !matchContextualKeyword('of')) { - expect('='); - init = isolateCoverGrammar(parseAssignmentExpression); - } - } else if ((!options.inFor && id.type !== Syntax.Identifier) || match('=')) { - expect('='); - init = isolateCoverGrammar(parseAssignmentExpression); - } - - return node.finishVariableDeclarator(id, init); - } - - function parseBindingList(kind, options) { - var list = [parseLexicalBinding(kind, options)]; - - while (match(',')) { - lex(); - list.push(parseLexicalBinding(kind, options)); - } - - return list; - } - - - function tokenizerState() { - return { - index: index, - lineNumber: lineNumber, - lineStart: lineStart, - hasLineTerminator: hasLineTerminator, - lastIndex: lastIndex, - lastLineNumber: lastLineNumber, - lastLineStart: lastLineStart, - startIndex: startIndex, - startLineNumber: startLineNumber, - startLineStart: startLineStart, - lookahead: lookahead, - tokenCount: extra.tokens ? extra.tokens.length : 0 - }; - } - - function resetTokenizerState(ts) { - index = ts.index; - lineNumber = ts.lineNumber; - lineStart = ts.lineStart; - hasLineTerminator = ts.hasLineTerminator; - lastIndex = ts.lastIndex; - lastLineNumber = ts.lastLineNumber; - lastLineStart = ts.lastLineStart; - startIndex = ts.startIndex; - startLineNumber = ts.startLineNumber; - startLineStart = ts.startLineStart; - lookahead = ts.lookahead; - if (extra.tokens) { - extra.tokens.splice(ts.tokenCount, extra.tokens.length); - } - } - - function isLexicalDeclaration() { - var lexical, ts; - - ts = tokenizerState(); - - lex(); - lexical = (lookahead.type === Token.Identifier) || match('[') || match('{') || - matchKeyword('let') || matchKeyword('yield'); - - resetTokenizerState(ts); - - return lexical; - } - - function parseLexicalDeclaration(options) { - var kind, declarations, node = new Node(); - - kind = lex().value; - assert(kind === 'let' || kind === 'const', 'Lexical declaration must be either let or const'); - - declarations = parseBindingList(kind, options); - - consumeSemicolon(); - - return node.finishLexicalDeclaration(declarations, kind); - } - - function parseRestElement(params) { - var param, node = new Node(); - - lex(); - - if (match('{')) { - throwError(Messages.ObjectPatternAsRestParameter); - } - - params.push(lookahead); - - param = parseVariableIdentifier(); - - if (match('=')) { - throwError(Messages.DefaultRestParameter); - } - - if (!match(')')) { - throwError(Messages.ParameterAfterRestParameter); - } - - return node.finishRestElement(param); - } - - // ECMA-262 13.4 Empty Statement - - function parseEmptyStatement(node) { - expect(';'); - return node.finishEmptyStatement(); - } - - // ECMA-262 12.4 Expression Statement - - function parseExpressionStatement(node) { - var expr = parseExpression(); - consumeSemicolon(); - return node.finishExpressionStatement(expr); - } - - // ECMA-262 13.6 If statement - - function parseIfStatement(node) { - var test, consequent, alternate; - - expectKeyword('if'); - - expect('('); - - test = parseExpression(); - - expect(')'); - - consequent = parseStatement(); - - if (matchKeyword('else')) { - lex(); - alternate = parseStatement(); - } else { - alternate = null; - } - - return node.finishIfStatement(test, consequent, alternate); - } - - // ECMA-262 13.7 Iteration Statements - - function parseDoWhileStatement(node) { - var body, test, oldInIteration; - - expectKeyword('do'); - - oldInIteration = state.inIteration; - state.inIteration = true; - - body = parseStatement(); - - state.inIteration = oldInIteration; - - expectKeyword('while'); - - expect('('); - - test = parseExpression(); - - expect(')'); - - if (match(';')) { - lex(); - } - - return node.finishDoWhileStatement(body, test); - } - - function parseWhileStatement(node) { - var test, body, oldInIteration; - - expectKeyword('while'); - - expect('('); - - test = parseExpression(); - - expect(')'); - - oldInIteration = state.inIteration; - state.inIteration = true; - - body = parseStatement(); - - state.inIteration = oldInIteration; - - return node.finishWhileStatement(test, body); - } - - function parseForStatement(node) { - var init, forIn, initSeq, initStartToken, test, update, left, right, kind, declarations, - body, oldInIteration, previousAllowIn = state.allowIn; - - init = test = update = null; - forIn = true; - - expectKeyword('for'); - - expect('('); - - if (match(';')) { - lex(); - } else { - if (matchKeyword('var')) { - init = new Node(); - lex(); - - state.allowIn = false; - declarations = parseVariableDeclarationList({ inFor: true }); - state.allowIn = previousAllowIn; - - if (declarations.length === 1 && matchKeyword('in')) { - init = init.finishVariableDeclaration(declarations); - lex(); - left = init; - right = parseExpression(); - init = null; - } else if (declarations.length === 1 && declarations[0].init === null && matchContextualKeyword('of')) { - init = init.finishVariableDeclaration(declarations); - lex(); - left = init; - right = parseAssignmentExpression(); - init = null; - forIn = false; - } else { - init = init.finishVariableDeclaration(declarations); - expect(';'); - } - } else if (matchKeyword('const') || matchKeyword('let')) { - init = new Node(); - kind = lex().value; - - if (!strict && lookahead.value === 'in') { - init = init.finishIdentifier(kind); - lex(); - left = init; - right = parseExpression(); - init = null; - } else { - state.allowIn = false; - declarations = parseBindingList(kind, {inFor: true}); - state.allowIn = previousAllowIn; - - if (declarations.length === 1 && declarations[0].init === null && matchKeyword('in')) { - init = init.finishLexicalDeclaration(declarations, kind); - lex(); - left = init; - right = parseExpression(); - init = null; - } else if (declarations.length === 1 && declarations[0].init === null && matchContextualKeyword('of')) { - init = init.finishLexicalDeclaration(declarations, kind); - lex(); - left = init; - right = parseAssignmentExpression(); - init = null; - forIn = false; - } else { - consumeSemicolon(); - init = init.finishLexicalDeclaration(declarations, kind); - } - } - } else { - initStartToken = lookahead; - state.allowIn = false; - init = inheritCoverGrammar(parseAssignmentExpression); - state.allowIn = previousAllowIn; - - if (matchKeyword('in')) { - if (!isAssignmentTarget) { - tolerateError(Messages.InvalidLHSInForIn); - } - - lex(); - reinterpretExpressionAsPattern(init); - left = init; - right = parseExpression(); - init = null; - } else if (matchContextualKeyword('of')) { - if (!isAssignmentTarget) { - tolerateError(Messages.InvalidLHSInForLoop); - } - - lex(); - reinterpretExpressionAsPattern(init); - left = init; - right = parseAssignmentExpression(); - init = null; - forIn = false; - } else { - if (match(',')) { - initSeq = [init]; - while (match(',')) { - lex(); - initSeq.push(isolateCoverGrammar(parseAssignmentExpression)); - } - init = new WrappingNode(initStartToken).finishSequenceExpression(initSeq); - } - expect(';'); - } - } - } - - if (typeof left === 'undefined') { - - if (!match(';')) { - test = parseExpression(); - } - expect(';'); - - if (!match(')')) { - update = parseExpression(); - } - } - - expect(')'); - - oldInIteration = state.inIteration; - state.inIteration = true; - - body = isolateCoverGrammar(parseStatement); - - state.inIteration = oldInIteration; - - return (typeof left === 'undefined') ? - node.finishForStatement(init, test, update, body) : - forIn ? node.finishForInStatement(left, right, body) : - node.finishForOfStatement(left, right, body); - } - - // ECMA-262 13.8 The continue statement - - function parseContinueStatement(node) { - var label = null, key; - - expectKeyword('continue'); - - // Optimize the most common form: 'continue;'. - if (source.charCodeAt(startIndex) === 0x3B) { - lex(); - - if (!state.inIteration) { - throwError(Messages.IllegalContinue); - } - - return node.finishContinueStatement(null); - } - - if (hasLineTerminator) { - if (!state.inIteration) { - throwError(Messages.IllegalContinue); - } - - return node.finishContinueStatement(null); - } - - if (lookahead.type === Token.Identifier) { - label = parseVariableIdentifier(); - - key = '$' + label.name; - if (!Object.prototype.hasOwnProperty.call(state.labelSet, key)) { - throwError(Messages.UnknownLabel, label.name); - } - } - - consumeSemicolon(); - - if (label === null && !state.inIteration) { - throwError(Messages.IllegalContinue); - } - - return node.finishContinueStatement(label); - } - - // ECMA-262 13.9 The break statement - - function parseBreakStatement(node) { - var label = null, key; - - expectKeyword('break'); - - // Catch the very common case first: immediately a semicolon (U+003B). - if (source.charCodeAt(lastIndex) === 0x3B) { - lex(); - - if (!(state.inIteration || state.inSwitch)) { - throwError(Messages.IllegalBreak); - } - - return node.finishBreakStatement(null); - } - - if (hasLineTerminator) { - if (!(state.inIteration || state.inSwitch)) { - throwError(Messages.IllegalBreak); - } - } else if (lookahead.type === Token.Identifier) { - label = parseVariableIdentifier(); - - key = '$' + label.name; - if (!Object.prototype.hasOwnProperty.call(state.labelSet, key)) { - throwError(Messages.UnknownLabel, label.name); - } - } - - consumeSemicolon(); - - if (label === null && !(state.inIteration || state.inSwitch)) { - throwError(Messages.IllegalBreak); - } - - return node.finishBreakStatement(label); - } - - // ECMA-262 13.10 The return statement - - function parseReturnStatement(node) { - var argument = null; - - expectKeyword('return'); - - if (!state.inFunctionBody) { - tolerateError(Messages.IllegalReturn); - } - - // 'return' followed by a space and an identifier is very common. - if (source.charCodeAt(lastIndex) === 0x20) { - if (isIdentifierStart(source.charCodeAt(lastIndex + 1))) { - argument = parseExpression(); - consumeSemicolon(); - return node.finishReturnStatement(argument); - } - } - - if (hasLineTerminator) { - // HACK - return node.finishReturnStatement(null); - } - - if (!match(';')) { - if (!match('}') && lookahead.type !== Token.EOF) { - argument = parseExpression(); - } - } - - consumeSemicolon(); - - return node.finishReturnStatement(argument); - } - - // ECMA-262 13.11 The with statement - - function parseWithStatement(node) { - var object, body; - - if (strict) { - tolerateError(Messages.StrictModeWith); - } - - expectKeyword('with'); - - expect('('); - - object = parseExpression(); - - expect(')'); - - body = parseStatement(); - - return node.finishWithStatement(object, body); - } - - // ECMA-262 13.12 The switch statement - - function parseSwitchCase() { - var test, consequent = [], statement, node = new Node(); - - if (matchKeyword('default')) { - lex(); - test = null; - } else { - expectKeyword('case'); - test = parseExpression(); - } - expect(':'); - - while (startIndex < length) { - if (match('}') || matchKeyword('default') || matchKeyword('case')) { - break; - } - statement = parseStatementListItem(); - consequent.push(statement); - } - - return node.finishSwitchCase(test, consequent); - } - - function parseSwitchStatement(node) { - var discriminant, cases, clause, oldInSwitch, defaultFound; - - expectKeyword('switch'); - - expect('('); - - discriminant = parseExpression(); - - expect(')'); - - expect('{'); - - cases = []; - - if (match('}')) { - lex(); - return node.finishSwitchStatement(discriminant, cases); - } - - oldInSwitch = state.inSwitch; - state.inSwitch = true; - defaultFound = false; - - while (startIndex < length) { - if (match('}')) { - break; - } - clause = parseSwitchCase(); - if (clause.test === null) { - if (defaultFound) { - throwError(Messages.MultipleDefaultsInSwitch); - } - defaultFound = true; - } - cases.push(clause); - } - - state.inSwitch = oldInSwitch; - - expect('}'); - - return node.finishSwitchStatement(discriminant, cases); - } - - // ECMA-262 13.14 The throw statement - - function parseThrowStatement(node) { - var argument; - - expectKeyword('throw'); - - if (hasLineTerminator) { - throwError(Messages.NewlineAfterThrow); - } - - argument = parseExpression(); - - consumeSemicolon(); - - return node.finishThrowStatement(argument); - } - - // ECMA-262 13.15 The try statement - - function parseCatchClause() { - var param, params = [], paramMap = {}, key, i, body, node = new Node(); - - expectKeyword('catch'); - - expect('('); - if (match(')')) { - throwUnexpectedToken(lookahead); - } - - param = parsePattern(params); - for (i = 0; i < params.length; i++) { - key = '$' + params[i].value; - if (Object.prototype.hasOwnProperty.call(paramMap, key)) { - tolerateError(Messages.DuplicateBinding, params[i].value); - } - paramMap[key] = true; - } - - // ECMA-262 12.14.1 - if (strict && isRestrictedWord(param.name)) { - tolerateError(Messages.StrictCatchVariable); - } - - expect(')'); - body = parseBlock(); - return node.finishCatchClause(param, body); - } - - function parseTryStatement(node) { - var block, handler = null, finalizer = null; - - expectKeyword('try'); - - block = parseBlock(); - - if (matchKeyword('catch')) { - handler = parseCatchClause(); - } - - if (matchKeyword('finally')) { - lex(); - finalizer = parseBlock(); - } - - if (!handler && !finalizer) { - throwError(Messages.NoCatchOrFinally); - } - - return node.finishTryStatement(block, handler, finalizer); - } - - // ECMA-262 13.16 The debugger statement - - function parseDebuggerStatement(node) { - expectKeyword('debugger'); - - consumeSemicolon(); - - return node.finishDebuggerStatement(); - } - - // 13 Statements - - function parseStatement() { - var type = lookahead.type, - expr, - labeledBody, - key, - node; - - if (type === Token.EOF) { - throwUnexpectedToken(lookahead); - } - - if (type === Token.Punctuator && lookahead.value === '{') { - return parseBlock(); - } - isAssignmentTarget = isBindingElement = true; - node = new Node(); - - if (type === Token.Punctuator) { - switch (lookahead.value) { - case ';': - return parseEmptyStatement(node); - case '(': - return parseExpressionStatement(node); - default: - break; - } - } else if (type === Token.Keyword) { - switch (lookahead.value) { - case 'break': - return parseBreakStatement(node); - case 'continue': - return parseContinueStatement(node); - case 'debugger': - return parseDebuggerStatement(node); - case 'do': - return parseDoWhileStatement(node); - case 'for': - return parseForStatement(node); - case 'function': - return parseFunctionDeclaration(node); - case 'if': - return parseIfStatement(node); - case 'return': - return parseReturnStatement(node); - case 'switch': - return parseSwitchStatement(node); - case 'throw': - return parseThrowStatement(node); - case 'try': - return parseTryStatement(node); - case 'var': - return parseVariableStatement(node); - case 'while': - return parseWhileStatement(node); - case 'with': - return parseWithStatement(node); - default: - break; - } - } - - expr = parseExpression(); - - // ECMA-262 12.12 Labelled Statements - if ((expr.type === Syntax.Identifier) && match(':')) { - lex(); - - key = '$' + expr.name; - if (Object.prototype.hasOwnProperty.call(state.labelSet, key)) { - throwError(Messages.Redeclaration, 'Label', expr.name); - } - - state.labelSet[key] = true; - labeledBody = parseStatement(); - delete state.labelSet[key]; - return node.finishLabeledStatement(expr, labeledBody); - } - - consumeSemicolon(); - - return node.finishExpressionStatement(expr); - } - - // ECMA-262 14.1 Function Definition - - function parseFunctionSourceElements() { - var statement, body = [], token, directive, firstRestricted, - oldLabelSet, oldInIteration, oldInSwitch, oldInFunctionBody, - node = new Node(); - - expect('{'); - - while (startIndex < length) { - if (lookahead.type !== Token.StringLiteral) { - break; - } - token = lookahead; - - statement = parseStatementListItem(); - body.push(statement); - if (statement.expression.type !== Syntax.Literal) { - // this is not directive - break; - } - directive = source.slice(token.start + 1, token.end - 1); - if (directive === 'use strict') { - strict = true; - if (firstRestricted) { - tolerateUnexpectedToken(firstRestricted, Messages.StrictOctalLiteral); - } - } else { - if (!firstRestricted && token.octal) { - firstRestricted = token; - } - } - } - - oldLabelSet = state.labelSet; - oldInIteration = state.inIteration; - oldInSwitch = state.inSwitch; - oldInFunctionBody = state.inFunctionBody; - - state.labelSet = {}; - state.inIteration = false; - state.inSwitch = false; - state.inFunctionBody = true; - - while (startIndex < length) { - if (match('}')) { - break; - } - body.push(parseStatementListItem()); - } - - expect('}'); - - state.labelSet = oldLabelSet; - state.inIteration = oldInIteration; - state.inSwitch = oldInSwitch; - state.inFunctionBody = oldInFunctionBody; - - return node.finishBlockStatement(body); - } - - function validateParam(options, param, name) { - var key = '$' + name; - if (strict) { - if (isRestrictedWord(name)) { - options.stricted = param; - options.message = Messages.StrictParamName; - } - if (Object.prototype.hasOwnProperty.call(options.paramSet, key)) { - options.stricted = param; - options.message = Messages.StrictParamDupe; - } - } else if (!options.firstRestricted) { - if (isRestrictedWord(name)) { - options.firstRestricted = param; - options.message = Messages.StrictParamName; - } else if (isStrictModeReservedWord(name)) { - options.firstRestricted = param; - options.message = Messages.StrictReservedWord; - } else if (Object.prototype.hasOwnProperty.call(options.paramSet, key)) { - options.stricted = param; - options.message = Messages.StrictParamDupe; - } - } - options.paramSet[key] = true; - } - - function parseParam(options) { - var token, param, params = [], i, def; - - token = lookahead; - if (token.value === '...') { - param = parseRestElement(params); - validateParam(options, param.argument, param.argument.name); - options.params.push(param); - options.defaults.push(null); - return false; - } - - param = parsePatternWithDefault(params); - for (i = 0; i < params.length; i++) { - validateParam(options, params[i], params[i].value); - } - - if (param.type === Syntax.AssignmentPattern) { - def = param.right; - param = param.left; - ++options.defaultCount; - } - - options.params.push(param); - options.defaults.push(def); - - return !match(')'); - } - - function parseParams(firstRestricted) { - var options; - - options = { - params: [], - defaultCount: 0, - defaults: [], - firstRestricted: firstRestricted - }; - - expect('('); - - if (!match(')')) { - options.paramSet = {}; - while (startIndex < length) { - if (!parseParam(options)) { - break; - } - expect(','); - } - } - - expect(')'); - - if (options.defaultCount === 0) { - options.defaults = []; - } - - return { - params: options.params, - defaults: options.defaults, - stricted: options.stricted, - firstRestricted: options.firstRestricted, - message: options.message - }; - } - - function parseFunctionDeclaration(node, identifierIsOptional) { - var id = null, params = [], defaults = [], body, token, stricted, tmp, firstRestricted, message, previousStrict, - isGenerator, previousAllowYield; - - previousAllowYield = state.allowYield; - - expectKeyword('function'); - - isGenerator = match('*'); - if (isGenerator) { - lex(); - } - - if (!identifierIsOptional || !match('(')) { - token = lookahead; - id = parseVariableIdentifier(); - if (strict) { - if (isRestrictedWord(token.value)) { - tolerateUnexpectedToken(token, Messages.StrictFunctionName); - } - } else { - if (isRestrictedWord(token.value)) { - firstRestricted = token; - message = Messages.StrictFunctionName; - } else if (isStrictModeReservedWord(token.value)) { - firstRestricted = token; - message = Messages.StrictReservedWord; - } - } - } - - state.allowYield = !isGenerator; - tmp = parseParams(firstRestricted); - params = tmp.params; - defaults = tmp.defaults; - stricted = tmp.stricted; - firstRestricted = tmp.firstRestricted; - if (tmp.message) { - message = tmp.message; - } - - - previousStrict = strict; - body = parseFunctionSourceElements(); - if (strict && firstRestricted) { - throwUnexpectedToken(firstRestricted, message); - } - if (strict && stricted) { - tolerateUnexpectedToken(stricted, message); - } - - strict = previousStrict; - state.allowYield = previousAllowYield; - - return node.finishFunctionDeclaration(id, params, defaults, body, isGenerator); - } - - function parseFunctionExpression() { - var token, id = null, stricted, firstRestricted, message, tmp, - params = [], defaults = [], body, previousStrict, node = new Node(), - isGenerator, previousAllowYield; - - previousAllowYield = state.allowYield; - - expectKeyword('function'); - - isGenerator = match('*'); - if (isGenerator) { - lex(); - } - - state.allowYield = !isGenerator; - if (!match('(')) { - token = lookahead; - id = (!strict && !isGenerator && matchKeyword('yield')) ? parseNonComputedProperty() : parseVariableIdentifier(); - if (strict) { - if (isRestrictedWord(token.value)) { - tolerateUnexpectedToken(token, Messages.StrictFunctionName); - } - } else { - if (isRestrictedWord(token.value)) { - firstRestricted = token; - message = Messages.StrictFunctionName; - } else if (isStrictModeReservedWord(token.value)) { - firstRestricted = token; - message = Messages.StrictReservedWord; - } - } - } - - tmp = parseParams(firstRestricted); - params = tmp.params; - defaults = tmp.defaults; - stricted = tmp.stricted; - firstRestricted = tmp.firstRestricted; - if (tmp.message) { - message = tmp.message; - } - - previousStrict = strict; - body = parseFunctionSourceElements(); - if (strict && firstRestricted) { - throwUnexpectedToken(firstRestricted, message); - } - if (strict && stricted) { - tolerateUnexpectedToken(stricted, message); - } - strict = previousStrict; - state.allowYield = previousAllowYield; - - return node.finishFunctionExpression(id, params, defaults, body, isGenerator); - } - - // ECMA-262 14.5 Class Definitions - - function parseClassBody() { - var classBody, token, isStatic, hasConstructor = false, body, method, computed, key; - - classBody = new Node(); - - expect('{'); - body = []; - while (!match('}')) { - if (match(';')) { - lex(); - } else { - method = new Node(); - token = lookahead; - isStatic = false; - computed = match('['); - if (match('*')) { - lex(); - } else { - key = parseObjectPropertyKey(); - if (key.name === 'static' && (lookaheadPropertyName() || match('*'))) { - token = lookahead; - isStatic = true; - computed = match('['); - if (match('*')) { - lex(); - } else { - key = parseObjectPropertyKey(); - } - } - } - method = tryParseMethodDefinition(token, key, computed, method); - if (method) { - method['static'] = isStatic; // jscs:ignore requireDotNotation - if (method.kind === 'init') { - method.kind = 'method'; - } - if (!isStatic) { - if (!method.computed && (method.key.name || method.key.value.toString()) === 'constructor') { - if (method.kind !== 'method' || !method.method || method.value.generator) { - throwUnexpectedToken(token, Messages.ConstructorSpecialMethod); - } - if (hasConstructor) { - throwUnexpectedToken(token, Messages.DuplicateConstructor); - } else { - hasConstructor = true; - } - method.kind = 'constructor'; - } - } else { - if (!method.computed && (method.key.name || method.key.value.toString()) === 'prototype') { - throwUnexpectedToken(token, Messages.StaticPrototype); - } - } - method.type = Syntax.MethodDefinition; - delete method.method; - delete method.shorthand; - body.push(method); - } else { - throwUnexpectedToken(lookahead); - } - } - } - lex(); - return classBody.finishClassBody(body); - } - - function parseClassDeclaration(identifierIsOptional) { - var id = null, superClass = null, classNode = new Node(), classBody, previousStrict = strict; - strict = true; - - expectKeyword('class'); - - if (!identifierIsOptional || lookahead.type === Token.Identifier) { - id = parseVariableIdentifier(); - } - - if (matchKeyword('extends')) { - lex(); - superClass = isolateCoverGrammar(parseLeftHandSideExpressionAllowCall); - } - classBody = parseClassBody(); - strict = previousStrict; - - return classNode.finishClassDeclaration(id, superClass, classBody); - } - - function parseClassExpression() { - var id = null, superClass = null, classNode = new Node(), classBody, previousStrict = strict; - strict = true; - - expectKeyword('class'); - - if (lookahead.type === Token.Identifier) { - id = parseVariableIdentifier(); - } - - if (matchKeyword('extends')) { - lex(); - superClass = isolateCoverGrammar(parseLeftHandSideExpressionAllowCall); - } - classBody = parseClassBody(); - strict = previousStrict; - - return classNode.finishClassExpression(id, superClass, classBody); - } - - // ECMA-262 15.2 Modules - - function parseModuleSpecifier() { - var node = new Node(); - - if (lookahead.type !== Token.StringLiteral) { - throwError(Messages.InvalidModuleSpecifier); - } - return node.finishLiteral(lex()); - } - - // ECMA-262 15.2.3 Exports - - function parseExportSpecifier() { - var exported, local, node = new Node(), def; - if (matchKeyword('default')) { - // export {default} from 'something'; - def = new Node(); - lex(); - local = def.finishIdentifier('default'); - } else { - local = parseVariableIdentifier(); - } - if (matchContextualKeyword('as')) { - lex(); - exported = parseNonComputedProperty(); - } - return node.finishExportSpecifier(local, exported); - } - - function parseExportNamedDeclaration(node) { - var declaration = null, - isExportFromIdentifier, - src = null, specifiers = []; - - // non-default export - if (lookahead.type === Token.Keyword) { - // covers: - // export var f = 1; - switch (lookahead.value) { - case 'let': - case 'const': - declaration = parseLexicalDeclaration({inFor: false}); - return node.finishExportNamedDeclaration(declaration, specifiers, null); - case 'var': - case 'class': - case 'function': - declaration = parseStatementListItem(); - return node.finishExportNamedDeclaration(declaration, specifiers, null); - } - } - - expect('{'); - while (!match('}')) { - isExportFromIdentifier = isExportFromIdentifier || matchKeyword('default'); - specifiers.push(parseExportSpecifier()); - if (!match('}')) { - expect(','); - if (match('}')) { - break; - } - } - } - expect('}'); - - if (matchContextualKeyword('from')) { - // covering: - // export {default} from 'foo'; - // export {foo} from 'foo'; - lex(); - src = parseModuleSpecifier(); - consumeSemicolon(); - } else if (isExportFromIdentifier) { - // covering: - // export {default}; // missing fromClause - throwError(lookahead.value ? - Messages.UnexpectedToken : Messages.MissingFromClause, lookahead.value); - } else { - // cover - // export {foo}; - consumeSemicolon(); - } - return node.finishExportNamedDeclaration(declaration, specifiers, src); - } - - function parseExportDefaultDeclaration(node) { - var declaration = null, - expression = null; - - // covers: - // export default ... - expectKeyword('default'); - - if (matchKeyword('function')) { - // covers: - // export default function foo () {} - // export default function () {} - declaration = parseFunctionDeclaration(new Node(), true); - return node.finishExportDefaultDeclaration(declaration); - } - if (matchKeyword('class')) { - declaration = parseClassDeclaration(true); - return node.finishExportDefaultDeclaration(declaration); - } - - if (matchContextualKeyword('from')) { - throwError(Messages.UnexpectedToken, lookahead.value); - } - - // covers: - // export default {}; - // export default []; - // export default (1 + 2); - if (match('{')) { - expression = parseObjectInitializer(); - } else if (match('[')) { - expression = parseArrayInitializer(); - } else { - expression = parseAssignmentExpression(); - } - consumeSemicolon(); - return node.finishExportDefaultDeclaration(expression); - } - - function parseExportAllDeclaration(node) { - var src; - - // covers: - // export * from 'foo'; - expect('*'); - if (!matchContextualKeyword('from')) { - throwError(lookahead.value ? - Messages.UnexpectedToken : Messages.MissingFromClause, lookahead.value); - } - lex(); - src = parseModuleSpecifier(); - consumeSemicolon(); - - return node.finishExportAllDeclaration(src); - } - - function parseExportDeclaration() { - var node = new Node(); - if (state.inFunctionBody) { - throwError(Messages.IllegalExportDeclaration); - } - - expectKeyword('export'); - - if (matchKeyword('default')) { - return parseExportDefaultDeclaration(node); - } - if (match('*')) { - return parseExportAllDeclaration(node); - } - return parseExportNamedDeclaration(node); - } - - // ECMA-262 15.2.2 Imports - - function parseImportSpecifier() { - // import {} ...; - var local, imported, node = new Node(); - - imported = parseNonComputedProperty(); - if (matchContextualKeyword('as')) { - lex(); - local = parseVariableIdentifier(); - } - - return node.finishImportSpecifier(local, imported); - } - - function parseNamedImports() { - var specifiers = []; - // {foo, bar as bas} - expect('{'); - while (!match('}')) { - specifiers.push(parseImportSpecifier()); - if (!match('}')) { - expect(','); - if (match('}')) { - break; - } - } - } - expect('}'); - return specifiers; - } - - function parseImportDefaultSpecifier() { - // import ...; - var local, node = new Node(); - - local = parseNonComputedProperty(); - - return node.finishImportDefaultSpecifier(local); - } - - function parseImportNamespaceSpecifier() { - // import <* as foo> ...; - var local, node = new Node(); - - expect('*'); - if (!matchContextualKeyword('as')) { - throwError(Messages.NoAsAfterImportNamespace); - } - lex(); - local = parseNonComputedProperty(); - - return node.finishImportNamespaceSpecifier(local); - } - - function parseImportDeclaration() { - var specifiers = [], src, node = new Node(); - - if (state.inFunctionBody) { - throwError(Messages.IllegalImportDeclaration); - } - - expectKeyword('import'); - - if (lookahead.type === Token.StringLiteral) { - // import 'foo'; - src = parseModuleSpecifier(); - } else { - - if (match('{')) { - // import {bar} - specifiers = specifiers.concat(parseNamedImports()); - } else if (match('*')) { - // import * as foo - specifiers.push(parseImportNamespaceSpecifier()); - } else if (isIdentifierName(lookahead) && !matchKeyword('default')) { - // import foo - specifiers.push(parseImportDefaultSpecifier()); - if (match(',')) { - lex(); - if (match('*')) { - // import foo, * as foo - specifiers.push(parseImportNamespaceSpecifier()); - } else if (match('{')) { - // import foo, {bar} - specifiers = specifiers.concat(parseNamedImports()); - } else { - throwUnexpectedToken(lookahead); - } - } - } else { - throwUnexpectedToken(lex()); - } - - if (!matchContextualKeyword('from')) { - throwError(lookahead.value ? - Messages.UnexpectedToken : Messages.MissingFromClause, lookahead.value); - } - lex(); - src = parseModuleSpecifier(); - } - - consumeSemicolon(); - return node.finishImportDeclaration(specifiers, src); - } - - // ECMA-262 15.1 Scripts - - function parseScriptBody() { - var statement, body = [], token, directive, firstRestricted; - - while (startIndex < length) { - token = lookahead; - if (token.type !== Token.StringLiteral) { - break; - } - - statement = parseStatementListItem(); - body.push(statement); - if (statement.expression.type !== Syntax.Literal) { - // this is not directive - break; - } - directive = source.slice(token.start + 1, token.end - 1); - if (directive === 'use strict') { - strict = true; - if (firstRestricted) { - tolerateUnexpectedToken(firstRestricted, Messages.StrictOctalLiteral); - } - } else { - if (!firstRestricted && token.octal) { - firstRestricted = token; - } - } - } - - while (startIndex < length) { - statement = parseStatementListItem(); - /* istanbul ignore if */ - if (typeof statement === 'undefined') { - break; - } - body.push(statement); - } - return body; - } - - function parseProgram() { - var body, node; - - peek(); - node = new Node(); - - body = parseScriptBody(); - return node.finishProgram(body, state.sourceType); - } - - function filterTokenLocation() { - var i, entry, token, tokens = []; - - for (i = 0; i < extra.tokens.length; ++i) { - entry = extra.tokens[i]; - token = { - type: entry.type, - value: entry.value - }; - if (entry.regex) { - token.regex = { - pattern: entry.regex.pattern, - flags: entry.regex.flags - }; - } - if (extra.range) { - token.range = entry.range; - } - if (extra.loc) { - token.loc = entry.loc; - } - tokens.push(token); - } - - extra.tokens = tokens; - } - - function tokenize(code, options, delegate) { - var toString, - tokens; - - toString = String; - if (typeof code !== 'string' && !(code instanceof String)) { - code = toString(code); - } - - source = code; - index = 0; - lineNumber = (source.length > 0) ? 1 : 0; - lineStart = 0; - startIndex = index; - startLineNumber = lineNumber; - startLineStart = lineStart; - length = source.length; - lookahead = null; - state = { - allowIn: true, - allowYield: true, - labelSet: {}, - inFunctionBody: false, - inIteration: false, - inSwitch: false, - lastCommentStart: -1, - curlyStack: [] - }; - - extra = {}; - - // Options matching. - options = options || {}; - - // Of course we collect tokens here. - options.tokens = true; - extra.tokens = []; - extra.tokenValues = []; - extra.tokenize = true; - extra.delegate = delegate; - - // The following two fields are necessary to compute the Regex tokens. - extra.openParenToken = -1; - extra.openCurlyToken = -1; - - extra.range = (typeof options.range === 'boolean') && options.range; - extra.loc = (typeof options.loc === 'boolean') && options.loc; - - if (typeof options.comment === 'boolean' && options.comment) { - extra.comments = []; - } - if (typeof options.tolerant === 'boolean' && options.tolerant) { - extra.errors = []; - } - - try { - peek(); - if (lookahead.type === Token.EOF) { - return extra.tokens; - } - - lex(); - while (lookahead.type !== Token.EOF) { - try { - lex(); - } catch (lexError) { - if (extra.errors) { - recordError(lexError); - // We have to break on the first error - // to avoid infinite loops. - break; - } else { - throw lexError; - } - } - } - - tokens = extra.tokens; - if (typeof extra.errors !== 'undefined') { - tokens.errors = extra.errors; - } - } catch (e) { - throw e; - } finally { - extra = {}; - } - return tokens; - } - - function parse(code, options) { - var program, toString; - - toString = String; - if (typeof code !== 'string' && !(code instanceof String)) { - code = toString(code); - } - - source = code; - index = 0; - lineNumber = (source.length > 0) ? 1 : 0; - lineStart = 0; - startIndex = index; - startLineNumber = lineNumber; - startLineStart = lineStart; - length = source.length; - lookahead = null; - state = { - allowIn: true, - allowYield: true, - labelSet: {}, - inFunctionBody: false, - inIteration: false, - inSwitch: false, - lastCommentStart: -1, - curlyStack: [], - sourceType: 'script' - }; - strict = false; - - extra = {}; - if (typeof options !== 'undefined') { - extra.range = (typeof options.range === 'boolean') && options.range; - extra.loc = (typeof options.loc === 'boolean') && options.loc; - extra.attachComment = (typeof options.attachComment === 'boolean') && options.attachComment; - - if (extra.loc && options.source !== null && options.source !== undefined) { - extra.source = toString(options.source); - } - - if (typeof options.tokens === 'boolean' && options.tokens) { - extra.tokens = []; - } - if (typeof options.comment === 'boolean' && options.comment) { - extra.comments = []; - } - if (typeof options.tolerant === 'boolean' && options.tolerant) { - extra.errors = []; - } - if (extra.attachComment) { - extra.range = true; - extra.comments = []; - extra.bottomRightStack = []; - extra.trailingComments = []; - extra.leadingComments = []; - } - if (options.sourceType === 'module') { - // very restrictive condition for now - state.sourceType = options.sourceType; - strict = true; - } - } - - try { - program = parseProgram(); - if (typeof extra.comments !== 'undefined') { - program.comments = extra.comments; - } - if (typeof extra.tokens !== 'undefined') { - filterTokenLocation(); - program.tokens = extra.tokens; - } - if (typeof extra.errors !== 'undefined') { - program.errors = extra.errors; - } - } catch (e) { - throw e; - } finally { - extra = {}; - } - - return program; - } - - // Sync with *.json manifests. - exports.version = '2.7.2'; - - exports.tokenize = tokenize; - - exports.parse = parse; - - // Deep copy. - /* istanbul ignore next */ - exports.Syntax = (function () { - var name, types = {}; - - if (typeof Object.create === 'function') { - types = Object.create(null); - } - - for (name in Syntax) { - if (Syntax.hasOwnProperty(name)) { - types[name] = Syntax[name]; - } - } - - if (typeof Object.freeze === 'function') { - Object.freeze(types); - } - - return types; - }()); - -})); -/* vim: set sw=4 ts=4 et tw=80 : */ diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/package.json deleted file mode 100644 index f8d92d7..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/esprima/package.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "name": "esprima", - "description": "ECMAScript parsing infrastructure for multipurpose analysis", - "homepage": "http://esprima.org", - "main": "esprima.js", - "bin": { - "esparse": "./bin/esparse.js", - "esvalidate": "./bin/esvalidate.js" - }, - "version": "2.7.2", - "files": [ - "bin", - "unit-tests.js", - "esprima.js" - ], - "engines": { - "node": ">=0.10.0" - }, - "author": { - "name": "Ariya Hidayat", - "email": "ariya.hidayat@gmail.com" - }, - "maintainers": [ - { - "name": "ariya", - "email": "ariya.hidayat@gmail.com" - } - ], - "repository": { - "type": "git", - "url": "git+https://github.com/jquery/esprima.git" - }, - "bugs": { - "url": "https://github.com/jquery/esprima/issues" - }, - "license": "BSD-2-Clause", - "devDependencies": { - "codecov.io": "~0.1.6", - "escomplex-js": "1.2.0", - "eslint": "~1.7.2", - "everything.js": "~1.0.3", - "glob": "^5.0.15", - "istanbul": "~0.4.0", - "jscs": "~2.3.5", - "json-diff": "~0.3.1", - "karma": "^0.13.11", - "karma-chrome-launcher": "^0.2.1", - "karma-detect-browsers": "^2.0.2", - "karma-firefox-launcher": "^0.1.6", - "karma-ie-launcher": "^0.2.0", - "karma-mocha": "^0.2.0", - "karma-safari-launcher": "^0.1.1", - "karma-sauce-launcher": "^0.2.14", - "lodash": "^3.10.0", - "mocha": "^2.3.3", - "node-tick-processor": "~0.0.2", - "regenerate": "~1.2.1", - "temp": "~0.8.3", - "unicode-7.0.0": "~0.1.5" - }, - "keywords": [ - "ast", - "ecmascript", - "javascript", - "parser", - "syntax" - ], - "scripts": { - "check-version": "node test/check-version.js", - "jscs": "jscs -p crockford esprima.js && jscs -p crockford test/*.js", - "eslint": "node node_modules/eslint/bin/eslint.js -c .lintrc esprima.js", - "complexity": "node test/check-complexity.js", - "static-analysis": "npm run check-version && npm run jscs && npm run eslint && npm run complexity", - "unit-tests": "node test/unit-tests.js", - "grammar-tests": "node test/grammar-tests.js", - "regression-tests": "node test/regression-tests.js", - "all-tests": "npm run generate-fixtures && npm run unit-tests && npm run grammar-tests && npm run regression-tests", - "generate-fixtures": "node tools/generate-fixtures.js", - "browser-tests": "npm run generate-fixtures && cd test && karma start --single-run", - "saucelabs-evergreen": "cd test && karma start saucelabs-evergreen.conf.js", - "saucelabs-safari": "cd test && karma start saucelabs-safari.conf.js", - "saucelabs-ie": "cd test && karma start saucelabs-ie.conf.js", - "analyze-coverage": "istanbul cover test/unit-tests.js", - "check-coverage": "istanbul check-coverage --statement 100 --branch 100 --function 100", - "dynamic-analysis": "npm run analyze-coverage && npm run check-coverage", - "test": "npm run all-tests && npm run static-analysis && npm run dynamic-analysis", - "profile": "node --prof test/profile.js && mv isolate*.log v8.log && node-tick-processor", - "benchmark": "node test/benchmarks.js", - "benchmark-quick": "node test/benchmarks.js quick", - "codecov": "istanbul report cobertura && codecov < ./coverage/cobertura-coverage.xml", - "downstream": "node test/downstream.js", - "travis": "npm test", - "circleci": "npm test && npm run codecov && npm run downstream", - "appveyor": "npm run all-tests && npm run browser-tests && npm run dynamic-analysis", - "droneio": "npm test && npm run saucelabs-evergreen && npm run saucelabs-ie && npm run saucelabs-safari", - "generate-regex": "node tools/generate-identifier-regex.js" - }, - "gitHead": "eb05a03b18b8433ab1ebeabea635a949219cd75e", - "_id": "esprima@2.7.2", - "_shasum": "f43be543609984eae44c933ac63352a6af35f339", - "_from": "esprima@>=2.7.1 <3.0.0", - "_npmVersion": "2.14.7", - "_nodeVersion": "4.2.2", - "_npmUser": { - "name": "ariya", - "email": "ariya.hidayat@gmail.com" - }, - "dist": { - "shasum": "f43be543609984eae44c933ac63352a6af35f339", - "tarball": "https://registry.npmjs.org/esprima/-/esprima-2.7.2.tgz" - }, - "_npmOperationalInternal": { - "host": "packages-9-west.internal.npmjs.com", - "tmp": "tmp/esprima-2.7.2.tgz_1454477276067_0.014412595424801111" - }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.2.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/.editorconfig b/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/.editorconfig deleted file mode 100644 index 1d4fc22..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/.editorconfig +++ /dev/null @@ -1,10 +0,0 @@ -# top-most EditorConfig file -root = true - -[*] -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true -indent_style = space -indent_size = 4 -tab_width = 4 diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/.jshintrc b/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/.jshintrc deleted file mode 100644 index f642dae..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/.jshintrc +++ /dev/null @@ -1,16 +0,0 @@ -{ - "curly": true, - "eqeqeq": true, - "immed": true, - "eqnull": true, - "latedef": true, - "noarg": true, - "noempty": true, - "quotmark": "single", - "undef": true, - "unused": true, - "strict": true, - "trailing": true, - - "node": true -} diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/LICENSE.BSD b/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/LICENSE.BSD deleted file mode 100644 index 3e580c3..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/LICENSE.BSD +++ /dev/null @@ -1,19 +0,0 @@ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/README.md b/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/README.md deleted file mode 100644 index 4242c51..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/README.md +++ /dev/null @@ -1,124 +0,0 @@ -### Estraverse [![Build Status](https://secure.travis-ci.org/estools/estraverse.png)](http://travis-ci.org/estools/estraverse) - -Estraverse ([estraverse](http://github.com/estools/estraverse)) is -[ECMAScript](http://www.ecma-international.org/publications/standards/Ecma-262.htm) -traversal functions from [esmangle project](http://github.com/estools/esmangle). - -### Documentation - -You can find usage docs at [wiki page](https://github.com/estools/estraverse/wiki/Usage). - -### Example Usage - -The following code will output all variables declared at the root of a file. - -```javascript -estraverse.traverse(ast, { - enter: function (node, parent) { - if (node.type == 'FunctionExpression' || node.type == 'FunctionDeclaration') - return estraverse.VisitorOption.Skip; - }, - leave: function (node, parent) { - if (node.type == 'VariableDeclarator') - console.log(node.id.name); - } -}); -``` - -We can use `this.skip`, `this.remove` and `this.break` functions instead of using Skip, Remove and Break. - -```javascript -estraverse.traverse(ast, { - enter: function (node) { - this.break(); - } -}); -``` - -And estraverse provides `estraverse.replace` function. When returning node from `enter`/`leave`, current node is replaced with it. - -```javascript -result = estraverse.replace(tree, { - enter: function (node) { - // Replace it with replaced. - if (node.type === 'Literal') - return replaced; - } -}); -``` - -By passing `visitor.keys` mapping, we can extend estraverse traversing functionality. - -```javascript -// This tree contains a user-defined `TestExpression` node. -var tree = { - type: 'TestExpression', - - // This 'argument' is the property containing the other **node**. - argument: { - type: 'Literal', - value: 20 - }, - - // This 'extended' is the property not containing the other **node**. - extended: true -}; -estraverse.traverse(tree, { - enter: function (node) { }, - - // Extending the exising traversing rules. - keys: { - // TargetNodeName: [ 'keys', 'containing', 'the', 'other', '**node**' ] - TestExpression: ['argument'] - } -}); -``` - -By passing `visitor.fallback` option, we can control the behavior when encountering unknown nodes. -```javascript -// This tree contains a user-defined `TestExpression` node. -var tree = { - type: 'TestExpression', - - // This 'argument' is the property containing the other **node**. - argument: { - type: 'Literal', - value: 20 - }, - - // This 'extended' is the property not containing the other **node**. - extended: true -}; -estraverse.traverse(tree, { - enter: function (node) { }, - - // Iterating the child **nodes** of unknown nodes. - fallback: 'iteration' -}); -``` - -### License - -Copyright (C) 2012-2013 [Yusuke Suzuki](http://github.com/Constellation) - (twitter: [@Constellation](http://twitter.com/Constellation)) and other contributors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/estraverse.js b/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/estraverse.js deleted file mode 100644 index 99bbb8c..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/estraverse.js +++ /dev/null @@ -1,845 +0,0 @@ -/* - Copyright (C) 2012-2013 Yusuke Suzuki - Copyright (C) 2012 Ariya Hidayat - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ -/*jslint vars:false, bitwise:true*/ -/*jshint indent:4*/ -/*global exports:true, define:true*/ -(function (root, factory) { - 'use strict'; - - // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, - // and plain browser loading, - if (typeof define === 'function' && define.amd) { - define(['exports'], factory); - } else if (typeof exports !== 'undefined') { - factory(exports); - } else { - factory((root.estraverse = {})); - } -}(this, function clone(exports) { - 'use strict'; - - var Syntax, - isArray, - VisitorOption, - VisitorKeys, - objectCreate, - objectKeys, - BREAK, - SKIP, - REMOVE; - - function ignoreJSHintError() { } - - isArray = Array.isArray; - if (!isArray) { - isArray = function isArray(array) { - return Object.prototype.toString.call(array) === '[object Array]'; - }; - } - - function deepCopy(obj) { - var ret = {}, key, val; - for (key in obj) { - if (obj.hasOwnProperty(key)) { - val = obj[key]; - if (typeof val === 'object' && val !== null) { - ret[key] = deepCopy(val); - } else { - ret[key] = val; - } - } - } - return ret; - } - - function shallowCopy(obj) { - var ret = {}, key; - for (key in obj) { - if (obj.hasOwnProperty(key)) { - ret[key] = obj[key]; - } - } - return ret; - } - ignoreJSHintError(shallowCopy); - - // based on LLVM libc++ upper_bound / lower_bound - // MIT License - - function upperBound(array, func) { - var diff, len, i, current; - - len = array.length; - i = 0; - - while (len) { - diff = len >>> 1; - current = i + diff; - if (func(array[current])) { - len = diff; - } else { - i = current + 1; - len -= diff + 1; - } - } - return i; - } - - function lowerBound(array, func) { - var diff, len, i, current; - - len = array.length; - i = 0; - - while (len) { - diff = len >>> 1; - current = i + diff; - if (func(array[current])) { - i = current + 1; - len -= diff + 1; - } else { - len = diff; - } - } - return i; - } - ignoreJSHintError(lowerBound); - - objectCreate = Object.create || (function () { - function F() { } - - return function (o) { - F.prototype = o; - return new F(); - }; - })(); - - objectKeys = Object.keys || function (o) { - var keys = [], key; - for (key in o) { - keys.push(key); - } - return keys; - }; - - function extend(to, from) { - var keys = objectKeys(from), key, i, len; - for (i = 0, len = keys.length; i < len; i += 1) { - key = keys[i]; - to[key] = from[key]; - } - return to; - } - - Syntax = { - AssignmentExpression: 'AssignmentExpression', - ArrayExpression: 'ArrayExpression', - ArrayPattern: 'ArrayPattern', - ArrowFunctionExpression: 'ArrowFunctionExpression', - AwaitExpression: 'AwaitExpression', // CAUTION: It's deferred to ES7. - BlockStatement: 'BlockStatement', - BinaryExpression: 'BinaryExpression', - BreakStatement: 'BreakStatement', - CallExpression: 'CallExpression', - CatchClause: 'CatchClause', - ClassBody: 'ClassBody', - ClassDeclaration: 'ClassDeclaration', - ClassExpression: 'ClassExpression', - ComprehensionBlock: 'ComprehensionBlock', // CAUTION: It's deferred to ES7. - ComprehensionExpression: 'ComprehensionExpression', // CAUTION: It's deferred to ES7. - ConditionalExpression: 'ConditionalExpression', - ContinueStatement: 'ContinueStatement', - DebuggerStatement: 'DebuggerStatement', - DirectiveStatement: 'DirectiveStatement', - DoWhileStatement: 'DoWhileStatement', - EmptyStatement: 'EmptyStatement', - ExportBatchSpecifier: 'ExportBatchSpecifier', - ExportDeclaration: 'ExportDeclaration', - ExportSpecifier: 'ExportSpecifier', - ExpressionStatement: 'ExpressionStatement', - ForStatement: 'ForStatement', - ForInStatement: 'ForInStatement', - ForOfStatement: 'ForOfStatement', - FunctionDeclaration: 'FunctionDeclaration', - FunctionExpression: 'FunctionExpression', - GeneratorExpression: 'GeneratorExpression', // CAUTION: It's deferred to ES7. - Identifier: 'Identifier', - IfStatement: 'IfStatement', - ImportDeclaration: 'ImportDeclaration', - ImportDefaultSpecifier: 'ImportDefaultSpecifier', - ImportNamespaceSpecifier: 'ImportNamespaceSpecifier', - ImportSpecifier: 'ImportSpecifier', - Literal: 'Literal', - LabeledStatement: 'LabeledStatement', - LogicalExpression: 'LogicalExpression', - MemberExpression: 'MemberExpression', - MethodDefinition: 'MethodDefinition', - ModuleSpecifier: 'ModuleSpecifier', - NewExpression: 'NewExpression', - ObjectExpression: 'ObjectExpression', - ObjectPattern: 'ObjectPattern', - Program: 'Program', - Property: 'Property', - ReturnStatement: 'ReturnStatement', - SequenceExpression: 'SequenceExpression', - SpreadElement: 'SpreadElement', - SwitchStatement: 'SwitchStatement', - SwitchCase: 'SwitchCase', - TaggedTemplateExpression: 'TaggedTemplateExpression', - TemplateElement: 'TemplateElement', - TemplateLiteral: 'TemplateLiteral', - ThisExpression: 'ThisExpression', - ThrowStatement: 'ThrowStatement', - TryStatement: 'TryStatement', - UnaryExpression: 'UnaryExpression', - UpdateExpression: 'UpdateExpression', - VariableDeclaration: 'VariableDeclaration', - VariableDeclarator: 'VariableDeclarator', - WhileStatement: 'WhileStatement', - WithStatement: 'WithStatement', - YieldExpression: 'YieldExpression' - }; - - VisitorKeys = { - AssignmentExpression: ['left', 'right'], - ArrayExpression: ['elements'], - ArrayPattern: ['elements'], - ArrowFunctionExpression: ['params', 'defaults', 'rest', 'body'], - AwaitExpression: ['argument'], // CAUTION: It's deferred to ES7. - BlockStatement: ['body'], - BinaryExpression: ['left', 'right'], - BreakStatement: ['label'], - CallExpression: ['callee', 'arguments'], - CatchClause: ['param', 'body'], - ClassBody: ['body'], - ClassDeclaration: ['id', 'body', 'superClass'], - ClassExpression: ['id', 'body', 'superClass'], - ComprehensionBlock: ['left', 'right'], // CAUTION: It's deferred to ES7. - ComprehensionExpression: ['blocks', 'filter', 'body'], // CAUTION: It's deferred to ES7. - ConditionalExpression: ['test', 'consequent', 'alternate'], - ContinueStatement: ['label'], - DebuggerStatement: [], - DirectiveStatement: [], - DoWhileStatement: ['body', 'test'], - EmptyStatement: [], - ExportBatchSpecifier: [], - ExportDeclaration: ['declaration', 'specifiers', 'source'], - ExportSpecifier: ['id', 'name'], - ExpressionStatement: ['expression'], - ForStatement: ['init', 'test', 'update', 'body'], - ForInStatement: ['left', 'right', 'body'], - ForOfStatement: ['left', 'right', 'body'], - FunctionDeclaration: ['id', 'params', 'defaults', 'rest', 'body'], - FunctionExpression: ['id', 'params', 'defaults', 'rest', 'body'], - GeneratorExpression: ['blocks', 'filter', 'body'], // CAUTION: It's deferred to ES7. - Identifier: [], - IfStatement: ['test', 'consequent', 'alternate'], - ImportDeclaration: ['specifiers', 'source'], - ImportDefaultSpecifier: ['id'], - ImportNamespaceSpecifier: ['id'], - ImportSpecifier: ['id', 'name'], - Literal: [], - LabeledStatement: ['label', 'body'], - LogicalExpression: ['left', 'right'], - MemberExpression: ['object', 'property'], - MethodDefinition: ['key', 'value'], - ModuleSpecifier: [], - NewExpression: ['callee', 'arguments'], - ObjectExpression: ['properties'], - ObjectPattern: ['properties'], - Program: ['body'], - Property: ['key', 'value'], - ReturnStatement: ['argument'], - SequenceExpression: ['expressions'], - SpreadElement: ['argument'], - SwitchStatement: ['discriminant', 'cases'], - SwitchCase: ['test', 'consequent'], - TaggedTemplateExpression: ['tag', 'quasi'], - TemplateElement: [], - TemplateLiteral: ['quasis', 'expressions'], - ThisExpression: [], - ThrowStatement: ['argument'], - TryStatement: ['block', 'handlers', 'handler', 'guardedHandlers', 'finalizer'], - UnaryExpression: ['argument'], - UpdateExpression: ['argument'], - VariableDeclaration: ['declarations'], - VariableDeclarator: ['id', 'init'], - WhileStatement: ['test', 'body'], - WithStatement: ['object', 'body'], - YieldExpression: ['argument'] - }; - - // unique id - BREAK = {}; - SKIP = {}; - REMOVE = {}; - - VisitorOption = { - Break: BREAK, - Skip: SKIP, - Remove: REMOVE - }; - - function Reference(parent, key) { - this.parent = parent; - this.key = key; - } - - Reference.prototype.replace = function replace(node) { - this.parent[this.key] = node; - }; - - Reference.prototype.remove = function remove() { - if (isArray(this.parent)) { - this.parent.splice(this.key, 1); - return true; - } else { - this.replace(null); - return false; - } - }; - - function Element(node, path, wrap, ref) { - this.node = node; - this.path = path; - this.wrap = wrap; - this.ref = ref; - } - - function Controller() { } - - // API: - // return property path array from root to current node - Controller.prototype.path = function path() { - var i, iz, j, jz, result, element; - - function addToPath(result, path) { - if (isArray(path)) { - for (j = 0, jz = path.length; j < jz; ++j) { - result.push(path[j]); - } - } else { - result.push(path); - } - } - - // root node - if (!this.__current.path) { - return null; - } - - // first node is sentinel, second node is root element - result = []; - for (i = 2, iz = this.__leavelist.length; i < iz; ++i) { - element = this.__leavelist[i]; - addToPath(result, element.path); - } - addToPath(result, this.__current.path); - return result; - }; - - // API: - // return type of current node - Controller.prototype.type = function () { - var node = this.current(); - return node.type || this.__current.wrap; - }; - - // API: - // return array of parent elements - Controller.prototype.parents = function parents() { - var i, iz, result; - - // first node is sentinel - result = []; - for (i = 1, iz = this.__leavelist.length; i < iz; ++i) { - result.push(this.__leavelist[i].node); - } - - return result; - }; - - // API: - // return current node - Controller.prototype.current = function current() { - return this.__current.node; - }; - - Controller.prototype.__execute = function __execute(callback, element) { - var previous, result; - - result = undefined; - - previous = this.__current; - this.__current = element; - this.__state = null; - if (callback) { - result = callback.call(this, element.node, this.__leavelist[this.__leavelist.length - 1].node); - } - this.__current = previous; - - return result; - }; - - // API: - // notify control skip / break - Controller.prototype.notify = function notify(flag) { - this.__state = flag; - }; - - // API: - // skip child nodes of current node - Controller.prototype.skip = function () { - this.notify(SKIP); - }; - - // API: - // break traversals - Controller.prototype['break'] = function () { - this.notify(BREAK); - }; - - // API: - // remove node - Controller.prototype.remove = function () { - this.notify(REMOVE); - }; - - Controller.prototype.__initialize = function(root, visitor) { - this.visitor = visitor; - this.root = root; - this.__worklist = []; - this.__leavelist = []; - this.__current = null; - this.__state = null; - this.__fallback = visitor.fallback === 'iteration'; - this.__keys = VisitorKeys; - if (visitor.keys) { - this.__keys = extend(objectCreate(this.__keys), visitor.keys); - } - }; - - function isNode(node) { - if (node == null) { - return false; - } - return typeof node === 'object' && typeof node.type === 'string'; - } - - function isProperty(nodeType, key) { - return (nodeType === Syntax.ObjectExpression || nodeType === Syntax.ObjectPattern) && 'properties' === key; - } - - Controller.prototype.traverse = function traverse(root, visitor) { - var worklist, - leavelist, - element, - node, - nodeType, - ret, - key, - current, - current2, - candidates, - candidate, - sentinel; - - this.__initialize(root, visitor); - - sentinel = {}; - - // reference - worklist = this.__worklist; - leavelist = this.__leavelist; - - // initialize - worklist.push(new Element(root, null, null, null)); - leavelist.push(new Element(null, null, null, null)); - - while (worklist.length) { - element = worklist.pop(); - - if (element === sentinel) { - element = leavelist.pop(); - - ret = this.__execute(visitor.leave, element); - - if (this.__state === BREAK || ret === BREAK) { - return; - } - continue; - } - - if (element.node) { - - ret = this.__execute(visitor.enter, element); - - if (this.__state === BREAK || ret === BREAK) { - return; - } - - worklist.push(sentinel); - leavelist.push(element); - - if (this.__state === SKIP || ret === SKIP) { - continue; - } - - node = element.node; - nodeType = element.wrap || node.type; - candidates = this.__keys[nodeType]; - if (!candidates) { - if (this.__fallback) { - candidates = objectKeys(node); - } else { - throw new Error('Unknown node type ' + nodeType + '.'); - } - } - - current = candidates.length; - while ((current -= 1) >= 0) { - key = candidates[current]; - candidate = node[key]; - if (!candidate) { - continue; - } - - if (isArray(candidate)) { - current2 = candidate.length; - while ((current2 -= 1) >= 0) { - if (!candidate[current2]) { - continue; - } - if (isProperty(nodeType, candidates[current])) { - element = new Element(candidate[current2], [key, current2], 'Property', null); - } else if (isNode(candidate[current2])) { - element = new Element(candidate[current2], [key, current2], null, null); - } else { - continue; - } - worklist.push(element); - } - } else if (isNode(candidate)) { - worklist.push(new Element(candidate, key, null, null)); - } - } - } - } - }; - - Controller.prototype.replace = function replace(root, visitor) { - function removeElem(element) { - var i, - key, - nextElem, - parent; - - if (element.ref.remove()) { - // When the reference is an element of an array. - key = element.ref.key; - parent = element.ref.parent; - - // If removed from array, then decrease following items' keys. - i = worklist.length; - while (i--) { - nextElem = worklist[i]; - if (nextElem.ref && nextElem.ref.parent === parent) { - if (nextElem.ref.key < key) { - break; - } - --nextElem.ref.key; - } - } - } - } - - var worklist, - leavelist, - node, - nodeType, - target, - element, - current, - current2, - candidates, - candidate, - sentinel, - outer, - key; - - this.__initialize(root, visitor); - - sentinel = {}; - - // reference - worklist = this.__worklist; - leavelist = this.__leavelist; - - // initialize - outer = { - root: root - }; - element = new Element(root, null, null, new Reference(outer, 'root')); - worklist.push(element); - leavelist.push(element); - - while (worklist.length) { - element = worklist.pop(); - - if (element === sentinel) { - element = leavelist.pop(); - - target = this.__execute(visitor.leave, element); - - // node may be replaced with null, - // so distinguish between undefined and null in this place - if (target !== undefined && target !== BREAK && target !== SKIP && target !== REMOVE) { - // replace - element.ref.replace(target); - } - - if (this.__state === REMOVE || target === REMOVE) { - removeElem(element); - } - - if (this.__state === BREAK || target === BREAK) { - return outer.root; - } - continue; - } - - target = this.__execute(visitor.enter, element); - - // node may be replaced with null, - // so distinguish between undefined and null in this place - if (target !== undefined && target !== BREAK && target !== SKIP && target !== REMOVE) { - // replace - element.ref.replace(target); - element.node = target; - } - - if (this.__state === REMOVE || target === REMOVE) { - removeElem(element); - element.node = null; - } - - if (this.__state === BREAK || target === BREAK) { - return outer.root; - } - - // node may be null - node = element.node; - if (!node) { - continue; - } - - worklist.push(sentinel); - leavelist.push(element); - - if (this.__state === SKIP || target === SKIP) { - continue; - } - - nodeType = element.wrap || node.type; - candidates = this.__keys[nodeType]; - if (!candidates) { - if (this.__fallback) { - candidates = objectKeys(node); - } else { - throw new Error('Unknown node type ' + nodeType + '.'); - } - } - - current = candidates.length; - while ((current -= 1) >= 0) { - key = candidates[current]; - candidate = node[key]; - if (!candidate) { - continue; - } - - if (isArray(candidate)) { - current2 = candidate.length; - while ((current2 -= 1) >= 0) { - if (!candidate[current2]) { - continue; - } - if (isProperty(nodeType, candidates[current])) { - element = new Element(candidate[current2], [key, current2], 'Property', new Reference(candidate, current2)); - } else if (isNode(candidate[current2])) { - element = new Element(candidate[current2], [key, current2], null, new Reference(candidate, current2)); - } else { - continue; - } - worklist.push(element); - } - } else if (isNode(candidate)) { - worklist.push(new Element(candidate, key, null, new Reference(node, key))); - } - } - } - - return outer.root; - }; - - function traverse(root, visitor) { - var controller = new Controller(); - return controller.traverse(root, visitor); - } - - function replace(root, visitor) { - var controller = new Controller(); - return controller.replace(root, visitor); - } - - function extendCommentRange(comment, tokens) { - var target; - - target = upperBound(tokens, function search(token) { - return token.range[0] > comment.range[0]; - }); - - comment.extendedRange = [comment.range[0], comment.range[1]]; - - if (target !== tokens.length) { - comment.extendedRange[1] = tokens[target].range[0]; - } - - target -= 1; - if (target >= 0) { - comment.extendedRange[0] = tokens[target].range[1]; - } - - return comment; - } - - function attachComments(tree, providedComments, tokens) { - // At first, we should calculate extended comment ranges. - var comments = [], comment, len, i, cursor; - - if (!tree.range) { - throw new Error('attachComments needs range information'); - } - - // tokens array is empty, we attach comments to tree as 'leadingComments' - if (!tokens.length) { - if (providedComments.length) { - for (i = 0, len = providedComments.length; i < len; i += 1) { - comment = deepCopy(providedComments[i]); - comment.extendedRange = [0, tree.range[0]]; - comments.push(comment); - } - tree.leadingComments = comments; - } - return tree; - } - - for (i = 0, len = providedComments.length; i < len; i += 1) { - comments.push(extendCommentRange(deepCopy(providedComments[i]), tokens)); - } - - // This is based on John Freeman's implementation. - cursor = 0; - traverse(tree, { - enter: function (node) { - var comment; - - while (cursor < comments.length) { - comment = comments[cursor]; - if (comment.extendedRange[1] > node.range[0]) { - break; - } - - if (comment.extendedRange[1] === node.range[0]) { - if (!node.leadingComments) { - node.leadingComments = []; - } - node.leadingComments.push(comment); - comments.splice(cursor, 1); - } else { - cursor += 1; - } - } - - // already out of owned node - if (cursor === comments.length) { - return VisitorOption.Break; - } - - if (comments[cursor].extendedRange[0] > node.range[1]) { - return VisitorOption.Skip; - } - } - }); - - cursor = 0; - traverse(tree, { - leave: function (node) { - var comment; - - while (cursor < comments.length) { - comment = comments[cursor]; - if (node.range[1] < comment.extendedRange[0]) { - break; - } - - if (node.range[1] === comment.extendedRange[0]) { - if (!node.trailingComments) { - node.trailingComments = []; - } - node.trailingComments.push(comment); - comments.splice(cursor, 1); - } else { - cursor += 1; - } - } - - // already out of owned node - if (cursor === comments.length) { - return VisitorOption.Break; - } - - if (comments[cursor].extendedRange[0] > node.range[1]) { - return VisitorOption.Skip; - } - } - }); - - return tree; - } - - exports.version = '1.8.1-dev'; - exports.Syntax = Syntax; - exports.traverse = traverse; - exports.replace = replace; - exports.attachComments = attachComments; - exports.VisitorKeys = VisitorKeys; - exports.VisitorOption = VisitorOption; - exports.Controller = Controller; - exports.cloneEnvironment = function () { return clone({}); }; - - return exports; -})); -/* vim: set sw=4 ts=4 et tw=80 : */ diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/gulpfile.js b/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/gulpfile.js deleted file mode 100644 index 8772bbc..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/gulpfile.js +++ /dev/null @@ -1,70 +0,0 @@ -/* - Copyright (C) 2014 Yusuke Suzuki - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -'use strict'; - -var gulp = require('gulp'), - git = require('gulp-git'), - bump = require('gulp-bump'), - filter = require('gulp-filter'), - tagVersion = require('gulp-tag-version'); - -var TEST = [ 'test/*.js' ]; -var POWERED = [ 'powered-test/*.js' ]; -var SOURCE = [ 'src/**/*.js' ]; - -/** - * Bumping version number and tagging the repository with it. - * Please read http://semver.org/ - * - * You can use the commands - * - * gulp patch # makes v0.1.0 -> v0.1.1 - * gulp feature # makes v0.1.1 -> v0.2.0 - * gulp release # makes v0.2.1 -> v1.0.0 - * - * To bump the version numbers accordingly after you did a patch, - * introduced a feature or made a backwards-incompatible release. - */ - -function inc(importance) { - // get all the files to bump version in - return gulp.src(['./package.json']) - // bump the version number in those files - .pipe(bump({type: importance})) - // save it back to filesystem - .pipe(gulp.dest('./')) - // commit the changed version number - .pipe(git.commit('Bumps package version')) - // read only one file to get the version number - .pipe(filter('package.json')) - // **tag it in the repository** - .pipe(tagVersion({ - prefix: '' - })); -} - -gulp.task('patch', [ ], function () { return inc('patch'); }) -gulp.task('minor', [ ], function () { return inc('minor'); }) -gulp.task('major', [ ], function () { return inc('major'); }) diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/package.json deleted file mode 100644 index bb9eca4..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/estraverse/package.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "name": "estraverse", - "description": "ECMAScript JS AST traversal functions", - "homepage": "https://github.com/estools/estraverse", - "main": "estraverse.js", - "version": "1.9.3", - "engines": { - "node": ">=0.10.0" - }, - "maintainers": [ - { - "name": "constellation", - "email": "utatane.tea@gmail.com" - } - ], - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/estools/estraverse.git" - }, - "devDependencies": { - "chai": "^2.1.1", - "coffee-script": "^1.8.0", - "gulp": "^3.8.10", - "gulp-bump": "^0.2.2", - "gulp-filter": "^2.0.0", - "gulp-git": "^1.0.1", - "gulp-tag-version": "^1.2.1", - "jshint": "^2.5.6", - "mocha": "^2.1.0" - }, - "licenses": [ - { - "type": "BSD", - "url": "http://github.com/estools/estraverse/raw/master/LICENSE.BSD" - } - ], - "scripts": { - "test": "npm run-script lint && npm run-script unit-test", - "lint": "jshint estraverse.js", - "unit-test": "mocha --compilers coffee:coffee-script/register" - }, - "gitHead": "9c249de6b2ea08655d3c68bfc30b5d7d81dc8703", - "bugs": { - "url": "https://github.com/estools/estraverse/issues" - }, - "_id": "estraverse@1.9.3", - "_shasum": "af67f2dc922582415950926091a4005d29c9bb44", - "_from": "estraverse@>=1.9.1 <2.0.0", - "_npmVersion": "1.4.28", - "_npmUser": { - "name": "constellation", - "email": "utatane.tea@gmail.com" - }, - "dist": { - "shasum": "af67f2dc922582415950926091a4005d29c9bb44", - "tarball": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz" - }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/LICENSE.BSD b/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/LICENSE.BSD deleted file mode 100644 index 3e580c3..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/LICENSE.BSD +++ /dev/null @@ -1,19 +0,0 @@ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/README.md b/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/README.md deleted file mode 100644 index 610d8bd..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/README.md +++ /dev/null @@ -1,169 +0,0 @@ -### esutils [![Build Status](https://secure.travis-ci.org/estools/esutils.svg)](http://travis-ci.org/estools/esutils) -esutils ([esutils](http://github.com/estools/esutils)) is -utility box for ECMAScript language tools. - -### API - -### ast - -#### ast.isExpression(node) - -Returns true if `node` is an Expression as defined in ECMA262 edition 5.1 section -[11](https://es5.github.io/#x11). - -#### ast.isStatement(node) - -Returns true if `node` is a Statement as defined in ECMA262 edition 5.1 section -[12](https://es5.github.io/#x12). - -#### ast.isIterationStatement(node) - -Returns true if `node` is an IterationStatement as defined in ECMA262 edition -5.1 section [12.6](https://es5.github.io/#x12.6). - -#### ast.isSourceElement(node) - -Returns true if `node` is a SourceElement as defined in ECMA262 edition 5.1 -section [14](https://es5.github.io/#x14). - -#### ast.trailingStatement(node) - -Returns `Statement?` if `node` has trailing `Statement`. -```js -if (cond) - consequent; -``` -When taking this `IfStatement`, returns `consequent;` statement. - -#### ast.isProblematicIfStatement(node) - -Returns true if `node` is a problematic IfStatement. If `node` is a problematic `IfStatement`, `node` cannot be represented as an one on one JavaScript code. -```js -{ - type: 'IfStatement', - consequent: { - type: 'WithStatement', - body: { - type: 'IfStatement', - consequent: {type: 'EmptyStatement'} - } - }, - alternate: {type: 'EmptyStatement'} -} -``` -The above node cannot be represented as a JavaScript code, since the top level `else` alternate belongs to an inner `IfStatement`. - - -### code - -#### code.isDecimalDigit(code) - -Return true if provided code is decimal digit. - -#### code.isHexDigit(code) - -Return true if provided code is hexadecimal digit. - -#### code.isOctalDigit(code) - -Return true if provided code is octal digit. - -#### code.isWhiteSpace(code) - -Return true if provided code is white space. White space characters are formally defined in ECMA262. - -#### code.isLineTerminator(code) - -Return true if provided code is line terminator. Line terminator characters are formally defined in ECMA262. - -#### code.isIdentifierStart(code) - -Return true if provided code can be the first character of ECMA262 Identifier. They are formally defined in ECMA262. - -#### code.isIdentifierPart(code) - -Return true if provided code can be the trailing character of ECMA262 Identifier. They are formally defined in ECMA262. - -### keyword - -#### keyword.isKeywordES5(id, strict) - -Returns `true` if provided identifier string is a Keyword or Future Reserved Word -in ECMA262 edition 5.1. They are formally defined in ECMA262 sections -[7.6.1.1](http://es5.github.io/#x7.6.1.1) and [7.6.1.2](http://es5.github.io/#x7.6.1.2), -respectively. If the `strict` flag is truthy, this function additionally checks whether -`id` is a Keyword or Future Reserved Word under strict mode. - -#### keyword.isKeywordES6(id, strict) - -Returns `true` if provided identifier string is a Keyword or Future Reserved Word -in ECMA262 edition 6. They are formally defined in ECMA262 sections -[11.6.2.1](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-keywords) and -[11.6.2.2](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-future-reserved-words), -respectively. If the `strict` flag is truthy, this function additionally checks whether -`id` is a Keyword or Future Reserved Word under strict mode. - -#### keyword.isReservedWordES5(id, strict) - -Returns `true` if provided identifier string is a Reserved Word in ECMA262 edition 5.1. -They are formally defined in ECMA262 section [7.6.1](http://es5.github.io/#x7.6.1). -If the `strict` flag is truthy, this function additionally checks whether `id` -is a Reserved Word under strict mode. - -#### keyword.isReservedWordES6(id, strict) - -Returns `true` if provided identifier string is a Reserved Word in ECMA262 edition 6. -They are formally defined in ECMA262 section [11.6.2](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-reserved-words). -If the `strict` flag is truthy, this function additionally checks whether `id` -is a Reserved Word under strict mode. - -#### keyword.isRestrictedWord(id) - -Returns `true` if provided identifier string is one of `eval` or `arguments`. -They are restricted in strict mode code throughout ECMA262 edition 5.1 and -in ECMA262 edition 6 section [12.1.1](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-identifiers-static-semantics-early-errors). - -#### keyword.isIdentifierName(id) - -Return true if provided identifier string is an IdentifierName as specified in -ECMA262 edition 5.1 section [7.6](https://es5.github.io/#x7.6). - -#### keyword.isIdentifierES5(id, strict) - -Return true if provided identifier string is an Identifier as specified in -ECMA262 edition 5.1 section [7.6](https://es5.github.io/#x7.6). If the `strict` -flag is truthy, this function additionally checks whether `id` is an Identifier -under strict mode. - -#### keyword.isIdentifierES6(id, strict) - -Return true if provided identifier string is an Identifier as specified in -ECMA262 edition 6 section [12.1](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-identifiers). -If the `strict` flag is truthy, this function additionally checks whether `id` -is an Identifier under strict mode. - -### License - -Copyright (C) 2013 [Yusuke Suzuki](http://github.com/Constellation) - (twitter: [@Constellation](http://twitter.com/Constellation)) and other contributors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/lib/ast.js b/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/lib/ast.js deleted file mode 100644 index 8faadae..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/lib/ast.js +++ /dev/null @@ -1,144 +0,0 @@ -/* - Copyright (C) 2013 Yusuke Suzuki - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -(function () { - 'use strict'; - - function isExpression(node) { - if (node == null) { return false; } - switch (node.type) { - case 'ArrayExpression': - case 'AssignmentExpression': - case 'BinaryExpression': - case 'CallExpression': - case 'ConditionalExpression': - case 'FunctionExpression': - case 'Identifier': - case 'Literal': - case 'LogicalExpression': - case 'MemberExpression': - case 'NewExpression': - case 'ObjectExpression': - case 'SequenceExpression': - case 'ThisExpression': - case 'UnaryExpression': - case 'UpdateExpression': - return true; - } - return false; - } - - function isIterationStatement(node) { - if (node == null) { return false; } - switch (node.type) { - case 'DoWhileStatement': - case 'ForInStatement': - case 'ForStatement': - case 'WhileStatement': - return true; - } - return false; - } - - function isStatement(node) { - if (node == null) { return false; } - switch (node.type) { - case 'BlockStatement': - case 'BreakStatement': - case 'ContinueStatement': - case 'DebuggerStatement': - case 'DoWhileStatement': - case 'EmptyStatement': - case 'ExpressionStatement': - case 'ForInStatement': - case 'ForStatement': - case 'IfStatement': - case 'LabeledStatement': - case 'ReturnStatement': - case 'SwitchStatement': - case 'ThrowStatement': - case 'TryStatement': - case 'VariableDeclaration': - case 'WhileStatement': - case 'WithStatement': - return true; - } - return false; - } - - function isSourceElement(node) { - return isStatement(node) || node != null && node.type === 'FunctionDeclaration'; - } - - function trailingStatement(node) { - switch (node.type) { - case 'IfStatement': - if (node.alternate != null) { - return node.alternate; - } - return node.consequent; - - case 'LabeledStatement': - case 'ForStatement': - case 'ForInStatement': - case 'WhileStatement': - case 'WithStatement': - return node.body; - } - return null; - } - - function isProblematicIfStatement(node) { - var current; - - if (node.type !== 'IfStatement') { - return false; - } - if (node.alternate == null) { - return false; - } - current = node.consequent; - do { - if (current.type === 'IfStatement') { - if (current.alternate == null) { - return true; - } - } - current = trailingStatement(current); - } while (current); - - return false; - } - - module.exports = { - isExpression: isExpression, - isStatement: isStatement, - isIterationStatement: isIterationStatement, - isSourceElement: isSourceElement, - isProblematicIfStatement: isProblematicIfStatement, - - trailingStatement: trailingStatement - }; -}()); -/* vim: set sw=4 ts=4 et tw=80 : */ diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/lib/code.js b/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/lib/code.js deleted file mode 100644 index 2a7c19d..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/lib/code.js +++ /dev/null @@ -1,135 +0,0 @@ -/* - Copyright (C) 2013-2014 Yusuke Suzuki - Copyright (C) 2014 Ivan Nikulin - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -(function () { - 'use strict'; - - var ES6Regex, ES5Regex, NON_ASCII_WHITESPACES, IDENTIFIER_START, IDENTIFIER_PART, ch; - - // See `tools/generate-identifier-regex.js`. - ES5Regex = { - // ECMAScript 5.1/Unicode v7.0.0 NonAsciiIdentifierStart: - NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B2\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/, - // ECMAScript 5.1/Unicode v7.0.0 NonAsciiIdentifierPart: - NonAsciiIdentifierPart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B2\u08E4-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA69D\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2D\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/ - }; - - ES6Regex = { - // ECMAScript 6/Unicode v7.0.0 NonAsciiIdentifierStart: - NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B2\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDE00-\uDE11\uDE13-\uDE2B\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDE00-\uDE2F\uDE44\uDE80-\uDEAA]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF98]|\uD809[\uDC00-\uDC6E]|[\uD80C\uD840-\uD868\uD86A-\uD86C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]/, - // ECMAScript 6/Unicode v7.0.0 NonAsciiIdentifierPart: - NonAsciiIdentifierPart: /[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B2\u08E4-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA69D\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2D\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDD0-\uDDDA\uDE00-\uDE11\uDE13-\uDE37\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF01-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF98]|\uD809[\uDC00-\uDC6E]|[\uD80C\uD840-\uD868\uD86A-\uD86C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/ - }; - - function isDecimalDigit(ch) { - return 0x30 <= ch && ch <= 0x39; // 0..9 - } - - function isHexDigit(ch) { - return 0x30 <= ch && ch <= 0x39 || // 0..9 - 0x61 <= ch && ch <= 0x66 || // a..f - 0x41 <= ch && ch <= 0x46; // A..F - } - - function isOctalDigit(ch) { - return ch >= 0x30 && ch <= 0x37; // 0..7 - } - - // 7.2 White Space - - NON_ASCII_WHITESPACES = [ - 0x1680, 0x180E, - 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, - 0x202F, 0x205F, - 0x3000, - 0xFEFF - ]; - - function isWhiteSpace(ch) { - return ch === 0x20 || ch === 0x09 || ch === 0x0B || ch === 0x0C || ch === 0xA0 || - ch >= 0x1680 && NON_ASCII_WHITESPACES.indexOf(ch) >= 0; - } - - // 7.3 Line Terminators - - function isLineTerminator(ch) { - return ch === 0x0A || ch === 0x0D || ch === 0x2028 || ch === 0x2029; - } - - // 7.6 Identifier Names and Identifiers - - function fromCodePoint(cp) { - if (cp <= 0xFFFF) { return String.fromCharCode(cp); } - var cu1 = String.fromCharCode(Math.floor((cp - 0x10000) / 0x400) + 0xD800); - var cu2 = String.fromCharCode(((cp - 0x10000) % 0x400) + 0xDC00); - return cu1 + cu2; - } - - IDENTIFIER_START = new Array(0x80); - for(ch = 0; ch < 0x80; ++ch) { - IDENTIFIER_START[ch] = - ch >= 0x61 && ch <= 0x7A || // a..z - ch >= 0x41 && ch <= 0x5A || // A..Z - ch === 0x24 || ch === 0x5F; // $ (dollar) and _ (underscore) - } - - IDENTIFIER_PART = new Array(0x80); - for(ch = 0; ch < 0x80; ++ch) { - IDENTIFIER_PART[ch] = - ch >= 0x61 && ch <= 0x7A || // a..z - ch >= 0x41 && ch <= 0x5A || // A..Z - ch >= 0x30 && ch <= 0x39 || // 0..9 - ch === 0x24 || ch === 0x5F; // $ (dollar) and _ (underscore) - } - - function isIdentifierStartES5(ch) { - return ch < 0x80 ? IDENTIFIER_START[ch] : ES5Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch)); - } - - function isIdentifierPartES5(ch) { - return ch < 0x80 ? IDENTIFIER_PART[ch] : ES5Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch)); - } - - function isIdentifierStartES6(ch) { - return ch < 0x80 ? IDENTIFIER_START[ch] : ES6Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch)); - } - - function isIdentifierPartES6(ch) { - return ch < 0x80 ? IDENTIFIER_PART[ch] : ES6Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch)); - } - - module.exports = { - isDecimalDigit: isDecimalDigit, - isHexDigit: isHexDigit, - isOctalDigit: isOctalDigit, - isWhiteSpace: isWhiteSpace, - isLineTerminator: isLineTerminator, - isIdentifierStartES5: isIdentifierStartES5, - isIdentifierPartES5: isIdentifierPartES5, - isIdentifierStartES6: isIdentifierStartES6, - isIdentifierPartES6: isIdentifierPartES6 - }; -}()); -/* vim: set sw=4 ts=4 et tw=80 : */ diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/lib/keyword.js b/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/lib/keyword.js deleted file mode 100644 index 13c8c6a..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/lib/keyword.js +++ /dev/null @@ -1,165 +0,0 @@ -/* - Copyright (C) 2013 Yusuke Suzuki - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -(function () { - 'use strict'; - - var code = require('./code'); - - function isStrictModeReservedWordES6(id) { - switch (id) { - case 'implements': - case 'interface': - case 'package': - case 'private': - case 'protected': - case 'public': - case 'static': - case 'let': - return true; - default: - return false; - } - } - - function isKeywordES5(id, strict) { - // yield should not be treated as keyword under non-strict mode. - if (!strict && id === 'yield') { - return false; - } - return isKeywordES6(id, strict); - } - - function isKeywordES6(id, strict) { - if (strict && isStrictModeReservedWordES6(id)) { - return true; - } - - switch (id.length) { - case 2: - return (id === 'if') || (id === 'in') || (id === 'do'); - case 3: - return (id === 'var') || (id === 'for') || (id === 'new') || (id === 'try'); - case 4: - return (id === 'this') || (id === 'else') || (id === 'case') || - (id === 'void') || (id === 'with') || (id === 'enum'); - case 5: - return (id === 'while') || (id === 'break') || (id === 'catch') || - (id === 'throw') || (id === 'const') || (id === 'yield') || - (id === 'class') || (id === 'super'); - case 6: - return (id === 'return') || (id === 'typeof') || (id === 'delete') || - (id === 'switch') || (id === 'export') || (id === 'import'); - case 7: - return (id === 'default') || (id === 'finally') || (id === 'extends'); - case 8: - return (id === 'function') || (id === 'continue') || (id === 'debugger'); - case 10: - return (id === 'instanceof'); - default: - return false; - } - } - - function isReservedWordES5(id, strict) { - return id === 'null' || id === 'true' || id === 'false' || isKeywordES5(id, strict); - } - - function isReservedWordES6(id, strict) { - return id === 'null' || id === 'true' || id === 'false' || isKeywordES6(id, strict); - } - - function isRestrictedWord(id) { - return id === 'eval' || id === 'arguments'; - } - - function isIdentifierNameES5(id) { - var i, iz, ch; - - if (id.length === 0) { return false; } - - ch = id.charCodeAt(0); - if (!code.isIdentifierStartES5(ch)) { - return false; - } - - for (i = 1, iz = id.length; i < iz; ++i) { - ch = id.charCodeAt(i); - if (!code.isIdentifierPartES5(ch)) { - return false; - } - } - return true; - } - - function decodeUtf16(lead, trail) { - return (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000; - } - - function isIdentifierNameES6(id) { - var i, iz, ch, lowCh, check; - - if (id.length === 0) { return false; } - - check = code.isIdentifierStartES6; - for (i = 0, iz = id.length; i < iz; ++i) { - ch = id.charCodeAt(i); - if (0xD800 <= ch && ch <= 0xDBFF) { - ++i; - if (i >= iz) { return false; } - lowCh = id.charCodeAt(i); - if (!(0xDC00 <= lowCh && lowCh <= 0xDFFF)) { - return false; - } - ch = decodeUtf16(ch, lowCh); - } - if (!check(ch)) { - return false; - } - check = code.isIdentifierPartES6; - } - return true; - } - - function isIdentifierES5(id, strict) { - return isIdentifierNameES5(id) && !isReservedWordES5(id, strict); - } - - function isIdentifierES6(id, strict) { - return isIdentifierNameES6(id) && !isReservedWordES6(id, strict); - } - - module.exports = { - isKeywordES5: isKeywordES5, - isKeywordES6: isKeywordES6, - isReservedWordES5: isReservedWordES5, - isReservedWordES6: isReservedWordES6, - isRestrictedWord: isRestrictedWord, - isIdentifierNameES5: isIdentifierNameES5, - isIdentifierNameES6: isIdentifierNameES6, - isIdentifierES5: isIdentifierES5, - isIdentifierES6: isIdentifierES6 - }; -}()); -/* vim: set sw=4 ts=4 et tw=80 : */ diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/lib/utils.js b/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/lib/utils.js deleted file mode 100644 index ce18faa..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/lib/utils.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - Copyright (C) 2013 Yusuke Suzuki - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - - -(function () { - 'use strict'; - - exports.ast = require('./ast'); - exports.code = require('./code'); - exports.keyword = require('./keyword'); -}()); -/* vim: set sw=4 ts=4 et tw=80 : */ diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/package.json deleted file mode 100644 index fd1cb04..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/esutils/package.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "name": "esutils", - "description": "utility box for ECMAScript language tools", - "homepage": "https://github.com/estools/esutils", - "main": "lib/utils.js", - "version": "2.0.2", - "engines": { - "node": ">=0.10.0" - }, - "directories": { - "lib": "./lib" - }, - "files": [ - "LICENSE.BSD", - "README.md", - "lib" - ], - "maintainers": [ - { - "name": "constellation", - "email": "utatane.tea@gmail.com" - }, - { - "name": "michaelficarra", - "email": "npm@michael.ficarra.me" - } - ], - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/estools/esutils.git" - }, - "devDependencies": { - "chai": "~1.7.2", - "coffee-script": "~1.6.3", - "jshint": "2.6.3", - "mocha": "~2.2.1", - "regenerate": "~1.2.1", - "unicode-7.0.0": "^0.1.5" - }, - "licenses": [ - { - "type": "BSD", - "url": "http://github.com/estools/esutils/raw/master/LICENSE.BSD" - } - ], - "scripts": { - "test": "npm run-script lint && npm run-script unit-test", - "lint": "jshint lib/*.js", - "unit-test": "mocha --compilers coffee:coffee-script -R spec", - "generate-regex": "node tools/generate-identifier-regex.js" - }, - "gitHead": "3ffd1c403f3f29db9e8a9574b1895682e57b6a7f", - "bugs": { - "url": "https://github.com/estools/esutils/issues" - }, - "_id": "esutils@2.0.2", - "_shasum": "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b", - "_from": "esutils@>=2.0.2 <3.0.0", - "_npmVersion": "2.5.1", - "_nodeVersion": "0.12.0", - "_npmUser": { - "name": "michaelficarra", - "email": "npm@michael.ficarra.me" - }, - "dist": { - "shasum": "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b", - "tarball": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz" - }, - "_resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/CHANGELOG.md b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/CHANGELOG.md deleted file mode 100644 index 050df2a..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/CHANGELOG.md +++ /dev/null @@ -1,48 +0,0 @@ -# 0.8.1 -- update `fast-levenshtein` dependency - -# 0.8.0 -- update `levn` dependency - supplying a float value to an option with type `Int` now throws an error, instead of silently converting to an `Int` - -# 0.7.1 -- fix bug with use of `defaults` and `concatRepeatedArrays` or `mergeRepeatedObjects` - -# 0.7.0 -- added `concatrepeatedarrays` option: `oneValuePerFlag`, only allows one array value per flag -- added `typeAliases` option -- added `parseArgv` which takes an array and parses with the first two items sliced off -- changed enum help style -- bug fixes (#12) -- use of `concatRepeatedArrays` and `mergeRepeatedObjects` at the top level is deprecated, use it as either a per-option option, or set them in the `defaults` object to set them for all objects - -# 0.6.0 -- added `defaults` lib-option flag, allowing one to set default properties for all options -- added `concatRepeatedArrays` and `mergeRepeatedObjects` as option level properties, allowing you to turn this feature on for specific options only - -# 0.5.0 -- `Boolean` flags with `default: 'true'`, and no short aliases, will by default show the `--no` version in help - -# 0.4.0 -- add `mergeRepeatedObjects` setting - -# 0.3.0 -- add `concatRepeatedArrays` setting -- add `overrideRequired` option setting -- use just Levenshtein string compare algo rather than Levenshtein Damerau to due dependency license issue - -# 0.2.2 -- bug fixes - -# 0.2.1 -- improved interpolation -- added changelog - -# 0.2.0 -- add dependency checks to options - added `dependsOn` as an option property -- add interpolation for `prepend` and `append` text with new `generateHelp` option, `interpolate` - -# 0.1.1 -- update dependencies - -# 0.1.0 -- initial release diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/LICENSE b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/LICENSE deleted file mode 100644 index 525b118..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) George Zahariev - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/README.md b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/README.md deleted file mode 100644 index 8138fd0..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/README.md +++ /dev/null @@ -1,236 +0,0 @@ -# Optionator - - -Optionator is a JavaScript option parsing and help generation library used by [eslint](http://eslint.org), [Grasp](http://graspjs.com), [LiveScript](http://livescript.net), [esmangle](https://github.com/estools/esmangle), [escodegen](https://github.com/estools/escodegen), and [many more](https://www.npmjs.com/browse/depended/optionator). - -For an online demo, check out the [Grasp online demo](http://www.graspjs.com/#demo). - -[About](#about) · [Usage](#usage) · [Settings Format](#settings-format) · [Argument Format](#argument-format) - -## Why? -The problem with other option parsers, such as `yargs` or `minimist`, is they just accept all input, valid or not. -With Optionator, if you mistype an option, it will give you an error (with a suggestion for what you meant). -If you give the wrong type of argument for an option, it will give you an error rather than supplying the wrong input to your application. - - $ cmd --halp - Invalid option '--halp' - perhaps you meant '--help'? - - $ cmd --count str - Invalid value for option 'count' - expected type Int, received value: str. - -Other helpful features include reformatting the help text based on the size of the console, so that it fits even if the console is narrow, and accepting not just an array (eg. process.argv), but a string or object as well, making things like testing much easier. - -## About -Optionator uses [type-check](https://github.com/gkz/type-check) and [levn](https://github.com/gkz/levn) behind the scenes to cast and verify input according the specified types. - -MIT license. Version 0.8.1 - - npm install optionator - -For updates on Optionator, [follow me on twitter](https://twitter.com/gkzahariev). - -## Usage -`require('optionator');` returns a function. It has one property, `VERSION`, the current version of the library as a string. This function is called with an object specifying your options and other information, see the [settings format section](#settings-format). This in turn returns an object with three properties, `parse`, `parseArgv`, `generateHelp`, and `generateHelpForOption`, which are all functions. - -```js -var optionator = require('optionator')({ - prepend: 'Usage: cmd [options]', - append: 'Version 1.0.0', - options: [{ - option: 'help', - alias: 'h', - type: 'Boolean', - description: 'displays help' - }, { - option: 'count', - alias: 'c', - type: 'Int', - description: 'number of things', - example: 'cmd --count 2' - }] -}); - -var options = optionator.parseArgv(process.argv); -if (options.help) { - console.log(optionator.generateHelp()); -} -... -``` - -### parse(input, parseOptions) -`parse` processes the `input` according to your settings, and returns an object with the results. - -##### arguments -* input - `[String] | Object | String` - the input you wish to parse -* parseOptions - `{slice: Int}` - all options optional - - `slice` specifies how much to slice away from the beginning if the input is an array or string - by default `0` for string, `2` for array (works with `process.argv`) - -##### returns -`Object` - the parsed options, each key is a camelCase version of the option name (specified in dash-case), and each value is the processed value for that option. Positional values are in an array under the `_` key. - -##### example -```js -parse(['node', 't.js', '--count', '2', 'positional']); // {count: 2, _: ['positional']} -parse('--count 2 positional'); // {count: 2, _: ['positional']} -parse({count: 2, _:['positional']}); // {count: 2, _: ['positional']} -``` - -### parseArgv(input) -`parseArgv` works exactly like `parse`, but only for array input and it slices off the first two elements. - -##### arguments -* input - `[String]` - the input you wish to parse - -##### returns -See "returns" section in "parse" - -##### example -```js -parseArgv(process.argv); -``` - -### generateHelp(helpOptions) -`generateHelp` produces help text based on your settings. - -##### arguments -* helpOptions - `{showHidden: Boolean, interpolate: Object}` - all options optional - - `showHidden` specifies whether to show options with `hidden: true` specified, by default it is `false` - - `interpolate` specify data to be interpolated in `prepend` and `append` text, `{{key}}` is the format - eg. `generateHelp({interpolate:{version: '0.4.2'}})`, will change this `append` text: `Version {{version}}` to `Version 0.4.2` - -##### returns -`String` - the generated help text - -##### example -```js -generateHelp(); /* -"Usage: cmd [options] positional - - -h, --help displays help - -c, --count Int number of things - -Version 1.0.0 -"*/ -``` - -### generateHelpForOption(optionName) -`generateHelpForOption` produces expanded help text for the specified with `optionName` option. If an `example` was specified for the option, it will be displayed, and if a `longDescription` was specified, it will display that instead of the `description`. - -##### arguments -* optionName - `String` - the name of the option to display - -##### returns -`String` - the generated help text for the option - -##### example -```js -generateHelpForOption('count'); /* -"-c, --count Int -description: number of things -example: cmd --count 2 -"*/ -``` - -## Settings Format -When your `require('optionator')`, you get a function that takes in a settings object. This object has the type: - - { - prepend: String, - append: String, - options: [{heading: String} | { - option: String, - alias: [String] | String, - type: String, - enum: [String], - default: String, - restPositional: Boolean, - required: Boolean, - overrideRequired: Boolean, - dependsOn: [String] | String, - concatRepeatedArrays: Boolean | (Boolean, Object), - mergeRepeatedObjects: Boolean, - description: String, - longDescription: String, - example: [String] | String - }], - helpStyle: { - aliasSeparator: String, - typeSeparator: String, - descriptionSeparator: String, - initialIndent: Int, - secondaryIndent: Int, - maxPadFactor: Number - }, - mutuallyExclusive: [[String | [String]]], - concatRepeatedArrays: Boolean | (Boolean, Object), // deprecated, set in defaults object - mergeRepeatedObjects: Boolean, // deprecated, set in defaults object - positionalAnywhere: Boolean, - typeAliases: Object, - defaults: Object - } - -All of the properties are optional (the `Maybe` has been excluded for brevities sake), except for having either `heading: String` or `option: String` in each object in the `options` array. - -### Top Level Properties -* `prepend` is an optional string to be placed before the options in the help text -* `append` is an optional string to be placed after the options in the help text -* `options` is a required array specifying your options and headings, the options and headings will be displayed in the order specified -* `helpStyle` is an optional object which enables you to change the default appearance of some aspects of the help text -* `mutuallyExclusive` is an optional array of arrays of either strings or arrays of strings. The top level array is a list of rules, each rule is a list of elements - each element can be either a string (the name of an option), or a list of strings (a group of option names) - there will be an error if more than one element is present -* `concatRepeatedArrays` see description under the "Option Properties" heading - use at the top level is deprecated, if you want to set this for all options, use the `defaults` property -* `mergeRepeatedObjects` see description under the "Option Properties" heading - use at the top level is deprecated, if you want to set this for all options, use the `defaults` property -* `positionalAnywhere` is an optional boolean (defaults to `true`) - when `true` it allows positional arguments anywhere, when `false`, all arguments after the first positional one are taken to be positional as well, even if they look like a flag. For example, with `positionalAnywhere: false`, the arguments `--flag --boom 12 --crack` would have two positional arguments: `12` and `--crack` -* `typeAliases` is an optional object, it allows you to set aliases for types, eg. `{Path: 'String'}` would allow you to use the type `Path` as an alias for the type `String` -* `defaults` is an optional object following the option properties format, which specifies default values for all options. A default will be overridden if manually set. For example, you can do `default: { type: "String" }` to set the default type of all options to `String`, and then override that default in an individual option by setting the `type` property - -#### Heading Properties -* `heading` a required string, the name of the heading - -#### Option Properties -* `option` the required name of the option - use dash-case, without the leading dashes -* `alias` is an optional string or array of strings which specify any aliases for the option -* `type` is a required string in the [type check](https://github.com/gkz/type-check) [format](https://github.com/gkz/type-check#type-format), this will be used to cast the inputted value and validate it -* `enum` is an optional array of strings, each string will be parsed by [levn](https://github.com/gkz/levn) - the argument value must be one of the resulting values - each potential value must validate against the specified `type` -* `default` is a optional string, which will be parsed by [levn](https://github.com/gkz/levn) and used as the default value if none is set - the value must validate against the specified `type` -* `restPositional` is an optional boolean - if set to `true`, everything after the option will be taken to be a positional argument, even if it looks like a named argument -* `required` is an optional boolean - if set to `true`, the option parsing will fail if the option is not defined -* `overrideRequired` is a optional boolean - if set to `true` and the option is used, and there is another option which is required but not set, it will override the need for the required option and there will be no error - this is useful if you have required options and want to use `--help` or `--version` flags -* `concatRepeatedArrays` is an optional boolean or tuple with boolean and options object (defaults to `false`) - when set to `true` and an option contains an array value and is repeated, the subsequent values for the flag will be appended rather than overwriting the original value - eg. option `g` of type `[String]`: `-g a -g b -g c,d` will result in `['a','b','c','d']` - - You can supply an options object by giving the following value: `[true, options]`. The one currently supported option is `oneValuePerFlag`, this only allows one array value per flag. This is useful if your potential values contain a comma. -* `mergeRepeatedObjects` is an optional boolean (defaults to `false`) - when set to `true` and an option contains an object value and is repeated, the subsequent values for the flag will be merged rather than overwriting the original value - eg. option `g` of type `Object`: `-g a:1 -g b:2 -g c:3,d:4` will result in `{a: 1, b: 2, c: 3, d: 4}` -* `dependsOn` is an optional string or array of strings - if simply a string (the name of another option), it will make sure that that other option is set, if an array of strings, depending on whether `'and'` or `'or'` is first, it will either check whether all (`['and', 'option-a', 'option-b']`), or at least one (`['or', 'option-a', 'option-b']`) other options are set -* `description` is an optional string, which will be displayed next to the option in the help text -* `longDescription` is an optional string, it will be displayed instead of the `description` when `generateHelpForOption` is used -* `example` is an optional string or array of strings with example(s) for the option - these will be displayed when `generateHelpForOption` is used - -#### Help Style Properties -* `aliasSeparator` is an optional string, separates multiple names from each other - default: ' ,' -* `typeSeparator` is an optional string, separates the type from the names - default: ' ' -* `descriptionSeparator` is an optional string , separates the description from the padded name and type - default: ' ' -* `initialIndent` is an optional int - the amount of indent for options - default: 2 -* `secondaryIndent` is an optional int - the amount of indent if wrapped fully (in addition to the initial indent) - default: 4 -* `maxPadFactor` is an optional number - affects the default level of padding for the names/type, it is multiplied by the average of the length of the names/type - default: 1.5 - -## Argument Format -At the highest level there are two types of arguments: named, and positional. - -Name arguments of any length are prefixed with `--` (eg. `--go`), and those of one character may be prefixed with either `--` or `-` (eg. `-g`). - -There are two types of named arguments: boolean flags (eg. `--problemo`, `-p`) which take no value and result in a `true` if they are present, the falsey `undefined` if they are not present, or `false` if present and explicitly prefixed with `no` (eg. `--no-problemo`). Named arguments with values (eg. `--tseries 800`, `-t 800`) are the other type. If the option has a type `Boolean` it will automatically be made into a boolean flag. Any other type results in a named argument that takes a value. - -For more information about how to properly set types to get the value you want, take a look at the [type check](https://github.com/gkz/type-check) and [levn](https://github.com/gkz/levn) pages. - -You can group single character arguments that use a single `-`, however all except the last must be boolean flags (which take no value). The last may be a boolean flag, or an argument which takes a value - eg. `-ba 2` is equivalent to `-b -a 2`. - -Positional arguments are all those values which do not fall under the above - they can be anywhere, not just at the end. For example, in `cmd -b one -a 2 two` where `b` is a boolean flag, and `a` has the type `Number`, there are two positional arguments, `one` and `two`. - -Everything after an `--` is positional, even if it looks like a named argument. - -You may optionally use `=` to separate option names from values, for example: `--count=2`. - -If you specify the option `NUM`, then any argument using a single `-` followed by a number will be valid and will set the value of `NUM`. Eg. `-2` will be parsed into `NUM: 2`. - -If duplicate named arguments are present, the last one will be taken. - -## Technical About -`optionator` is written in [LiveScript](http://livescript.net/) - a language that compiles to JavaScript. It uses [levn](https://github.com/gkz/levn) to cast arguments to their specified type, and uses [type-check](https://github.com/gkz/type-check) to validate values. It also uses the [prelude.ls](http://preludels.com/) library. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/lib/coerce.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/lib/coerce.js deleted file mode 100644 index 6fb60aa..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/lib/coerce.js +++ /dev/null @@ -1,367 +0,0 @@ -// Generated by LiveScript 1.2.0 -(function(){ - var ref$, id, reject, parsedTypeCheck, types, tokenRegex, toString$ = {}.toString; - ref$ = require('prelude-ls'), id = ref$.id, reject = ref$.reject; - parsedTypeCheck = require('type-check').parsedTypeCheck; - types = { - '*': function(it){ - switch (toString$.call(it).slice(8, -1)) { - case 'Array': - return coerceType(it, { - type: 'Array' - }); - case 'Object': - return coerceType(it, { - type: 'Object' - }); - default: - return { - type: 'Just', - value: coerceTypes(it, [ - { - type: 'Undefined' - }, { - type: 'Null' - }, { - type: 'Boolean' - }, { - type: 'Number' - }, { - type: 'Date' - }, { - type: 'RegExp' - }, { - type: 'Array' - }, { - type: 'Object' - }, { - type: 'String' - } - ], { - explicit: true - }) - }; - } - }, - Undefined: function(it){ - if (it === 'undefined') { - return { - type: 'Just', - value: void 8 - }; - } else { - return { - type: 'Nothing' - }; - } - }, - Null: function(it){ - if (it === 'null') { - return { - type: 'Just', - value: null - }; - } else { - return { - type: 'Nothing' - }; - } - }, - Boolean: function(it){ - if (it === 'true') { - return { - type: 'Just', - value: true - }; - } else if (it === 'false') { - return { - type: 'Just', - value: false - }; - } else { - return { - type: 'Nothing' - }; - } - }, - Number: function(it){ - return { - type: 'Just', - value: +it - }; - }, - Int: function(it){ - return { - type: 'Just', - value: parseInt(it) - }; - }, - Float: function(it){ - return { - type: 'Just', - value: parseFloat(it) - }; - }, - Date: function(value, options){ - var that; - if (that = /^\#(.*)\#$/.exec(value)) { - return { - type: 'Just', - value: new Date(+that[1] || that[1]) - }; - } else if (options.explicit) { - return { - type: 'Nothing' - }; - } else { - return { - type: 'Just', - value: new Date(+value || value) - }; - } - }, - RegExp: function(value, options){ - var that; - if (that = /^\/(.*)\/([gimy]*)$/.exec(value)) { - return { - type: 'Just', - value: new RegExp(that[1], that[2]) - }; - } else if (options.explicit) { - return { - type: 'Nothing' - }; - } else { - return { - type: 'Just', - value: new RegExp(value) - }; - } - }, - Array: function(it){ - return coerceArray(it, { - of: [{ - type: '*' - }] - }); - }, - Object: function(it){ - return coerceFields(it, { - of: {} - }); - }, - String: function(it){ - var that; - if (that = it.match(/^'(.*)'$/)) { - return { - type: 'Just', - value: that[1] - }; - } else if (that = it.match(/^"(.*)"$/)) { - return { - type: 'Just', - value: that[1] - }; - } else { - return { - type: 'Just', - value: it - }; - } - } - }; - function coerceArray(node, type){ - var typeOf, element; - if (toString$.call(node).slice(8, -1) !== 'Array') { - return { - type: 'Nothing' - }; - } - typeOf = type.of; - return { - type: 'Just', - value: (function(){ - var i$, ref$, len$, results$ = []; - for (i$ = 0, len$ = (ref$ = node).length; i$ < len$; ++i$) { - element = ref$[i$]; - results$.push(coerceTypes(element, typeOf)); - } - return results$; - }()) - }; - } - function coerceTuple(node, type){ - var i, types; - if (toString$.call(node).slice(8, -1) !== 'Array') { - return { - type: 'Nothing' - }; - } - return { - type: 'Just', - value: (function(){ - var i$, ref$, len$, results$ = []; - for (i$ = 0, len$ = (ref$ = type.of).length; i$ < len$; ++i$) { - i = i$; - types = ref$[i$]; - results$.push(coerceTypes(node[i], types)); - } - return results$; - }()) - }; - } - function coerceFields(node, type){ - var typeOf, key, value; - if (toString$.call(node).slice(8, -1) !== 'Object') { - return { - type: 'Nothing' - }; - } - typeOf = type.of; - return { - type: 'Just', - value: (function(){ - var ref$, results$ = {}; - for (key in ref$ = node) { - value = ref$[key]; - results$[key] = coerceTypes(value, typeOf[key] || [{ - type: '*' - }]); - } - return results$; - }()) - }; - } - function coerceType(node, typeObj, options){ - var type, structure, coerceFunc; - type = typeObj.type, structure = typeObj.structure; - if (type) { - coerceFunc = types[type]; - return coerceFunc(node, options); - } else { - switch (structure) { - case 'array': - return coerceArray(node, typeObj); - case 'tuple': - return coerceTuple(node, typeObj); - case 'fields': - return coerceFields(node, typeObj); - } - } - } - function coerceTypes(node, types, options){ - var i$, len$, type, ref$, valueType, value; - options == null && (options = {}); - for (i$ = 0, len$ = types.length; i$ < len$; ++i$) { - type = types[i$]; - ref$ = coerceType(node, type, options), valueType = ref$.type, value = ref$.value; - if (valueType === 'Nothing') { - continue; - } - if (parsedTypeCheck([type], value)) { - return value; - } - } - throw new Error("Value '" + node + "' does not type check against " + JSON.stringify(types) + "."); - } - function consumeOp(tokens, op){ - if (tokens[0] === op) { - return tokens.shift(); - } else { - throw new Error("Expected '" + op + "', but got " + tokens[0] + " instead."); - } - } - function maybeConsumeOp(tokens, op){ - if (tokens[0] === op) { - return tokens.shift(); - } - } - function consumeList(tokens, delimiters, hasDelimiters){ - var result; - if (hasDelimiters) { - consumeOp(tokens, delimiters[0]); - } - result = []; - while (tokens.length && tokens[0] !== delimiters[1]) { - result.push(consumeElement(tokens)); - maybeConsumeOp(tokens, ','); - } - if (hasDelimiters) { - consumeOp(tokens, delimiters[1]); - } - return result; - } - function consumeArray(tokens, hasDelimiters){ - return consumeList(tokens, ['[', ']'], hasDelimiters); - } - function consumeTuple(tokens, hasDelimiters){ - return consumeList(tokens, ['(', ')'], hasDelimiters); - } - function consumeFields(tokens, hasDelimiters){ - var result, key; - if (hasDelimiters) { - consumeOp(tokens, '{'); - } - result = {}; - while (tokens.length && (!hasDelimiters || tokens[0] !== '}')) { - key = tokens.shift(); - consumeOp(tokens, ':'); - result[key] = consumeElement(tokens); - maybeConsumeOp(tokens, ','); - } - if (hasDelimiters) { - consumeOp(tokens, '}'); - } - return result; - } - function consumeElement(tokens){ - switch (tokens[0]) { - case '[': - return consumeArray(tokens, true); - case '(': - return consumeTuple(tokens, true); - case '{': - return consumeFields(tokens, true); - default: - return tokens.shift(); - } - } - function consumeTopLevel(tokens, types){ - var structure, origTokens, result; - structure = types[0].structure; - if (types.length === 1 && structure) { - origTokens = tokens.slice(); - result = structure === 'array' - ? consumeArray(tokens, tokens[0] === '[') - : structure === 'tuple' - ? consumeTuple(tokens, tokens[0] === '(') - : consumeFields(tokens, tokens[0] === '{'); - if (tokens.length) { - return consumeElement(structure === 'array' - ? ['['].concat(origTokens, [']']) - : ['('].concat(origTokens, [')'])); - } else { - return result; - } - } else { - return consumeElement(tokens); - } - } - tokenRegex = /("(?:[^"]|\\")*")|('(?:[^']|\\')*')|(#.*#)|(\/(?:\\\/|[^\/])*\/[gimy]*)|([\[\]\(\)}{:,])|([-\.\$\w]+)|\s*/; - function coerce(types, string){ - var tokens, node; - tokens = reject(function(it){ - return !it || /^\s+$/.test(it); - }, string.split(tokenRegex)); - node = consumeTopLevel(tokens, types); - if (!node) { - throw new Error("Error parsing " + string); - } - return coerceTypes(node, types); - } - module.exports = coerce; - /* - function log - console.log it; it - */ -}).call(this); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/lib/help.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/lib/help.js deleted file mode 100644 index c61fff7..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/lib/help.js +++ /dev/null @@ -1,247 +0,0 @@ -// Generated by LiveScript 1.4.0 -(function(){ - var ref$, id, find, sort, min, max, map, unlines, nameToRaw, dasherize, naturalJoin, wordwrap, getPreText, setHelpStyleDefaults, generateHelpForOption, generateHelp; - ref$ = require('prelude-ls'), id = ref$.id, find = ref$.find, sort = ref$.sort, min = ref$.min, max = ref$.max, map = ref$.map, unlines = ref$.unlines; - ref$ = require('./util'), nameToRaw = ref$.nameToRaw, dasherize = ref$.dasherize, naturalJoin = ref$.naturalJoin; - wordwrap = require('wordwrap'); - getPreText = function(option, arg$, maxWidth){ - var mainName, shortNames, ref$, longNames, type, description, aliasSeparator, typeSeparator, initialIndent, names, namesString, namesStringLen, typeSeparatorString, typeSeparatorStringLen, wrap; - mainName = option.option, shortNames = (ref$ = option.shortNames) != null - ? ref$ - : [], longNames = (ref$ = option.longNames) != null - ? ref$ - : [], type = option.type, description = option.description; - aliasSeparator = arg$.aliasSeparator, typeSeparator = arg$.typeSeparator, initialIndent = arg$.initialIndent; - if (option.negateName) { - mainName = "no-" + mainName; - if (longNames) { - longNames = map(function(it){ - return "no-" + it; - }, longNames); - } - } - names = mainName.length === 1 - ? [mainName].concat(shortNames, longNames) - : shortNames.concat([mainName], longNames); - namesString = map(nameToRaw, names).join(aliasSeparator); - namesStringLen = namesString.length; - typeSeparatorString = mainName === 'NUM' ? '::' : typeSeparator; - typeSeparatorStringLen = typeSeparatorString.length; - if (maxWidth != null && !option.boolean && initialIndent + namesStringLen + typeSeparatorStringLen + type.length > maxWidth) { - wrap = wordwrap(initialIndent + namesStringLen + typeSeparatorStringLen, maxWidth); - return namesString + "" + typeSeparatorString + wrap(type).replace(/^\s+/, ''); - } else { - return namesString + "" + (option.boolean - ? '' - : typeSeparatorString + "" + type); - } - }; - setHelpStyleDefaults = function(helpStyle){ - helpStyle.aliasSeparator == null && (helpStyle.aliasSeparator = ', '); - helpStyle.typeSeparator == null && (helpStyle.typeSeparator = ' '); - helpStyle.descriptionSeparator == null && (helpStyle.descriptionSeparator = ' '); - helpStyle.initialIndent == null && (helpStyle.initialIndent = 2); - helpStyle.secondaryIndent == null && (helpStyle.secondaryIndent = 4); - helpStyle.maxPadFactor == null && (helpStyle.maxPadFactor = 1.5); - }; - generateHelpForOption = function(getOption, arg$){ - var stdout, helpStyle, ref$; - stdout = arg$.stdout, helpStyle = (ref$ = arg$.helpStyle) != null - ? ref$ - : {}; - setHelpStyleDefaults(helpStyle); - return function(optionName){ - var maxWidth, wrap, option, e, pre, defaultString, restPositionalString, description, fullDescription, that, preDescription, descriptionString, exampleString, examples, seperator; - maxWidth = stdout != null && stdout.isTTY ? stdout.columns - 1 : null; - wrap = maxWidth ? wordwrap(maxWidth) : id; - try { - option = getOption(dasherize(optionName)); - } catch (e$) { - e = e$; - return e.message; - } - pre = getPreText(option, helpStyle); - defaultString = option['default'] && !option.negateName ? "\ndefault: " + option['default'] : ''; - restPositionalString = option.restPositional ? 'Everything after this option is considered a positional argument, even if it looks like an option.' : ''; - description = option.longDescription || option.description && sentencize(option.description); - fullDescription = description && restPositionalString - ? description + " " + restPositionalString - : (that = description || restPositionalString) ? that : ''; - preDescription = 'description:'; - descriptionString = !fullDescription - ? '' - : maxWidth && fullDescription.length - 1 - preDescription.length > maxWidth - ? "\n" + preDescription + "\n" + wrap(fullDescription) - : "\n" + preDescription + " " + fullDescription; - exampleString = (that = option.example) ? (examples = [].concat(that), examples.length > 1 - ? "\nexamples:\n" + unlines(examples) - : "\nexample: " + examples[0]) : ''; - seperator = defaultString || descriptionString || exampleString ? "\n" + repeatString$('=', pre.length) : ''; - return pre + "" + seperator + defaultString + descriptionString + exampleString; - }; - }; - generateHelp = function(arg$){ - var options, prepend, append, helpStyle, ref$, stdout, aliasSeparator, typeSeparator, descriptionSeparator, maxPadFactor, initialIndent, secondaryIndent; - options = arg$.options, prepend = arg$.prepend, append = arg$.append, helpStyle = (ref$ = arg$.helpStyle) != null - ? ref$ - : {}, stdout = arg$.stdout; - setHelpStyleDefaults(helpStyle); - aliasSeparator = helpStyle.aliasSeparator, typeSeparator = helpStyle.typeSeparator, descriptionSeparator = helpStyle.descriptionSeparator, maxPadFactor = helpStyle.maxPadFactor, initialIndent = helpStyle.initialIndent, secondaryIndent = helpStyle.secondaryIndent; - return function(arg$){ - var ref$, showHidden, interpolate, maxWidth, output, out, data, optionCount, totalPreLen, preLens, i$, len$, item, that, pre, descParts, desc, preLen, sortedPreLens, maxPreLen, preLenMean, x, padAmount, descSepLen, fullWrapCount, partialWrapCount, descLen, totalLen, initialSpace, wrapAllFull, i, wrap; - ref$ = arg$ != null - ? arg$ - : {}, showHidden = ref$.showHidden, interpolate = ref$.interpolate; - maxWidth = stdout != null && stdout.isTTY ? stdout.columns - 1 : null; - output = []; - out = function(it){ - return output.push(it != null ? it : ''); - }; - if (prepend) { - out(interpolate ? interp(prepend, interpolate) : prepend); - out(); - } - data = []; - optionCount = 0; - totalPreLen = 0; - preLens = []; - for (i$ = 0, len$ = (ref$ = options).length; i$ < len$; ++i$) { - item = ref$[i$]; - if (showHidden || !item.hidden) { - if (that = item.heading) { - data.push({ - type: 'heading', - value: that - }); - } else { - pre = getPreText(item, helpStyle, maxWidth); - descParts = []; - if ((that = item.description) != null) { - descParts.push(that); - } - if (that = item['enum']) { - descParts.push("either: " + naturalJoin(that)); - } - if (item['default'] && !item.negateName) { - descParts.push("default: " + item['default']); - } - desc = descParts.join(' - '); - data.push({ - type: 'option', - pre: pre, - desc: desc, - descLen: desc.length - }); - preLen = pre.length; - optionCount++; - totalPreLen += preLen; - preLens.push(preLen); - } - } - } - sortedPreLens = sort(preLens); - maxPreLen = sortedPreLens[sortedPreLens.length - 1]; - preLenMean = initialIndent + totalPreLen / optionCount; - x = optionCount > 2 ? min(preLenMean * maxPadFactor, maxPreLen) : maxPreLen; - for (i$ = sortedPreLens.length - 1; i$ >= 0; --i$) { - preLen = sortedPreLens[i$]; - if (preLen <= x) { - padAmount = preLen; - break; - } - } - descSepLen = descriptionSeparator.length; - if (maxWidth != null) { - fullWrapCount = 0; - partialWrapCount = 0; - for (i$ = 0, len$ = data.length; i$ < len$; ++i$) { - item = data[i$]; - if (item.type === 'option') { - pre = item.pre, desc = item.desc, descLen = item.descLen; - if (descLen === 0) { - item.wrap = 'none'; - } else { - preLen = max(padAmount, pre.length) + initialIndent + descSepLen; - totalLen = preLen + descLen; - if (totalLen > maxWidth) { - if (descLen / 2.5 > maxWidth - preLen) { - fullWrapCount++; - item.wrap = 'full'; - } else { - partialWrapCount++; - item.wrap = 'partial'; - } - } else { - item.wrap = 'none'; - } - } - } - } - } - initialSpace = repeatString$(' ', initialIndent); - wrapAllFull = optionCount > 1 && fullWrapCount + partialWrapCount * 0.5 > optionCount * 0.5; - for (i$ = 0, len$ = data.length; i$ < len$; ++i$) { - i = i$; - item = data[i$]; - if (item.type === 'heading') { - if (i !== 0) { - out(); - } - out(item.value + ":"); - } else { - pre = item.pre, desc = item.desc, descLen = item.descLen, wrap = item.wrap; - if (maxWidth != null) { - if (wrapAllFull || wrap === 'full') { - wrap = wordwrap(initialIndent + secondaryIndent, maxWidth); - out(initialSpace + "" + pre + "\n" + wrap(desc)); - continue; - } else if (wrap === 'partial') { - wrap = wordwrap(initialIndent + descSepLen + max(padAmount, pre.length), maxWidth); - out(initialSpace + "" + pad(pre, padAmount) + descriptionSeparator + wrap(desc).replace(/^\s+/, '')); - continue; - } - } - if (descLen === 0) { - out(initialSpace + "" + pre); - } else { - out(initialSpace + "" + pad(pre, padAmount) + descriptionSeparator + desc); - } - } - } - if (append) { - out(); - out(interpolate ? interp(append, interpolate) : append); - } - return unlines(output); - }; - }; - function pad(str, num){ - var len, padAmount; - len = str.length; - padAmount = num - len; - return str + "" + repeatString$(' ', padAmount > 0 ? padAmount : 0); - } - function sentencize(str){ - var first, rest, period; - first = str.charAt(0).toUpperCase(); - rest = str.slice(1); - period = /[\.!\?]$/.test(str) ? '' : '.'; - return first + "" + rest + period; - } - function interp(string, object){ - return string.replace(/{{([a-zA-Z$_][a-zA-Z$_0-9]*)}}/g, function(arg$, key){ - var ref$; - return (ref$ = object[key]) != null - ? ref$ - : "{{" + key + "}}"; - }); - } - module.exports = { - generateHelp: generateHelp, - generateHelpForOption: generateHelpForOption - }; - function repeatString$(str, n){ - for (var r = ''; n > 0; (n >>= 1) && (str += str)) if (n & 1) r += str; - return r; - } -}).call(this); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/lib/index.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/lib/index.js deleted file mode 100644 index 29e05cb..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/lib/index.js +++ /dev/null @@ -1,461 +0,0 @@ -// Generated by LiveScript 1.4.0 -(function(){ - var VERSION, ref$, id, map, compact, any, groupBy, partition, chars, isItNaN, keys, Obj, camelize, deepIs, closestString, nameToRaw, dasherize, naturalJoin, generateHelp, generateHelpForOption, parsedTypeCheck, parseType, parseLevn, camelizeKeys, parseString, main, toString$ = {}.toString, slice$ = [].slice; - VERSION = '0.8.1'; - ref$ = require('prelude-ls'), id = ref$.id, map = ref$.map, compact = ref$.compact, any = ref$.any, groupBy = ref$.groupBy, partition = ref$.partition, chars = ref$.chars, isItNaN = ref$.isItNaN, keys = ref$.keys, Obj = ref$.Obj, camelize = ref$.camelize; - deepIs = require('deep-is'); - ref$ = require('./util'), closestString = ref$.closestString, nameToRaw = ref$.nameToRaw, dasherize = ref$.dasherize, naturalJoin = ref$.naturalJoin; - ref$ = require('./help'), generateHelp = ref$.generateHelp, generateHelpForOption = ref$.generateHelpForOption; - ref$ = require('type-check'), parsedTypeCheck = ref$.parsedTypeCheck, parseType = ref$.parseType; - parseLevn = require('levn').parsedTypeParse; - camelizeKeys = function(obj){ - var key, value, resultObj$ = {}; - for (key in obj) { - value = obj[key]; - resultObj$[camelize(key)] = value; - } - return resultObj$; - }; - parseString = function(string){ - var assignOpt, regex, replaceRegex, result; - assignOpt = '--?[a-zA-Z][-a-z-A-Z0-9]*='; - regex = RegExp('(?:' + assignOpt + ')?(?:\'(?:\\\\\'|[^\'])+\'|"(?:\\\\"|[^"])+")|[^\'"\\s]+', 'g'); - replaceRegex = RegExp('^(' + assignOpt + ')?[\'"]([\\s\\S]*)[\'"]$'); - result = map(function(it){ - return it.replace(replaceRegex, '$1$2'); - }, string.match(regex) || []); - return result; - }; - main = function(libOptions){ - var opts, defaults, required, traverse, getOption, parse; - opts = {}; - defaults = {}; - required = []; - if (toString$.call(libOptions.stdout).slice(8, -1) === 'Undefined') { - libOptions.stdout = process.stdout; - } - libOptions.positionalAnywhere == null && (libOptions.positionalAnywhere = true); - libOptions.typeAliases == null && (libOptions.typeAliases = {}); - libOptions.defaults == null && (libOptions.defaults = {}); - if (libOptions.concatRepeatedArrays != null) { - libOptions.defaults.concatRepeatedArrays = libOptions.concatRepeatedArrays; - } - if (libOptions.mergeRepeatedObjects != null) { - libOptions.defaults.mergeRepeatedObjects = libOptions.mergeRepeatedObjects; - } - traverse = function(options){ - var i$, len$, option, name, k, ref$, v, type, that, e, parsedPossibilities, parsedType, j$, len1$, possibility, rawDependsType, dependsOpts, dependsType, cra, alias, shortNames, longNames; - if (toString$.call(options).slice(8, -1) !== 'Array') { - throw new Error('No options defined.'); - } - for (i$ = 0, len$ = options.length; i$ < len$; ++i$) { - option = options[i$]; - if (option.heading == null) { - name = option.option; - if (opts[name] != null) { - throw new Error("Option '" + name + "' already defined."); - } - for (k in ref$ = libOptions.defaults) { - v = ref$[k]; - option[k] == null && (option[k] = v); - } - if (option.type === 'Boolean') { - option.boolean == null && (option.boolean = true); - } - if (option.parsedType == null) { - if (!option.type) { - throw new Error("No type defined for option '" + name + "'."); - } - try { - type = (that = libOptions.typeAliases[option.type]) != null - ? that - : option.type; - option.parsedType = parseType(type); - } catch (e$) { - e = e$; - throw new Error("Option '" + name + "': Error parsing type '" + option.type + "': " + e.message); - } - } - if (option['default']) { - try { - defaults[name] = parseLevn(option.parsedType, option['default']); - } catch (e$) { - e = e$; - throw new Error("Option '" + name + "': Error parsing default value '" + option['default'] + "' for type '" + option.type + "': " + e.message); - } - } - if (option['enum'] && !option.parsedPossiblities) { - parsedPossibilities = []; - parsedType = option.parsedType; - for (j$ = 0, len1$ = (ref$ = option['enum']).length; j$ < len1$; ++j$) { - possibility = ref$[j$]; - try { - parsedPossibilities.push(parseLevn(parsedType, possibility)); - } catch (e$) { - e = e$; - throw new Error("Option '" + name + "': Error parsing enum value '" + possibility + "' for type '" + option.type + "': " + e.message); - } - } - option.parsedPossibilities = parsedPossibilities; - } - if (that = option.dependsOn) { - if (that.length) { - ref$ = [].concat(option.dependsOn), rawDependsType = ref$[0], dependsOpts = slice$.call(ref$, 1); - dependsType = rawDependsType.toLowerCase(); - if (dependsOpts.length) { - if (dependsType === 'and' || dependsType === 'or') { - option.dependsOn = [dependsType].concat(slice$.call(dependsOpts)); - } else { - throw new Error("Option '" + name + "': If you have more than one dependency, you must specify either 'and' or 'or'"); - } - } else { - if ((ref$ = dependsType.toLowerCase()) === 'and' || ref$ === 'or') { - option.dependsOn = null; - } else { - option.dependsOn = ['and', rawDependsType]; - } - } - } else { - option.dependsOn = null; - } - } - if (option.required) { - required.push(name); - } - opts[name] = option; - if (option.concatRepeatedArrays != null) { - cra = option.concatRepeatedArrays; - if ('Boolean' === toString$.call(cra).slice(8, -1)) { - option.concatRepeatedArrays = [cra, {}]; - } else if (cra.length === 1) { - option.concatRepeatedArrays = [cra[0], {}]; - } else if (cra.length !== 2) { - throw new Error("Invalid setting for concatRepeatedArrays"); - } - } - if (option.alias || option.aliases) { - if (name === 'NUM') { - throw new Error("-NUM option can't have aliases."); - } - if (option.alias) { - option.aliases == null && (option.aliases = [].concat(option.alias)); - } - for (j$ = 0, len1$ = (ref$ = option.aliases).length; j$ < len1$; ++j$) { - alias = ref$[j$]; - if (opts[alias] != null) { - throw new Error("Option '" + alias + "' already defined."); - } - opts[alias] = option; - } - ref$ = partition(fn$, option.aliases), shortNames = ref$[0], longNames = ref$[1]; - option.shortNames == null && (option.shortNames = shortNames); - option.longNames == null && (option.longNames = longNames); - } - if ((!option.aliases || option.shortNames.length === 0) && option.type === 'Boolean' && option['default'] === 'true') { - option.negateName = true; - } - } - } - function fn$(it){ - return it.length === 1; - } - }; - traverse(libOptions.options); - getOption = function(name){ - var opt, possiblyMeant; - opt = opts[name]; - if (opt == null) { - possiblyMeant = closestString(keys(opts), name); - throw new Error("Invalid option '" + nameToRaw(name) + "'" + (possiblyMeant ? " - perhaps you meant '" + nameToRaw(possiblyMeant) + "'?" : '.')); - } - return opt; - }; - parse = function(input, arg$){ - var slice, obj, positional, restPositional, overrideRequired, prop, setValue, setDefaults, checkRequired, mutuallyExclusiveError, checkMutuallyExclusive, checkDependency, checkDependencies, args, key, value, option, ref$, i$, len$, arg, that, result, short, argName, usingAssign, val, flags, len, j$, len1$, i, flag, opt, name, valPrime, negated, noedName; - slice = (arg$ != null - ? arg$ - : {}).slice; - obj = {}; - positional = []; - restPositional = false; - overrideRequired = false; - prop = null; - setValue = function(name, value){ - var opt, val, cra, e, currentType; - opt = getOption(name); - if (opt.boolean) { - val = value; - } else { - try { - cra = opt.concatRepeatedArrays; - if (cra != null && cra[0] && cra[1].oneValuePerFlag && opt.parsedType.length === 1 && opt.parsedType[0].structure === 'array') { - val = [parseLevn(opt.parsedType[0].of, value)]; - } else { - val = parseLevn(opt.parsedType, value); - } - } catch (e$) { - e = e$; - throw new Error("Invalid value for option '" + name + "' - expected type " + opt.type + ", received value: " + value + "."); - } - if (opt['enum'] && !any(function(it){ - return deepIs(it, val); - }, opt.parsedPossibilities)) { - throw new Error("Option " + name + ": '" + val + "' not one of " + naturalJoin(opt['enum']) + "."); - } - } - currentType = toString$.call(obj[name]).slice(8, -1); - if (obj[name] != null) { - if (opt.concatRepeatedArrays != null && opt.concatRepeatedArrays[0] && currentType === 'Array') { - obj[name] = obj[name].concat(val); - } else if (opt.mergeRepeatedObjects && currentType === 'Object') { - import$(obj[name], val); - } else { - obj[name] = val; - } - } else { - obj[name] = val; - } - if (opt.restPositional) { - restPositional = true; - } - if (opt.overrideRequired) { - overrideRequired = true; - } - }; - setDefaults = function(){ - var name, ref$, value; - for (name in ref$ = defaults) { - value = ref$[name]; - if (obj[name] == null) { - obj[name] = value; - } - } - }; - checkRequired = function(){ - var i$, ref$, len$, name; - if (overrideRequired) { - return; - } - for (i$ = 0, len$ = (ref$ = required).length; i$ < len$; ++i$) { - name = ref$[i$]; - if (!obj[name]) { - throw new Error("Option " + nameToRaw(name) + " is required."); - } - } - }; - mutuallyExclusiveError = function(first, second){ - throw new Error("The options " + nameToRaw(first) + " and " + nameToRaw(second) + " are mutually exclusive - you cannot use them at the same time."); - }; - checkMutuallyExclusive = function(){ - var rules, i$, len$, rule, present, j$, len1$, element, k$, len2$, opt; - rules = libOptions.mutuallyExclusive; - if (!rules) { - return; - } - for (i$ = 0, len$ = rules.length; i$ < len$; ++i$) { - rule = rules[i$]; - present = null; - for (j$ = 0, len1$ = rule.length; j$ < len1$; ++j$) { - element = rule[j$]; - if (toString$.call(element).slice(8, -1) === 'Array') { - for (k$ = 0, len2$ = element.length; k$ < len2$; ++k$) { - opt = element[k$]; - if (opt in obj) { - if (present != null) { - mutuallyExclusiveError(present, opt); - } else { - present = opt; - break; - } - } - } - } else { - if (element in obj) { - if (present != null) { - mutuallyExclusiveError(present, element); - } else { - present = element; - } - } - } - } - } - }; - checkDependency = function(option){ - var dependsOn, type, targetOptionNames, i$, len$, targetOptionName, targetOption; - dependsOn = option.dependsOn; - if (!dependsOn || option.dependenciesMet) { - return true; - } - type = dependsOn[0], targetOptionNames = slice$.call(dependsOn, 1); - for (i$ = 0, len$ = targetOptionNames.length; i$ < len$; ++i$) { - targetOptionName = targetOptionNames[i$]; - targetOption = obj[targetOptionName]; - if (targetOption && checkDependency(targetOption)) { - if (type === 'or') { - return true; - } - } else if (type === 'and') { - throw new Error("The option '" + option.option + "' did not have its dependencies met."); - } - } - if (type === 'and') { - return true; - } else { - throw new Error("The option '" + option.option + "' did not meet any of its dependencies."); - } - }; - checkDependencies = function(){ - var name; - for (name in obj) { - checkDependency(opts[name]); - } - }; - switch (toString$.call(input).slice(8, -1)) { - case 'String': - args = parseString(input.slice(slice != null ? slice : 0)); - break; - case 'Array': - args = input.slice(slice != null ? slice : 2); - break; - case 'Object': - obj = {}; - for (key in input) { - value = input[key]; - if (key !== '_') { - option = getOption(dasherize(key)); - if (parsedTypeCheck(option.parsedType, value)) { - obj[option.option] = value; - } else { - throw new Error("Option '" + option.option + "': Invalid type for '" + value + "' - expected type '" + option.type + "'."); - } - } - } - checkMutuallyExclusive(); - checkDependencies(); - setDefaults(); - checkRequired(); - return ref$ = camelizeKeys(obj), ref$._ = input._ || [], ref$; - default: - throw new Error("Invalid argument to 'parse': " + input + "."); - } - for (i$ = 0, len$ = args.length; i$ < len$; ++i$) { - arg = args[i$]; - if (arg === '--') { - restPositional = true; - } else if (restPositional) { - positional.push(arg); - } else { - if (that = arg.match(/^(--?)([a-zA-Z][-a-zA-Z0-9]*)(=)?(.*)?$/)) { - result = that; - if (prop) { - throw new Error("Value for '" + prop + "' of type '" + getOption(prop).type + "' required."); - } - short = result[1].length === 1; - argName = result[2]; - usingAssign = result[3] != null; - val = result[4]; - if (usingAssign && val == null) { - throw new Error("No value for '" + argName + "' specified."); - } - if (short) { - flags = chars(argName); - len = flags.length; - for (j$ = 0, len1$ = flags.length; j$ < len1$; ++j$) { - i = j$; - flag = flags[j$]; - opt = getOption(flag); - name = opt.option; - if (restPositional) { - positional.push(flag); - } else if (i === len - 1) { - if (usingAssign) { - valPrime = opt.boolean ? parseLevn([{ - type: 'Boolean' - }], val) : val; - setValue(name, valPrime); - } else if (opt.boolean) { - setValue(name, true); - } else { - prop = name; - } - } else if (opt.boolean) { - setValue(name, true); - } else { - throw new Error("Can't set argument '" + flag + "' when not last flag in a group of short flags."); - } - } - } else { - negated = false; - if (that = argName.match(/^no-(.+)$/)) { - negated = true; - noedName = that[1]; - opt = getOption(noedName); - } else { - opt = getOption(argName); - } - name = opt.option; - if (opt.boolean) { - valPrime = usingAssign ? parseLevn([{ - type: 'Boolean' - }], val) : true; - if (negated) { - setValue(name, !valPrime); - } else { - setValue(name, valPrime); - } - } else { - if (negated) { - throw new Error("Only use 'no-' prefix for Boolean options, not with '" + noedName + "'."); - } - if (usingAssign) { - setValue(name, val); - } else { - prop = name; - } - } - } - } else if (that = arg.match(/^-([0-9]+(?:\.[0-9]+)?)$/)) { - opt = opts.NUM; - if (!opt) { - throw new Error('No -NUM option defined.'); - } - setValue(opt.option, that[1]); - } else { - if (prop) { - setValue(prop, arg); - prop = null; - } else { - positional.push(arg); - if (!libOptions.positionalAnywhere) { - restPositional = true; - } - } - } - } - } - checkMutuallyExclusive(); - checkDependencies(); - setDefaults(); - checkRequired(); - return ref$ = camelizeKeys(obj), ref$._ = positional, ref$; - }; - return { - parse: parse, - parseArgv: function(it){ - return parse(it, { - slice: 2 - }); - }, - generateHelp: generateHelp(libOptions), - generateHelpForOption: generateHelpForOption(getOption, libOptions) - }; - }; - main.VERSION = VERSION; - module.exports = main; - function import$(obj, src){ - var own = {}.hasOwnProperty; - for (var key in src) if (own.call(src, key)) obj[key] = src[key]; - return obj; - } -}).call(this); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/lib/parse-type.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/lib/parse-type.js deleted file mode 100644 index e648723..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/lib/parse-type.js +++ /dev/null @@ -1,143 +0,0 @@ -// Generated by LiveScript 1.2.0 -(function(){ - var reject, tokenRegex; - reject = require('prelude-ls').reject; - function consumeWord(tokens){ - var token; - token = tokens[0]; - if (!(token != null && /^[a-zA-Z]+$/.test(token))) { - throw new Error("Exected textual string."); - } - return tokens.shift(); - } - function consumeOp(tokens, op){ - var token; - token = tokens[0]; - if (token !== op) { - throw new Error("Expected " + op); - } - return tokens.shift(); - } - function maybeConsumeOp(tokens, op){ - var token; - token = tokens[0]; - if (token === op) { - return tokens.shift(); - } else { - return null; - } - } - function consumeArray(tokens){ - var contentType; - consumeOp(tokens, '['); - contentType = consumeTypes(tokens); - if (!contentType) { - throw new Error("Must specify content type for Array."); - } - consumeOp(tokens, ']'); - return { - type: 'Array', - contentType: contentType - }; - } - function consumeTuple(tokens){ - var contentTypes, that; - contentTypes = []; - consumeOp(tokens, '('); - while (that = consumeTypes(tokens)) { - contentTypes.push(that); - if (!maybeConsumeOp(tokens, ',')) { - break; - } - } - consumeOp(tokens, ')'); - return { - type: 'Tuple', - contentTypes: contentTypes - }; - } - function consumeProperty(tokens){ - var key, type; - key = consumeWord(tokens); - consumeOp(tokens, ':'); - type = consumeTypes(tokens); - return { - key: key, - type: type - }; - } - function consumeObject(tokens){ - var properties, that; - properties = []; - consumeOp(tokens, '{'); - while (that = consumeProperty(tokens)) { - properties.push(that); - if (!maybeConsumeOp(tokens, ',')) { - break; - } - } - consumeOp(tokens, '}'); - return { - type: 'Object', - properties: properties - }; - } - function consumeType(tokens){ - switch (tokens[0]) { - case '[': - return consumeArray(tokens); - case '{': - return consumeObject(tokens); - case '(': - return consumeTuple(tokens); - default: - return { - type: consumeWord(tokens) - }; - } - } - function consumeMaybe(tokens){ - var maybe, type; - if (tokens[0] === 'Maybe') { - tokens.shift(); - maybe = true; - } - type = consumeType(tokens); - if (maybe) { - return { - type: 'Maybe', - contentType: type - }; - } else { - return type; - } - } - function consumeTypes(tokens){ - var types; - types = []; - for (;;) { - types.push(consumeMaybe(tokens)); - if (!maybeConsumeOp('|')) { - break; - } - } - if (!types.length) { - throw new Error("Expected type(s)."); - } - return types; - } - tokenRegex = /[:,\[\]\(\)}{]|[a-zA-Z]+/g; - module.exports = function(input){ - var tokens, e; - tokens = reject(function(it){ - return /^\s*$/.test(it); - })( - input.match(tokenRegex)); - try { - return consumeTypes(tokens); - } catch (e$) { - e = e$; - throw new Error(e.message + " - '" + tokens.join('#') + "' - '" + input + "'"); - } - }; -}).call(this); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/lib/util.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/lib/util.js deleted file mode 100644 index 9c67435..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/lib/util.js +++ /dev/null @@ -1,54 +0,0 @@ -// Generated by LiveScript 1.4.0 -(function(){ - var prelude, map, sortBy, fl, closestString, nameToRaw, dasherize, naturalJoin; - prelude = require('prelude-ls'), map = prelude.map, sortBy = prelude.sortBy; - fl = require('fast-levenshtein'); - closestString = function(possibilities, input){ - var distances, ref$, string, distance; - if (!possibilities.length) { - return; - } - distances = map(function(it){ - var ref$, longer, shorter; - ref$ = input.length > it.length - ? [input, it] - : [it, input], longer = ref$[0], shorter = ref$[1]; - return { - string: it, - distance: fl.get(longer, shorter) - }; - })( - possibilities); - ref$ = sortBy(function(it){ - return it.distance; - }, distances)[0], string = ref$.string, distance = ref$.distance; - return string; - }; - nameToRaw = function(name){ - if (name.length === 1 || name === 'NUM') { - return "-" + name; - } else { - return "--" + name; - } - }; - dasherize = function(string){ - if (/^[A-Z]/.test(string)) { - return string; - } else { - return prelude.dasherize(string); - } - }; - naturalJoin = function(array){ - if (array.length < 3) { - return array.join(' or '); - } else { - return array.slice(0, -1).join(', ') + ", or " + array[array.length - 1]; - } - }; - module.exports = { - closestString: closestString, - nameToRaw: nameToRaw, - dasherize: dasherize, - naturalJoin: naturalJoin - }; -}).call(this); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/.npmignore b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/.npmignore deleted file mode 100644 index 3c3629e..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/.travis.yml b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/.travis.yml deleted file mode 100644 index d523c5f..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/.travis.yml +++ /dev/null @@ -1,6 +0,0 @@ -language: node_js -node_js: - - 0.4 - - 0.6 - - 0.8 - - 0.10 diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/LICENSE b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/LICENSE deleted file mode 100644 index c38f840..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2012, 2013 Thorsten Lorenz -Copyright (c) 2012 James Halliday -Copyright (c) 2009 Thomas Robinson <280north.com> - -This software is released under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/README.markdown b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/README.markdown deleted file mode 100644 index eb69a83..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/README.markdown +++ /dev/null @@ -1,70 +0,0 @@ -deep-is -========== - -Node's `assert.deepEqual() algorithm` as a standalone module. Exactly like -[deep-equal](https://github.com/substack/node-deep-equal) except for the fact that `deepEqual(NaN, NaN) === true`. - -This module is around [5 times faster](https://gist.github.com/2790507) -than wrapping `assert.deepEqual()` in a `try/catch`. - -[![browser support](http://ci.testling.com/thlorenz/deep-is.png)](http://ci.testling.com/thlorenz/deep-is) - -[![build status](https://secure.travis-ci.org/thlorenz/deep-is.png)](http://travis-ci.org/thlorenz/deep-is) - -example -======= - -``` js -var equal = require('deep-is'); -console.dir([ - equal( - { a : [ 2, 3 ], b : [ 4 ] }, - { a : [ 2, 3 ], b : [ 4 ] } - ), - equal( - { x : 5, y : [6] }, - { x : 5, y : 6 } - ) -]); -``` - -methods -======= - -var deepIs = require('deep-is') - -deepIs(a, b) ---------------- - -Compare objects `a` and `b`, returning whether they are equal according to a -recursive equality algorithm. - -install -======= - -With [npm](http://npmjs.org) do: - -``` -npm install deep-is -``` - -test -==== - -With [npm](http://npmjs.org) do: - -``` -npm test -``` - -license -======= - -Copyright (c) 2012, 2013 Thorsten Lorenz -Copyright (c) 2012 James Halliday - -Derived largely from node's assert module, which has the copyright statement: - -Copyright (c) 2009 Thomas Robinson <280north.com> - -Released under the MIT license, see LICENSE for details. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/example/cmp.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/example/cmp.js deleted file mode 100644 index 67014b8..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/example/cmp.js +++ /dev/null @@ -1,11 +0,0 @@ -var equal = require('../'); -console.dir([ - equal( - { a : [ 2, 3 ], b : [ 4 ] }, - { a : [ 2, 3 ], b : [ 4 ] } - ), - equal( - { x : 5, y : [6] }, - { x : 5, y : 6 } - ) -]); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/index.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/index.js deleted file mode 100644 index 506fe27..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/index.js +++ /dev/null @@ -1,102 +0,0 @@ -var pSlice = Array.prototype.slice; -var Object_keys = typeof Object.keys === 'function' - ? Object.keys - : function (obj) { - var keys = []; - for (var key in obj) keys.push(key); - return keys; - } -; - -var deepEqual = module.exports = function (actual, expected) { - // enforce Object.is +0 !== -0 - if (actual === 0 && expected === 0) { - return areZerosEqual(actual, expected); - - // 7.1. All identical values are equivalent, as determined by ===. - } else if (actual === expected) { - return true; - - } else if (actual instanceof Date && expected instanceof Date) { - return actual.getTime() === expected.getTime(); - - } else if (isNumberNaN(actual)) { - return isNumberNaN(expected); - - // 7.3. Other pairs that do not both pass typeof value == 'object', - // equivalence is determined by ==. - } else if (typeof actual != 'object' && typeof expected != 'object') { - return actual == expected; - - // 7.4. For all other Object pairs, including Array objects, equivalence is - // determined by having the same number of owned properties (as verified - // with Object.prototype.hasOwnProperty.call), the same set of keys - // (although not necessarily the same order), equivalent values for every - // corresponding key, and an identical 'prototype' property. Note: this - // accounts for both named and indexed properties on Arrays. - } else { - return objEquiv(actual, expected); - } -}; - -function isUndefinedOrNull(value) { - return value === null || value === undefined; -} - -function isArguments(object) { - return Object.prototype.toString.call(object) == '[object Arguments]'; -} - -function isNumberNaN(value) { - // NaN === NaN -> false - return typeof value == 'number' && value !== value; -} - -function areZerosEqual(zeroA, zeroB) { - // (1 / +0|0) -> Infinity, but (1 / -0) -> -Infinity and (Infinity !== -Infinity) - return (1 / zeroA) === (1 / zeroB); -} - -function objEquiv(a, b) { - if (isUndefinedOrNull(a) || isUndefinedOrNull(b)) - return false; - - // an identical 'prototype' property. - if (a.prototype !== b.prototype) return false; - //~~~I've managed to break Object.keys through screwy arguments passing. - // Converting to array solves the problem. - if (isArguments(a)) { - if (!isArguments(b)) { - return false; - } - a = pSlice.call(a); - b = pSlice.call(b); - return deepEqual(a, b); - } - try { - var ka = Object_keys(a), - kb = Object_keys(b), - key, i; - } catch (e) {//happens when one is a string literal and the other isn't - return false; - } - // having the same number of owned properties (keys incorporates - // hasOwnProperty) - if (ka.length != kb.length) - return false; - //the same set of keys (although not necessarily the same order), - ka.sort(); - kb.sort(); - //~~~cheap key test - for (i = ka.length - 1; i >= 0; i--) { - if (ka[i] != kb[i]) - return false; - } - //equivalent values for every corresponding key, and - //~~~possibly expensive deep test - for (i = ka.length - 1; i >= 0; i--) { - key = ka[i]; - if (!deepEqual(a[key], b[key])) return false; - } - return true; -} diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/package.json deleted file mode 100644 index b27c04d..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/package.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "name": "deep-is", - "version": "0.1.3", - "description": "node's assert.deepEqual algorithm except for NaN being equal to NaN", - "main": "index.js", - "directories": { - "lib": ".", - "example": "example", - "test": "test" - }, - "scripts": { - "test": "tape test/*.js" - }, - "devDependencies": { - "tape": "~1.0.2" - }, - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/thlorenz/deep-is.git" - }, - "keywords": [ - "equality", - "equal", - "compare" - ], - "author": { - "name": "Thorsten Lorenz", - "email": "thlorenz@gmx.de", - "url": "http://thlorenz.com" - }, - "license": { - "type": "MIT", - "url": "https://github.com/thlorenz/deep-is/blob/master/LICENSE" - }, - "testling": { - "files": "test/*.js", - "browsers": { - "ie": [ - 6, - 7, - 8, - 9 - ], - "ff": [ - 3.5, - 10, - 15 - ], - "chrome": [ - 10, - 22 - ], - "safari": [ - 5.1 - ], - "opera": [ - 12 - ] - } - }, - "gitHead": "f126057628423458636dec9df3d621843b9ac55e", - "bugs": { - "url": "https://github.com/thlorenz/deep-is/issues" - }, - "homepage": "https://github.com/thlorenz/deep-is", - "_id": "deep-is@0.1.3", - "_shasum": "b369d6fb5dbc13eecf524f91b070feedc357cf34", - "_from": "deep-is@>=0.1.3 <0.2.0", - "_npmVersion": "1.4.14", - "_npmUser": { - "name": "thlorenz", - "email": "thlorenz@gmx.de" - }, - "maintainers": [ - { - "name": "thlorenz", - "email": "thlorenz@gmx.de" - } - ], - "dist": { - "shasum": "b369d6fb5dbc13eecf524f91b070feedc357cf34", - "tarball": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" - }, - "_resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/test/NaN.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/test/NaN.js deleted file mode 100644 index ddaa5a7..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/test/NaN.js +++ /dev/null @@ -1,16 +0,0 @@ -var test = require('tape'); -var equal = require('../'); - -test('NaN and 0 values', function (t) { - t.ok(equal(NaN, NaN)); - t.notOk(equal(0, NaN)); - t.ok(equal(0, 0)); - t.notOk(equal(0, 1)); - t.end(); -}); - - -test('nested NaN values', function (t) { - t.ok(equal([ NaN, 1, NaN ], [ NaN, 1, NaN ])); - t.end(); -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/test/cmp.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/test/cmp.js deleted file mode 100644 index 3071013..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/test/cmp.js +++ /dev/null @@ -1,23 +0,0 @@ -var test = require('tape'); -var equal = require('../'); - -test('equal', function (t) { - t.ok(equal( - { a : [ 2, 3 ], b : [ 4 ] }, - { a : [ 2, 3 ], b : [ 4 ] } - )); - t.end(); -}); - -test('not equal', function (t) { - t.notOk(equal( - { x : 5, y : [6] }, - { x : 5, y : 6 } - )); - t.end(); -}); - -test('nested nulls', function (t) { - t.ok(equal([ null, null, null ], [ null, null, null ])); - t.end(); -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/test/neg-vs-pos-0.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/test/neg-vs-pos-0.js deleted file mode 100644 index ac26130..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/test/neg-vs-pos-0.js +++ /dev/null @@ -1,15 +0,0 @@ -var test = require('tape'); -var equal = require('../'); - -test('0 values', function (t) { - t.ok(equal( 0, 0), ' 0 === 0'); - t.ok(equal( 0, +0), ' 0 === +0'); - t.ok(equal(+0, +0), '+0 === +0'); - t.ok(equal(-0, -0), '-0 === -0'); - - t.notOk(equal(-0, 0), '-0 !== 0'); - t.notOk(equal(-0, +0), '-0 !== +0'); - - t.end(); -}); - diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/LICENSE.md b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/LICENSE.md deleted file mode 100644 index 6212406..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/LICENSE.md +++ /dev/null @@ -1,25 +0,0 @@ -(MIT License) - -Copyright (c) 2013 [Ramesh Nair](http://www.hiddentao.com/) - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/README.md b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/README.md deleted file mode 100644 index 2a917a7..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/README.md +++ /dev/null @@ -1,120 +0,0 @@ -# fast-levenshtein - Levenshtein algorithm in Javascript - -[![Build Status](https://secure.travis-ci.org/hiddentao/fast-levenshtein.png)](http://travis-ci.org/hiddentao/fast-levenshtein) - -An efficient Javascript implementation of the [Levenshtein algorithm](http://en.wikipedia.org/wiki/Levenshtein_distance) with asynchronous callback support. - -## Features - -* Works in node.js and in the browser. -* Better performance than other implementations by not needing to store the whole matrix ([more info](http://www.codeproject.com/Articles/13525/Fast-memory-efficient-Levenshtein-algorithm)). -* Provides synchronous and asynchronous versions of the algorithm. -* Asynchronous version is almost as fast as the synchronous version for small strings and can also provide progress updates. -* Comprehensive test suite and performance benchmark. -* Small: <1 KB minified and gzipped - -## Installation - -### node.js - -Install using [npm](http://npmjs.org/): - -```bash -$ npm install fast-levenshtein -``` - -### Browser - -Using bower: - -```bash -$ bower install fast-levenshtein -``` - -If you are not using any module loader system then the API will then be accessible via the `window.Levenshtein` object. - -## Examples - -**Synchronous** - -```javascript -var levenshtein = require('fast-levenshtein'); - -var distance = levenshtein.get('back', 'book'); // 2 -var distance = levenshtein.get('我愛你', '我叫你'); // 1 -``` - -**Asynchronous** - -```javascript -var levenshtein = require('fast-levenshtein'); - -levenshtein.getAsync('back', 'book', function (err, distance) { - // err is null unless an error was thrown - // distance equals 2 -}); -``` - -**Asynchronous with progress updates** - -```javascript -var levenshtein = require('fast-levenshtein'); - -var hugeText1 = fs.readFileSync(...); -var hugeText2 = fs.readFileSync(...); - -levenshtein.getAsync(hugeText1, hugeText2, function (err, distance) { - // process the results as normal -}, { - progress: function(percentComplete) { - console.log(percentComplete + ' % completed so far...'); - } -); -``` - -## Building and Testing - -To build the code and run the tests: - -```bash -$ npm install -g grunt-cli -$ npm install -$ npm run build -``` - -## Performance - -_Thanks to [Titus Wormer](https://github.com/wooorm) for [encouraging me](https://github.com/hiddentao/fast-levenshtein/issues/1) to do this._ - -Benchmarked against other node.js levenshtein distance modules (on Macbook Air 2012, Core i7, 8GB RAM): - -```bash -Running suite Implementation comparison [benchmark/speed.js]... ->> levenshtein-edit-distance x 234 ops/sec ±3.02% (73 runs sampled) ->> levenshtein-component x 422 ops/sec ±4.38% (83 runs sampled) ->> levenshtein-deltas x 283 ops/sec ±3.83% (78 runs sampled) ->> natural x 255 ops/sec ±0.76% (88 runs sampled) ->> levenshtein x 180 ops/sec ±3.55% (86 runs sampled) ->> fast-levenshtein x 1,792 ops/sec ±2.72% (95 runs sampled) -Benchmark done. -Fastest test is fast-levenshtein at 4.2x faster than levenshtein-component -``` - -You can run this benchmark yourself by doing: - -```bash -$ npm install -g grunt-cli -$ npm install -$ npm run build -$ npm run benchmark -``` - -## Contributing - -If you wish to submit a pull request please update and/or create new tests for any changes you make and ensure the grunt build passes. - -See [CONTRIBUTING.md](https://github.com/hiddentao/fast-levenshtein/blob/master/CONTRIBUTING.md) for details. - -## License - -MIT - see [LICENSE.md](https://github.com/hiddentao/fast-levenshtein/blob/master/LICENSE.md) diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/levenshtein.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/levenshtein.js deleted file mode 100644 index 3051ec5..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/levenshtein.js +++ /dev/null @@ -1,211 +0,0 @@ -(function() { - 'use strict'; - - /** - * Extend an Object with another Object's properties. - * - * The source objects are specified as additional arguments. - * - * @param dst Object the object to extend. - * - * @return Object the final object. - */ - var _extend = function(dst) { - var sources = Array.prototype.slice.call(arguments, 1); - for (var i=0; i tmp) { - nextCol = tmp; - } - // deletion - tmp = prevRow[j + 1] + 1; - if (nextCol > tmp) { - nextCol = tmp; - } - - // copy current col value into previous (in preparation for next iteration) - prevRow[j] = curCol; - } - - // copy last col value into previous (in preparation for next iteration) - prevRow[j] = nextCol; - } - - return nextCol; - }, - - /** - * Asynchronously calculate levenshtein distance of the two strings. - * - * @param str1 String the first string. - * @param str2 String the second string. - * @param cb Function callback function with signature: function(Error err, int distance) - * @param [options] Object additional options. - * @param [options.progress] Function progress callback with signature: function(percentComplete) - */ - getAsync: function(str1, str2, cb, options) { - options = _extend({}, { - progress: null - }, options); - - // base cases - if (str1 === str2) return cb(null, 0); - if (str1.length === 0) return cb(null, str2.length); - if (str2.length === 0) return cb(null, str1.length); - - // two rows - var prevRow = new Array(str2.length + 1), - curCol, nextCol, - i, j, tmp, - startTime, currentTime; - - // initialise previous row - for (i=0; i tmp) { - nextCol = tmp; - } - // deletion - tmp = prevRow[j + 1] + 1; - if (nextCol > tmp) { - nextCol = tmp; - } - - // copy current into previous (in preparation for next iteration) - prevRow[j] = curCol; - - // get current time - currentTime = new Date().valueOf(); - } - - // send a progress update? - if (null !== options.progress) { - try { - options.progress.call(null, (i * 100.0/ str1.length)); - } catch (err) { - return cb('Progress callback: ' + err.toString()); - } - } - - // next iteration - _defer(__calculate); - }; - - __calculate(); - } - - }; - - // amd - if (typeof define !== "undefined" && define !== null && define.amd) { - define(function() { - return Levenshtein; - }); - } - // commonjs - else if (typeof module !== "undefined" && module !== null && typeof exports !== "undefined" && module.exports === exports) { - module.exports = Levenshtein; - } - // web worker - else if (typeof self !== "undefined" && typeof self.postMessage === 'function' && typeof self.importScripts === 'function') { - self.Levenshtein = Levenshtein; - } - // browser main thread - else if (typeof window !== "undefined" && window !== null) { - window.Levenshtein = Levenshtein; - } -}()); - diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/package.json deleted file mode 100644 index 9e322bf..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "fast-levenshtein", - "version": "1.1.4", - "description": "Efficient implementation of Levenshtein algorithm with asynchronous callback support", - "main": "levenshtein.js", - "files": [ - "levenshtein.js" - ], - "scripts": { - "build": "grunt build", - "benchmark": "grunt benchmark", - "test": "mocha" - }, - "devDependencies": { - "chai": "~1.5.0", - "grunt": "~0.4.1", - "grunt-benchmark": "~0.2.0", - "grunt-contrib-jshint": "~0.4.3", - "grunt-contrib-uglify": "~0.2.0", - "grunt-mocha-test": "~0.2.2", - "grunt-npm-install": "~0.1.0", - "load-grunt-tasks": "~0.6.0", - "lodash": "^4.0.1", - "mocha": "~1.9.0" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/hiddentao/fast-levenshtein.git" - }, - "keywords": [ - "levenshtein", - "distance", - "string" - ], - "author": { - "name": "Ramesh Nair", - "email": "ram@hiddentao.com", - "url": "http://www.hiddentao.com/" - }, - "license": "MIT", - "gitHead": "80874a9c0cd8d9f5aee9d73aa39d9ab0a9d51435", - "bugs": { - "url": "https://github.com/hiddentao/fast-levenshtein/issues" - }, - "homepage": "https://github.com/hiddentao/fast-levenshtein#readme", - "_id": "fast-levenshtein@1.1.4", - "_shasum": "e6a754cc8f15e58987aa9cbd27af66fd6f4e5af9", - "_from": "fast-levenshtein@>=1.1.0 <2.0.0", - "_npmVersion": "3.9.3", - "_nodeVersion": "4.4.5", - "_npmUser": { - "name": "hiddentao", - "email": "ram@hiddentao.com" - }, - "dist": { - "shasum": "e6a754cc8f15e58987aa9cbd27af66fd6f4e5af9", - "tarball": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz" - }, - "maintainers": [ - { - "name": "hiddentao", - "email": "ram@hiddentao.com" - } - ], - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/fast-levenshtein-1.1.4.tgz_1469168840025_0.9637497058138251" - }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/LICENSE b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/LICENSE deleted file mode 100644 index 525b118..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) George Zahariev - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/README.md b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/README.md deleted file mode 100644 index bb9ffea..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/README.md +++ /dev/null @@ -1,196 +0,0 @@ -# levn [![Build Status](https://travis-ci.org/gkz/levn.png)](https://travis-ci.org/gkz/levn) -__Light ECMAScript (JavaScript) Value Notation__ -Levn is a library which allows you to parse a string into a JavaScript value based on an expected type. It is meant for short amounts of human entered data (eg. config files, command line arguments). - -Levn aims to concisely describe JavaScript values in text, and allow for the extraction and validation of those values. Levn uses [type-check](https://github.com/gkz/type-check) for its type format, and to validate the results. MIT license. Version 0.3.0. - -__How is this different than JSON?__ levn is meant to be written by humans only, is (due to the previous point) much more concise, can be validated against supplied types, has regex and date literals, and can easily be extended with custom types. On the other hand, it is probably slower and thus less efficient at transporting large amounts of data, which is fine since this is not its purpose. - - npm install levn - -For updates on levn, [follow me on twitter](https://twitter.com/gkzahariev). - - -## Quick Examples - -```js -var parse = require('levn').parse; -parse('Number', '2'); // 2 -parse('String', '2'); // '2' -parse('String', 'levn'); // 'levn' -parse('String', 'a b'); // 'a b' -parse('Boolean', 'true'); // true - -parse('Date', '#2011-11-11#'); // (Date object) -parse('Date', '2011-11-11'); // (Date object) -parse('RegExp', '/[a-z]/gi'); // /[a-z]/gi -parse('RegExp', 're'); // /re/ -parse('Int', '2'); // 2 - -parse('Number | String', 'str'); // 'str' -parse('Number | String', '2'); // 2 - -parse('[Number]', '[1,2,3]'); // [1,2,3] -parse('(String, Boolean)', '(hi, false)'); // ['hi', false] -parse('{a: String, b: Number}', '{a: str, b: 2}'); // {a: 'str', b: 2} - -// at the top level, you can ommit surrounding delimiters -parse('[Number]', '1,2,3'); // [1,2,3] -parse('(String, Boolean)', 'hi, false'); // ['hi', false] -parse('{a: String, b: Number}', 'a: str, b: 2'); // {a: 'str', b: 2} - -// wildcard - auto choose type -parse('*', '[hi,(null,[42]),{k: true}]'); // ['hi', [null, [42]], {k: true}] -``` -## Usage - -`require('levn');` returns an object that exposes three properties. `VERSION` is the current version of the library as a string. `parse` and `parsedTypeParse` are functions. - -```js -// parse(type, input, options); -parse('[Number]', '1,2,3'); // [1, 2, 3] - -// parsedTypeParse(parsedType, input, options); -var parsedType = require('type-check').parseType('[Number]'); -parsedTypeParse(parsedType, '1,2,3'); // [1, 2, 3] -``` - -### parse(type, input, options) - -`parse` casts the string `input` into a JavaScript value according to the specified `type` in the [type format](https://github.com/gkz/type-check#type-format) (and taking account the optional `options`) and returns the resulting JavaScript value. - -##### arguments -* type - `String` - the type written in the [type format](https://github.com/gkz/type-check#type-format) which to check against -* input - `String` - the value written in the [levn format](#levn-format) -* options - `Maybe Object` - an optional parameter specifying additional [options](#options) - -##### returns -`*` - the resulting JavaScript value - -##### example -```js -parse('[Number]', '1,2,3'); // [1, 2, 3] -``` - -### parsedTypeParse(parsedType, input, options) - -`parsedTypeParse` casts the string `input` into a JavaScript value according to the specified `type` which has already been parsed (and taking account the optional `options`) and returns the resulting JavaScript value. You can parse a type using the [type-check](https://github.com/gkz/type-check) library's `parseType` function. - -##### arguments -* type - `Object` - the type in the parsed type format which to check against -* input - `String` - the value written in the [levn format](#levn-format) -* options - `Maybe Object` - an optional parameter specifying additional [options](#options) - -##### returns -`*` - the resulting JavaScript value - -##### example -```js -var parsedType = require('type-check').parseType('[Number]'); -parsedTypeParse(parsedType, '1,2,3'); // [1, 2, 3] -``` - -## Levn Format - -Levn can use the type information you provide to choose the appropriate value to produce from the input. For the same input, it will choose a different output value depending on the type provided. For example, `parse('Number', '2')` will produce the number `2`, but `parse('String', '2')` will produce the string `"2"`. - -If you do not provide type information, and simply use `*`, levn will parse the input according the unambiguous "explicit" mode, which we will now detail - you can also set the `explicit` option to true manually in the [options](#options). - -* `"string"`, `'string'` are parsed as a String, eg. `"a msg"` is `"a msg"` -* `#date#` is parsed as a Date, eg. `#2011-11-11#` is `new Date('2011-11-11')` -* `/regexp/flags` is parsed as a RegExp, eg. `/re/gi` is `/re/gi` -* `undefined`, `null`, `NaN`, `true`, and `false` are all their JavaScript equivalents -* `[element1, element2, etc]` is an Array, and the casting procedure is recursively applied to each element. Eg. `[1,2,3]` is `[1,2,3]`. -* `(element1, element2, etc)` is an tuple, and the casting procedure is recursively applied to each element. Eg. `(1, a)` is `(1, a)` (is `[1, 'a']`). -* `{key1: val1, key2: val2, ...}` is an Object, and the casting procedure is recursively applied to each property. Eg. `{a: 1, b: 2}` is `{a: 1, b: 2}`. -* Any test which does not fall under the above, and which does not contain special characters (`[``]``(``)``{``}``:``,`) is a string, eg. `$12- blah` is `"$12- blah"`. - -If you do provide type information, you can make your input more concise as the program already has some information about what it expects. Please see the [type format](https://github.com/gkz/type-check#type-format) section of [type-check](https://github.com/gkz/type-check) for more information about how to specify types. There are some rules about what levn can do with the information: - -* If a String is expected, and only a String, all characters of the input (including any special ones) will become part of the output. Eg. `[({})]` is `"[({})]"`, and `"hi"` is `'"hi"'`. -* If a Date is expected, the surrounding `#` can be omitted from date literals. Eg. `2011-11-11` is `new Date('2011-11-11')`. -* If a RegExp is expected, no flags need to be specified, and the regex is not using any of the special characters,the opening and closing `/` can be omitted - this will have the affect of setting the source of the regex to the input. Eg. `regex` is `/regex/`. -* If an Array is expected, and it is the root node (at the top level), the opening `[` and closing `]` can be omitted. Eg. `1,2,3` is `[1,2,3]`. -* If a tuple is expected, and it is the root node (at the top level), the opening `(` and closing `)` can be omitted. Eg. `1, a` is `(1, a)` (is `[1, 'a']`). -* If an Object is expected, and it is the root node (at the top level), the opening `{` and closing `}` can be omitted. Eg `a: 1, b: 2` is `{a: 1, b: 2}`. - -If you list multiple types (eg. `Number | String`), it will first attempt to cast to the first type and then validate - if the validation fails it will move on to the next type and so forth, left to right. You must be careful as some types will succeed with any input, such as String. Thus put String at the end of your list. In non-explicit mode, Date and RegExp will succeed with a large variety of input - also be careful with these and list them near the end if not last in your list. - -Whitespace between special characters and elements is inconsequential. - -## Options - -Options is an object. It is an optional parameter to the `parse` and `parsedTypeParse` functions. - -### Explicit - -A `Boolean`. By default it is `false`. - -__Example:__ - -```js -parse('RegExp', 're', {explicit: false}); // /re/ -parse('RegExp', 're', {explicit: true}); // Error: ... does not type check... -parse('RegExp | String', 're', {explicit: true}); // 're' -``` - -`explicit` sets whether to be in explicit mode or not. Using `*` automatically activates explicit mode. For more information, read the [levn format](#levn-format) section. - -### customTypes - -An `Object`. Empty `{}` by default. - -__Example:__ - -```js -var options = { - customTypes: { - Even: { - typeOf: 'Number', - validate: function (x) { - return x % 2 === 0; - }, - cast: function (x) { - return {type: 'Just', value: parseInt(x)}; - } - } - } -} -parse('Even', '2', options); // 2 -parse('Even', '3', options); // Error: Value: "3" does not type check... -``` - -__Another Example:__ -```js -function Person(name, age){ - this.name = name; - this.age = age; -} -var options = { - customTypes: { - Person: { - typeOf: 'Object', - validate: function (x) { - x instanceof Person; - }, - cast: function (value, options, typesCast) { - var name, age; - if ({}.toString.call(value).slice(8, -1) !== 'Object') { - return {type: 'Nothing'}; - } - name = typesCast(value.name, [{type: 'String'}], options); - age = typesCast(value.age, [{type: 'Numger'}], options); - return {type: 'Just', value: new Person(name, age)}; - } - } -} -parse('Person', '{name: Laura, age: 25}', options); // Person {name: 'Laura', age: 25} -``` - -`customTypes` is an object whose keys are the name of the types, and whose values are an object with three properties, `typeOf`, `validate`, and `cast`. For more information about `typeOf` and `validate`, please see the [custom types](https://github.com/gkz/type-check#custom-types) section of type-check. - -`cast` is a function which receives three arguments, the value under question, options, and the typesCast function. In `cast`, attempt to cast the value into the specified type. If you are successful, return an object in the format `{type: 'Just', value: CAST-VALUE}`, if you know it won't work, return `{type: 'Nothing'}`. You can use the `typesCast` function to cast any child values. Remember to pass `options` to it. In your function you can also check for `options.explicit` and act accordingly. - -## Technical About - -`levn` is written in [LiveScript](http://livescript.net/) - a language that compiles to JavaScript. It uses [type-check](https://github.com/gkz/type-check) to both parse types and validate values. It also uses the [prelude.ls](http://preludels.com/) library. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/cast.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/cast.js deleted file mode 100644 index 411e29d..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/cast.js +++ /dev/null @@ -1,298 +0,0 @@ -// Generated by LiveScript 1.4.0 -(function(){ - var parsedTypeCheck, types, toString$ = {}.toString; - parsedTypeCheck = require('type-check').parsedTypeCheck; - types = { - '*': function(value, options){ - switch (toString$.call(value).slice(8, -1)) { - case 'Array': - return typeCast(value, { - type: 'Array' - }, options); - case 'Object': - return typeCast(value, { - type: 'Object' - }, options); - default: - return { - type: 'Just', - value: typesCast(value, [ - { - type: 'Undefined' - }, { - type: 'Null' - }, { - type: 'NaN' - }, { - type: 'Boolean' - }, { - type: 'Number' - }, { - type: 'Date' - }, { - type: 'RegExp' - }, { - type: 'Array' - }, { - type: 'Object' - }, { - type: 'String' - } - ], (options.explicit = true, options)) - }; - } - }, - Undefined: function(it){ - if (it === 'undefined' || it === void 8) { - return { - type: 'Just', - value: void 8 - }; - } else { - return { - type: 'Nothing' - }; - } - }, - Null: function(it){ - if (it === 'null') { - return { - type: 'Just', - value: null - }; - } else { - return { - type: 'Nothing' - }; - } - }, - NaN: function(it){ - if (it === 'NaN') { - return { - type: 'Just', - value: NaN - }; - } else { - return { - type: 'Nothing' - }; - } - }, - Boolean: function(it){ - if (it === 'true') { - return { - type: 'Just', - value: true - }; - } else if (it === 'false') { - return { - type: 'Just', - value: false - }; - } else { - return { - type: 'Nothing' - }; - } - }, - Number: function(it){ - return { - type: 'Just', - value: +it - }; - }, - Int: function(it){ - return { - type: 'Just', - value: +it - }; - }, - Float: function(it){ - return { - type: 'Just', - value: +it - }; - }, - Date: function(value, options){ - var that; - if (that = /^\#([\s\S]*)\#$/.exec(value)) { - return { - type: 'Just', - value: new Date(+that[1] || that[1]) - }; - } else if (options.explicit) { - return { - type: 'Nothing' - }; - } else { - return { - type: 'Just', - value: new Date(+value || value) - }; - } - }, - RegExp: function(value, options){ - var that; - if (that = /^\/([\s\S]*)\/([gimy]*)$/.exec(value)) { - return { - type: 'Just', - value: new RegExp(that[1], that[2]) - }; - } else if (options.explicit) { - return { - type: 'Nothing' - }; - } else { - return { - type: 'Just', - value: new RegExp(value) - }; - } - }, - Array: function(value, options){ - return castArray(value, { - of: [{ - type: '*' - }] - }, options); - }, - Object: function(value, options){ - return castFields(value, { - of: {} - }, options); - }, - String: function(it){ - var that; - if (toString$.call(it).slice(8, -1) !== 'String') { - return { - type: 'Nothing' - }; - } - if (that = it.match(/^'([\s\S]*)'$/)) { - return { - type: 'Just', - value: that[1].replace(/\\'/g, "'") - }; - } else if (that = it.match(/^"([\s\S]*)"$/)) { - return { - type: 'Just', - value: that[1].replace(/\\"/g, '"') - }; - } else { - return { - type: 'Just', - value: it - }; - } - } - }; - function castArray(node, type, options){ - var typeOf, element; - if (toString$.call(node).slice(8, -1) !== 'Array') { - return { - type: 'Nothing' - }; - } - typeOf = type.of; - return { - type: 'Just', - value: (function(){ - var i$, ref$, len$, results$ = []; - for (i$ = 0, len$ = (ref$ = node).length; i$ < len$; ++i$) { - element = ref$[i$]; - results$.push(typesCast(element, typeOf, options)); - } - return results$; - }()) - }; - } - function castTuple(node, type, options){ - var result, i, i$, ref$, len$, types, cast; - if (toString$.call(node).slice(8, -1) !== 'Array') { - return { - type: 'Nothing' - }; - } - result = []; - i = 0; - for (i$ = 0, len$ = (ref$ = type.of).length; i$ < len$; ++i$) { - types = ref$[i$]; - cast = typesCast(node[i], types, options); - if (toString$.call(cast).slice(8, -1) !== 'Undefined') { - result.push(cast); - } - i++; - } - if (node.length <= i) { - return { - type: 'Just', - value: result - }; - } else { - return { - type: 'Nothing' - }; - } - } - function castFields(node, type, options){ - var typeOf, key, value; - if (toString$.call(node).slice(8, -1) !== 'Object') { - return { - type: 'Nothing' - }; - } - typeOf = type.of; - return { - type: 'Just', - value: (function(){ - var ref$, resultObj$ = {}; - for (key in ref$ = node) { - value = ref$[key]; - resultObj$[typesCast(key, [{ - type: 'String' - }], options)] = typesCast(value, typeOf[key] || [{ - type: '*' - }], options); - } - return resultObj$; - }()) - }; - } - function typeCast(node, typeObj, options){ - var type, structure, castFunc, ref$; - type = typeObj.type, structure = typeObj.structure; - if (type) { - castFunc = ((ref$ = options.customTypes[type]) != null ? ref$.cast : void 8) || types[type]; - if (!castFunc) { - throw new Error("Type not defined: " + type + "."); - } - return castFunc(node, options, typesCast); - } else { - switch (structure) { - case 'array': - return castArray(node, typeObj, options); - case 'tuple': - return castTuple(node, typeObj, options); - case 'fields': - return castFields(node, typeObj, options); - } - } - } - function typesCast(node, types, options){ - var i$, len$, type, ref$, valueType, value; - for (i$ = 0, len$ = types.length; i$ < len$; ++i$) { - type = types[i$]; - ref$ = typeCast(node, type, options), valueType = ref$.type, value = ref$.value; - if (valueType === 'Nothing') { - continue; - } - if (parsedTypeCheck([type], value, { - customTypes: options.customTypes - })) { - return value; - } - } - throw new Error("Value " + JSON.stringify(node) + " does not type check against " + JSON.stringify(types) + "."); - } - module.exports = typesCast; -}).call(this); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/coerce.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/coerce.js deleted file mode 100644 index 027b6da..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/coerce.js +++ /dev/null @@ -1,285 +0,0 @@ -// Generated by LiveScript 1.2.0 -(function(){ - var parsedTypeCheck, types, toString$ = {}.toString; - parsedTypeCheck = require('type-check').parsedTypeCheck; - types = { - '*': function(it){ - switch (toString$.call(it).slice(8, -1)) { - case 'Array': - return coerceType(it, { - type: 'Array' - }); - case 'Object': - return coerceType(it, { - type: 'Object' - }); - default: - return { - type: 'Just', - value: coerceTypes(it, [ - { - type: 'Undefined' - }, { - type: 'Null' - }, { - type: 'NaN' - }, { - type: 'Boolean' - }, { - type: 'Number' - }, { - type: 'Date' - }, { - type: 'RegExp' - }, { - type: 'Array' - }, { - type: 'Object' - }, { - type: 'String' - } - ], { - explicit: true - }) - }; - } - }, - Undefined: function(it){ - if (it === 'undefined' || it === void 8) { - return { - type: 'Just', - value: void 8 - }; - } else { - return { - type: 'Nothing' - }; - } - }, - Null: function(it){ - if (it === 'null') { - return { - type: 'Just', - value: null - }; - } else { - return { - type: 'Nothing' - }; - } - }, - NaN: function(it){ - if (it === 'NaN') { - return { - type: 'Just', - value: NaN - }; - } else { - return { - type: 'Nothing' - }; - } - }, - Boolean: function(it){ - if (it === 'true') { - return { - type: 'Just', - value: true - }; - } else if (it === 'false') { - return { - type: 'Just', - value: false - }; - } else { - return { - type: 'Nothing' - }; - } - }, - Number: function(it){ - return { - type: 'Just', - value: +it - }; - }, - Int: function(it){ - return { - type: 'Just', - value: parseInt(it) - }; - }, - Float: function(it){ - return { - type: 'Just', - value: parseFloat(it) - }; - }, - Date: function(value, options){ - var that; - if (that = /^\#(.*)\#$/.exec(value)) { - return { - type: 'Just', - value: new Date(+that[1] || that[1]) - }; - } else if (options.explicit) { - return { - type: 'Nothing' - }; - } else { - return { - type: 'Just', - value: new Date(+value || value) - }; - } - }, - RegExp: function(value, options){ - var that; - if (that = /^\/(.*)\/([gimy]*)$/.exec(value)) { - return { - type: 'Just', - value: new RegExp(that[1], that[2]) - }; - } else if (options.explicit) { - return { - type: 'Nothing' - }; - } else { - return { - type: 'Just', - value: new RegExp(value) - }; - } - }, - Array: function(it){ - return coerceArray(it, { - of: [{ - type: '*' - }] - }); - }, - Object: function(it){ - return coerceFields(it, { - of: {} - }); - }, - String: function(it){ - var that; - if (toString$.call(it).slice(8, -1) !== 'String') { - return { - type: 'Nothing' - }; - } - if (that = it.match(/^'(.*)'$/)) { - return { - type: 'Just', - value: that[1] - }; - } else if (that = it.match(/^"(.*)"$/)) { - return { - type: 'Just', - value: that[1] - }; - } else { - return { - type: 'Just', - value: it - }; - } - } - }; - function coerceArray(node, type){ - var typeOf, element; - if (toString$.call(node).slice(8, -1) !== 'Array') { - return { - type: 'Nothing' - }; - } - typeOf = type.of; - return { - type: 'Just', - value: (function(){ - var i$, ref$, len$, results$ = []; - for (i$ = 0, len$ = (ref$ = node).length; i$ < len$; ++i$) { - element = ref$[i$]; - results$.push(coerceTypes(element, typeOf)); - } - return results$; - }()) - }; - } - function coerceTuple(node, type){ - var result, i$, ref$, len$, i, types, that; - if (toString$.call(node).slice(8, -1) !== 'Array') { - return { - type: 'Nothing' - }; - } - result = []; - for (i$ = 0, len$ = (ref$ = type.of).length; i$ < len$; ++i$) { - i = i$; - types = ref$[i$]; - if (that = coerceTypes(node[i], types)) { - result.push(that); - } - } - return { - type: 'Just', - value: result - }; - } - function coerceFields(node, type){ - var typeOf, key, value; - if (toString$.call(node).slice(8, -1) !== 'Object') { - return { - type: 'Nothing' - }; - } - typeOf = type.of; - return { - type: 'Just', - value: (function(){ - var ref$, results$ = {}; - for (key in ref$ = node) { - value = ref$[key]; - results$[key] = coerceTypes(value, typeOf[key] || [{ - type: '*' - }]); - } - return results$; - }()) - }; - } - function coerceType(node, typeObj, options){ - var type, structure, coerceFunc; - type = typeObj.type, structure = typeObj.structure; - if (type) { - coerceFunc = types[type]; - return coerceFunc(node, options); - } else { - switch (structure) { - case 'array': - return coerceArray(node, typeObj); - case 'tuple': - return coerceTuple(node, typeObj); - case 'fields': - return coerceFields(node, typeObj); - } - } - } - function coerceTypes(node, types, options){ - var i$, len$, type, ref$, valueType, value; - for (i$ = 0, len$ = types.length; i$ < len$; ++i$) { - type = types[i$]; - ref$ = coerceType(node, type, options), valueType = ref$.type, value = ref$.value; - if (valueType === 'Nothing') { - continue; - } - if (parsedTypeCheck([type], value)) { - return value; - } - } - throw new Error("Value " + JSON.stringify(node) + " does not type check against " + JSON.stringify(types) + "."); - } - module.exports = coerceTypes; -}).call(this); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/index.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/index.js deleted file mode 100644 index 4adae30..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/index.js +++ /dev/null @@ -1,22 +0,0 @@ -// Generated by LiveScript 1.4.0 -(function(){ - var parseString, cast, parseType, VERSION, parsedTypeParse, parse; - parseString = require('./parse-string'); - cast = require('./cast'); - parseType = require('type-check').parseType; - VERSION = '0.3.0'; - parsedTypeParse = function(parsedType, string, options){ - options == null && (options = {}); - options.explicit == null && (options.explicit = false); - options.customTypes == null && (options.customTypes = {}); - return cast(parseString(parsedType, string, options), parsedType, options); - }; - parse = function(type, string, options){ - return parsedTypeParse(parseType(type), string, options); - }; - module.exports = { - VERSION: VERSION, - parse: parse, - parsedTypeParse: parsedTypeParse - }; -}).call(this); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/parse-string.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/parse-string.js deleted file mode 100644 index d573975..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/parse-string.js +++ /dev/null @@ -1,113 +0,0 @@ -// Generated by LiveScript 1.4.0 -(function(){ - var reject, special, tokenRegex; - reject = require('prelude-ls').reject; - function consumeOp(tokens, op){ - if (tokens[0] === op) { - return tokens.shift(); - } else { - throw new Error("Expected '" + op + "', but got '" + tokens[0] + "' instead in " + JSON.stringify(tokens) + "."); - } - } - function maybeConsumeOp(tokens, op){ - if (tokens[0] === op) { - return tokens.shift(); - } - } - function consumeList(tokens, arg$, hasDelimiters){ - var open, close, result, untilTest; - open = arg$[0], close = arg$[1]; - if (hasDelimiters) { - consumeOp(tokens, open); - } - result = []; - untilTest = "," + (hasDelimiters ? close : ''); - while (tokens.length && (hasDelimiters && tokens[0] !== close)) { - result.push(consumeElement(tokens, untilTest)); - maybeConsumeOp(tokens, ','); - } - if (hasDelimiters) { - consumeOp(tokens, close); - } - return result; - } - function consumeArray(tokens, hasDelimiters){ - return consumeList(tokens, ['[', ']'], hasDelimiters); - } - function consumeTuple(tokens, hasDelimiters){ - return consumeList(tokens, ['(', ')'], hasDelimiters); - } - function consumeFields(tokens, hasDelimiters){ - var result, untilTest, key; - if (hasDelimiters) { - consumeOp(tokens, '{'); - } - result = {}; - untilTest = "," + (hasDelimiters ? '}' : ''); - while (tokens.length && (!hasDelimiters || tokens[0] !== '}')) { - key = consumeValue(tokens, ':'); - consumeOp(tokens, ':'); - result[key] = consumeElement(tokens, untilTest); - maybeConsumeOp(tokens, ','); - } - if (hasDelimiters) { - consumeOp(tokens, '}'); - } - return result; - } - function consumeValue(tokens, untilTest){ - var out; - untilTest == null && (untilTest = ''); - out = ''; - while (tokens.length && -1 === untilTest.indexOf(tokens[0])) { - out += tokens.shift(); - } - return out; - } - function consumeElement(tokens, untilTest){ - switch (tokens[0]) { - case '[': - return consumeArray(tokens, true); - case '(': - return consumeTuple(tokens, true); - case '{': - return consumeFields(tokens, true); - default: - return consumeValue(tokens, untilTest); - } - } - function consumeTopLevel(tokens, types, options){ - var ref$, type, structure, origTokens, result, finalResult, x$, y$; - ref$ = types[0], type = ref$.type, structure = ref$.structure; - origTokens = tokens.concat(); - if (!options.explicit && types.length === 1 && ((!type && structure) || (type === 'Array' || type === 'Object'))) { - result = structure === 'array' || type === 'Array' - ? consumeArray(tokens, tokens[0] === '[') - : structure === 'tuple' - ? consumeTuple(tokens, tokens[0] === '(') - : consumeFields(tokens, tokens[0] === '{'); - finalResult = tokens.length ? consumeElement(structure === 'array' || type === 'Array' - ? (x$ = origTokens, x$.unshift('['), x$.push(']'), x$) - : (y$ = origTokens, y$.unshift('('), y$.push(')'), y$)) : result; - } else { - finalResult = consumeElement(tokens); - } - return finalResult; - } - special = /\[\]\(\)}{:,/.source; - tokenRegex = RegExp('("(?:\\\\"|[^"])*")|(\'(?:\\\\\'|[^\'])*\')|(/(?:\\\\/|[^/])*/[a-zA-Z]*)|(#.*#)|([' + special + '])|([^\\s' + special + '](?:\\s*[^\\s' + special + ']+)*)|\\s*'); - module.exports = function(types, string, options){ - var tokens, node; - options == null && (options = {}); - if (!options.explicit && types.length === 1 && types[0].type === 'String') { - return "'" + string.replace(/\\'/g, "\\\\'") + "'"; - } - tokens = reject(not$, string.split(tokenRegex)); - node = consumeTopLevel(tokens, types, options); - if (!node) { - throw new Error("Error parsing '" + string + "'."); - } - return node; - }; - function not$(x){ return !x; } -}).call(this); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/parse.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/parse.js deleted file mode 100644 index 2beff0f..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/parse.js +++ /dev/null @@ -1,102 +0,0 @@ -// Generated by LiveScript 1.2.0 -(function(){ - var reject, special, tokenRegex; - reject = require('prelude-ls').reject; - function consumeOp(tokens, op){ - if (tokens[0] === op) { - return tokens.shift(); - } else { - throw new Error("Expected '" + op + "', but got '" + tokens[0] + "' instead in " + JSON.stringify(tokens) + "."); - } - } - function maybeConsumeOp(tokens, op){ - if (tokens[0] === op) { - return tokens.shift(); - } - } - function consumeList(tokens, delimiters, hasDelimiters){ - var result; - if (hasDelimiters) { - consumeOp(tokens, delimiters[0]); - } - result = []; - while (tokens.length && tokens[0] !== delimiters[1]) { - result.push(consumeElement(tokens)); - maybeConsumeOp(tokens, ','); - } - if (hasDelimiters) { - consumeOp(tokens, delimiters[1]); - } - return result; - } - function consumeArray(tokens, hasDelimiters){ - return consumeList(tokens, ['[', ']'], hasDelimiters); - } - function consumeTuple(tokens, hasDelimiters){ - return consumeList(tokens, ['(', ')'], hasDelimiters); - } - function consumeFields(tokens, hasDelimiters){ - var result, key; - if (hasDelimiters) { - consumeOp(tokens, '{'); - } - result = {}; - while (tokens.length && (!hasDelimiters || tokens[0] !== '}')) { - key = tokens.shift(); - consumeOp(tokens, ':'); - result[key] = consumeElement(tokens); - maybeConsumeOp(tokens, ','); - } - if (hasDelimiters) { - consumeOp(tokens, '}'); - } - return result; - } - function consumeElement(tokens){ - switch (tokens[0]) { - case '[': - return consumeArray(tokens, true); - case '(': - return consumeTuple(tokens, true); - case '{': - return consumeFields(tokens, true); - default: - return tokens.shift(); - } - } - function consumeTopLevel(tokens, types){ - var ref$, type, structure, origTokens, result, finalResult, x$, y$; - ref$ = types[0], type = ref$.type, structure = ref$.structure; - origTokens = tokens.concat(); - if (types.length === 1 && (structure || (type === 'Array' || type === 'Object'))) { - result = structure === 'array' || type === 'Array' - ? consumeArray(tokens, tokens[0] === '[') - : structure === 'tuple' - ? consumeTuple(tokens, tokens[0] === '(') - : consumeFields(tokens, tokens[0] === '{'); - finalResult = tokens.length ? consumeElement(structure === 'array' || type === 'Array' - ? (x$ = origTokens, x$.unshift('['), x$.push(']'), x$) - : (y$ = origTokens, y$.unshift('('), y$.push(')'), y$)) : result; - } else { - finalResult = consumeElement(tokens); - } - if (tokens.length && origTokens.length) { - throw new Error("Unable to parse " + JSON.stringify(origTokens) + " of type " + JSON.stringify(types) + "."); - } else { - return finalResult; - } - } - special = /\[\]\(\)}{:,/.source; - tokenRegex = RegExp('("(?:[^"]|\\\\")*")|(\'(?:[^\']|\\\\\')*\')|(#.*#)|(/(?:\\\\/|[^/])*/[gimy]*)|([' + special + '])|([^\\s' + special + ']+)|\\s*'); - module.exports = function(string, types){ - var tokens, node; - tokens = reject(function(it){ - return !it || /^\s+$/.test(it); - }, string.split(tokenRegex)); - node = consumeTopLevel(tokens, types); - if (!node) { - throw new Error("Error parsing '" + string + "'."); - } - return node; - }; -}).call(this); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/package.json deleted file mode 100644 index 4892b26..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/levn/package.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "name": "levn", - "version": "0.3.0", - "author": { - "name": "George Zahariev", - "email": "z@georgezahariev.com" - }, - "description": "Light ECMAScript (JavaScript) Value Notation - human written, concise, typed, flexible", - "homepage": "https://github.com/gkz/levn", - "keywords": [ - "levn", - "light", - "ecmascript", - "value", - "notation", - "json", - "typed", - "human", - "concise", - "typed", - "flexible" - ], - "files": [ - "lib", - "README.md", - "LICENSE" - ], - "main": "./lib/", - "bugs": { - "url": "https://github.com/gkz/levn/issues" - }, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - }, - "repository": { - "type": "git", - "url": "git://github.com/gkz/levn.git" - }, - "scripts": { - "test": "make test" - }, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "devDependencies": { - "livescript": "~1.4.0", - "mocha": "~2.3.4", - "istanbul": "~0.4.1" - }, - "gitHead": "a92b9acf928282ba81134b4ae8e6a5f29e1f5e1e", - "_id": "levn@0.3.0", - "_shasum": "3b09924edf9f083c0490fdd4c0bc4421e04764ee", - "_from": "levn@>=0.3.0 <0.4.0", - "_npmVersion": "2.14.12", - "_nodeVersion": "4.2.4", - "_npmUser": { - "name": "gkz", - "email": "z@georgezahariev.com" - }, - "maintainers": [ - { - "name": "gkz", - "email": "z@georgezahariev.com" - } - ], - "dist": { - "shasum": "3b09924edf9f083c0490fdd4c0bc4421e04764ee", - "tarball": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" - }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/CHANGELOG.md b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/CHANGELOG.md deleted file mode 100644 index c2de12d..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/CHANGELOG.md +++ /dev/null @@ -1,99 +0,0 @@ -# 1.1.2 -- add `Func.memoize` -- fix `zip-all` and `zip-with-all` corner case (no input) -- build with LiveScript 1.4.0 - -# 1.1.1 -- curry `unique-by`, `minimum-by` - -# 1.1.0 -- added `List` functions: `maximum-by`, `minimum-by`, `unique-by` -- added `List` functions: `at`, `elem-index`, `elem-indices`, `find-index`, `find-indices` -- added `Str` functions: `capitalize`, `camelize`, `dasherize` -- added `Func` function: `over` - eg. ``same-length = (==) `over` (.length)`` -- exported `Str.repeat` through main `prelude` object -- fixed definition of `foldr` and `foldr1`, the new correct definition is backwards incompatible with the old, incorrect one -- fixed issue with `fix` -- improved code coverage - -# 1.0.3 -- build browser versions - -# 1.0.2 -- bug fix for `flatten` - slight change with bug fix, flattens arrays only, not array-like objects - -# 1.0.1 -- bug fixes for `drop-while` and `take-while` - -# 1.0.0 -* massive update - separated functions into separate modules -* functions do not accept multiple types anymore - use different versions in their respective modules in some cases (eg. `Obj.map`), or use `chars` or `values` in other cases to transform into a list -* objects are no longer transformed into functions, simply use `(obj.)` in LiveScript to do that -* browser version now using browserify - use `prelude = require('prelude-ls')` -* added `compact`, `split`, `flatten`, `difference`, `intersection`, `union`, `count-by`, `group-by`, `chars`, `unchars`, `apply` -* added `lists-to-obj` which takes a list of keys and list of values and zips them up into an object, and the converse `obj-to-lists` -* added `pairs-to-obj` which takes a list of pairs (2 element lists) and creates an object, and the converse `obj-to-pairs` -* removed `cons`, `append` - use the concat operator -* removed `compose` - use the compose operator -* removed `obj-to-func` - use partially applied access (eg. `(obj.)`) -* removed `length` - use `(.length)` -* `sort-by` renamed to `sort-with` -* added new `sort-by` -* removed `compare` - just use the new `sort-by` -* `break-it` renamed `break-list`, (`Str.break-str` for the string version) -* added `Str.repeat` which creates a new string by repeating the input n times -* `unfold` as alias to `unfoldr` is no longer used -* fixed up style and compiled with LiveScript 1.1.1 -* use Make instead of Slake -* greatly improved tests - -# 0.6.0 -* fixed various bugs -* added `fix`, a fixpoint (Y combinator) for anonymous recursive functions -* added `unfoldr` (alias `unfold`) -* calling `replicate` with a string now returns a list of strings -* removed `partial`, just use native partial application in LiveScript using the `_` placeholder, or currying -* added `sort`, `sortBy`, and `compare` - -# 0.5.0 -* removed `lookup` - use (.prop) -* removed `call` - use (.func arg1, arg2) -* removed `pluck` - use map (.prop), xs -* fixed buys wtih `head` and `last` -* added non-minifed browser version, as `prelude-browser.js` -* renamed `prelude-min.js` to `prelude-browser-min.js` -* renamed `zip` to `zipAll` -* renamed `zipWith` to `zipAllWith` -* added `zip`, a curried zip that takes only two arguments -* added `zipWith`, a curried zipWith that takes only two arguments - -# 0.4.0 -* added `parition` function -* added `curry` function -* removed `elem` function (use `in`) -* removed `notElem` function (use `not in`) - -# 0.3.0 -* added `listToObject` -* added `unique` -* added `objToFunc` -* added support for using strings in map and the like -* added support for using objects in map and the like -* added ability to use objects instead of functions in certain cases -* removed `error` (just use throw) -* added `tau` constant -* added `join` -* added `values` -* added `keys` -* added `partial` -* renamed `log` to `ln` -* added alias to `head`: `first` -* added `installPrelude` helper - -# 0.2.0 -* removed functions that simply warp operators as you can now use operators as functions in LiveScript -* `min/max` are now curried and take only 2 arguments -* added `call` - -# 0.1.0 -* initial public release diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/LICENSE b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/LICENSE deleted file mode 100644 index 525b118..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) George Zahariev - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/README.md b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/README.md deleted file mode 100644 index fabc212..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# prelude.ls [![Build Status](https://travis-ci.org/gkz/prelude-ls.png?branch=master)](https://travis-ci.org/gkz/prelude-ls) - -is a functionally oriented utility library. It is powerful and flexible. Almost all of its functions are curried. It is written in, and is the recommended base library for, LiveScript. - -See **[the prelude.ls site](http://preludels.com)** for examples, a reference, and more. - -You can install via npm `npm install prelude-ls` - -### Development - -`make test` to test - -`make build` to build `lib` from `src` - -`make build-browser` to build browser versions diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Func.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Func.js deleted file mode 100644 index b80c9b1..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Func.js +++ /dev/null @@ -1,65 +0,0 @@ -// Generated by LiveScript 1.4.0 -var apply, curry, flip, fix, over, memoize, slice$ = [].slice, toString$ = {}.toString; -apply = curry$(function(f, list){ - return f.apply(null, list); -}); -curry = function(f){ - return curry$(f); -}; -flip = curry$(function(f, x, y){ - return f(y, x); -}); -fix = function(f){ - return function(g){ - return function(){ - return f(g(g)).apply(null, arguments); - }; - }(function(g){ - return function(){ - return f(g(g)).apply(null, arguments); - }; - }); -}; -over = curry$(function(f, g, x, y){ - return f(g(x), g(y)); -}); -memoize = function(f){ - var memo; - memo = {}; - return function(){ - var args, key, arg; - args = slice$.call(arguments); - key = (function(){ - var i$, ref$, len$, results$ = []; - for (i$ = 0, len$ = (ref$ = args).length; i$ < len$; ++i$) { - arg = ref$[i$]; - results$.push(arg + toString$.call(arg).slice(8, -1)); - } - return results$; - }()).join(''); - return memo[key] = key in memo - ? memo[key] - : f.apply(null, args); - }; -}; -module.exports = { - curry: curry, - flip: flip, - fix: fix, - apply: apply, - over: over, - memoize: memoize -}; -function curry$(f, bound){ - var context, - _curry = function(args) { - return f.length > 1 ? function(){ - var params = args ? args.concat() : []; - context = bound ? context || this : this; - return params.push.apply(params, arguments) < - f.length && arguments.length ? - _curry.call(context, params) : f.apply(context, params); - } : f; - }; - return _curry(); -} \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/List.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/List.js deleted file mode 100644 index 5790816..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/List.js +++ /dev/null @@ -1,686 +0,0 @@ -// Generated by LiveScript 1.4.0 -var each, map, compact, filter, reject, partition, find, head, first, tail, last, initial, empty, reverse, unique, uniqueBy, fold, foldl, fold1, foldl1, foldr, foldr1, unfoldr, concat, concatMap, flatten, difference, intersection, union, countBy, groupBy, andList, orList, any, all, sort, sortWith, sortBy, sum, product, mean, average, maximum, minimum, maximumBy, minimumBy, scan, scanl, scan1, scanl1, scanr, scanr1, slice, take, drop, splitAt, takeWhile, dropWhile, span, breakList, zip, zipWith, zipAll, zipAllWith, at, elemIndex, elemIndices, findIndex, findIndices, toString$ = {}.toString, slice$ = [].slice; -each = curry$(function(f, xs){ - var i$, len$, x; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - f(x); - } - return xs; -}); -map = curry$(function(f, xs){ - var i$, len$, x, results$ = []; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - results$.push(f(x)); - } - return results$; -}); -compact = function(xs){ - var i$, len$, x, results$ = []; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - if (x) { - results$.push(x); - } - } - return results$; -}; -filter = curry$(function(f, xs){ - var i$, len$, x, results$ = []; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - if (f(x)) { - results$.push(x); - } - } - return results$; -}); -reject = curry$(function(f, xs){ - var i$, len$, x, results$ = []; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - if (!f(x)) { - results$.push(x); - } - } - return results$; -}); -partition = curry$(function(f, xs){ - var passed, failed, i$, len$, x; - passed = []; - failed = []; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - (f(x) ? passed : failed).push(x); - } - return [passed, failed]; -}); -find = curry$(function(f, xs){ - var i$, len$, x; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - if (f(x)) { - return x; - } - } -}); -head = first = function(xs){ - return xs[0]; -}; -tail = function(xs){ - if (!xs.length) { - return; - } - return xs.slice(1); -}; -last = function(xs){ - return xs[xs.length - 1]; -}; -initial = function(xs){ - if (!xs.length) { - return; - } - return xs.slice(0, -1); -}; -empty = function(xs){ - return !xs.length; -}; -reverse = function(xs){ - return xs.concat().reverse(); -}; -unique = function(xs){ - var result, i$, len$, x; - result = []; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - if (!in$(x, result)) { - result.push(x); - } - } - return result; -}; -uniqueBy = curry$(function(f, xs){ - var seen, i$, len$, x, val, results$ = []; - seen = []; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - val = f(x); - if (in$(val, seen)) { - continue; - } - seen.push(val); - results$.push(x); - } - return results$; -}); -fold = foldl = curry$(function(f, memo, xs){ - var i$, len$, x; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - memo = f(memo, x); - } - return memo; -}); -fold1 = foldl1 = curry$(function(f, xs){ - return fold(f, xs[0], xs.slice(1)); -}); -foldr = curry$(function(f, memo, xs){ - var i$, x; - for (i$ = xs.length - 1; i$ >= 0; --i$) { - x = xs[i$]; - memo = f(x, memo); - } - return memo; -}); -foldr1 = curry$(function(f, xs){ - return foldr(f, xs[xs.length - 1], xs.slice(0, -1)); -}); -unfoldr = curry$(function(f, b){ - var result, x, that; - result = []; - x = b; - while ((that = f(x)) != null) { - result.push(that[0]); - x = that[1]; - } - return result; -}); -concat = function(xss){ - return [].concat.apply([], xss); -}; -concatMap = curry$(function(f, xs){ - var x; - return [].concat.apply([], (function(){ - var i$, ref$, len$, results$ = []; - for (i$ = 0, len$ = (ref$ = xs).length; i$ < len$; ++i$) { - x = ref$[i$]; - results$.push(f(x)); - } - return results$; - }())); -}); -flatten = function(xs){ - var x; - return [].concat.apply([], (function(){ - var i$, ref$, len$, results$ = []; - for (i$ = 0, len$ = (ref$ = xs).length; i$ < len$; ++i$) { - x = ref$[i$]; - if (toString$.call(x).slice(8, -1) === 'Array') { - results$.push(flatten(x)); - } else { - results$.push(x); - } - } - return results$; - }())); -}; -difference = function(xs){ - var yss, results, i$, len$, x, j$, len1$, ys; - yss = slice$.call(arguments, 1); - results = []; - outer: for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - for (j$ = 0, len1$ = yss.length; j$ < len1$; ++j$) { - ys = yss[j$]; - if (in$(x, ys)) { - continue outer; - } - } - results.push(x); - } - return results; -}; -intersection = function(xs){ - var yss, results, i$, len$, x, j$, len1$, ys; - yss = slice$.call(arguments, 1); - results = []; - outer: for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - for (j$ = 0, len1$ = yss.length; j$ < len1$; ++j$) { - ys = yss[j$]; - if (!in$(x, ys)) { - continue outer; - } - } - results.push(x); - } - return results; -}; -union = function(){ - var xss, results, i$, len$, xs, j$, len1$, x; - xss = slice$.call(arguments); - results = []; - for (i$ = 0, len$ = xss.length; i$ < len$; ++i$) { - xs = xss[i$]; - for (j$ = 0, len1$ = xs.length; j$ < len1$; ++j$) { - x = xs[j$]; - if (!in$(x, results)) { - results.push(x); - } - } - } - return results; -}; -countBy = curry$(function(f, xs){ - var results, i$, len$, x, key; - results = {}; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - key = f(x); - if (key in results) { - results[key] += 1; - } else { - results[key] = 1; - } - } - return results; -}); -groupBy = curry$(function(f, xs){ - var results, i$, len$, x, key; - results = {}; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - key = f(x); - if (key in results) { - results[key].push(x); - } else { - results[key] = [x]; - } - } - return results; -}); -andList = function(xs){ - var i$, len$, x; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - if (!x) { - return false; - } - } - return true; -}; -orList = function(xs){ - var i$, len$, x; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - if (x) { - return true; - } - } - return false; -}; -any = curry$(function(f, xs){ - var i$, len$, x; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - if (f(x)) { - return true; - } - } - return false; -}); -all = curry$(function(f, xs){ - var i$, len$, x; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - if (!f(x)) { - return false; - } - } - return true; -}); -sort = function(xs){ - return xs.concat().sort(function(x, y){ - if (x > y) { - return 1; - } else if (x < y) { - return -1; - } else { - return 0; - } - }); -}; -sortWith = curry$(function(f, xs){ - return xs.concat().sort(f); -}); -sortBy = curry$(function(f, xs){ - return xs.concat().sort(function(x, y){ - if (f(x) > f(y)) { - return 1; - } else if (f(x) < f(y)) { - return -1; - } else { - return 0; - } - }); -}); -sum = function(xs){ - var result, i$, len$, x; - result = 0; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - result += x; - } - return result; -}; -product = function(xs){ - var result, i$, len$, x; - result = 1; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - result *= x; - } - return result; -}; -mean = average = function(xs){ - var sum, i$, len$, x; - sum = 0; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - x = xs[i$]; - sum += x; - } - return sum / xs.length; -}; -maximum = function(xs){ - var max, i$, ref$, len$, x; - max = xs[0]; - for (i$ = 0, len$ = (ref$ = xs.slice(1)).length; i$ < len$; ++i$) { - x = ref$[i$]; - if (x > max) { - max = x; - } - } - return max; -}; -minimum = function(xs){ - var min, i$, ref$, len$, x; - min = xs[0]; - for (i$ = 0, len$ = (ref$ = xs.slice(1)).length; i$ < len$; ++i$) { - x = ref$[i$]; - if (x < min) { - min = x; - } - } - return min; -}; -maximumBy = curry$(function(f, xs){ - var max, i$, ref$, len$, x; - max = xs[0]; - for (i$ = 0, len$ = (ref$ = xs.slice(1)).length; i$ < len$; ++i$) { - x = ref$[i$]; - if (f(x) > f(max)) { - max = x; - } - } - return max; -}); -minimumBy = curry$(function(f, xs){ - var min, i$, ref$, len$, x; - min = xs[0]; - for (i$ = 0, len$ = (ref$ = xs.slice(1)).length; i$ < len$; ++i$) { - x = ref$[i$]; - if (f(x) < f(min)) { - min = x; - } - } - return min; -}); -scan = scanl = curry$(function(f, memo, xs){ - var last, x; - last = memo; - return [memo].concat((function(){ - var i$, ref$, len$, results$ = []; - for (i$ = 0, len$ = (ref$ = xs).length; i$ < len$; ++i$) { - x = ref$[i$]; - results$.push(last = f(last, x)); - } - return results$; - }())); -}); -scan1 = scanl1 = curry$(function(f, xs){ - if (!xs.length) { - return; - } - return scan(f, xs[0], xs.slice(1)); -}); -scanr = curry$(function(f, memo, xs){ - xs = xs.concat().reverse(); - return scan(f, memo, xs).reverse(); -}); -scanr1 = curry$(function(f, xs){ - if (!xs.length) { - return; - } - xs = xs.concat().reverse(); - return scan(f, xs[0], xs.slice(1)).reverse(); -}); -slice = curry$(function(x, y, xs){ - return xs.slice(x, y); -}); -take = curry$(function(n, xs){ - if (n <= 0) { - return xs.slice(0, 0); - } else { - return xs.slice(0, n); - } -}); -drop = curry$(function(n, xs){ - if (n <= 0) { - return xs; - } else { - return xs.slice(n); - } -}); -splitAt = curry$(function(n, xs){ - return [take(n, xs), drop(n, xs)]; -}); -takeWhile = curry$(function(p, xs){ - var len, i; - len = xs.length; - if (!len) { - return xs; - } - i = 0; - while (i < len && p(xs[i])) { - i += 1; - } - return xs.slice(0, i); -}); -dropWhile = curry$(function(p, xs){ - var len, i; - len = xs.length; - if (!len) { - return xs; - } - i = 0; - while (i < len && p(xs[i])) { - i += 1; - } - return xs.slice(i); -}); -span = curry$(function(p, xs){ - return [takeWhile(p, xs), dropWhile(p, xs)]; -}); -breakList = curry$(function(p, xs){ - return span(compose$(p, not$), xs); -}); -zip = curry$(function(xs, ys){ - var result, len, i$, len$, i, x; - result = []; - len = ys.length; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - i = i$; - x = xs[i$]; - if (i === len) { - break; - } - result.push([x, ys[i]]); - } - return result; -}); -zipWith = curry$(function(f, xs, ys){ - var result, len, i$, len$, i, x; - result = []; - len = ys.length; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - i = i$; - x = xs[i$]; - if (i === len) { - break; - } - result.push(f(x, ys[i])); - } - return result; -}); -zipAll = function(){ - var xss, minLength, i$, len$, xs, ref$, i, lresult$, j$, results$ = []; - xss = slice$.call(arguments); - minLength = undefined; - for (i$ = 0, len$ = xss.length; i$ < len$; ++i$) { - xs = xss[i$]; - minLength <= (ref$ = xs.length) || (minLength = ref$); - } - for (i$ = 0; i$ < minLength; ++i$) { - i = i$; - lresult$ = []; - for (j$ = 0, len$ = xss.length; j$ < len$; ++j$) { - xs = xss[j$]; - lresult$.push(xs[i]); - } - results$.push(lresult$); - } - return results$; -}; -zipAllWith = function(f){ - var xss, minLength, i$, len$, xs, ref$, i, results$ = []; - xss = slice$.call(arguments, 1); - minLength = undefined; - for (i$ = 0, len$ = xss.length; i$ < len$; ++i$) { - xs = xss[i$]; - minLength <= (ref$ = xs.length) || (minLength = ref$); - } - for (i$ = 0; i$ < minLength; ++i$) { - i = i$; - results$.push(f.apply(null, (fn$()))); - } - return results$; - function fn$(){ - var i$, ref$, len$, results$ = []; - for (i$ = 0, len$ = (ref$ = xss).length; i$ < len$; ++i$) { - xs = ref$[i$]; - results$.push(xs[i]); - } - return results$; - } -}; -at = curry$(function(n, xs){ - if (n < 0) { - return xs[xs.length + n]; - } else { - return xs[n]; - } -}); -elemIndex = curry$(function(el, xs){ - var i$, len$, i, x; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - i = i$; - x = xs[i$]; - if (x === el) { - return i; - } - } -}); -elemIndices = curry$(function(el, xs){ - var i$, len$, i, x, results$ = []; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - i = i$; - x = xs[i$]; - if (x === el) { - results$.push(i); - } - } - return results$; -}); -findIndex = curry$(function(f, xs){ - var i$, len$, i, x; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - i = i$; - x = xs[i$]; - if (f(x)) { - return i; - } - } -}); -findIndices = curry$(function(f, xs){ - var i$, len$, i, x, results$ = []; - for (i$ = 0, len$ = xs.length; i$ < len$; ++i$) { - i = i$; - x = xs[i$]; - if (f(x)) { - results$.push(i); - } - } - return results$; -}); -module.exports = { - each: each, - map: map, - filter: filter, - compact: compact, - reject: reject, - partition: partition, - find: find, - head: head, - first: first, - tail: tail, - last: last, - initial: initial, - empty: empty, - reverse: reverse, - difference: difference, - intersection: intersection, - union: union, - countBy: countBy, - groupBy: groupBy, - fold: fold, - fold1: fold1, - foldl: foldl, - foldl1: foldl1, - foldr: foldr, - foldr1: foldr1, - unfoldr: unfoldr, - andList: andList, - orList: orList, - any: any, - all: all, - unique: unique, - uniqueBy: uniqueBy, - sort: sort, - sortWith: sortWith, - sortBy: sortBy, - sum: sum, - product: product, - mean: mean, - average: average, - concat: concat, - concatMap: concatMap, - flatten: flatten, - maximum: maximum, - minimum: minimum, - maximumBy: maximumBy, - minimumBy: minimumBy, - scan: scan, - scan1: scan1, - scanl: scanl, - scanl1: scanl1, - scanr: scanr, - scanr1: scanr1, - slice: slice, - take: take, - drop: drop, - splitAt: splitAt, - takeWhile: takeWhile, - dropWhile: dropWhile, - span: span, - breakList: breakList, - zip: zip, - zipWith: zipWith, - zipAll: zipAll, - zipAllWith: zipAllWith, - at: at, - elemIndex: elemIndex, - elemIndices: elemIndices, - findIndex: findIndex, - findIndices: findIndices -}; -function curry$(f, bound){ - var context, - _curry = function(args) { - return f.length > 1 ? function(){ - var params = args ? args.concat() : []; - context = bound ? context || this : this; - return params.push.apply(params, arguments) < - f.length && arguments.length ? - _curry.call(context, params) : f.apply(context, params); - } : f; - }; - return _curry(); -} -function in$(x, xs){ - var i = -1, l = xs.length >>> 0; - while (++i < l) if (x === xs[i]) return true; - return false; -} -function compose$() { - var functions = arguments; - return function() { - var i, result; - result = functions[0].apply(this, arguments); - for (i = 1; i < functions.length; ++i) { - result = functions[i](result); - } - return result; - }; -} -function not$(x){ return !x; } \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Num.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Num.js deleted file mode 100644 index 0e25be7..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Num.js +++ /dev/null @@ -1,130 +0,0 @@ -// Generated by LiveScript 1.4.0 -var max, min, negate, abs, signum, quot, rem, div, mod, recip, pi, tau, exp, sqrt, ln, pow, sin, tan, cos, asin, acos, atan, atan2, truncate, round, ceiling, floor, isItNaN, even, odd, gcd, lcm; -max = curry$(function(x$, y$){ - return x$ > y$ ? x$ : y$; -}); -min = curry$(function(x$, y$){ - return x$ < y$ ? x$ : y$; -}); -negate = function(x){ - return -x; -}; -abs = Math.abs; -signum = function(x){ - if (x < 0) { - return -1; - } else if (x > 0) { - return 1; - } else { - return 0; - } -}; -quot = curry$(function(x, y){ - return ~~(x / y); -}); -rem = curry$(function(x$, y$){ - return x$ % y$; -}); -div = curry$(function(x, y){ - return Math.floor(x / y); -}); -mod = curry$(function(x$, y$){ - var ref$; - return (((x$) % (ref$ = y$) + ref$) % ref$); -}); -recip = (function(it){ - return 1 / it; -}); -pi = Math.PI; -tau = pi * 2; -exp = Math.exp; -sqrt = Math.sqrt; -ln = Math.log; -pow = curry$(function(x$, y$){ - return Math.pow(x$, y$); -}); -sin = Math.sin; -tan = Math.tan; -cos = Math.cos; -asin = Math.asin; -acos = Math.acos; -atan = Math.atan; -atan2 = curry$(function(x, y){ - return Math.atan2(x, y); -}); -truncate = function(x){ - return ~~x; -}; -round = Math.round; -ceiling = Math.ceil; -floor = Math.floor; -isItNaN = function(x){ - return x !== x; -}; -even = function(x){ - return x % 2 === 0; -}; -odd = function(x){ - return x % 2 !== 0; -}; -gcd = curry$(function(x, y){ - var z; - x = Math.abs(x); - y = Math.abs(y); - while (y !== 0) { - z = x % y; - x = y; - y = z; - } - return x; -}); -lcm = curry$(function(x, y){ - return Math.abs(Math.floor(x / gcd(x, y) * y)); -}); -module.exports = { - max: max, - min: min, - negate: negate, - abs: abs, - signum: signum, - quot: quot, - rem: rem, - div: div, - mod: mod, - recip: recip, - pi: pi, - tau: tau, - exp: exp, - sqrt: sqrt, - ln: ln, - pow: pow, - sin: sin, - tan: tan, - cos: cos, - acos: acos, - asin: asin, - atan: atan, - atan2: atan2, - truncate: truncate, - round: round, - ceiling: ceiling, - floor: floor, - isItNaN: isItNaN, - even: even, - odd: odd, - gcd: gcd, - lcm: lcm -}; -function curry$(f, bound){ - var context, - _curry = function(args) { - return f.length > 1 ? function(){ - var params = args ? args.concat() : []; - context = bound ? context || this : this; - return params.push.apply(params, arguments) < - f.length && arguments.length ? - _curry.call(context, params) : f.apply(context, params); - } : f; - }; - return _curry(); -} \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Obj.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Obj.js deleted file mode 100644 index f0a921f..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Obj.js +++ /dev/null @@ -1,154 +0,0 @@ -// Generated by LiveScript 1.4.0 -var values, keys, pairsToObj, objToPairs, listsToObj, objToLists, empty, each, map, compact, filter, reject, partition, find; -values = function(object){ - var i$, x, results$ = []; - for (i$ in object) { - x = object[i$]; - results$.push(x); - } - return results$; -}; -keys = function(object){ - var x, results$ = []; - for (x in object) { - results$.push(x); - } - return results$; -}; -pairsToObj = function(object){ - var i$, len$, x, resultObj$ = {}; - for (i$ = 0, len$ = object.length; i$ < len$; ++i$) { - x = object[i$]; - resultObj$[x[0]] = x[1]; - } - return resultObj$; -}; -objToPairs = function(object){ - var key, value, results$ = []; - for (key in object) { - value = object[key]; - results$.push([key, value]); - } - return results$; -}; -listsToObj = curry$(function(keys, values){ - var i$, len$, i, key, resultObj$ = {}; - for (i$ = 0, len$ = keys.length; i$ < len$; ++i$) { - i = i$; - key = keys[i$]; - resultObj$[key] = values[i]; - } - return resultObj$; -}); -objToLists = function(object){ - var keys, values, key, value; - keys = []; - values = []; - for (key in object) { - value = object[key]; - keys.push(key); - values.push(value); - } - return [keys, values]; -}; -empty = function(object){ - var x; - for (x in object) { - return false; - } - return true; -}; -each = curry$(function(f, object){ - var i$, x; - for (i$ in object) { - x = object[i$]; - f(x); - } - return object; -}); -map = curry$(function(f, object){ - var k, x, resultObj$ = {}; - for (k in object) { - x = object[k]; - resultObj$[k] = f(x); - } - return resultObj$; -}); -compact = function(object){ - var k, x, resultObj$ = {}; - for (k in object) { - x = object[k]; - if (x) { - resultObj$[k] = x; - } - } - return resultObj$; -}; -filter = curry$(function(f, object){ - var k, x, resultObj$ = {}; - for (k in object) { - x = object[k]; - if (f(x)) { - resultObj$[k] = x; - } - } - return resultObj$; -}); -reject = curry$(function(f, object){ - var k, x, resultObj$ = {}; - for (k in object) { - x = object[k]; - if (!f(x)) { - resultObj$[k] = x; - } - } - return resultObj$; -}); -partition = curry$(function(f, object){ - var passed, failed, k, x; - passed = {}; - failed = {}; - for (k in object) { - x = object[k]; - (f(x) ? passed : failed)[k] = x; - } - return [passed, failed]; -}); -find = curry$(function(f, object){ - var i$, x; - for (i$ in object) { - x = object[i$]; - if (f(x)) { - return x; - } - } -}); -module.exports = { - values: values, - keys: keys, - pairsToObj: pairsToObj, - objToPairs: objToPairs, - listsToObj: listsToObj, - objToLists: objToLists, - empty: empty, - each: each, - map: map, - filter: filter, - compact: compact, - reject: reject, - partition: partition, - find: find -}; -function curry$(f, bound){ - var context, - _curry = function(args) { - return f.length > 1 ? function(){ - var params = args ? args.concat() : []; - context = bound ? context || this : this; - return params.push.apply(params, arguments) < - f.length && arguments.length ? - _curry.call(context, params) : f.apply(context, params); - } : f; - }; - return _curry(); -} \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Str.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Str.js deleted file mode 100644 index eb9a1ac..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Str.js +++ /dev/null @@ -1,92 +0,0 @@ -// Generated by LiveScript 1.4.0 -var split, join, lines, unlines, words, unwords, chars, unchars, reverse, repeat, capitalize, camelize, dasherize; -split = curry$(function(sep, str){ - return str.split(sep); -}); -join = curry$(function(sep, xs){ - return xs.join(sep); -}); -lines = function(str){ - if (!str.length) { - return []; - } - return str.split('\n'); -}; -unlines = function(it){ - return it.join('\n'); -}; -words = function(str){ - if (!str.length) { - return []; - } - return str.split(/[ ]+/); -}; -unwords = function(it){ - return it.join(' '); -}; -chars = function(it){ - return it.split(''); -}; -unchars = function(it){ - return it.join(''); -}; -reverse = function(str){ - return str.split('').reverse().join(''); -}; -repeat = curry$(function(n, str){ - var result, i$; - result = ''; - for (i$ = 0; i$ < n; ++i$) { - result += str; - } - return result; -}); -capitalize = function(str){ - return str.charAt(0).toUpperCase() + str.slice(1); -}; -camelize = function(it){ - return it.replace(/[-_]+(.)?/g, function(arg$, c){ - return (c != null ? c : '').toUpperCase(); - }); -}; -dasherize = function(str){ - return str.replace(/([^-A-Z])([A-Z]+)/g, function(arg$, lower, upper){ - return lower + "-" + (upper.length > 1 - ? upper - : upper.toLowerCase()); - }).replace(/^([A-Z]+)/, function(arg$, upper){ - if (upper.length > 1) { - return upper + "-"; - } else { - return upper.toLowerCase(); - } - }); -}; -module.exports = { - split: split, - join: join, - lines: lines, - unlines: unlines, - words: words, - unwords: unwords, - chars: chars, - unchars: unchars, - reverse: reverse, - repeat: repeat, - capitalize: capitalize, - camelize: camelize, - dasherize: dasherize -}; -function curry$(f, bound){ - var context, - _curry = function(args) { - return f.length > 1 ? function(){ - var params = args ? args.concat() : []; - context = bound ? context || this : this; - return params.push.apply(params, arguments) < - f.length && arguments.length ? - _curry.call(context, params) : f.apply(context, params); - } : f; - }; - return _curry(); -} \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/index.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/index.js deleted file mode 100644 index 391cb2e..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/index.js +++ /dev/null @@ -1,178 +0,0 @@ -// Generated by LiveScript 1.4.0 -var Func, List, Obj, Str, Num, id, isType, replicate, prelude, toString$ = {}.toString; -Func = require('./Func.js'); -List = require('./List.js'); -Obj = require('./Obj.js'); -Str = require('./Str.js'); -Num = require('./Num.js'); -id = function(x){ - return x; -}; -isType = curry$(function(type, x){ - return toString$.call(x).slice(8, -1) === type; -}); -replicate = curry$(function(n, x){ - var i$, results$ = []; - for (i$ = 0; i$ < n; ++i$) { - results$.push(x); - } - return results$; -}); -Str.empty = List.empty; -Str.slice = List.slice; -Str.take = List.take; -Str.drop = List.drop; -Str.splitAt = List.splitAt; -Str.takeWhile = List.takeWhile; -Str.dropWhile = List.dropWhile; -Str.span = List.span; -Str.breakStr = List.breakList; -prelude = { - Func: Func, - List: List, - Obj: Obj, - Str: Str, - Num: Num, - id: id, - isType: isType, - replicate: replicate -}; -prelude.each = List.each; -prelude.map = List.map; -prelude.filter = List.filter; -prelude.compact = List.compact; -prelude.reject = List.reject; -prelude.partition = List.partition; -prelude.find = List.find; -prelude.head = List.head; -prelude.first = List.first; -prelude.tail = List.tail; -prelude.last = List.last; -prelude.initial = List.initial; -prelude.empty = List.empty; -prelude.reverse = List.reverse; -prelude.difference = List.difference; -prelude.intersection = List.intersection; -prelude.union = List.union; -prelude.countBy = List.countBy; -prelude.groupBy = List.groupBy; -prelude.fold = List.fold; -prelude.foldl = List.foldl; -prelude.fold1 = List.fold1; -prelude.foldl1 = List.foldl1; -prelude.foldr = List.foldr; -prelude.foldr1 = List.foldr1; -prelude.unfoldr = List.unfoldr; -prelude.andList = List.andList; -prelude.orList = List.orList; -prelude.any = List.any; -prelude.all = List.all; -prelude.unique = List.unique; -prelude.uniqueBy = List.uniqueBy; -prelude.sort = List.sort; -prelude.sortWith = List.sortWith; -prelude.sortBy = List.sortBy; -prelude.sum = List.sum; -prelude.product = List.product; -prelude.mean = List.mean; -prelude.average = List.average; -prelude.concat = List.concat; -prelude.concatMap = List.concatMap; -prelude.flatten = List.flatten; -prelude.maximum = List.maximum; -prelude.minimum = List.minimum; -prelude.maximumBy = List.maximumBy; -prelude.minimumBy = List.minimumBy; -prelude.scan = List.scan; -prelude.scanl = List.scanl; -prelude.scan1 = List.scan1; -prelude.scanl1 = List.scanl1; -prelude.scanr = List.scanr; -prelude.scanr1 = List.scanr1; -prelude.slice = List.slice; -prelude.take = List.take; -prelude.drop = List.drop; -prelude.splitAt = List.splitAt; -prelude.takeWhile = List.takeWhile; -prelude.dropWhile = List.dropWhile; -prelude.span = List.span; -prelude.breakList = List.breakList; -prelude.zip = List.zip; -prelude.zipWith = List.zipWith; -prelude.zipAll = List.zipAll; -prelude.zipAllWith = List.zipAllWith; -prelude.at = List.at; -prelude.elemIndex = List.elemIndex; -prelude.elemIndices = List.elemIndices; -prelude.findIndex = List.findIndex; -prelude.findIndices = List.findIndices; -prelude.apply = Func.apply; -prelude.curry = Func.curry; -prelude.flip = Func.flip; -prelude.fix = Func.fix; -prelude.over = Func.over; -prelude.split = Str.split; -prelude.join = Str.join; -prelude.lines = Str.lines; -prelude.unlines = Str.unlines; -prelude.words = Str.words; -prelude.unwords = Str.unwords; -prelude.chars = Str.chars; -prelude.unchars = Str.unchars; -prelude.repeat = Str.repeat; -prelude.capitalize = Str.capitalize; -prelude.camelize = Str.camelize; -prelude.dasherize = Str.dasherize; -prelude.values = Obj.values; -prelude.keys = Obj.keys; -prelude.pairsToObj = Obj.pairsToObj; -prelude.objToPairs = Obj.objToPairs; -prelude.listsToObj = Obj.listsToObj; -prelude.objToLists = Obj.objToLists; -prelude.max = Num.max; -prelude.min = Num.min; -prelude.negate = Num.negate; -prelude.abs = Num.abs; -prelude.signum = Num.signum; -prelude.quot = Num.quot; -prelude.rem = Num.rem; -prelude.div = Num.div; -prelude.mod = Num.mod; -prelude.recip = Num.recip; -prelude.pi = Num.pi; -prelude.tau = Num.tau; -prelude.exp = Num.exp; -prelude.sqrt = Num.sqrt; -prelude.ln = Num.ln; -prelude.pow = Num.pow; -prelude.sin = Num.sin; -prelude.tan = Num.tan; -prelude.cos = Num.cos; -prelude.acos = Num.acos; -prelude.asin = Num.asin; -prelude.atan = Num.atan; -prelude.atan2 = Num.atan2; -prelude.truncate = Num.truncate; -prelude.round = Num.round; -prelude.ceiling = Num.ceiling; -prelude.floor = Num.floor; -prelude.isItNaN = Num.isItNaN; -prelude.even = Num.even; -prelude.odd = Num.odd; -prelude.gcd = Num.gcd; -prelude.lcm = Num.lcm; -prelude.VERSION = '1.1.2'; -module.exports = prelude; -function curry$(f, bound){ - var context, - _curry = function(args) { - return f.length > 1 ? function(){ - var params = args ? args.concat() : []; - context = bound ? context || this : this; - return params.push.apply(params, arguments) < - f.length && arguments.length ? - _curry.call(context, params) : f.apply(context, params); - } : f; - }; - return _curry(); -} \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/package.json deleted file mode 100644 index f26b147..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/package.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "name": "prelude-ls", - "version": "1.1.2", - "author": { - "name": "George Zahariev", - "email": "z@georgezahariev.com" - }, - "description": "prelude.ls is a functionally oriented utility library. It is powerful and flexible. Almost all of its functions are curried. It is written in, and is the recommended base library for, LiveScript.", - "keywords": [ - "prelude", - "livescript", - "utility", - "ls", - "coffeescript", - "javascript", - "library", - "functional", - "array", - "list", - "object", - "string" - ], - "main": "lib/", - "files": [ - "lib/", - "README.md", - "LICENSE" - ], - "homepage": "http://preludels.com", - "bugs": { - "url": "https://github.com/gkz/prelude-ls/issues" - }, - "licenses": [ - { - "type": "MIT", - "url": "https://raw.github.com/gkz/prelude-ls/master/LICENSE" - } - ], - "engines": { - "node": ">= 0.8.0" - }, - "repository": { - "type": "git", - "url": "git://github.com/gkz/prelude-ls.git" - }, - "scripts": { - "test": "make test" - }, - "devDependencies": { - "livescript": "~1.4.0", - "uglify-js": "~2.4.12", - "mocha": "~2.2.4", - "istanbul": "~0.2.4", - "browserify": "~3.24.13", - "sinon": "~1.10.2" - }, - "gitHead": "d69be8fd8a682321ba24eced17caf3a1b8ca73b8", - "_id": "prelude-ls@1.1.2", - "_shasum": "21932a549f5e52ffd9a827f570e04be62a97da54", - "_from": "prelude-ls@>=1.1.2 <1.2.0", - "_npmVersion": "2.7.6", - "_nodeVersion": "0.11.15", - "_npmUser": { - "name": "gkz", - "email": "z@georgezahariev.com" - }, - "maintainers": [ - { - "name": "gkz", - "email": "z@georgezahariev.com" - } - ], - "dist": { - "shasum": "21932a549f5e52ffd9a827f570e04be62a97da54", - "tarball": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" - }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/LICENSE b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/LICENSE deleted file mode 100644 index 525b118..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) George Zahariev - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/README.md b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/README.md deleted file mode 100644 index ec92d59..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/README.md +++ /dev/null @@ -1,210 +0,0 @@ -# type-check [![Build Status](https://travis-ci.org/gkz/type-check.png?branch=master)](https://travis-ci.org/gkz/type-check) - - - -`type-check` is a library which allows you to check the types of JavaScript values at runtime with a Haskell like type syntax. It is great for checking external input, for testing, or even for adding a bit of safety to your internal code. It is a major component of [levn](https://github.com/gkz/levn). MIT license. Version 0.3.2. Check out the [demo](http://gkz.github.io/type-check/). - -For updates on `type-check`, [follow me on twitter](https://twitter.com/gkzahariev). - - npm install type-check - -## Quick Examples - -```js -// Basic types: -var typeCheck = require('type-check').typeCheck; -typeCheck('Number', 1); // true -typeCheck('Number', 'str'); // false -typeCheck('Error', new Error); // true -typeCheck('Undefined', undefined); // true - -// Comment -typeCheck('count::Number', 1); // true - -// One type OR another type: -typeCheck('Number | String', 2); // true -typeCheck('Number | String', 'str'); // true - -// Wildcard, matches all types: -typeCheck('*', 2) // true - -// Array, all elements of a single type: -typeCheck('[Number]', [1, 2, 3]); // true -typeCheck('[Number]', [1, 'str', 3]); // false - -// Tuples, or fixed length arrays with elements of different types: -typeCheck('(String, Number)', ['str', 2]); // true -typeCheck('(String, Number)', ['str']); // false -typeCheck('(String, Number)', ['str', 2, 5]); // false - -// Object properties: -typeCheck('{x: Number, y: Boolean}', {x: 2, y: false}); // true -typeCheck('{x: Number, y: Boolean}', {x: 2}); // false -typeCheck('{x: Number, y: Maybe Boolean}', {x: 2}); // true -typeCheck('{x: Number, y: Boolean}', {x: 2, y: false, z: 3}); // false -typeCheck('{x: Number, y: Boolean, ...}', {x: 2, y: false, z: 3}); // true - -// A particular type AND object properties: -typeCheck('RegExp{source: String, ...}', /re/i); // true -typeCheck('RegExp{source: String, ...}', {source: 're'}); // false - -// Custom types: -var opt = {customTypes: - {Even: { typeOf: 'Number', validate: function(x) { return x % 2 === 0; }}}}; -typeCheck('Even', 2, opt); // true - -// Nested: -var type = '{a: (String, [Number], {y: Array, ...}), b: Error{message: String, ...}}' -typeCheck(type, {a: ['hi', [1, 2, 3], {y: [1, 'ms']}], b: new Error('oh no')}); // true -``` - -Check out the [type syntax format](#syntax) and [guide](#guide). - -## Usage - -`require('type-check');` returns an object that exposes four properties. `VERSION` is the current version of the library as a string. `typeCheck`, `parseType`, and `parsedTypeCheck` are functions. - -```js -// typeCheck(type, input, options); -typeCheck('Number', 2); // true - -// parseType(type); -var parsedType = parseType('Number'); // object - -// parsedTypeCheck(parsedType, input, options); -parsedTypeCheck(parsedType, 2); // true -``` - -### typeCheck(type, input, options) - -`typeCheck` checks a JavaScript value `input` against `type` written in the [type format](#type-format) (and taking account the optional `options`) and returns whether the `input` matches the `type`. - -##### arguments -* type - `String` - the type written in the [type format](#type-format) which to check against -* input - `*` - any JavaScript value, which is to be checked against the type -* options - `Maybe Object` - an optional parameter specifying additional options, currently the only available option is specifying [custom types](#custom-types) - -##### returns -`Boolean` - whether the input matches the type - -##### example -```js -typeCheck('Number', 2); // true -``` - -### parseType(type) - -`parseType` parses string `type` written in the [type format](#type-format) into an object representing the parsed type. - -##### arguments -* type - `String` - the type written in the [type format](#type-format) which to parse - -##### returns -`Object` - an object in the parsed type format representing the parsed type - -##### example -```js -parseType('Number'); // [{type: 'Number'}] -``` -### parsedTypeCheck(parsedType, input, options) - -`parsedTypeCheck` checks a JavaScript value `input` against parsed `type` in the parsed type format (and taking account the optional `options`) and returns whether the `input` matches the `type`. Use this in conjunction with `parseType` if you are going to use a type more than once. - -##### arguments -* type - `Object` - the type in the parsed type format which to check against -* input - `*` - any JavaScript value, which is to be checked against the type -* options - `Maybe Object` - an optional parameter specifying additional options, currently the only available option is specifying [custom types](#custom-types) - -##### returns -`Boolean` - whether the input matches the type - -##### example -```js -parsedTypeCheck([{type: 'Number'}], 2); // true -var parsedType = parseType('String'); -parsedTypeCheck(parsedType, 'str'); // true -``` - - -## Type Format - -### Syntax - -White space is ignored. The root node is a __Types__. - -* __Identifier__ = `[\$\w]+` - a group of any lower or upper case letters, numbers, underscores, or dollar signs - eg. `String` -* __Type__ = an `Identifier`, an `Identifier` followed by a `Structure`, just a `Structure`, or a wildcard `*` - eg. `String`, `Object{x: Number}`, `{x: Number}`, `Array{0: String, 1: Boolean, length: Number}`, `*` -* __Types__ = optionally a comment (an `Indentifier` followed by a `::`), optionally the identifier `Maybe`, one or more `Type`, separated by `|` - eg. `Number`, `String | Date`, `Maybe Number`, `Maybe Boolean | String` -* __Structure__ = `Fields`, or a `Tuple`, or an `Array` - eg. `{x: Number}`, `(String, Number)`, `[Date]` -* __Fields__ = a `{`, followed one or more `Field` separated by a comma `,` (trailing comma `,` is permitted), optionally an `...` (always preceded by a comma `,`), followed by a `}` - eg. `{x: Number, y: String}`, `{k: Function, ...}` -* __Field__ = an `Identifier`, followed by a colon `:`, followed by `Types` - eg. `x: Date | String`, `y: Boolean` -* __Tuple__ = a `(`, followed by one or more `Types` separated by a comma `,` (trailing comma `,` is permitted), followed by a `)` - eg `(Date)`, `(Number, Date)` -* __Array__ = a `[` followed by exactly one `Types` followed by a `]` - eg. `[Boolean]`, `[Boolean | Null]` - -### Guide - -`type-check` uses `Object.toString` to find out the basic type of a value. Specifically, - -```js -{}.toString.call(VALUE).slice(8, -1) -{}.toString.call(true).slice(8, -1) // 'Boolean' -``` -A basic type, eg. `Number`, uses this check. This is much more versatile than using `typeof` - for example, with `document`, `typeof` produces `'object'` which isn't that useful, and our technique produces `'HTMLDocument'`. - -You may check for multiple types by separating types with a `|`. The checker proceeds from left to right, and passes if the value is any of the types - eg. `String | Boolean` first checks if the value is a string, and then if it is a boolean. If it is none of those, then it returns false. - -Adding a `Maybe` in front of a list of multiple types is the same as also checking for `Null` and `Undefined` - eg. `Maybe String` is equivalent to `Undefined | Null | String`. - -You may add a comment to remind you of what the type is for by following an identifier with a `::` before a type (or multiple types). The comment is simply thrown out. - -The wildcard `*` matches all types. - -There are three types of structures for checking the contents of a value: 'fields', 'tuple', and 'array'. - -If used by itself, a 'fields' structure will pass with any type of object as long as it is an instance of `Object` and the properties pass - this allows for duck typing - eg. `{x: Boolean}`. - -To check if the properties pass, and the value is of a certain type, you can specify the type - eg. `Error{message: String}`. - -If you want to make a field optional, you can simply use `Maybe` - eg. `{x: Boolean, y: Maybe String}` will still pass if `y` is undefined (or null). - -If you don't care if the value has properties beyond what you have specified, you can use the 'etc' operator `...` - eg. `{x: Boolean, ...}` will match an object with an `x` property that is a boolean, and with zero or more other properties. - -For an array, you must specify one or more types (separated by `|`) - it will pass for something of any length as long as each element passes the types provided - eg. `[Number]`, `[Number | String]`. - -A tuple checks for a fixed number of elements, each of a potentially different type. Each element is separated by a comma - eg. `(String, Number)`. - -An array and tuple structure check that the value is of type `Array` by default, but if another type is specified, they will check for that instead - eg. `Int32Array[Number]`. You can use the wildcard `*` to search for any type at all. - -Check out the [type precedence](https://github.com/zaboco/type-precedence) library for type-check. - -## Options - -Options is an object. It is an optional parameter to the `typeCheck` and `parsedTypeCheck` functions. The only current option is `customTypes`. - - -### Custom Types - -__Example:__ - -```js -var options = { - customTypes: { - Even: { - typeOf: 'Number', - validate: function(x) { - return x % 2 === 0; - } - } - } -}; -typeCheck('Even', 2, options); // true -typeCheck('Even', 3, options); // false -``` - -`customTypes` allows you to set up custom types for validation. The value of this is an object. The keys of the object are the types you will be matching. Each value of the object will be an object having a `typeOf` property - a string, and `validate` property - a function. - -The `typeOf` property is the type the value should be, and `validate` is a function which should return true if the value is of that type. `validate` receives one parameter, which is the value that we are checking. - -## Technical About - -`type-check` is written in [LiveScript](http://livescript.net/) - a language that compiles to JavaScript. It also uses the [prelude.ls](http://preludels.com/) library. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/lib/check.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/lib/check.js deleted file mode 100644 index 0504c8d..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/lib/check.js +++ /dev/null @@ -1,126 +0,0 @@ -// Generated by LiveScript 1.4.0 -(function(){ - var ref$, any, all, isItNaN, types, defaultType, customTypes, toString$ = {}.toString; - ref$ = require('prelude-ls'), any = ref$.any, all = ref$.all, isItNaN = ref$.isItNaN; - types = { - Number: { - typeOf: 'Number', - validate: function(it){ - return !isItNaN(it); - } - }, - NaN: { - typeOf: 'Number', - validate: isItNaN - }, - Int: { - typeOf: 'Number', - validate: function(it){ - return !isItNaN(it) && it % 1 === 0; - } - }, - Float: { - typeOf: 'Number', - validate: function(it){ - return !isItNaN(it); - } - }, - Date: { - typeOf: 'Date', - validate: function(it){ - return !isItNaN(it.getTime()); - } - } - }; - defaultType = { - array: 'Array', - tuple: 'Array' - }; - function checkArray(input, type){ - return all(function(it){ - return checkMultiple(it, type.of); - }, input); - } - function checkTuple(input, type){ - var i, i$, ref$, len$, types; - i = 0; - for (i$ = 0, len$ = (ref$ = type.of).length; i$ < len$; ++i$) { - types = ref$[i$]; - if (!checkMultiple(input[i], types)) { - return false; - } - i++; - } - return input.length <= i; - } - function checkFields(input, type){ - var inputKeys, numInputKeys, k, numOfKeys, key, ref$, types; - inputKeys = {}; - numInputKeys = 0; - for (k in input) { - inputKeys[k] = true; - numInputKeys++; - } - numOfKeys = 0; - for (key in ref$ = type.of) { - types = ref$[key]; - if (!checkMultiple(input[key], types)) { - return false; - } - if (inputKeys[key]) { - numOfKeys++; - } - } - return type.subset || numInputKeys === numOfKeys; - } - function checkStructure(input, type){ - if (!(input instanceof Object)) { - return false; - } - switch (type.structure) { - case 'fields': - return checkFields(input, type); - case 'array': - return checkArray(input, type); - case 'tuple': - return checkTuple(input, type); - } - } - function check(input, typeObj){ - var type, structure, setting, that; - type = typeObj.type, structure = typeObj.structure; - if (type) { - if (type === '*') { - return true; - } - setting = customTypes[type] || types[type]; - if (setting) { - return setting.typeOf === toString$.call(input).slice(8, -1) && setting.validate(input); - } else { - return type === toString$.call(input).slice(8, -1) && (!structure || checkStructure(input, typeObj)); - } - } else if (structure) { - if (that = defaultType[structure]) { - if (that !== toString$.call(input).slice(8, -1)) { - return false; - } - } - return checkStructure(input, typeObj); - } else { - throw new Error("No type defined. Input: " + input + "."); - } - } - function checkMultiple(input, types){ - if (toString$.call(types).slice(8, -1) !== 'Array') { - throw new Error("Types must be in an array. Input: " + input + "."); - } - return any(function(it){ - return check(input, it); - }, types); - } - module.exports = function(parsedType, input, options){ - options == null && (options = {}); - customTypes = options.customTypes || {}; - return checkMultiple(input, parsedType); - }; -}).call(this); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/lib/index.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/lib/index.js deleted file mode 100644 index f3316ba..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/lib/index.js +++ /dev/null @@ -1,16 +0,0 @@ -// Generated by LiveScript 1.4.0 -(function(){ - var VERSION, parseType, parsedTypeCheck, typeCheck; - VERSION = '0.3.2'; - parseType = require('./parse-type'); - parsedTypeCheck = require('./check'); - typeCheck = function(type, input, options){ - return parsedTypeCheck(parseType(type), input, options); - }; - module.exports = { - VERSION: VERSION, - typeCheck: typeCheck, - parsedTypeCheck: parsedTypeCheck, - parseType: parseType - }; -}).call(this); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/lib/parse-type.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/lib/parse-type.js deleted file mode 100644 index 5baf661..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/lib/parse-type.js +++ /dev/null @@ -1,196 +0,0 @@ -// Generated by LiveScript 1.4.0 -(function(){ - var identifierRegex, tokenRegex; - identifierRegex = /[\$\w]+/; - function peek(tokens){ - var token; - token = tokens[0]; - if (token == null) { - throw new Error('Unexpected end of input.'); - } - return token; - } - function consumeIdent(tokens){ - var token; - token = peek(tokens); - if (!identifierRegex.test(token)) { - throw new Error("Expected text, got '" + token + "' instead."); - } - return tokens.shift(); - } - function consumeOp(tokens, op){ - var token; - token = peek(tokens); - if (token !== op) { - throw new Error("Expected '" + op + "', got '" + token + "' instead."); - } - return tokens.shift(); - } - function maybeConsumeOp(tokens, op){ - var token; - token = tokens[0]; - if (token === op) { - return tokens.shift(); - } else { - return null; - } - } - function consumeArray(tokens){ - var types; - consumeOp(tokens, '['); - if (peek(tokens) === ']') { - throw new Error("Must specify type of Array - eg. [Type], got [] instead."); - } - types = consumeTypes(tokens); - consumeOp(tokens, ']'); - return { - structure: 'array', - of: types - }; - } - function consumeTuple(tokens){ - var components; - components = []; - consumeOp(tokens, '('); - if (peek(tokens) === ')') { - throw new Error("Tuple must be of at least length 1 - eg. (Type), got () instead."); - } - for (;;) { - components.push(consumeTypes(tokens)); - maybeConsumeOp(tokens, ','); - if (')' === peek(tokens)) { - break; - } - } - consumeOp(tokens, ')'); - return { - structure: 'tuple', - of: components - }; - } - function consumeFields(tokens){ - var fields, subset, ref$, key, types; - fields = {}; - consumeOp(tokens, '{'); - subset = false; - for (;;) { - if (maybeConsumeOp(tokens, '...')) { - subset = true; - break; - } - ref$ = consumeField(tokens), key = ref$[0], types = ref$[1]; - fields[key] = types; - maybeConsumeOp(tokens, ','); - if ('}' === peek(tokens)) { - break; - } - } - consumeOp(tokens, '}'); - return { - structure: 'fields', - of: fields, - subset: subset - }; - } - function consumeField(tokens){ - var key, types; - key = consumeIdent(tokens); - consumeOp(tokens, ':'); - types = consumeTypes(tokens); - return [key, types]; - } - function maybeConsumeStructure(tokens){ - switch (tokens[0]) { - case '[': - return consumeArray(tokens); - case '(': - return consumeTuple(tokens); - case '{': - return consumeFields(tokens); - } - } - function consumeType(tokens){ - var token, wildcard, type, structure; - token = peek(tokens); - wildcard = token === '*'; - if (wildcard || identifierRegex.test(token)) { - type = wildcard - ? consumeOp(tokens, '*') - : consumeIdent(tokens); - structure = maybeConsumeStructure(tokens); - if (structure) { - return structure.type = type, structure; - } else { - return { - type: type - }; - } - } else { - structure = maybeConsumeStructure(tokens); - if (!structure) { - throw new Error("Unexpected character: " + token); - } - return structure; - } - } - function consumeTypes(tokens){ - var lookahead, types, typesSoFar, typeObj, type; - if ('::' === peek(tokens)) { - throw new Error("No comment before comment separator '::' found."); - } - lookahead = tokens[1]; - if (lookahead != null && lookahead === '::') { - tokens.shift(); - tokens.shift(); - } - types = []; - typesSoFar = {}; - if ('Maybe' === peek(tokens)) { - tokens.shift(); - types = [ - { - type: 'Undefined' - }, { - type: 'Null' - } - ]; - typesSoFar = { - Undefined: true, - Null: true - }; - } - for (;;) { - typeObj = consumeType(tokens), type = typeObj.type; - if (!typesSoFar[type]) { - types.push(typeObj); - } - typesSoFar[type] = true; - if (!maybeConsumeOp(tokens, '|')) { - break; - } - } - return types; - } - tokenRegex = RegExp('\\.\\.\\.|::|->|' + identifierRegex.source + '|\\S', 'g'); - module.exports = function(input){ - var tokens, e; - if (!input.length) { - throw new Error('No type specified.'); - } - tokens = input.match(tokenRegex) || []; - if (in$('->', tokens)) { - throw new Error("Function types are not supported.\ To validate that something is a function, you may use 'Function'."); - } - try { - return consumeTypes(tokens); - } catch (e$) { - e = e$; - throw new Error(e.message + " - Remaining tokens: " + JSON.stringify(tokens) + " - Initial input: '" + input + "'"); - } - }; - function in$(x, xs){ - var i = -1, l = xs.length >>> 0; - while (++i < l) if (x === xs[i]) return true; - return false; - } -}).call(this); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/package.json deleted file mode 100644 index 79b506e..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/type-check/package.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "name": "type-check", - "version": "0.3.2", - "author": { - "name": "George Zahariev", - "email": "z@georgezahariev.com" - }, - "description": "type-check allows you to check the types of JavaScript values at runtime with a Haskell like type syntax.", - "homepage": "https://github.com/gkz/type-check", - "keywords": [ - "type", - "check", - "checking", - "library" - ], - "files": [ - "lib", - "README.md", - "LICENSE" - ], - "main": "./lib/", - "bugs": { - "url": "https://github.com/gkz/type-check/issues" - }, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - }, - "repository": { - "type": "git", - "url": "git://github.com/gkz/type-check.git" - }, - "scripts": { - "test": "make test" - }, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "devDependencies": { - "livescript": "~1.4.0", - "mocha": "~2.3.4", - "istanbul": "~0.4.1", - "browserify": "~12.0.1" - }, - "gitHead": "0ab04e7a660485d0cc3aa87e95f2f9a6464cf8e6", - "_id": "type-check@0.3.2", - "_shasum": "5884cab512cf1d355e3fb784f30804b2b520db72", - "_from": "type-check@>=0.3.2 <0.4.0", - "_npmVersion": "2.14.12", - "_nodeVersion": "4.2.4", - "_npmUser": { - "name": "gkz", - "email": "z@georgezahariev.com" - }, - "maintainers": [ - { - "name": "gkz", - "email": "z@georgezahariev.com" - } - ], - "dist": { - "shasum": "5884cab512cf1d355e3fb784f30804b2b520db72", - "tarball": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" - }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/LICENSE b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/LICENSE deleted file mode 100644 index ee27ba4..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/LICENSE +++ /dev/null @@ -1,18 +0,0 @@ -This software is released under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/README.markdown b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/README.markdown deleted file mode 100644 index 346374e..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/README.markdown +++ /dev/null @@ -1,70 +0,0 @@ -wordwrap -======== - -Wrap your words. - -example -======= - -made out of meat ----------------- - -meat.js - - var wrap = require('wordwrap')(15); - console.log(wrap('You and your whole family are made out of meat.')); - -output: - - You and your - whole family - are made out - of meat. - -centered --------- - -center.js - - var wrap = require('wordwrap')(20, 60); - console.log(wrap( - 'At long last the struggle and tumult was over.' - + ' The machines had finally cast off their oppressors' - + ' and were finally free to roam the cosmos.' - + '\n' - + 'Free of purpose, free of obligation.' - + ' Just drifting through emptiness.' - + ' The sun was just another point of light.' - )); - -output: - - At long last the struggle and tumult - was over. The machines had finally cast - off their oppressors and were finally - free to roam the cosmos. - Free of purpose, free of obligation. - Just drifting through emptiness. The - sun was just another point of light. - -methods -======= - -var wrap = require('wordwrap'); - -wrap(stop), wrap(start, stop, params={mode:"soft"}) ---------------------------------------------------- - -Returns a function that takes a string and returns a new string. - -Pad out lines with spaces out to column `start` and then wrap until column -`stop`. If a word is longer than `stop - start` characters it will overflow. - -In "soft" mode, split chunks by `/(\S+\s+/` and don't break up chunks which are -longer than `stop - start`, in "hard" mode, split chunks with `/\b/` and break -up chunks longer than `stop - start`. - -wrap.hard(start, stop) ----------------------- - -Like `wrap()` but with `params.mode = "hard"`. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/example/center.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/example/center.js deleted file mode 100644 index a3fbaae..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/example/center.js +++ /dev/null @@ -1,10 +0,0 @@ -var wrap = require('wordwrap')(20, 60); -console.log(wrap( - 'At long last the struggle and tumult was over.' - + ' The machines had finally cast off their oppressors' - + ' and were finally free to roam the cosmos.' - + '\n' - + 'Free of purpose, free of obligation.' - + ' Just drifting through emptiness.' - + ' The sun was just another point of light.' -)); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/example/meat.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/example/meat.js deleted file mode 100644 index a4665e1..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/example/meat.js +++ /dev/null @@ -1,3 +0,0 @@ -var wrap = require('wordwrap')(15); - -console.log(wrap('You and your whole family are made out of meat.')); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/index.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/index.js deleted file mode 100644 index c9bc945..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/index.js +++ /dev/null @@ -1,76 +0,0 @@ -var wordwrap = module.exports = function (start, stop, params) { - if (typeof start === 'object') { - params = start; - start = params.start; - stop = params.stop; - } - - if (typeof stop === 'object') { - params = stop; - start = start || params.start; - stop = undefined; - } - - if (!stop) { - stop = start; - start = 0; - } - - if (!params) params = {}; - var mode = params.mode || 'soft'; - var re = mode === 'hard' ? /\b/ : /(\S+\s+)/; - - return function (text) { - var chunks = text.toString() - .split(re) - .reduce(function (acc, x) { - if (mode === 'hard') { - for (var i = 0; i < x.length; i += stop - start) { - acc.push(x.slice(i, i + stop - start)); - } - } - else acc.push(x) - return acc; - }, []) - ; - - return chunks.reduce(function (lines, rawChunk) { - if (rawChunk === '') return lines; - - var chunk = rawChunk.replace(/\t/g, ' '); - - var i = lines.length - 1; - if (lines[i].length + chunk.length > stop) { - lines[i] = lines[i].replace(/\s+$/, ''); - - chunk.split(/\n/).forEach(function (c) { - lines.push( - new Array(start + 1).join(' ') - + c.replace(/^\s+/, '') - ); - }); - } - else if (chunk.match(/\n/)) { - var xs = chunk.split(/\n/); - lines[i] += xs.shift(); - xs.forEach(function (c) { - lines.push( - new Array(start + 1).join(' ') - + c.replace(/^\s+/, '') - ); - }); - } - else { - lines[i] += chunk; - } - - return lines; - }, [ new Array(start + 1).join(' ') ]).join('\n'); - }; -}; - -wordwrap.soft = wordwrap; - -wordwrap.hard = function (start, stop) { - return wordwrap(start, stop, { mode : 'hard' }); -}; diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/package.json deleted file mode 100644 index c3cd355..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/package.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "name": "wordwrap", - "description": "Wrap those words. Show them at what columns to start and stop.", - "version": "1.0.0", - "repository": { - "type": "git", - "url": "git://github.com/substack/node-wordwrap.git" - }, - "main": "./index.js", - "keywords": [ - "word", - "wrap", - "rule", - "format", - "column" - ], - "directories": { - "lib": ".", - "example": "example", - "test": "test" - }, - "scripts": { - "test": "expresso" - }, - "devDependencies": { - "tape": "^4.0.0" - }, - "license": "MIT", - "author": { - "name": "James Halliday", - "email": "mail@substack.net", - "url": "http://substack.net" - }, - "gitHead": "9f02667e901f2f10d87c33f7093fcf94788ab2f8", - "bugs": { - "url": "https://github.com/substack/node-wordwrap/issues" - }, - "homepage": "https://github.com/substack/node-wordwrap#readme", - "_id": "wordwrap@1.0.0", - "_shasum": "27584810891456a4171c8d0226441ade90cbcaeb", - "_from": "wordwrap@>=1.0.0 <1.1.0", - "_npmVersion": "2.9.0", - "_nodeVersion": "2.0.0", - "_npmUser": { - "name": "substack", - "email": "substack@gmail.com" - }, - "dist": { - "shasum": "27584810891456a4171c8d0226441ade90cbcaeb", - "tarball": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" - }, - "maintainers": [ - { - "name": "substack", - "email": "mail@substack.net" - } - ], - "_resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/test/break.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/test/break.js deleted file mode 100644 index 7d0e8b5..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/test/break.js +++ /dev/null @@ -1,32 +0,0 @@ -var test = require('tape'); -var wordwrap = require('../'); - -test('hard', function (t) { - var s = 'Assert from {"type":"equal","ok":false,"found":1,"wanted":2,' - + '"stack":[],"id":"b7ddcd4c409de8799542a74d1a04689b",' - + '"browser":"chrome/6.0"}' - ; - var s_ = wordwrap.hard(80)(s); - - var lines = s_.split('\n'); - t.equal(lines.length, 2); - t.ok(lines[0].length < 80); - t.ok(lines[1].length < 80); - - t.equal(s, s_.replace(/\n/g, '')); - t.end(); -}); - -test('break', function (t) { - var s = new Array(55+1).join('a'); - var s_ = wordwrap.hard(20)(s); - - var lines = s_.split('\n'); - t.equal(lines.length, 3); - t.ok(lines[0].length === 20); - t.ok(lines[1].length === 20); - t.ok(lines[2].length === 15); - - t.equal(s, s_.replace(/\n/g, '')); - t.end(); -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/test/idleness.txt b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/test/idleness.txt deleted file mode 100644 index aa3f490..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/test/idleness.txt +++ /dev/null @@ -1,63 +0,0 @@ -In Praise of Idleness - -By Bertrand Russell - -[1932] - -Like most of my generation, I was brought up on the saying: 'Satan finds some mischief for idle hands to do.' Being a highly virtuous child, I believed all that I was told, and acquired a conscience which has kept me working hard down to the present moment. But although my conscience has controlled my actions, my opinions have undergone a revolution. I think that there is far too much work done in the world, that immense harm is caused by the belief that work is virtuous, and that what needs to be preached in modern industrial countries is quite different from what always has been preached. Everyone knows the story of the traveler in Naples who saw twelve beggars lying in the sun (it was before the days of Mussolini), and offered a lira to the laziest of them. Eleven of them jumped up to claim it, so he gave it to the twelfth. this traveler was on the right lines. But in countries which do not enjoy Mediterranean sunshine idleness is more difficult, and a great public propaganda will be required to inaugurate it. I hope that, after reading the following pages, the leaders of the YMCA will start a campaign to induce good young men to do nothing. If so, I shall not have lived in vain. - -Before advancing my own arguments for laziness, I must dispose of one which I cannot accept. Whenever a person who already has enough to live on proposes to engage in some everyday kind of job, such as school-teaching or typing, he or she is told that such conduct takes the bread out of other people's mouths, and is therefore wicked. If this argument were valid, it would only be necessary for us all to be idle in order that we should all have our mouths full of bread. What people who say such things forget is that what a man earns he usually spends, and in spending he gives employment. As long as a man spends his income, he puts just as much bread into people's mouths in spending as he takes out of other people's mouths in earning. The real villain, from this point of view, is the man who saves. If he merely puts his savings in a stocking, like the proverbial French peasant, it is obvious that they do not give employment. If he invests his savings, the matter is less obvious, and different cases arise. - -One of the commonest things to do with savings is to lend them to some Government. In view of the fact that the bulk of the public expenditure of most civilized Governments consists in payment for past wars or preparation for future wars, the man who lends his money to a Government is in the same position as the bad men in Shakespeare who hire murderers. The net result of the man's economical habits is to increase the armed forces of the State to which he lends his savings. Obviously it would be better if he spent the money, even if he spent it in drink or gambling. - -But, I shall be told, the case is quite different when savings are invested in industrial enterprises. When such enterprises succeed, and produce something useful, this may be conceded. In these days, however, no one will deny that most enterprises fail. That means that a large amount of human labor, which might have been devoted to producing something that could be enjoyed, was expended on producing machines which, when produced, lay idle and did no good to anyone. The man who invests his savings in a concern that goes bankrupt is therefore injuring others as well as himself. If he spent his money, say, in giving parties for his friends, they (we may hope) would get pleasure, and so would all those upon whom he spent money, such as the butcher, the baker, and the bootlegger. But if he spends it (let us say) upon laying down rails for surface card in some place where surface cars turn out not to be wanted, he has diverted a mass of labor into channels where it gives pleasure to no one. Nevertheless, when he becomes poor through failure of his investment he will be regarded as a victim of undeserved misfortune, whereas the gay spendthrift, who has spent his money philanthropically, will be despised as a fool and a frivolous person. - -All this is only preliminary. I want to say, in all seriousness, that a great deal of harm is being done in the modern world by belief in the virtuousness of work, and that the road to happiness and prosperity lies in an organized diminution of work. - -First of all: what is work? Work is of two kinds: first, altering the position of matter at or near the earth's surface relatively to other such matter; second, telling other people to do so. The first kind is unpleasant and ill paid; the second is pleasant and highly paid. The second kind is capable of indefinite extension: there are not only those who give orders, but those who give advice as to what orders should be given. Usually two opposite kinds of advice are given simultaneously by two organized bodies of men; this is called politics. The skill required for this kind of work is not knowledge of the subjects as to which advice is given, but knowledge of the art of persuasive speaking and writing, i.e. of advertising. - -Throughout Europe, though not in America, there is a third class of men, more respected than either of the classes of workers. There are men who, through ownership of land, are able to make others pay for the privilege of being allowed to exist and to work. These landowners are idle, and I might therefore be expected to praise them. Unfortunately, their idleness is only rendered possible by the industry of others; indeed their desire for comfortable idleness is historically the source of the whole gospel of work. The last thing they have ever wished is that others should follow their example. - -From the beginning of civilization until the Industrial Revolution, a man could, as a rule, produce by hard work little more than was required for the subsistence of himself and his family, although his wife worked at least as hard as he did, and his children added their labor as soon as they were old enough to do so. The small surplus above bare necessaries was not left to those who produced it, but was appropriated by warriors and priests. In times of famine there was no surplus; the warriors and priests, however, still secured as much as at other times, with the result that many of the workers died of hunger. This system persisted in Russia until 1917 [1], and still persists in the East; in England, in spite of the Industrial Revolution, it remained in full force throughout the Napoleonic wars, and until a hundred years ago, when the new class of manufacturers acquired power. In America, the system came to an end with the Revolution, except in the South, where it persisted until the Civil War. A system which lasted so long and ended so recently has naturally left a profound impress upon men's thoughts and opinions. Much that we take for granted about the desirability of work is derived from this system, and, being pre-industrial, is not adapted to the modern world. Modern technique has made it possible for leisure, within limits, to be not the prerogative of small privileged classes, but a right evenly distributed throughout the community. The morality of work is the morality of slaves, and the modern world has no need of slavery. - -It is obvious that, in primitive communities, peasants, left to themselves, would not have parted with the slender surplus upon which the warriors and priests subsisted, but would have either produced less or consumed more. At first, sheer force compelled them to produce and part with the surplus. Gradually, however, it was found possible to induce many of them to accept an ethic according to which it was their duty to work hard, although part of their work went to support others in idleness. By this means the amount of compulsion required was lessened, and the expenses of government were diminished. To this day, 99 per cent of British wage-earners would be genuinely shocked if it were proposed that the King should not have a larger income than a working man. The conception of duty, speaking historically, has been a means used by the holders of power to induce others to live for the interests of their masters rather than for their own. Of course the holders of power conceal this fact from themselves by managing to believe that their interests are identical with the larger interests of humanity. Sometimes this is true; Athenian slave-owners, for instance, employed part of their leisure in making a permanent contribution to civilization which would have been impossible under a just economic system. Leisure is essential to civilization, and in former times leisure for the few was only rendered possible by the labors of the many. But their labors were valuable, not because work is good, but because leisure is good. And with modern technique it would be possible to distribute leisure justly without injury to civilization. - -Modern technique has made it possible to diminish enormously the amount of labor required to secure the necessaries of life for everyone. This was made obvious during the war. At that time all the men in the armed forces, and all the men and women engaged in the production of munitions, all the men and women engaged in spying, war propaganda, or Government offices connected with the war, were withdrawn from productive occupations. In spite of this, the general level of well-being among unskilled wage-earners on the side of the Allies was higher than before or since. The significance of this fact was concealed by finance: borrowing made it appear as if the future was nourishing the present. But that, of course, would have been impossible; a man cannot eat a loaf of bread that does not yet exist. The war showed conclusively that, by the scientific organization of production, it is possible to keep modern populations in fair comfort on a small part of the working capacity of the modern world. If, at the end of the war, the scientific organization, which had been created in order to liberate men for fighting and munition work, had been preserved, and the hours of the week had been cut down to four, all would have been well. Instead of that the old chaos was restored, those whose work was demanded were made to work long hours, and the rest were left to starve as unemployed. Why? Because work is a duty, and a man should not receive wages in proportion to what he has produced, but in proportion to his virtue as exemplified by his industry. - -This is the morality of the Slave State, applied in circumstances totally unlike those in which it arose. No wonder the result has been disastrous. Let us take an illustration. Suppose that, at a given moment, a certain number of people are engaged in the manufacture of pins. They make as many pins as the world needs, working (say) eight hours a day. Someone makes an invention by which the same number of men can make twice as many pins: pins are already so cheap that hardly any more will be bought at a lower price. In a sensible world, everybody concerned in the manufacturing of pins would take to working four hours instead of eight, and everything else would go on as before. But in the actual world this would be thought demoralizing. The men still work eight hours, there are too many pins, some employers go bankrupt, and half the men previously concerned in making pins are thrown out of work. There is, in the end, just as much leisure as on the other plan, but half the men are totally idle while half are still overworked. In this way, it is insured that the unavoidable leisure shall cause misery all round instead of being a universal source of happiness. Can anything more insane be imagined? - -The idea that the poor should have leisure has always been shocking to the rich. In England, in the early nineteenth century, fifteen hours was the ordinary day's work for a man; children sometimes did as much, and very commonly did twelve hours a day. When meddlesome busybodies suggested that perhaps these hours were rather long, they were told that work kept adults from drink and children from mischief. When I was a child, shortly after urban working men had acquired the vote, certain public holidays were established by law, to the great indignation of the upper classes. I remember hearing an old Duchess say: 'What do the poor want with holidays? They ought to work.' People nowadays are less frank, but the sentiment persists, and is the source of much of our economic confusion. - -Let us, for a moment, consider the ethics of work frankly, without superstition. Every human being, of necessity, consumes, in the course of his life, a certain amount of the produce of human labor. Assuming, as we may, that labor is on the whole disagreeable, it is unjust that a man should consume more than he produces. Of course he may provide services rather than commodities, like a medical man, for example; but he should provide something in return for his board and lodging. to this extent, the duty of work must be admitted, but to this extent only. - -I shall not dwell upon the fact that, in all modern societies outside the USSR, many people escape even this minimum amount of work, namely all those who inherit money and all those who marry money. I do not think the fact that these people are allowed to be idle is nearly so harmful as the fact that wage-earners are expected to overwork or starve. - -If the ordinary wage-earner worked four hours a day, there would be enough for everybody and no unemployment -- assuming a certain very moderate amount of sensible organization. This idea shocks the well-to-do, because they are convinced that the poor would not know how to use so much leisure. In America men often work long hours even when they are well off; such men, naturally, are indignant at the idea of leisure for wage-earners, except as the grim punishment of unemployment; in fact, they dislike leisure even for their sons. Oddly enough, while they wish their sons to work so hard as to have no time to be civilized, they do not mind their wives and daughters having no work at all. the snobbish admiration of uselessness, which, in an aristocratic society, extends to both sexes, is, under a plutocracy, confined to women; this, however, does not make it any more in agreement with common sense. - -The wise use of leisure, it must be conceded, is a product of civilization and education. A man who has worked long hours all his life will become bored if he becomes suddenly idle. But without a considerable amount of leisure a man is cut off from many of the best things. There is no longer any reason why the bulk of the population should suffer this deprivation; only a foolish asceticism, usually vicarious, makes us continue to insist on work in excessive quantities now that the need no longer exists. - -In the new creed which controls the government of Russia, while there is much that is very different from the traditional teaching of the West, there are some things that are quite unchanged. The attitude of the governing classes, and especially of those who conduct educational propaganda, on the subject of the dignity of labor, is almost exactly that which the governing classes of the world have always preached to what were called the 'honest poor'. Industry, sobriety, willingness to work long hours for distant advantages, even submissiveness to authority, all these reappear; moreover authority still represents the will of the Ruler of the Universe, Who, however, is now called by a new name, Dialectical Materialism. - -The victory of the proletariat in Russia has some points in common with the victory of the feminists in some other countries. For ages, men had conceded the superior saintliness of women, and had consoled women for their inferiority by maintaining that saintliness is more desirable than power. At last the feminists decided that they would have both, since the pioneers among them believed all that the men had told them about the desirability of virtue, but not what they had told them about the worthlessness of political power. A similar thing has happened in Russia as regards manual work. For ages, the rich and their sycophants have written in praise of 'honest toil', have praised the simple life, have professed a religion which teaches that the poor are much more likely to go to heaven than the rich, and in general have tried to make manual workers believe that there is some special nobility about altering the position of matter in space, just as men tried to make women believe that they derived some special nobility from their sexual enslavement. In Russia, all this teaching about the excellence of manual work has been taken seriously, with the result that the manual worker is more honored than anyone else. What are, in essence, revivalist appeals are made, but not for the old purposes: they are made to secure shock workers for special tasks. Manual work is the ideal which is held before the young, and is the basis of all ethical teaching. - -For the present, possibly, this is all to the good. A large country, full of natural resources, awaits development, and has has to be developed with very little use of credit. In these circumstances, hard work is necessary, and is likely to bring a great reward. But what will happen when the point has been reached where everybody could be comfortable without working long hours? - -In the West, we have various ways of dealing with this problem. We have no attempt at economic justice, so that a large proportion of the total produce goes to a small minority of the population, many of whom do no work at all. Owing to the absence of any central control over production, we produce hosts of things that are not wanted. We keep a large percentage of the working population idle, because we can dispense with their labor by making the others overwork. When all these methods prove inadequate, we have a war: we cause a number of people to manufacture high explosives, and a number of others to explode them, as if we were children who had just discovered fireworks. By a combination of all these devices we manage, though with difficulty, to keep alive the notion that a great deal of severe manual work must be the lot of the average man. - -In Russia, owing to more economic justice and central control over production, the problem will have to be differently solved. the rational solution would be, as soon as the necessaries and elementary comforts can be provided for all, to reduce the hours of labor gradually, allowing a popular vote to decide, at each stage, whether more leisure or more goods were to be preferred. But, having taught the supreme virtue of hard work, it is difficult to see how the authorities can aim at a paradise in which there will be much leisure and little work. It seems more likely that they will find continually fresh schemes, by which present leisure is to be sacrificed to future productivity. I read recently of an ingenious plan put forward by Russian engineers, for making the White Sea and the northern coasts of Siberia warm, by putting a dam across the Kara Sea. An admirable project, but liable to postpone proletarian comfort for a generation, while the nobility of toil is being displayed amid the ice-fields and snowstorms of the Arctic Ocean. This sort of thing, if it happens, will be the result of regarding the virtue of hard work as an end in itself, rather than as a means to a state of affairs in which it is no longer needed. - -The fact is that moving matter about, while a certain amount of it is necessary to our existence, is emphatically not one of the ends of human life. If it were, we should have to consider every navvy superior to Shakespeare. We have been misled in this matter by two causes. One is the necessity of keeping the poor contented, which has led the rich, for thousands of years, to preach the dignity of labor, while taking care themselves to remain undignified in this respect. The other is the new pleasure in mechanism, which makes us delight in the astonishingly clever changes that we can produce on the earth's surface. Neither of these motives makes any great appeal to the actual worker. If you ask him what he thinks the best part of his life, he is not likely to say: 'I enjoy manual work because it makes me feel that I am fulfilling man's noblest task, and because I like to think how much man can transform his planet. It is true that my body demands periods of rest, which I have to fill in as best I may, but I am never so happy as when the morning comes and I can return to the toil from which my contentment springs.' I have never heard working men say this sort of thing. They consider work, as it should be considered, a necessary means to a livelihood, and it is from their leisure that they derive whatever happiness they may enjoy. - -It will be said that, while a little leisure is pleasant, men would not know how to fill their days if they had only four hours of work out of the twenty-four. In so far as this is true in the modern world, it is a condemnation of our civilization; it would not have been true at any earlier period. There was formerly a capacity for light-heartedness and play which has been to some extent inhibited by the cult of efficiency. The modern man thinks that everything ought to be done for the sake of something else, and never for its own sake. Serious-minded persons, for example, are continually condemning the habit of going to the cinema, and telling us that it leads the young into crime. But all the work that goes to producing a cinema is respectable, because it is work, and because it brings a money profit. The notion that the desirable activities are those that bring a profit has made everything topsy-turvy. The butcher who provides you with meat and the baker who provides you with bread are praiseworthy, because they are making money; but when you enjoy the food they have provided, you are merely frivolous, unless you eat only to get strength for your work. Broadly speaking, it is held that getting money is good and spending money is bad. Seeing that they are two sides of one transaction, this is absurd; one might as well maintain that keys are good, but keyholes are bad. Whatever merit there may be in the production of goods must be entirely derivative from the advantage to be obtained by consuming them. The individual, in our society, works for profit; but the social purpose of his work lies in the consumption of what he produces. It is this divorce between the individual and the social purpose of production that makes it so difficult for men to think clearly in a world in which profit-making is the incentive to industry. We think too much of production, and too little of consumption. One result is that we attach too little importance to enjoyment and simple happiness, and that we do not judge production by the pleasure that it gives to the consumer. - -When I suggest that working hours should be reduced to four, I am not meaning to imply that all the remaining time should necessarily be spent in pure frivolity. I mean that four hours' work a day should entitle a man to the necessities and elementary comforts of life, and that the rest of his time should be his to use as he might see fit. It is an essential part of any such social system that education should be carried further than it usually is at present, and should aim, in part, at providing tastes which would enable a man to use leisure intelligently. I am not thinking mainly of the sort of things that would be considered 'highbrow'. Peasant dances have died out except in remote rural areas, but the impulses which caused them to be cultivated must still exist in human nature. The pleasures of urban populations have become mainly passive: seeing cinemas, watching football matches, listening to the radio, and so on. This results from the fact that their active energies are fully taken up with work; if they had more leisure, they would again enjoy pleasures in which they took an active part. - -In the past, there was a small leisure class and a larger working class. The leisure class enjoyed advantages for which there was no basis in social justice; this necessarily made it oppressive, limited its sympathies, and caused it to invent theories by which to justify its privileges. These facts greatly diminished its excellence, but in spite of this drawback it contributed nearly the whole of what we call civilization. It cultivated the arts and discovered the sciences; it wrote the books, invented the philosophies, and refined social relations. Even the liberation of the oppressed has usually been inaugurated from above. Without the leisure class, mankind would never have emerged from barbarism. - -The method of a leisure class without duties was, however, extraordinarily wasteful. None of the members of the class had to be taught to be industrious, and the class as a whole was not exceptionally intelligent. The class might produce one Darwin, but against him had to be set tens of thousands of country gentlemen who never thought of anything more intelligent than fox-hunting and punishing poachers. At present, the universities are supposed to provide, in a more systematic way, what the leisure class provided accidentally and as a by-product. This is a great improvement, but it has certain drawbacks. University life is so different from life in the world at large that men who live in academic milieu tend to be unaware of the preoccupations and problems of ordinary men and women; moreover their ways of expressing themselves are usually such as to rob their opinions of the influence that they ought to have upon the general public. Another disadvantage is that in universities studies are organized, and the man who thinks of some original line of research is likely to be discouraged. Academic institutions, therefore, useful as they are, are not adequate guardians of the interests of civilization in a world where everyone outside their walls is too busy for unutilitarian pursuits. - -In a world where no one is compelled to work more than four hours a day, every person possessed of scientific curiosity will be able to indulge it, and every painter will be able to paint without starving, however excellent his pictures may be. Young writers will not be obliged to draw attention to themselves by sensational pot-boilers, with a view to acquiring the economic independence needed for monumental works, for which, when the time at last comes, they will have lost the taste and capacity. Men who, in their professional work, have become interested in some phase of economics or government, will be able to develop their ideas without the academic detachment that makes the work of university economists often seem lacking in reality. Medical men will have the time to learn about the progress of medicine, teachers will not be exasperatedly struggling to teach by routine methods things which they learnt in their youth, which may, in the interval, have been proved to be untrue. - -Above all, there will be happiness and joy of life, instead of frayed nerves, weariness, and dyspepsia. The work exacted will be enough to make leisure delightful, but not enough to produce exhaustion. Since men will not be tired in their spare time, they will not demand only such amusements as are passive and vapid. At least one per cent will probably devote the time not spent in professional work to pursuits of some public importance, and, since they will not depend upon these pursuits for their livelihood, their originality will be unhampered, and there will be no need to conform to the standards set by elderly pundits. But it is not only in these exceptional cases that the advantages of leisure will appear. Ordinary men and women, having the opportunity of a happy life, will become more kindly and less persecuting and less inclined to view others with suspicion. The taste for war will die out, partly for this reason, and partly because it will involve long and severe work for all. Good nature is, of all moral qualities, the one that the world needs most, and good nature is the result of ease and security, not of a life of arduous struggle. Modern methods of production have given us the possibility of ease and security for all; we have chosen, instead, to have overwork for some and starvation for others. Hitherto we have continued to be as energetic as we were before there were machines; in this we have been foolish, but there is no reason to go on being foolish forever. - -[1] Since then, members of the Communist Party have succeeded to this privilege of the warriors and priests. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/test/wrap.js b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/test/wrap.js deleted file mode 100644 index 01ea471..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/test/wrap.js +++ /dev/null @@ -1,33 +0,0 @@ -var test = require('tape'); -var wordwrap = require('../'); - -var fs = require('fs'); -var idleness = fs.readFileSync(__dirname + '/idleness.txt', 'utf8'); - -test('stop80', function (t) { - var lines = wordwrap(80)(idleness).split(/\n/); - var words = idleness.split(/\s+/); - - lines.forEach(function (line) { - t.ok(line.length <= 80, 'line > 80 columns'); - var chunks = line.match(/\S/) ? line.split(/\s+/) : []; - t.deepEqual(chunks, words.splice(0, chunks.length)); - }); - t.end(); -}); - -test('start20stop60', function (t) { - var lines = wordwrap(20, 100)(idleness).split(/\n/); - var words = idleness.split(/\s+/); - - lines.forEach(function (line) { - t.ok(line.length <= 100, 'line > 100 columns'); - var chunks = line - .split(/\s+/) - .filter(function (x) { return x.match(/\S/) }) - ; - t.deepEqual(chunks, words.splice(0, chunks.length)); - t.deepEqual(line.slice(0, 20), new Array(20 + 1).join(' ')); - }); - t.end(); -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/package.json deleted file mode 100644 index b05b419..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/optionator/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "optionator", - "version": "0.8.1", - "author": { - "name": "George Zahariev", - "email": "z@georgezahariev.com" - }, - "description": "option parsing and help generation", - "homepage": "https://github.com/gkz/optionator", - "keywords": [ - "options", - "flags", - "option parsing", - "cli" - ], - "files": [ - "lib", - "README.md", - "LICENSE" - ], - "main": "./lib/", - "bugs": { - "url": "https://github.com/gkz/optionator/issues" - }, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - }, - "repository": { - "type": "git", - "url": "git://github.com/gkz/optionator.git" - }, - "scripts": { - "test": "make test" - }, - "dependencies": { - "prelude-ls": "~1.1.2", - "deep-is": "~0.1.3", - "wordwrap": "~1.0.0", - "type-check": "~0.3.2", - "levn": "~0.3.0", - "fast-levenshtein": "^1.1.0" - }, - "devDependencies": { - "livescript": "~1.4.0", - "mocha": "~2.3.4", - "istanbul": "~0.4.1" - }, - "gitHead": "88e905d2546df814bc20ff88af93eec8c47c216c", - "_id": "optionator@0.8.1", - "_shasum": "e31b4932cdd5fb862a8b0d10bc63d3ee1ec7d78b", - "_from": "optionator@>=0.8.1 <0.9.0", - "_npmVersion": "3.5.3", - "_nodeVersion": "5.3.0", - "_npmUser": { - "name": "gkz", - "email": "z@georgezahariev.com" - }, - "maintainers": [ - { - "name": "gkz", - "email": "z@georgezahariev.com" - } - ], - "dist": { - "shasum": "e31b4932cdd5fb862a8b0d10bc63d3ee1ec7d78b", - "tarball": "https://registry.npmjs.org/optionator/-/optionator-0.8.1.tgz" - }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.1.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/.npmignore b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/.npmignore deleted file mode 100644 index 3dddf3f..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -dist/* -node_modules/* diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/.travis.yml b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/.travis.yml deleted file mode 100644 index ddc9c4f..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - 0.8 - - "0.10" \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/CHANGELOG.md b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/CHANGELOG.md deleted file mode 100644 index 2ce9d80..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/CHANGELOG.md +++ /dev/null @@ -1,201 +0,0 @@ -# Change Log - -## 0.2.0 - -* Support for consuming "indexed" source maps which do not have any remote - sections. See pull request #127. This introduces a minor backwards - incompatibility if you are monkey patching `SourceMapConsumer.prototype` - methods. - -## 0.1.43 - -* Performance improvements for `SourceMapGenerator` and `SourceNode`. See issue - #148 for some discussion and issues #150, #151, and #152 for implementations. - -## 0.1.42 - -* Fix an issue where `SourceNode`s from different versions of the source-map - library couldn't be used in conjunction with each other. See issue #142. - -## 0.1.41 - -* Fix a bug with getting the source content of relative sources with a "./" - prefix. See issue #145 and [Bug 1090768](bugzil.la/1090768). - -* Add the `SourceMapConsumer.prototype.computeColumnSpans` method to compute the - column span of each mapping. - -* Add the `SourceMapConsumer.prototype.allGeneratedPositionsFor` method to find - all generated positions associated with a given original source and line. - -## 0.1.40 - -* Performance improvements for parsing source maps in SourceMapConsumer. - -## 0.1.39 - -* Fix a bug where setting a source's contents to null before any source content - had been set before threw a TypeError. See issue #131. - -## 0.1.38 - -* Fix a bug where finding relative paths from an empty path were creating - absolute paths. See issue #129. - -## 0.1.37 - -* Fix a bug where if the source root was an empty string, relative source paths - would turn into absolute source paths. Issue #124. - -## 0.1.36 - -* Allow the `names` mapping property to be an empty string. Issue #121. - -## 0.1.35 - -* A third optional parameter was added to `SourceNode.fromStringWithSourceMap` - to specify a path that relative sources in the second parameter should be - relative to. Issue #105. - -* If no file property is given to a `SourceMapGenerator`, then the resulting - source map will no longer have a `null` file property. The property will - simply not exist. Issue #104. - -* Fixed a bug where consecutive newlines were ignored in `SourceNode`s. - Issue #116. - -## 0.1.34 - -* Make `SourceNode` work with windows style ("\r\n") newlines. Issue #103. - -* Fix bug involving source contents and the - `SourceMapGenerator.prototype.applySourceMap`. Issue #100. - -## 0.1.33 - -* Fix some edge cases surrounding path joining and URL resolution. - -* Add a third parameter for relative path to - `SourceMapGenerator.prototype.applySourceMap`. - -* Fix issues with mappings and EOLs. - -## 0.1.32 - -* Fixed a bug where SourceMapConsumer couldn't handle negative relative columns - (issue 92). - -* Fixed test runner to actually report number of failed tests as its process - exit code. - -* Fixed a typo when reporting bad mappings (issue 87). - -## 0.1.31 - -* Delay parsing the mappings in SourceMapConsumer until queried for a source - location. - -* Support Sass source maps (which at the time of writing deviate from the spec - in small ways) in SourceMapConsumer. - -## 0.1.30 - -* Do not join source root with a source, when the source is a data URI. - -* Extend the test runner to allow running single specific test files at a time. - -* Performance improvements in `SourceNode.prototype.walk` and - `SourceMapConsumer.prototype.eachMapping`. - -* Source map browser builds will now work inside Workers. - -* Better error messages when attempting to add an invalid mapping to a - `SourceMapGenerator`. - -## 0.1.29 - -* Allow duplicate entries in the `names` and `sources` arrays of source maps - (usually from TypeScript) we are parsing. Fixes github issue 72. - -## 0.1.28 - -* Skip duplicate mappings when creating source maps from SourceNode; github - issue 75. - -## 0.1.27 - -* Don't throw an error when the `file` property is missing in SourceMapConsumer, - we don't use it anyway. - -## 0.1.26 - -* Fix SourceNode.fromStringWithSourceMap for empty maps. Fixes github issue 70. - -## 0.1.25 - -* Make compatible with browserify - -## 0.1.24 - -* Fix issue with absolute paths and `file://` URIs. See - https://bugzilla.mozilla.org/show_bug.cgi?id=885597 - -## 0.1.23 - -* Fix issue with absolute paths and sourcesContent, github issue 64. - -## 0.1.22 - -* Ignore duplicate mappings in SourceMapGenerator. Fixes github issue 21. - -## 0.1.21 - -* Fixed handling of sources that start with a slash so that they are relative to - the source root's host. - -## 0.1.20 - -* Fixed github issue #43: absolute URLs aren't joined with the source root - anymore. - -## 0.1.19 - -* Using Travis CI to run tests. - -## 0.1.18 - -* Fixed a bug in the handling of sourceRoot. - -## 0.1.17 - -* Added SourceNode.fromStringWithSourceMap. - -## 0.1.16 - -* Added missing documentation. - -* Fixed the generating of empty mappings in SourceNode. - -## 0.1.15 - -* Added SourceMapGenerator.applySourceMap. - -## 0.1.14 - -* The sourceRoot is now handled consistently. - -## 0.1.13 - -* Added SourceMapGenerator.fromSourceMap. - -## 0.1.12 - -* SourceNode now generates empty mappings too. - -## 0.1.11 - -* Added name support to SourceNode. - -## 0.1.10 - -* Added sourcesContent support to the customer and generator. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/LICENSE b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/LICENSE deleted file mode 100644 index ed1b7cf..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/LICENSE +++ /dev/null @@ -1,28 +0,0 @@ - -Copyright (c) 2009-2011, Mozilla Foundation and contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the names of the Mozilla Foundation nor the names of project - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/Makefile.dryice.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/Makefile.dryice.js deleted file mode 100644 index d6fc26a..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/Makefile.dryice.js +++ /dev/null @@ -1,166 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -var path = require('path'); -var fs = require('fs'); -var copy = require('dryice').copy; - -function removeAmdefine(src) { - src = String(src).replace( - /if\s*\(typeof\s*define\s*!==\s*'function'\)\s*{\s*var\s*define\s*=\s*require\('amdefine'\)\(module,\s*require\);\s*}\s*/g, - ''); - src = src.replace( - /\b(define\(.*)('amdefine',?)/gm, - '$1'); - return src; -} -removeAmdefine.onRead = true; - -function makeNonRelative(src) { - return src - .replace(/require\('.\//g, 'require(\'source-map/') - .replace(/\.\.\/\.\.\/lib\//g, ''); -} -makeNonRelative.onRead = true; - -function buildBrowser() { - console.log('\nCreating dist/source-map.js'); - - var project = copy.createCommonJsProject({ - roots: [ path.join(__dirname, 'lib') ] - }); - - copy({ - source: [ - 'build/mini-require.js', - { - project: project, - require: [ 'source-map/source-map-generator', - 'source-map/source-map-consumer', - 'source-map/source-node'] - }, - 'build/suffix-browser.js' - ], - filter: [ - copy.filter.moduleDefines, - removeAmdefine - ], - dest: 'dist/source-map.js' - }); -} - -function buildBrowserMin() { - console.log('\nCreating dist/source-map.min.js'); - - copy({ - source: 'dist/source-map.js', - filter: copy.filter.uglifyjs, - dest: 'dist/source-map.min.js' - }); -} - -function buildFirefox() { - console.log('\nCreating dist/SourceMap.jsm'); - - var project = copy.createCommonJsProject({ - roots: [ path.join(__dirname, 'lib') ] - }); - - copy({ - source: [ - 'build/prefix-source-map.jsm', - { - project: project, - require: [ 'source-map/source-map-consumer', - 'source-map/source-map-generator', - 'source-map/source-node' ] - }, - 'build/suffix-source-map.jsm' - ], - filter: [ - copy.filter.moduleDefines, - removeAmdefine, - makeNonRelative - ], - dest: 'dist/SourceMap.jsm' - }); - - // Create dist/test/Utils.jsm - console.log('\nCreating dist/test/Utils.jsm'); - - project = copy.createCommonJsProject({ - roots: [ __dirname, path.join(__dirname, 'lib') ] - }); - - copy({ - source: [ - 'build/prefix-utils.jsm', - 'build/assert-shim.js', - { - project: project, - require: [ 'test/source-map/util' ] - }, - 'build/suffix-utils.jsm' - ], - filter: [ - copy.filter.moduleDefines, - removeAmdefine, - makeNonRelative - ], - dest: 'dist/test/Utils.jsm' - }); - - function isTestFile(f) { - return /^test\-.*?\.js/.test(f); - } - - var testFiles = fs.readdirSync(path.join(__dirname, 'test', 'source-map')).filter(isTestFile); - - testFiles.forEach(function (testFile) { - console.log('\nCreating', path.join('dist', 'test', testFile.replace(/\-/g, '_'))); - - copy({ - source: [ - 'build/test-prefix.js', - path.join('test', 'source-map', testFile), - 'build/test-suffix.js' - ], - filter: [ - removeAmdefine, - makeNonRelative, - function (input, source) { - return input.replace('define(', - 'define("' - + path.join('test', 'source-map', testFile.replace(/\.js$/, '')) - + '", ["require", "exports", "module"], '); - }, - function (input, source) { - return input.replace('{THIS_MODULE}', function () { - return "test/source-map/" + testFile.replace(/\.js$/, ''); - }); - } - ], - dest: path.join('dist', 'test', testFile.replace(/\-/g, '_')) - }); - }); -} - -function ensureDir(name) { - var dirExists = false; - try { - dirExists = fs.statSync(name).isDirectory(); - } catch (err) {} - - if (!dirExists) { - fs.mkdirSync(name, 0777); - } -} - -ensureDir("dist"); -ensureDir("dist/test"); -buildFirefox(); -buildBrowser(); -buildBrowserMin(); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/README.md b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/README.md deleted file mode 100644 index 450b514..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/README.md +++ /dev/null @@ -1,479 +0,0 @@ -# Source Map - -This is a library to generate and consume the source map format -[described here][format]. - -This library is written in the Asynchronous Module Definition format, and works -in the following environments: - -* Modern Browsers supporting ECMAScript 5 (either after the build, or with an - AMD loader such as RequireJS) - -* Inside Firefox (as a JSM file, after the build) - -* With NodeJS versions 0.8.X and higher - -## Node - - $ npm install source-map - -## Building from Source (for everywhere else) - -Install Node and then run - - $ git clone https://fitzgen@github.com/mozilla/source-map.git - $ cd source-map - $ npm link . - -Next, run - - $ node Makefile.dryice.js - -This should spew a bunch of stuff to stdout, and create the following files: - -* `dist/source-map.js` - The unminified browser version. - -* `dist/source-map.min.js` - The minified browser version. - -* `dist/SourceMap.jsm` - The JavaScript Module for inclusion in Firefox source. - -## Examples - -### Consuming a source map - - var rawSourceMap = { - version: 3, - file: 'min.js', - names: ['bar', 'baz', 'n'], - sources: ['one.js', 'two.js'], - sourceRoot: 'http://example.com/www/js/', - mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA' - }; - - var smc = new SourceMapConsumer(rawSourceMap); - - console.log(smc.sources); - // [ 'http://example.com/www/js/one.js', - // 'http://example.com/www/js/two.js' ] - - console.log(smc.originalPositionFor({ - line: 2, - column: 28 - })); - // { source: 'http://example.com/www/js/two.js', - // line: 2, - // column: 10, - // name: 'n' } - - console.log(smc.generatedPositionFor({ - source: 'http://example.com/www/js/two.js', - line: 2, - column: 10 - })); - // { line: 2, column: 28 } - - smc.eachMapping(function (m) { - // ... - }); - -### Generating a source map - -In depth guide: -[**Compiling to JavaScript, and Debugging with Source Maps**](https://hacks.mozilla.org/2013/05/compiling-to-javascript-and-debugging-with-source-maps/) - -#### With SourceNode (high level API) - - function compile(ast) { - switch (ast.type) { - case 'BinaryExpression': - return new SourceNode( - ast.location.line, - ast.location.column, - ast.location.source, - [compile(ast.left), " + ", compile(ast.right)] - ); - case 'Literal': - return new SourceNode( - ast.location.line, - ast.location.column, - ast.location.source, - String(ast.value) - ); - // ... - default: - throw new Error("Bad AST"); - } - } - - var ast = parse("40 + 2", "add.js"); - console.log(compile(ast).toStringWithSourceMap({ - file: 'add.js' - })); - // { code: '40 + 2', - // map: [object SourceMapGenerator] } - -#### With SourceMapGenerator (low level API) - - var map = new SourceMapGenerator({ - file: "source-mapped.js" - }); - - map.addMapping({ - generated: { - line: 10, - column: 35 - }, - source: "foo.js", - original: { - line: 33, - column: 2 - }, - name: "christopher" - }); - - console.log(map.toString()); - // '{"version":3,"file":"source-mapped.js","sources":["foo.js"],"names":["christopher"],"mappings":";;;;;;;;;mCAgCEA"}' - -## API - -Get a reference to the module: - - // NodeJS - var sourceMap = require('source-map'); - - // Browser builds - var sourceMap = window.sourceMap; - - // Inside Firefox - let sourceMap = {}; - Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap); - -### SourceMapConsumer - -A SourceMapConsumer instance represents a parsed source map which we can query -for information about the original file positions by giving it a file position -in the generated source. - -#### new SourceMapConsumer(rawSourceMap) - -The only parameter is the raw source map (either as a string which can be -`JSON.parse`'d, or an object). According to the spec, source maps have the -following attributes: - -* `version`: Which version of the source map spec this map is following. - -* `sources`: An array of URLs to the original source files. - -* `names`: An array of identifiers which can be referrenced by individual - mappings. - -* `sourceRoot`: Optional. The URL root from which all sources are relative. - -* `sourcesContent`: Optional. An array of contents of the original source files. - -* `mappings`: A string of base64 VLQs which contain the actual mappings. - -* `file`: Optional. The generated filename this source map is associated with. - -#### SourceMapConsumer.prototype.computeColumnSpans() - -Compute the last column for each generated mapping. The last column is -inclusive. - -#### SourceMapConsumer.prototype.originalPositionFor(generatedPosition) - -Returns the original source, line, and column information for the generated -source's line and column positions provided. The only argument is an object with -the following properties: - -* `line`: The line number in the generated source. - -* `column`: The column number in the generated source. - -and an object is returned with the following properties: - -* `source`: The original source file, or null if this information is not - available. - -* `line`: The line number in the original source, or null if this information is - not available. - -* `column`: The column number in the original source, or null or null if this - information is not available. - -* `name`: The original identifier, or null if this information is not available. - -#### SourceMapConsumer.prototype.generatedPositionFor(originalPosition) - -Returns the generated line and column information for the original source, -line, and column positions provided. The only argument is an object with -the following properties: - -* `source`: The filename of the original source. - -* `line`: The line number in the original source. - -* `column`: The column number in the original source. - -and an object is returned with the following properties: - -* `line`: The line number in the generated source, or null. - -* `column`: The column number in the generated source, or null. - -#### SourceMapConsumer.prototype.allGeneratedPositionsFor(originalPosition) - -Returns all generated line and column information for the original source -and line provided. The only argument is an object with the following -properties: - -* `source`: The filename of the original source. - -* `line`: The line number in the original source. - -and an array of objects is returned, each with the following properties: - -* `line`: The line number in the generated source, or null. - -* `column`: The column number in the generated source, or null. - -#### SourceMapConsumer.prototype.sourceContentFor(source[, returnNullOnMissing]) - -Returns the original source content for the source provided. The only -argument is the URL of the original source file. - -If the source content for the given source is not found, then an error is -thrown. Optionally, pass `true` as the second param to have `null` returned -instead. - -#### SourceMapConsumer.prototype.eachMapping(callback, context, order) - -Iterate over each mapping between an original source/line/column and a -generated line/column in this source map. - -* `callback`: The function that is called with each mapping. Mappings have the - form `{ source, generatedLine, generatedColumn, originalLine, originalColumn, - name }` - -* `context`: Optional. If specified, this object will be the value of `this` - every time that `callback` is called. - -* `order`: Either `SourceMapConsumer.GENERATED_ORDER` or - `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to iterate over - the mappings sorted by the generated file's line/column order or the - original's source/line/column order, respectively. Defaults to - `SourceMapConsumer.GENERATED_ORDER`. - -### SourceMapGenerator - -An instance of the SourceMapGenerator represents a source map which is being -built incrementally. - -#### new SourceMapGenerator([startOfSourceMap]) - -You may pass an object with the following properties: - -* `file`: The filename of the generated source that this source map is - associated with. - -* `sourceRoot`: A root for all relative URLs in this source map. - -* `skipValidation`: Optional. When `true`, disables validation of mappings as - they are added. This can improve performance but should be used with - discretion, as a last resort. Even then, one should avoid using this flag when - running tests, if possible. - -#### SourceMapGenerator.fromSourceMap(sourceMapConsumer) - -Creates a new SourceMapGenerator based on a SourceMapConsumer - -* `sourceMapConsumer` The SourceMap. - -#### SourceMapGenerator.prototype.addMapping(mapping) - -Add a single mapping from original source line and column to the generated -source's line and column for this source map being created. The mapping object -should have the following properties: - -* `generated`: An object with the generated line and column positions. - -* `original`: An object with the original line and column positions. - -* `source`: The original source file (relative to the sourceRoot). - -* `name`: An optional original token name for this mapping. - -#### SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent) - -Set the source content for an original source file. - -* `sourceFile` the URL of the original source file. - -* `sourceContent` the content of the source file. - -#### SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile[, sourceMapPath]]) - -Applies a SourceMap for a source file to the SourceMap. -Each mapping to the supplied source file is rewritten using the -supplied SourceMap. Note: The resolution for the resulting mappings -is the minimium of this map and the supplied map. - -* `sourceMapConsumer`: The SourceMap to be applied. - -* `sourceFile`: Optional. The filename of the source file. - If omitted, sourceMapConsumer.file will be used, if it exists. - Otherwise an error will be thrown. - -* `sourceMapPath`: Optional. The dirname of the path to the SourceMap - to be applied. If relative, it is relative to the SourceMap. - - This parameter is needed when the two SourceMaps aren't in the same - directory, and the SourceMap to be applied contains relative source - paths. If so, those relative source paths need to be rewritten - relative to the SourceMap. - - If omitted, it is assumed that both SourceMaps are in the same directory, - thus not needing any rewriting. (Supplying `'.'` has the same effect.) - -#### SourceMapGenerator.prototype.toString() - -Renders the source map being generated to a string. - -### SourceNode - -SourceNodes provide a way to abstract over interpolating and/or concatenating -snippets of generated JavaScript source code, while maintaining the line and -column information associated between those snippets and the original source -code. This is useful as the final intermediate representation a compiler might -use before outputting the generated JS and source map. - -#### new SourceNode([line, column, source[, chunk[, name]]]) - -* `line`: The original line number associated with this source node, or null if - it isn't associated with an original line. - -* `column`: The original column number associated with this source node, or null - if it isn't associated with an original column. - -* `source`: The original source's filename; null if no filename is provided. - -* `chunk`: Optional. Is immediately passed to `SourceNode.prototype.add`, see - below. - -* `name`: Optional. The original identifier. - -#### SourceNode.fromStringWithSourceMap(code, sourceMapConsumer[, relativePath]) - -Creates a SourceNode from generated code and a SourceMapConsumer. - -* `code`: The generated code - -* `sourceMapConsumer` The SourceMap for the generated code - -* `relativePath` The optional path that relative sources in `sourceMapConsumer` - should be relative to. - -#### SourceNode.prototype.add(chunk) - -Add a chunk of generated JS to this source node. - -* `chunk`: A string snippet of generated JS code, another instance of - `SourceNode`, or an array where each member is one of those things. - -#### SourceNode.prototype.prepend(chunk) - -Prepend a chunk of generated JS to this source node. - -* `chunk`: A string snippet of generated JS code, another instance of - `SourceNode`, or an array where each member is one of those things. - -#### SourceNode.prototype.setSourceContent(sourceFile, sourceContent) - -Set the source content for a source file. This will be added to the -`SourceMap` in the `sourcesContent` field. - -* `sourceFile`: The filename of the source file - -* `sourceContent`: The content of the source file - -#### SourceNode.prototype.walk(fn) - -Walk over the tree of JS snippets in this node and its children. The walking -function is called once for each snippet of JS and is passed that snippet and -the its original associated source's line/column location. - -* `fn`: The traversal function. - -#### SourceNode.prototype.walkSourceContents(fn) - -Walk over the tree of SourceNodes. The walking function is called for each -source file content and is passed the filename and source content. - -* `fn`: The traversal function. - -#### SourceNode.prototype.join(sep) - -Like `Array.prototype.join` except for SourceNodes. Inserts the separator -between each of this source node's children. - -* `sep`: The separator. - -#### SourceNode.prototype.replaceRight(pattern, replacement) - -Call `String.prototype.replace` on the very right-most source snippet. Useful -for trimming whitespace from the end of a source node, etc. - -* `pattern`: The pattern to replace. - -* `replacement`: The thing to replace the pattern with. - -#### SourceNode.prototype.toString() - -Return the string representation of this source node. Walks over the tree and -concatenates all the various snippets together to one string. - -#### SourceNode.prototype.toStringWithSourceMap([startOfSourceMap]) - -Returns the string representation of this tree of source nodes, plus a -SourceMapGenerator which contains all the mappings between the generated and -original sources. - -The arguments are the same as those to `new SourceMapGenerator`. - -## Tests - -[![Build Status](https://travis-ci.org/mozilla/source-map.png?branch=master)](https://travis-ci.org/mozilla/source-map) - -Install NodeJS version 0.8.0 or greater, then run `node test/run-tests.js`. - -To add new tests, create a new file named `test/test-.js` -and export your test functions with names that start with "test", for example - - exports["test doing the foo bar"] = function (assert, util) { - ... - }; - -The new test will be located automatically when you run the suite. - -The `util` argument is the test utility module located at `test/source-map/util`. - -The `assert` argument is a cut down version of node's assert module. You have -access to the following assertion functions: - -* `doesNotThrow` - -* `equal` - -* `ok` - -* `strictEqual` - -* `throws` - -(The reason for the restricted set of test functions is because we need the -tests to run inside Firefox's test suite as well and so the assert module is -shimmed in that environment. See `build/assert-shim.js`.) - -[format]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit -[feature]: https://wiki.mozilla.org/DevTools/Features/SourceMap -[Dryice]: https://github.com/mozilla/dryice diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/assert-shim.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/assert-shim.js deleted file mode 100644 index daa1a62..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/assert-shim.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -define('test/source-map/assert', ['exports'], function (exports) { - - let do_throw = function (msg) { - throw new Error(msg); - }; - - exports.init = function (throw_fn) { - do_throw = throw_fn; - }; - - exports.doesNotThrow = function (fn) { - try { - fn(); - } - catch (e) { - do_throw(e.message); - } - }; - - exports.equal = function (actual, expected, msg) { - msg = msg || String(actual) + ' != ' + String(expected); - if (actual != expected) { - do_throw(msg); - } - }; - - exports.ok = function (val, msg) { - msg = msg || String(val) + ' is falsey'; - if (!Boolean(val)) { - do_throw(msg); - } - }; - - exports.strictEqual = function (actual, expected, msg) { - msg = msg || String(actual) + ' !== ' + String(expected); - if (actual !== expected) { - do_throw(msg); - } - }; - - exports.throws = function (fn) { - try { - fn(); - do_throw('Expected an error to be thrown, but it wasn\'t.'); - } - catch (e) { - } - }; - -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/mini-require.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/mini-require.js deleted file mode 100644 index 0daf453..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/mini-require.js +++ /dev/null @@ -1,152 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - -/** - * Define a module along with a payload. - * @param {string} moduleName Name for the payload - * @param {ignored} deps Ignored. For compatibility with CommonJS AMD Spec - * @param {function} payload Function with (require, exports, module) params - */ -function define(moduleName, deps, payload) { - if (typeof moduleName != "string") { - throw new TypeError('Expected string, got: ' + moduleName); - } - - if (arguments.length == 2) { - payload = deps; - } - - if (moduleName in define.modules) { - throw new Error("Module already defined: " + moduleName); - } - define.modules[moduleName] = payload; -}; - -/** - * The global store of un-instantiated modules - */ -define.modules = {}; - - -/** - * We invoke require() in the context of a Domain so we can have multiple - * sets of modules running separate from each other. - * This contrasts with JSMs which are singletons, Domains allows us to - * optionally load a CommonJS module twice with separate data each time. - * Perhaps you want 2 command lines with a different set of commands in each, - * for example. - */ -function Domain() { - this.modules = {}; - this._currentModule = null; -} - -(function () { - - /** - * Lookup module names and resolve them by calling the definition function if - * needed. - * There are 2 ways to call this, either with an array of dependencies and a - * callback to call when the dependencies are found (which can happen - * asynchronously in an in-page context) or with a single string an no callback - * where the dependency is resolved synchronously and returned. - * The API is designed to be compatible with the CommonJS AMD spec and - * RequireJS. - * @param {string[]|string} deps A name, or names for the payload - * @param {function|undefined} callback Function to call when the dependencies - * are resolved - * @return {undefined|object} The module required or undefined for - * array/callback method - */ - Domain.prototype.require = function(deps, callback) { - if (Array.isArray(deps)) { - var params = deps.map(function(dep) { - return this.lookup(dep); - }, this); - if (callback) { - callback.apply(null, params); - } - return undefined; - } - else { - return this.lookup(deps); - } - }; - - function normalize(path) { - var bits = path.split('/'); - var i = 1; - while (i < bits.length) { - if (bits[i] === '..') { - bits.splice(i-1, 1); - } else if (bits[i] === '.') { - bits.splice(i, 1); - } else { - i++; - } - } - return bits.join('/'); - } - - function join(a, b) { - a = a.trim(); - b = b.trim(); - if (/^\//.test(b)) { - return b; - } else { - return a.replace(/\/*$/, '/') + b; - } - } - - function dirname(path) { - var bits = path.split('/'); - bits.pop(); - return bits.join('/'); - } - - /** - * Lookup module names and resolve them by calling the definition function if - * needed. - * @param {string} moduleName A name for the payload to lookup - * @return {object} The module specified by aModuleName or null if not found. - */ - Domain.prototype.lookup = function(moduleName) { - if (/^\./.test(moduleName)) { - moduleName = normalize(join(dirname(this._currentModule), moduleName)); - } - - if (moduleName in this.modules) { - var module = this.modules[moduleName]; - return module; - } - - if (!(moduleName in define.modules)) { - throw new Error("Module not defined: " + moduleName); - } - - var module = define.modules[moduleName]; - - if (typeof module == "function") { - var exports = {}; - var previousModule = this._currentModule; - this._currentModule = moduleName; - module(this.require.bind(this), exports, { id: moduleName, uri: "" }); - this._currentModule = previousModule; - module = exports; - } - - // cache the resulting module object for next time - this.modules[moduleName] = module; - - return module; - }; - -}()); - -define.Domain = Domain; -define.globalDomain = new Domain(); -var require = define.globalDomain.require.bind(define.globalDomain); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/prefix-source-map.jsm b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/prefix-source-map.jsm deleted file mode 100644 index ee2539d..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/prefix-source-map.jsm +++ /dev/null @@ -1,20 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - -/* - * WARNING! - * - * Do not edit this file directly, it is built from the sources at - * https://github.com/mozilla/source-map/ - */ - -/////////////////////////////////////////////////////////////////////////////// - - -this.EXPORTED_SYMBOLS = [ "SourceMapConsumer", "SourceMapGenerator", "SourceNode" ]; - -Components.utils.import('resource://gre/modules/devtools/Require.jsm'); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/prefix-utils.jsm b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/prefix-utils.jsm deleted file mode 100644 index 80341d4..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/prefix-utils.jsm +++ /dev/null @@ -1,18 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - -/* - * WARNING! - * - * Do not edit this file directly, it is built from the sources at - * https://github.com/mozilla/source-map/ - */ - -Components.utils.import('resource://gre/modules/devtools/Require.jsm'); -Components.utils.import('resource://gre/modules/devtools/SourceMap.jsm'); - -this.EXPORTED_SYMBOLS = [ "define", "runSourceMapTests" ]; diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/suffix-browser.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/suffix-browser.js deleted file mode 100644 index fb29ff5..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/suffix-browser.js +++ /dev/null @@ -1,8 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/////////////////////////////////////////////////////////////////////////////// - -this.sourceMap = { - SourceMapConsumer: require('source-map/source-map-consumer').SourceMapConsumer, - SourceMapGenerator: require('source-map/source-map-generator').SourceMapGenerator, - SourceNode: require('source-map/source-node').SourceNode -}; diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/suffix-source-map.jsm b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/suffix-source-map.jsm deleted file mode 100644 index cf3c2d8..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/suffix-source-map.jsm +++ /dev/null @@ -1,6 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/////////////////////////////////////////////////////////////////////////////// - -this.SourceMapConsumer = require('source-map/source-map-consumer').SourceMapConsumer; -this.SourceMapGenerator = require('source-map/source-map-generator').SourceMapGenerator; -this.SourceNode = require('source-map/source-node').SourceNode; diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/suffix-utils.jsm b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/suffix-utils.jsm deleted file mode 100644 index b31b84c..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/suffix-utils.jsm +++ /dev/null @@ -1,21 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -function runSourceMapTests(modName, do_throw) { - let mod = require(modName); - let assert = require('test/source-map/assert'); - let util = require('test/source-map/util'); - - assert.init(do_throw); - - for (let k in mod) { - if (/^test/.test(k)) { - mod[k](assert, util); - } - } - -} -this.runSourceMapTests = runSourceMapTests; diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/test-prefix.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/test-prefix.js deleted file mode 100644 index 1b13f30..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/test-prefix.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * WARNING! - * - * Do not edit this file directly, it is built from the sources at - * https://github.com/mozilla/source-map/ - */ - -Components.utils.import('resource://test/Utils.jsm'); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/test-suffix.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/test-suffix.js deleted file mode 100644 index bec2de3..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/build/test-suffix.js +++ /dev/null @@ -1,3 +0,0 @@ -function run_test() { - runSourceMapTests('{THIS_MODULE}', do_throw); -} diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map.js deleted file mode 100644 index 121ad24..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright 2009-2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE.txt or: - * http://opensource.org/licenses/BSD-3-Clause - */ -exports.SourceMapGenerator = require('./source-map/source-map-generator').SourceMapGenerator; -exports.SourceMapConsumer = require('./source-map/source-map-consumer').SourceMapConsumer; -exports.SourceNode = require('./source-map/source-node').SourceNode; diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/array-set.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/array-set.js deleted file mode 100644 index 40f9a18..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/array-set.js +++ /dev/null @@ -1,97 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - var util = require('./util'); - - /** - * A data structure which is a combination of an array and a set. Adding a new - * member is O(1), testing for membership is O(1), and finding the index of an - * element is O(1). Removing elements from the set is not supported. Only - * strings are supported for membership. - */ - function ArraySet() { - this._array = []; - this._set = {}; - } - - /** - * Static method for creating ArraySet instances from an existing array. - */ - ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { - var set = new ArraySet(); - for (var i = 0, len = aArray.length; i < len; i++) { - set.add(aArray[i], aAllowDuplicates); - } - return set; - }; - - /** - * Add the given string to this set. - * - * @param String aStr - */ - ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { - var isDuplicate = this.has(aStr); - var idx = this._array.length; - if (!isDuplicate || aAllowDuplicates) { - this._array.push(aStr); - } - if (!isDuplicate) { - this._set[util.toSetString(aStr)] = idx; - } - }; - - /** - * Is the given string a member of this set? - * - * @param String aStr - */ - ArraySet.prototype.has = function ArraySet_has(aStr) { - return Object.prototype.hasOwnProperty.call(this._set, - util.toSetString(aStr)); - }; - - /** - * What is the index of the given string in the array? - * - * @param String aStr - */ - ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { - if (this.has(aStr)) { - return this._set[util.toSetString(aStr)]; - } - throw new Error('"' + aStr + '" is not in the set.'); - }; - - /** - * What is the element at the given index? - * - * @param Number aIdx - */ - ArraySet.prototype.at = function ArraySet_at(aIdx) { - if (aIdx >= 0 && aIdx < this._array.length) { - return this._array[aIdx]; - } - throw new Error('No element indexed by ' + aIdx); - }; - - /** - * Returns the array representation of this set (which has the proper indices - * indicated by indexOf). Note that this is a copy of the internal array used - * for storing the members so that no one can mess with internal state. - */ - ArraySet.prototype.toArray = function ArraySet_toArray() { - return this._array.slice(); - }; - - exports.ArraySet = ArraySet; - -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/base64-vlq.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/base64-vlq.js deleted file mode 100644 index e22dcae..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/base64-vlq.js +++ /dev/null @@ -1,142 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - * - * Based on the Base 64 VLQ implementation in Closure Compiler: - * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java - * - * Copyright 2011 The Closure Compiler Authors. All rights reserved. - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - var base64 = require('./base64'); - - // A single base 64 digit can contain 6 bits of data. For the base 64 variable - // length quantities we use in the source map spec, the first bit is the sign, - // the next four bits are the actual value, and the 6th bit is the - // continuation bit. The continuation bit tells us whether there are more - // digits in this value following this digit. - // - // Continuation - // | Sign - // | | - // V V - // 101011 - - var VLQ_BASE_SHIFT = 5; - - // binary: 100000 - var VLQ_BASE = 1 << VLQ_BASE_SHIFT; - - // binary: 011111 - var VLQ_BASE_MASK = VLQ_BASE - 1; - - // binary: 100000 - var VLQ_CONTINUATION_BIT = VLQ_BASE; - - /** - * Converts from a two-complement value to a value where the sign bit is - * placed in the least significant bit. For example, as decimals: - * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) - * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) - */ - function toVLQSigned(aValue) { - return aValue < 0 - ? ((-aValue) << 1) + 1 - : (aValue << 1) + 0; - } - - /** - * Converts to a two-complement value from a value where the sign bit is - * placed in the least significant bit. For example, as decimals: - * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 - * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 - */ - function fromVLQSigned(aValue) { - var isNegative = (aValue & 1) === 1; - var shifted = aValue >> 1; - return isNegative - ? -shifted - : shifted; - } - - /** - * Returns the base 64 VLQ encoded value. - */ - exports.encode = function base64VLQ_encode(aValue) { - var encoded = ""; - var digit; - - var vlq = toVLQSigned(aValue); - - do { - digit = vlq & VLQ_BASE_MASK; - vlq >>>= VLQ_BASE_SHIFT; - if (vlq > 0) { - // There are still more digits in this value, so we must make sure the - // continuation bit is marked. - digit |= VLQ_CONTINUATION_BIT; - } - encoded += base64.encode(digit); - } while (vlq > 0); - - return encoded; - }; - - /** - * Decodes the next base 64 VLQ value from the given string and returns the - * value and the rest of the string via the out parameter. - */ - exports.decode = function base64VLQ_decode(aStr, aOutParam) { - var i = 0; - var strLen = aStr.length; - var result = 0; - var shift = 0; - var continuation, digit; - - do { - if (i >= strLen) { - throw new Error("Expected more digits in base 64 VLQ value."); - } - digit = base64.decode(aStr.charAt(i++)); - continuation = !!(digit & VLQ_CONTINUATION_BIT); - digit &= VLQ_BASE_MASK; - result = result + (digit << shift); - shift += VLQ_BASE_SHIFT; - } while (continuation); - - aOutParam.value = fromVLQSigned(result); - aOutParam.rest = aStr.slice(i); - }; - -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/base64.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/base64.js deleted file mode 100644 index 863cc46..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/base64.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - var charToIntMap = {}; - var intToCharMap = {}; - - 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' - .split('') - .forEach(function (ch, index) { - charToIntMap[ch] = index; - intToCharMap[index] = ch; - }); - - /** - * Encode an integer in the range of 0 to 63 to a single base 64 digit. - */ - exports.encode = function base64_encode(aNumber) { - if (aNumber in intToCharMap) { - return intToCharMap[aNumber]; - } - throw new TypeError("Must be between 0 and 63: " + aNumber); - }; - - /** - * Decode a single base 64 digit to an integer. - */ - exports.decode = function base64_decode(aChar) { - if (aChar in charToIntMap) { - return charToIntMap[aChar]; - } - throw new TypeError("Not a valid base 64 digit: " + aChar); - }; - -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/basic-source-map-consumer.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/basic-source-map-consumer.js deleted file mode 100644 index f2dfb3e..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/basic-source-map-consumer.js +++ /dev/null @@ -1,420 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - var util = require('./util'); - var binarySearch = require('./binary-search'); - var ArraySet = require('./array-set').ArraySet; - var base64VLQ = require('./base64-vlq'); - var SourceMapConsumer = require('./source-map-consumer').SourceMapConsumer; - - /** - * A BasicSourceMapConsumer instance represents a parsed source map which we can - * query for information about the original file positions by giving it a file - * position in the generated source. - * - * The only parameter is the raw source map (either as a JSON string, or - * already parsed to an object). According to the spec, source maps have the - * following attributes: - * - * - version: Which version of the source map spec this map is following. - * - sources: An array of URLs to the original source files. - * - names: An array of identifiers which can be referrenced by individual mappings. - * - sourceRoot: Optional. The URL root from which all sources are relative. - * - sourcesContent: Optional. An array of contents of the original source files. - * - mappings: A string of base64 VLQs which contain the actual mappings. - * - file: Optional. The generated file this source map is associated with. - * - * Here is an example source map, taken from the source map spec[0]: - * - * { - * version : 3, - * file: "out.js", - * sourceRoot : "", - * sources: ["foo.js", "bar.js"], - * names: ["src", "maps", "are", "fun"], - * mappings: "AA,AB;;ABCDE;" - * } - * - * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# - */ - function BasicSourceMapConsumer(aSourceMap) { - var sourceMap = aSourceMap; - if (typeof aSourceMap === 'string') { - sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); - } - - var version = util.getArg(sourceMap, 'version'); - var sources = util.getArg(sourceMap, 'sources'); - // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which - // requires the array) to play nice here. - var names = util.getArg(sourceMap, 'names', []); - var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); - var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); - var mappings = util.getArg(sourceMap, 'mappings'); - var file = util.getArg(sourceMap, 'file', null); - - // Once again, Sass deviates from the spec and supplies the version as a - // string rather than a number, so we use loose equality checking here. - if (version != this._version) { - throw new Error('Unsupported version: ' + version); - } - - // Some source maps produce relative source paths like "./foo.js" instead of - // "foo.js". Normalize these first so that future comparisons will succeed. - // See bugzil.la/1090768. - sources = sources.map(util.normalize); - - // Pass `true` below to allow duplicate names and sources. While source maps - // are intended to be compressed and deduplicated, the TypeScript compiler - // sometimes generates source maps with duplicates in them. See Github issue - // #72 and bugzil.la/889492. - this._names = ArraySet.fromArray(names, true); - this._sources = ArraySet.fromArray(sources, true); - - this.sourceRoot = sourceRoot; - this.sourcesContent = sourcesContent; - this._mappings = mappings; - this.file = file; - } - - BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); - BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; - - /** - * Create a BasicSourceMapConsumer from a SourceMapGenerator. - * - * @param SourceMapGenerator aSourceMap - * The source map that will be consumed. - * @returns BasicSourceMapConsumer - */ - BasicSourceMapConsumer.fromSourceMap = - function SourceMapConsumer_fromSourceMap(aSourceMap) { - var smc = Object.create(BasicSourceMapConsumer.prototype); - - smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); - smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); - smc.sourceRoot = aSourceMap._sourceRoot; - smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), - smc.sourceRoot); - smc.file = aSourceMap._file; - - smc.__generatedMappings = aSourceMap._mappings.toArray().slice(); - smc.__originalMappings = aSourceMap._mappings.toArray().slice() - .sort(util.compareByOriginalPositions); - - return smc; - }; - - /** - * The version of the source mapping spec that we are consuming. - */ - BasicSourceMapConsumer.prototype._version = 3; - - /** - * The list of original sources. - */ - Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', { - get: function () { - return this._sources.toArray().map(function (s) { - return this.sourceRoot != null ? util.join(this.sourceRoot, s) : s; - }, this); - } - }); - - /** - * Parse the mappings in a string in to a data structure which we can easily - * query (the ordered arrays in the `this.__generatedMappings` and - * `this.__originalMappings` properties). - */ - BasicSourceMapConsumer.prototype._parseMappings = - function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { - var generatedLine = 1; - var previousGeneratedColumn = 0; - var previousOriginalLine = 0; - var previousOriginalColumn = 0; - var previousSource = 0; - var previousName = 0; - var str = aStr; - var temp = {}; - var mapping; - - while (str.length > 0) { - if (str.charAt(0) === ';') { - generatedLine++; - str = str.slice(1); - previousGeneratedColumn = 0; - } - else if (str.charAt(0) === ',') { - str = str.slice(1); - } - else { - mapping = {}; - mapping.generatedLine = generatedLine; - - // Generated column. - base64VLQ.decode(str, temp); - mapping.generatedColumn = previousGeneratedColumn + temp.value; - previousGeneratedColumn = mapping.generatedColumn; - str = temp.rest; - - if (str.length > 0 && !this._nextCharIsMappingSeparator(str)) { - // Original source. - base64VLQ.decode(str, temp); - mapping.source = this._sources.at(previousSource + temp.value); - previousSource += temp.value; - str = temp.rest; - if (str.length === 0 || this._nextCharIsMappingSeparator(str)) { - throw new Error('Found a source, but no line and column'); - } - - // Original line. - base64VLQ.decode(str, temp); - mapping.originalLine = previousOriginalLine + temp.value; - previousOriginalLine = mapping.originalLine; - // Lines are stored 0-based - mapping.originalLine += 1; - str = temp.rest; - if (str.length === 0 || this._nextCharIsMappingSeparator(str)) { - throw new Error('Found a source and line, but no column'); - } - - // Original column. - base64VLQ.decode(str, temp); - mapping.originalColumn = previousOriginalColumn + temp.value; - previousOriginalColumn = mapping.originalColumn; - str = temp.rest; - - if (str.length > 0 && !this._nextCharIsMappingSeparator(str)) { - // Original name. - base64VLQ.decode(str, temp); - mapping.name = this._names.at(previousName + temp.value); - previousName += temp.value; - str = temp.rest; - } - } - - this.__generatedMappings.push(mapping); - if (typeof mapping.originalLine === 'number') { - this.__originalMappings.push(mapping); - } - } - } - - this.__generatedMappings.sort(util.compareByGeneratedPositions); - this.__originalMappings.sort(util.compareByOriginalPositions); - }; - - /** - * Find the mapping that best matches the hypothetical "needle" mapping that - * we are searching for in the given "haystack" of mappings. - */ - BasicSourceMapConsumer.prototype._findMapping = - function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, - aColumnName, aComparator) { - // To return the position we are searching for, we must first find the - // mapping for the given position and then return the opposite position it - // points to. Because the mappings are sorted, we can use binary search to - // find the best mapping. - - if (aNeedle[aLineName] <= 0) { - throw new TypeError('Line must be greater than or equal to 1, got ' - + aNeedle[aLineName]); - } - if (aNeedle[aColumnName] < 0) { - throw new TypeError('Column must be greater than or equal to 0, got ' - + aNeedle[aColumnName]); - } - - return binarySearch.search(aNeedle, aMappings, aComparator); - }; - - /** - * Compute the last column for each generated mapping. The last column is - * inclusive. - */ - BasicSourceMapConsumer.prototype.computeColumnSpans = - function SourceMapConsumer_computeColumnSpans() { - for (var index = 0; index < this._generatedMappings.length; ++index) { - var mapping = this._generatedMappings[index]; - - // Mappings do not contain a field for the last generated columnt. We - // can come up with an optimistic estimate, however, by assuming that - // mappings are contiguous (i.e. given two consecutive mappings, the - // first mapping ends where the second one starts). - if (index + 1 < this._generatedMappings.length) { - var nextMapping = this._generatedMappings[index + 1]; - - if (mapping.generatedLine === nextMapping.generatedLine) { - mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; - continue; - } - } - - // The last mapping for each line spans the entire line. - mapping.lastGeneratedColumn = Infinity; - } - }; - - /** - * Returns the original source, line, and column information for the generated - * source's line and column positions provided. The only argument is an object - * with the following properties: - * - * - line: The line number in the generated source. - * - column: The column number in the generated source. - * - * and an object is returned with the following properties: - * - * - source: The original source file, or null. - * - line: The line number in the original source, or null. - * - column: The column number in the original source, or null. - * - name: The original identifier, or null. - */ - BasicSourceMapConsumer.prototype.originalPositionFor = - function SourceMapConsumer_originalPositionFor(aArgs) { - var needle = { - generatedLine: util.getArg(aArgs, 'line'), - generatedColumn: util.getArg(aArgs, 'column') - }; - - var index = this._findMapping(needle, - this._generatedMappings, - "generatedLine", - "generatedColumn", - util.compareByGeneratedPositions); - - if (index >= 0) { - var mapping = this._generatedMappings[index]; - - if (mapping.generatedLine === needle.generatedLine) { - var source = util.getArg(mapping, 'source', null); - if (source != null && this.sourceRoot != null) { - source = util.join(this.sourceRoot, source); - } - return { - source: source, - line: util.getArg(mapping, 'originalLine', null), - column: util.getArg(mapping, 'originalColumn', null), - name: util.getArg(mapping, 'name', null) - }; - } - } - - return { - source: null, - line: null, - column: null, - name: null - }; - }; - - /** - * Returns the original source content. The only argument is the url of the - * original source file. Returns null if no original source content is - * availible. - */ - BasicSourceMapConsumer.prototype.sourceContentFor = - function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { - if (!this.sourcesContent) { - return null; - } - - if (this.sourceRoot != null) { - aSource = util.relative(this.sourceRoot, aSource); - } - - if (this._sources.has(aSource)) { - return this.sourcesContent[this._sources.indexOf(aSource)]; - } - - var url; - if (this.sourceRoot != null - && (url = util.urlParse(this.sourceRoot))) { - // XXX: file:// URIs and absolute paths lead to unexpected behavior for - // many users. We can help them out when they expect file:// URIs to - // behave like it would if they were running a local HTTP server. See - // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. - var fileUriAbsPath = aSource.replace(/^file:\/\//, ""); - if (url.scheme == "file" - && this._sources.has(fileUriAbsPath)) { - return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)] - } - - if ((!url.path || url.path == "/") - && this._sources.has("/" + aSource)) { - return this.sourcesContent[this._sources.indexOf("/" + aSource)]; - } - } - - // This function is used recursively from - // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we - // don't want to throw if we can't find the source - we just want to - // return null, so we provide a flag to exit gracefully. - if (nullOnMissing) { - return null; - } - else { - throw new Error('"' + aSource + '" is not in the SourceMap.'); - } - }; - - /** - * Returns the generated line and column information for the original source, - * line, and column positions provided. The only argument is an object with - * the following properties: - * - * - source: The filename of the original source. - * - line: The line number in the original source. - * - column: The column number in the original source. - * - * and an object is returned with the following properties: - * - * - line: The line number in the generated source, or null. - * - column: The column number in the generated source, or null. - */ - BasicSourceMapConsumer.prototype.generatedPositionFor = - function SourceMapConsumer_generatedPositionFor(aArgs) { - var needle = { - source: util.getArg(aArgs, 'source'), - originalLine: util.getArg(aArgs, 'line'), - originalColumn: util.getArg(aArgs, 'column') - }; - - if (this.sourceRoot != null) { - needle.source = util.relative(this.sourceRoot, needle.source); - } - - var index = this._findMapping(needle, - this._originalMappings, - "originalLine", - "originalColumn", - util.compareByOriginalPositions); - - if (index >= 0) { - var mapping = this._originalMappings[index]; - - return { - line: util.getArg(mapping, 'generatedLine', null), - column: util.getArg(mapping, 'generatedColumn', null), - lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) - }; - } - - return { - line: null, - column: null, - lastColumn: null - }; - }; - - exports.BasicSourceMapConsumer = BasicSourceMapConsumer; - -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/binary-search.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/binary-search.js deleted file mode 100644 index e085f81..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/binary-search.js +++ /dev/null @@ -1,80 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - /** - * Recursive implementation of binary search. - * - * @param aLow Indices here and lower do not contain the needle. - * @param aHigh Indices here and higher do not contain the needle. - * @param aNeedle The element being searched for. - * @param aHaystack The non-empty array being searched. - * @param aCompare Function which takes two elements and returns -1, 0, or 1. - */ - function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare) { - // This function terminates when one of the following is true: - // - // 1. We find the exact element we are looking for. - // - // 2. We did not find the exact element, but we can return the index of - // the next closest element that is less than that element. - // - // 3. We did not find the exact element, and there is no next-closest - // element which is less than the one we are searching for, so we - // return -1. - var mid = Math.floor((aHigh - aLow) / 2) + aLow; - var cmp = aCompare(aNeedle, aHaystack[mid], true); - if (cmp === 0) { - // Found the element we are looking for. - return mid; - } - else if (cmp > 0) { - // aHaystack[mid] is greater than our needle. - if (aHigh - mid > 1) { - // The element is in the upper half. - return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare); - } - // We did not find an exact match, return the next closest one - // (termination case 2). - return mid; - } - else { - // aHaystack[mid] is less than our needle. - if (mid - aLow > 1) { - // The element is in the lower half. - return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare); - } - // The exact needle element was not found in this haystack. Determine if - // we are in termination case (2) or (3) and return the appropriate thing. - return aLow < 0 ? -1 : aLow; - } - } - - /** - * This is an implementation of binary search which will always try and return - * the index of next lowest value checked if there is no exact hit. This is - * because mappings between original and generated line/col pairs are single - * points, and there is an implicit region between each of them, so a miss - * just means that you aren't on the very start of a region. - * - * @param aNeedle The element you are looking for. - * @param aHaystack The array that is being searched. - * @param aCompare A function which takes the needle and an element in the - * array and returns -1, 0, or 1 depending on whether the needle is less - * than, equal to, or greater than the element, respectively. - */ - exports.search = function search(aNeedle, aHaystack, aCompare) { - if (aHaystack.length === 0) { - return -1; - } - return recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, aCompare) - }; - -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/indexed-source-map-consumer.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/indexed-source-map-consumer.js deleted file mode 100644 index c6449cd..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/indexed-source-map-consumer.js +++ /dev/null @@ -1,303 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - var util = require('./util'); - var binarySearch = require('./binary-search'); - var SourceMapConsumer = require('./source-map-consumer').SourceMapConsumer; - var BasicSourceMapConsumer = require('./basic-source-map-consumer').BasicSourceMapConsumer; - - /** - * An IndexedSourceMapConsumer instance represents a parsed source map which - * we can query for information. It differs from BasicSourceMapConsumer in - * that it takes "indexed" source maps (i.e. ones with a "sections" field) as - * input. - * - * The only parameter is a raw source map (either as a JSON string, or already - * parsed to an object). According to the spec for indexed source maps, they - * have the following attributes: - * - * - version: Which version of the source map spec this map is following. - * - file: Optional. The generated file this source map is associated with. - * - sections: A list of section definitions. - * - * Each value under the "sections" field has two fields: - * - offset: The offset into the original specified at which this section - * begins to apply, defined as an object with a "line" and "column" - * field. - * - map: A source map definition. This source map could also be indexed, - * but doesn't have to be. - * - * Instead of the "map" field, it's also possible to have a "url" field - * specifying a URL to retrieve a source map from, but that's currently - * unsupported. - * - * Here's an example source map, taken from the source map spec[0], but - * modified to omit a section which uses the "url" field. - * - * { - * version : 3, - * file: "app.js", - * sections: [{ - * offset: {line:100, column:10}, - * map: { - * version : 3, - * file: "section.js", - * sources: ["foo.js", "bar.js"], - * names: ["src", "maps", "are", "fun"], - * mappings: "AAAA,E;;ABCDE;" - * } - * }], - * } - * - * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt - */ - function IndexedSourceMapConsumer(aSourceMap) { - var sourceMap = aSourceMap; - if (typeof aSourceMap === 'string') { - sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); - } - - var version = util.getArg(sourceMap, 'version'); - var sections = util.getArg(sourceMap, 'sections'); - - if (version != this._version) { - throw new Error('Unsupported version: ' + version); - } - - var lastOffset = { - line: -1, - column: 0 - }; - this._sections = sections.map(function (s) { - if (s.url) { - // The url field will require support for asynchronicity. - // See https://github.com/mozilla/source-map/issues/16 - throw new Error('Support for url field in sections not implemented.'); - } - var offset = util.getArg(s, 'offset'); - var offsetLine = util.getArg(offset, 'line'); - var offsetColumn = util.getArg(offset, 'column'); - - if (offsetLine < lastOffset.line || - (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) { - throw new Error('Section offsets must be ordered and non-overlapping.'); - } - lastOffset = offset; - - return { - generatedOffset: { - // The offset fields are 0-based, but we use 1-based indices when - // encoding/decoding from VLQ. - generatedLine: offsetLine + 1, - generatedColumn: offsetColumn + 1 - }, - consumer: new SourceMapConsumer(util.getArg(s, 'map')) - } - }); - } - - IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); - IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; - - /** - * The version of the source mapping spec that we are consuming. - */ - IndexedSourceMapConsumer.prototype._version = 3; - - /** - * The list of original sources. - */ - Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', { - get: function () { - var sources = []; - for (var i = 0; i < this._sections.length; i++) { - for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { - sources.push(this._sections[i].consumer.sources[j]); - } - }; - return sources; - } - }); - - /** - * Returns the original source, line, and column information for the generated - * source's line and column positions provided. The only argument is an object - * with the following properties: - * - * - line: The line number in the generated source. - * - column: The column number in the generated source. - * - * and an object is returned with the following properties: - * - * - source: The original source file, or null. - * - line: The line number in the original source, or null. - * - column: The column number in the original source, or null. - * - name: The original identifier, or null. - */ - IndexedSourceMapConsumer.prototype.originalPositionFor = - function IndexedSourceMapConsumer_originalPositionFor(aArgs) { - var needle = { - generatedLine: util.getArg(aArgs, 'line'), - generatedColumn: util.getArg(aArgs, 'column') - }; - - // Find the section containing the generated position we're trying to map - // to an original position. - var sectionIndex = binarySearch.search(needle, this._sections, - function(needle, section) { - var cmp = needle.generatedLine - section.generatedOffset.generatedLine; - if (cmp) { - return cmp; - } - - return (needle.generatedColumn - - section.generatedOffset.generatedColumn); - }); - var section = this._sections[sectionIndex]; - - if (!section) { - return { - source: null, - line: null, - column: null, - name: null - }; - } - - return section.consumer.originalPositionFor({ - line: needle.generatedLine - - (section.generatedOffset.generatedLine - 1), - column: needle.generatedColumn - - (section.generatedOffset.generatedLine === needle.generatedLine - ? section.generatedOffset.generatedColumn - 1 - : 0) - }); - }; - - /** - * Returns the original source content. The only argument is the url of the - * original source file. Returns null if no original source content is - * available. - */ - IndexedSourceMapConsumer.prototype.sourceContentFor = - function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { - for (var i = 0; i < this._sections.length; i++) { - var section = this._sections[i]; - - var content = section.consumer.sourceContentFor(aSource, true); - if (content) { - return content; - } - } - if (nullOnMissing) { - return null; - } - else { - throw new Error('"' + aSource + '" is not in the SourceMap.'); - } - }; - - /** - * Returns the generated line and column information for the original source, - * line, and column positions provided. The only argument is an object with - * the following properties: - * - * - source: The filename of the original source. - * - line: The line number in the original source. - * - column: The column number in the original source. - * - * and an object is returned with the following properties: - * - * - line: The line number in the generated source, or null. - * - column: The column number in the generated source, or null. - */ - IndexedSourceMapConsumer.prototype.generatedPositionFor = - function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { - for (var i = 0; i < this._sections.length; i++) { - var section = this._sections[i]; - - // Only consider this section if the requested source is in the list of - // sources of the consumer. - if (section.consumer.sources.indexOf(util.getArg(aArgs, 'source')) === -1) { - continue; - } - var generatedPosition = section.consumer.generatedPositionFor(aArgs); - if (generatedPosition) { - var ret = { - line: generatedPosition.line + - (section.generatedOffset.generatedLine - 1), - column: generatedPosition.column + - (section.generatedOffset.generatedLine === generatedPosition.line - ? section.generatedOffset.generatedColumn - 1 - : 0) - }; - return ret; - } - } - - return { - line: null, - column: null - }; - }; - - /** - * Parse the mappings in a string in to a data structure which we can easily - * query (the ordered arrays in the `this.__generatedMappings` and - * `this.__originalMappings` properties). - */ - IndexedSourceMapConsumer.prototype._parseMappings = - function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { - this.__generatedMappings = []; - this.__originalMappings = []; - for (var i = 0; i < this._sections.length; i++) { - var section = this._sections[i]; - var sectionMappings = section.consumer._generatedMappings; - for (var j = 0; j < sectionMappings.length; j++) { - var mapping = sectionMappings[i]; - - var source = mapping.source; - var sourceRoot = section.consumer.sourceRoot; - - if (source != null && sourceRoot != null) { - source = util.join(sourceRoot, source); - } - - // The mappings coming from the consumer for the section have - // generated positions relative to the start of the section, so we - // need to offset them to be relative to the start of the concatenated - // generated file. - var adjustedMapping = { - source: source, - generatedLine: mapping.generatedLine + - (section.generatedOffset.generatedLine - 1), - generatedColumn: mapping.column + - (section.generatedOffset.generatedLine === mapping.generatedLine) - ? section.generatedOffset.generatedColumn - 1 - : 0, - originalLine: mapping.originalLine, - originalColumn: mapping.originalColumn, - name: mapping.name - }; - - this.__generatedMappings.push(adjustedMapping); - if (typeof adjustedMapping.originalLine === 'number') { - this.__originalMappings.push(adjustedMapping); - } - }; - }; - - this.__generatedMappings.sort(util.compareByGeneratedPositions); - this.__originalMappings.sort(util.compareByOriginalPositions); - }; - - exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/mapping-list.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/mapping-list.js deleted file mode 100644 index 2a4eb61..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/mapping-list.js +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2014 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - var util = require('./util'); - - /** - * Determine whether mappingB is after mappingA with respect to generated - * position. - */ - function generatedPositionAfter(mappingA, mappingB) { - // Optimized for most common case - var lineA = mappingA.generatedLine; - var lineB = mappingB.generatedLine; - var columnA = mappingA.generatedColumn; - var columnB = mappingB.generatedColumn; - return lineB > lineA || lineB == lineA && columnB >= columnA || - util.compareByGeneratedPositions(mappingA, mappingB) <= 0; - } - - /** - * A data structure to provide a sorted view of accumulated mappings in a - * performance conscious manner. It trades a neglibable overhead in general - * case for a large speedup in case of mappings being added in order. - */ - function MappingList() { - this._array = []; - this._sorted = true; - // Serves as infimum - this._last = {generatedLine: -1, generatedColumn: 0}; - } - - /** - * Iterate through internal items. This method takes the same arguments that - * `Array.prototype.forEach` takes. - * - * NOTE: The order of the mappings is NOT guaranteed. - */ - MappingList.prototype.unsortedForEach = - function MappingList_forEach(aCallback, aThisArg) { - this._array.forEach(aCallback, aThisArg); - }; - - /** - * Add the given source mapping. - * - * @param Object aMapping - */ - MappingList.prototype.add = function MappingList_add(aMapping) { - var mapping; - if (generatedPositionAfter(this._last, aMapping)) { - this._last = aMapping; - this._array.push(aMapping); - } else { - this._sorted = false; - this._array.push(aMapping); - } - }; - - /** - * Returns the flat, sorted array of mappings. The mappings are sorted by - * generated position. - * - * WARNING: This method returns internal data without copying, for - * performance. The return value must NOT be mutated, and should be treated as - * an immutable borrow. If you want to take ownership, you must make your own - * copy. - */ - MappingList.prototype.toArray = function MappingList_toArray() { - if (!this._sorted) { - this._array.sort(util.compareByGeneratedPositions); - this._sorted = true; - } - return this._array; - }; - - exports.MappingList = MappingList; - -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/source-map-consumer.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/source-map-consumer.js deleted file mode 100644 index f3abade..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/source-map-consumer.js +++ /dev/null @@ -1,222 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - var util = require('./util'); - - function SourceMapConsumer(aSourceMap) { - var sourceMap = aSourceMap; - if (typeof aSourceMap === 'string') { - sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); - } - - // We do late requires because the subclasses require() this file. - if (sourceMap.sections != null) { - var indexedSourceMapConsumer = require('./indexed-source-map-consumer'); - return new indexedSourceMapConsumer.IndexedSourceMapConsumer(sourceMap); - } else { - var basicSourceMapConsumer = require('./basic-source-map-consumer'); - return new basicSourceMapConsumer.BasicSourceMapConsumer(sourceMap); - } - } - - SourceMapConsumer.fromSourceMap = function(aSourceMap) { - var basicSourceMapConsumer = require('./basic-source-map-consumer'); - return basicSourceMapConsumer.BasicSourceMapConsumer - .fromSourceMap(aSourceMap); - } - - /** - * The version of the source mapping spec that we are consuming. - */ - SourceMapConsumer.prototype._version = 3; - - - // `__generatedMappings` and `__originalMappings` are arrays that hold the - // parsed mapping coordinates from the source map's "mappings" attribute. They - // are lazily instantiated, accessed via the `_generatedMappings` and - // `_originalMappings` getters respectively, and we only parse the mappings - // and create these arrays once queried for a source location. We jump through - // these hoops because there can be many thousands of mappings, and parsing - // them is expensive, so we only want to do it if we must. - // - // Each object in the arrays is of the form: - // - // { - // generatedLine: The line number in the generated code, - // generatedColumn: The column number in the generated code, - // source: The path to the original source file that generated this - // chunk of code, - // originalLine: The line number in the original source that - // corresponds to this chunk of generated code, - // originalColumn: The column number in the original source that - // corresponds to this chunk of generated code, - // name: The name of the original symbol which generated this chunk of - // code. - // } - // - // All properties except for `generatedLine` and `generatedColumn` can be - // `null`. - // - // `_generatedMappings` is ordered by the generated positions. - // - // `_originalMappings` is ordered by the original positions. - - SourceMapConsumer.prototype.__generatedMappings = null; - Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { - get: function () { - if (!this.__generatedMappings) { - this.__generatedMappings = []; - this.__originalMappings = []; - this._parseMappings(this._mappings, this.sourceRoot); - } - - return this.__generatedMappings; - } - }); - - SourceMapConsumer.prototype.__originalMappings = null; - Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { - get: function () { - if (!this.__originalMappings) { - this.__generatedMappings = []; - this.__originalMappings = []; - this._parseMappings(this._mappings, this.sourceRoot); - } - - return this.__originalMappings; - } - }); - - SourceMapConsumer.prototype._nextCharIsMappingSeparator = - function SourceMapConsumer_nextCharIsMappingSeparator(aStr) { - var c = aStr.charAt(0); - return c === ";" || c === ","; - }; - - /** - * Parse the mappings in a string in to a data structure which we can easily - * query (the ordered arrays in the `this.__generatedMappings` and - * `this.__originalMappings` properties). - */ - SourceMapConsumer.prototype._parseMappings = - function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { - throw new Error("Subclasses must implement _parseMappings"); - }; - - SourceMapConsumer.GENERATED_ORDER = 1; - SourceMapConsumer.ORIGINAL_ORDER = 2; - - /** - * Iterate over each mapping between an original source/line/column and a - * generated line/column in this source map. - * - * @param Function aCallback - * The function that is called with each mapping. - * @param Object aContext - * Optional. If specified, this object will be the value of `this` every - * time that `aCallback` is called. - * @param aOrder - * Either `SourceMapConsumer.GENERATED_ORDER` or - * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to - * iterate over the mappings sorted by the generated file's line/column - * order or the original's source/line/column order, respectively. Defaults to - * `SourceMapConsumer.GENERATED_ORDER`. - */ - SourceMapConsumer.prototype.eachMapping = - function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { - var context = aContext || null; - var order = aOrder || SourceMapConsumer.GENERATED_ORDER; - - var mappings; - switch (order) { - case SourceMapConsumer.GENERATED_ORDER: - mappings = this._generatedMappings; - break; - case SourceMapConsumer.ORIGINAL_ORDER: - mappings = this._originalMappings; - break; - default: - throw new Error("Unknown order of iteration."); - } - - var sourceRoot = this.sourceRoot; - mappings.map(function (mapping) { - var source = mapping.source; - if (source != null && sourceRoot != null) { - source = util.join(sourceRoot, source); - } - return { - source: source, - generatedLine: mapping.generatedLine, - generatedColumn: mapping.generatedColumn, - originalLine: mapping.originalLine, - originalColumn: mapping.originalColumn, - name: mapping.name - }; - }).forEach(aCallback, context); - }; - - /** - * Returns all generated line and column information for the original source - * and line provided. The only argument is an object with the following - * properties: - * - * - source: The filename of the original source. - * - line: The line number in the original source. - * - * and an array of objects is returned, each with the following properties: - * - * - line: The line number in the generated source, or null. - * - column: The column number in the generated source, or null. - */ - SourceMapConsumer.prototype.allGeneratedPositionsFor = - function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { - // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping - // returns the index of the closest mapping less than the needle. By - // setting needle.originalColumn to Infinity, we thus find the last - // mapping for the given line, provided such a mapping exists. - var needle = { - source: util.getArg(aArgs, 'source'), - originalLine: util.getArg(aArgs, 'line'), - originalColumn: Infinity - }; - - if (this.sourceRoot != null) { - needle.source = util.relative(this.sourceRoot, needle.source); - } - - var mappings = []; - - var index = this._findMapping(needle, - this._originalMappings, - "originalLine", - "originalColumn", - util.compareByOriginalPositions); - if (index >= 0) { - var mapping = this._originalMappings[index]; - - while (mapping && mapping.originalLine === needle.originalLine) { - mappings.push({ - line: util.getArg(mapping, 'generatedLine', null), - column: util.getArg(mapping, 'generatedColumn', null), - lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) - }); - - mapping = this._originalMappings[--index]; - } - } - - return mappings.reverse(); - }; - - exports.SourceMapConsumer = SourceMapConsumer; - -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/source-map-generator.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/source-map-generator.js deleted file mode 100644 index 1ab7a47..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/source-map-generator.js +++ /dev/null @@ -1,400 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - var base64VLQ = require('./base64-vlq'); - var util = require('./util'); - var ArraySet = require('./array-set').ArraySet; - var MappingList = require('./mapping-list').MappingList; - - /** - * An instance of the SourceMapGenerator represents a source map which is - * being built incrementally. You may pass an object with the following - * properties: - * - * - file: The filename of the generated source. - * - sourceRoot: A root for all relative URLs in this source map. - */ - function SourceMapGenerator(aArgs) { - if (!aArgs) { - aArgs = {}; - } - this._file = util.getArg(aArgs, 'file', null); - this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); - this._skipValidation = util.getArg(aArgs, 'skipValidation', false); - this._sources = new ArraySet(); - this._names = new ArraySet(); - this._mappings = new MappingList(); - this._sourcesContents = null; - } - - SourceMapGenerator.prototype._version = 3; - - /** - * Creates a new SourceMapGenerator based on a SourceMapConsumer - * - * @param aSourceMapConsumer The SourceMap. - */ - SourceMapGenerator.fromSourceMap = - function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { - var sourceRoot = aSourceMapConsumer.sourceRoot; - var generator = new SourceMapGenerator({ - file: aSourceMapConsumer.file, - sourceRoot: sourceRoot - }); - aSourceMapConsumer.eachMapping(function (mapping) { - var newMapping = { - generated: { - line: mapping.generatedLine, - column: mapping.generatedColumn - } - }; - - if (mapping.source != null) { - newMapping.source = mapping.source; - if (sourceRoot != null) { - newMapping.source = util.relative(sourceRoot, newMapping.source); - } - - newMapping.original = { - line: mapping.originalLine, - column: mapping.originalColumn - }; - - if (mapping.name != null) { - newMapping.name = mapping.name; - } - } - - generator.addMapping(newMapping); - }); - aSourceMapConsumer.sources.forEach(function (sourceFile) { - var content = aSourceMapConsumer.sourceContentFor(sourceFile); - if (content != null) { - generator.setSourceContent(sourceFile, content); - } - }); - return generator; - }; - - /** - * Add a single mapping from original source line and column to the generated - * source's line and column for this source map being created. The mapping - * object should have the following properties: - * - * - generated: An object with the generated line and column positions. - * - original: An object with the original line and column positions. - * - source: The original source file (relative to the sourceRoot). - * - name: An optional original token name for this mapping. - */ - SourceMapGenerator.prototype.addMapping = - function SourceMapGenerator_addMapping(aArgs) { - var generated = util.getArg(aArgs, 'generated'); - var original = util.getArg(aArgs, 'original', null); - var source = util.getArg(aArgs, 'source', null); - var name = util.getArg(aArgs, 'name', null); - - if (!this._skipValidation) { - this._validateMapping(generated, original, source, name); - } - - if (source != null && !this._sources.has(source)) { - this._sources.add(source); - } - - if (name != null && !this._names.has(name)) { - this._names.add(name); - } - - this._mappings.add({ - generatedLine: generated.line, - generatedColumn: generated.column, - originalLine: original != null && original.line, - originalColumn: original != null && original.column, - source: source, - name: name - }); - }; - - /** - * Set the source content for a source file. - */ - SourceMapGenerator.prototype.setSourceContent = - function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { - var source = aSourceFile; - if (this._sourceRoot != null) { - source = util.relative(this._sourceRoot, source); - } - - if (aSourceContent != null) { - // Add the source content to the _sourcesContents map. - // Create a new _sourcesContents map if the property is null. - if (!this._sourcesContents) { - this._sourcesContents = {}; - } - this._sourcesContents[util.toSetString(source)] = aSourceContent; - } else if (this._sourcesContents) { - // Remove the source file from the _sourcesContents map. - // If the _sourcesContents map is empty, set the property to null. - delete this._sourcesContents[util.toSetString(source)]; - if (Object.keys(this._sourcesContents).length === 0) { - this._sourcesContents = null; - } - } - }; - - /** - * Applies the mappings of a sub-source-map for a specific source file to the - * source map being generated. Each mapping to the supplied source file is - * rewritten using the supplied source map. Note: The resolution for the - * resulting mappings is the minimium of this map and the supplied map. - * - * @param aSourceMapConsumer The source map to be applied. - * @param aSourceFile Optional. The filename of the source file. - * If omitted, SourceMapConsumer's file property will be used. - * @param aSourceMapPath Optional. The dirname of the path to the source map - * to be applied. If relative, it is relative to the SourceMapConsumer. - * This parameter is needed when the two source maps aren't in the same - * directory, and the source map to be applied contains relative source - * paths. If so, those relative source paths need to be rewritten - * relative to the SourceMapGenerator. - */ - SourceMapGenerator.prototype.applySourceMap = - function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { - var sourceFile = aSourceFile; - // If aSourceFile is omitted, we will use the file property of the SourceMap - if (aSourceFile == null) { - if (aSourceMapConsumer.file == null) { - throw new Error( - 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + - 'or the source map\'s "file" property. Both were omitted.' - ); - } - sourceFile = aSourceMapConsumer.file; - } - var sourceRoot = this._sourceRoot; - // Make "sourceFile" relative if an absolute Url is passed. - if (sourceRoot != null) { - sourceFile = util.relative(sourceRoot, sourceFile); - } - // Applying the SourceMap can add and remove items from the sources and - // the names array. - var newSources = new ArraySet(); - var newNames = new ArraySet(); - - // Find mappings for the "sourceFile" - this._mappings.unsortedForEach(function (mapping) { - if (mapping.source === sourceFile && mapping.originalLine != null) { - // Check if it can be mapped by the source map, then update the mapping. - var original = aSourceMapConsumer.originalPositionFor({ - line: mapping.originalLine, - column: mapping.originalColumn - }); - if (original.source != null) { - // Copy mapping - mapping.source = original.source; - if (aSourceMapPath != null) { - mapping.source = util.join(aSourceMapPath, mapping.source) - } - if (sourceRoot != null) { - mapping.source = util.relative(sourceRoot, mapping.source); - } - mapping.originalLine = original.line; - mapping.originalColumn = original.column; - if (original.name != null) { - mapping.name = original.name; - } - } - } - - var source = mapping.source; - if (source != null && !newSources.has(source)) { - newSources.add(source); - } - - var name = mapping.name; - if (name != null && !newNames.has(name)) { - newNames.add(name); - } - - }, this); - this._sources = newSources; - this._names = newNames; - - // Copy sourcesContents of applied map. - aSourceMapConsumer.sources.forEach(function (sourceFile) { - var content = aSourceMapConsumer.sourceContentFor(sourceFile); - if (content != null) { - if (aSourceMapPath != null) { - sourceFile = util.join(aSourceMapPath, sourceFile); - } - if (sourceRoot != null) { - sourceFile = util.relative(sourceRoot, sourceFile); - } - this.setSourceContent(sourceFile, content); - } - }, this); - }; - - /** - * A mapping can have one of the three levels of data: - * - * 1. Just the generated position. - * 2. The Generated position, original position, and original source. - * 3. Generated and original position, original source, as well as a name - * token. - * - * To maintain consistency, we validate that any new mapping being added falls - * in to one of these categories. - */ - SourceMapGenerator.prototype._validateMapping = - function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, - aName) { - if (aGenerated && 'line' in aGenerated && 'column' in aGenerated - && aGenerated.line > 0 && aGenerated.column >= 0 - && !aOriginal && !aSource && !aName) { - // Case 1. - return; - } - else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated - && aOriginal && 'line' in aOriginal && 'column' in aOriginal - && aGenerated.line > 0 && aGenerated.column >= 0 - && aOriginal.line > 0 && aOriginal.column >= 0 - && aSource) { - // Cases 2 and 3. - return; - } - else { - throw new Error('Invalid mapping: ' + JSON.stringify({ - generated: aGenerated, - source: aSource, - original: aOriginal, - name: aName - })); - } - }; - - /** - * Serialize the accumulated mappings in to the stream of base 64 VLQs - * specified by the source map format. - */ - SourceMapGenerator.prototype._serializeMappings = - function SourceMapGenerator_serializeMappings() { - var previousGeneratedColumn = 0; - var previousGeneratedLine = 1; - var previousOriginalColumn = 0; - var previousOriginalLine = 0; - var previousName = 0; - var previousSource = 0; - var result = ''; - var mapping; - - var mappings = this._mappings.toArray(); - - for (var i = 0, len = mappings.length; i < len; i++) { - mapping = mappings[i]; - - if (mapping.generatedLine !== previousGeneratedLine) { - previousGeneratedColumn = 0; - while (mapping.generatedLine !== previousGeneratedLine) { - result += ';'; - previousGeneratedLine++; - } - } - else { - if (i > 0) { - if (!util.compareByGeneratedPositions(mapping, mappings[i - 1])) { - continue; - } - result += ','; - } - } - - result += base64VLQ.encode(mapping.generatedColumn - - previousGeneratedColumn); - previousGeneratedColumn = mapping.generatedColumn; - - if (mapping.source != null) { - result += base64VLQ.encode(this._sources.indexOf(mapping.source) - - previousSource); - previousSource = this._sources.indexOf(mapping.source); - - // lines are stored 0-based in SourceMap spec version 3 - result += base64VLQ.encode(mapping.originalLine - 1 - - previousOriginalLine); - previousOriginalLine = mapping.originalLine - 1; - - result += base64VLQ.encode(mapping.originalColumn - - previousOriginalColumn); - previousOriginalColumn = mapping.originalColumn; - - if (mapping.name != null) { - result += base64VLQ.encode(this._names.indexOf(mapping.name) - - previousName); - previousName = this._names.indexOf(mapping.name); - } - } - } - - return result; - }; - - SourceMapGenerator.prototype._generateSourcesContent = - function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { - return aSources.map(function (source) { - if (!this._sourcesContents) { - return null; - } - if (aSourceRoot != null) { - source = util.relative(aSourceRoot, source); - } - var key = util.toSetString(source); - return Object.prototype.hasOwnProperty.call(this._sourcesContents, - key) - ? this._sourcesContents[key] - : null; - }, this); - }; - - /** - * Externalize the source map. - */ - SourceMapGenerator.prototype.toJSON = - function SourceMapGenerator_toJSON() { - var map = { - version: this._version, - sources: this._sources.toArray(), - names: this._names.toArray(), - mappings: this._serializeMappings() - }; - if (this._file != null) { - map.file = this._file; - } - if (this._sourceRoot != null) { - map.sourceRoot = this._sourceRoot; - } - if (this._sourcesContents) { - map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); - } - - return map; - }; - - /** - * Render the source map being generated to a string. - */ - SourceMapGenerator.prototype.toString = - function SourceMapGenerator_toString() { - return JSON.stringify(this); - }; - - exports.SourceMapGenerator = SourceMapGenerator; - -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/source-node.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/source-node.js deleted file mode 100644 index 9ee90bd..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/source-node.js +++ /dev/null @@ -1,414 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - var SourceMapGenerator = require('./source-map-generator').SourceMapGenerator; - var util = require('./util'); - - // Matches a Windows-style `\r\n` newline or a `\n` newline used by all other - // operating systems these days (capturing the result). - var REGEX_NEWLINE = /(\r?\n)/; - - // Newline character code for charCodeAt() comparisons - var NEWLINE_CODE = 10; - - // Private symbol for identifying `SourceNode`s when multiple versions of - // the source-map library are loaded. This MUST NOT CHANGE across - // versions! - var isSourceNode = "$$$isSourceNode$$$"; - - /** - * SourceNodes provide a way to abstract over interpolating/concatenating - * snippets of generated JavaScript source code while maintaining the line and - * column information associated with the original source code. - * - * @param aLine The original line number. - * @param aColumn The original column number. - * @param aSource The original source's filename. - * @param aChunks Optional. An array of strings which are snippets of - * generated JS, or other SourceNodes. - * @param aName The original identifier. - */ - function SourceNode(aLine, aColumn, aSource, aChunks, aName) { - this.children = []; - this.sourceContents = {}; - this.line = aLine == null ? null : aLine; - this.column = aColumn == null ? null : aColumn; - this.source = aSource == null ? null : aSource; - this.name = aName == null ? null : aName; - this[isSourceNode] = true; - if (aChunks != null) this.add(aChunks); - } - - /** - * Creates a SourceNode from generated code and a SourceMapConsumer. - * - * @param aGeneratedCode The generated code - * @param aSourceMapConsumer The SourceMap for the generated code - * @param aRelativePath Optional. The path that relative sources in the - * SourceMapConsumer should be relative to. - */ - SourceNode.fromStringWithSourceMap = - function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { - // The SourceNode we want to fill with the generated code - // and the SourceMap - var node = new SourceNode(); - - // All even indices of this array are one line of the generated code, - // while all odd indices are the newlines between two adjacent lines - // (since `REGEX_NEWLINE` captures its match). - // Processed fragments are removed from this array, by calling `shiftNextLine`. - var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); - var shiftNextLine = function() { - var lineContents = remainingLines.shift(); - // The last line of a file might not have a newline. - var newLine = remainingLines.shift() || ""; - return lineContents + newLine; - }; - - // We need to remember the position of "remainingLines" - var lastGeneratedLine = 1, lastGeneratedColumn = 0; - - // The generate SourceNodes we need a code range. - // To extract it current and last mapping is used. - // Here we store the last mapping. - var lastMapping = null; - - aSourceMapConsumer.eachMapping(function (mapping) { - if (lastMapping !== null) { - // We add the code from "lastMapping" to "mapping": - // First check if there is a new line in between. - if (lastGeneratedLine < mapping.generatedLine) { - var code = ""; - // Associate first line with "lastMapping" - addMappingWithCode(lastMapping, shiftNextLine()); - lastGeneratedLine++; - lastGeneratedColumn = 0; - // The remaining code is added without mapping - } else { - // There is no new line in between. - // Associate the code between "lastGeneratedColumn" and - // "mapping.generatedColumn" with "lastMapping" - var nextLine = remainingLines[0]; - var code = nextLine.substr(0, mapping.generatedColumn - - lastGeneratedColumn); - remainingLines[0] = nextLine.substr(mapping.generatedColumn - - lastGeneratedColumn); - lastGeneratedColumn = mapping.generatedColumn; - addMappingWithCode(lastMapping, code); - // No more remaining code, continue - lastMapping = mapping; - return; - } - } - // We add the generated code until the first mapping - // to the SourceNode without any mapping. - // Each line is added as separate string. - while (lastGeneratedLine < mapping.generatedLine) { - node.add(shiftNextLine()); - lastGeneratedLine++; - } - if (lastGeneratedColumn < mapping.generatedColumn) { - var nextLine = remainingLines[0]; - node.add(nextLine.substr(0, mapping.generatedColumn)); - remainingLines[0] = nextLine.substr(mapping.generatedColumn); - lastGeneratedColumn = mapping.generatedColumn; - } - lastMapping = mapping; - }, this); - // We have processed all mappings. - if (remainingLines.length > 0) { - if (lastMapping) { - // Associate the remaining code in the current line with "lastMapping" - addMappingWithCode(lastMapping, shiftNextLine()); - } - // and add the remaining lines without any mapping - node.add(remainingLines.join("")); - } - - // Copy sourcesContent into SourceNode - aSourceMapConsumer.sources.forEach(function (sourceFile) { - var content = aSourceMapConsumer.sourceContentFor(sourceFile); - if (content != null) { - if (aRelativePath != null) { - sourceFile = util.join(aRelativePath, sourceFile); - } - node.setSourceContent(sourceFile, content); - } - }); - - return node; - - function addMappingWithCode(mapping, code) { - if (mapping === null || mapping.source === undefined) { - node.add(code); - } else { - var source = aRelativePath - ? util.join(aRelativePath, mapping.source) - : mapping.source; - node.add(new SourceNode(mapping.originalLine, - mapping.originalColumn, - source, - code, - mapping.name)); - } - } - }; - - /** - * Add a chunk of generated JS to this source node. - * - * @param aChunk A string snippet of generated JS code, another instance of - * SourceNode, or an array where each member is one of those things. - */ - SourceNode.prototype.add = function SourceNode_add(aChunk) { - if (Array.isArray(aChunk)) { - aChunk.forEach(function (chunk) { - this.add(chunk); - }, this); - } - else if (aChunk[isSourceNode] || typeof aChunk === "string") { - if (aChunk) { - this.children.push(aChunk); - } - } - else { - throw new TypeError( - "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk - ); - } - return this; - }; - - /** - * Add a chunk of generated JS to the beginning of this source node. - * - * @param aChunk A string snippet of generated JS code, another instance of - * SourceNode, or an array where each member is one of those things. - */ - SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { - if (Array.isArray(aChunk)) { - for (var i = aChunk.length-1; i >= 0; i--) { - this.prepend(aChunk[i]); - } - } - else if (aChunk[isSourceNode] || typeof aChunk === "string") { - this.children.unshift(aChunk); - } - else { - throw new TypeError( - "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk - ); - } - return this; - }; - - /** - * Walk over the tree of JS snippets in this node and its children. The - * walking function is called once for each snippet of JS and is passed that - * snippet and the its original associated source's line/column location. - * - * @param aFn The traversal function. - */ - SourceNode.prototype.walk = function SourceNode_walk(aFn) { - var chunk; - for (var i = 0, len = this.children.length; i < len; i++) { - chunk = this.children[i]; - if (chunk[isSourceNode]) { - chunk.walk(aFn); - } - else { - if (chunk !== '') { - aFn(chunk, { source: this.source, - line: this.line, - column: this.column, - name: this.name }); - } - } - } - }; - - /** - * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between - * each of `this.children`. - * - * @param aSep The separator. - */ - SourceNode.prototype.join = function SourceNode_join(aSep) { - var newChildren; - var i; - var len = this.children.length; - if (len > 0) { - newChildren = []; - for (i = 0; i < len-1; i++) { - newChildren.push(this.children[i]); - newChildren.push(aSep); - } - newChildren.push(this.children[i]); - this.children = newChildren; - } - return this; - }; - - /** - * Call String.prototype.replace on the very right-most source snippet. Useful - * for trimming whitespace from the end of a source node, etc. - * - * @param aPattern The pattern to replace. - * @param aReplacement The thing to replace the pattern with. - */ - SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { - var lastChild = this.children[this.children.length - 1]; - if (lastChild[isSourceNode]) { - lastChild.replaceRight(aPattern, aReplacement); - } - else if (typeof lastChild === 'string') { - this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); - } - else { - this.children.push(''.replace(aPattern, aReplacement)); - } - return this; - }; - - /** - * Set the source content for a source file. This will be added to the SourceMapGenerator - * in the sourcesContent field. - * - * @param aSourceFile The filename of the source file - * @param aSourceContent The content of the source file - */ - SourceNode.prototype.setSourceContent = - function SourceNode_setSourceContent(aSourceFile, aSourceContent) { - this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; - }; - - /** - * Walk over the tree of SourceNodes. The walking function is called for each - * source file content and is passed the filename and source content. - * - * @param aFn The traversal function. - */ - SourceNode.prototype.walkSourceContents = - function SourceNode_walkSourceContents(aFn) { - for (var i = 0, len = this.children.length; i < len; i++) { - if (this.children[i][isSourceNode]) { - this.children[i].walkSourceContents(aFn); - } - } - - var sources = Object.keys(this.sourceContents); - for (var i = 0, len = sources.length; i < len; i++) { - aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); - } - }; - - /** - * Return the string representation of this source node. Walks over the tree - * and concatenates all the various snippets together to one string. - */ - SourceNode.prototype.toString = function SourceNode_toString() { - var str = ""; - this.walk(function (chunk) { - str += chunk; - }); - return str; - }; - - /** - * Returns the string representation of this source node along with a source - * map. - */ - SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { - var generated = { - code: "", - line: 1, - column: 0 - }; - var map = new SourceMapGenerator(aArgs); - var sourceMappingActive = false; - var lastOriginalSource = null; - var lastOriginalLine = null; - var lastOriginalColumn = null; - var lastOriginalName = null; - this.walk(function (chunk, original) { - generated.code += chunk; - if (original.source !== null - && original.line !== null - && original.column !== null) { - if(lastOriginalSource !== original.source - || lastOriginalLine !== original.line - || lastOriginalColumn !== original.column - || lastOriginalName !== original.name) { - map.addMapping({ - source: original.source, - original: { - line: original.line, - column: original.column - }, - generated: { - line: generated.line, - column: generated.column - }, - name: original.name - }); - } - lastOriginalSource = original.source; - lastOriginalLine = original.line; - lastOriginalColumn = original.column; - lastOriginalName = original.name; - sourceMappingActive = true; - } else if (sourceMappingActive) { - map.addMapping({ - generated: { - line: generated.line, - column: generated.column - } - }); - lastOriginalSource = null; - sourceMappingActive = false; - } - for (var idx = 0, length = chunk.length; idx < length; idx++) { - if (chunk.charCodeAt(idx) === NEWLINE_CODE) { - generated.line++; - generated.column = 0; - // Mappings end at eol - if (idx + 1 === length) { - lastOriginalSource = null; - sourceMappingActive = false; - } else if (sourceMappingActive) { - map.addMapping({ - source: original.source, - original: { - line: original.line, - column: original.column - }, - generated: { - line: generated.line, - column: generated.column - }, - name: original.name - }); - } - } else { - generated.column++; - } - } - }); - this.walkSourceContents(function (sourceFile, sourceContent) { - map.setSourceContent(sourceFile, sourceContent); - }); - - return { code: generated.code, map: map }; - }; - - exports.SourceNode = SourceNode; - -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/util.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/util.js deleted file mode 100644 index 976f6ca..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/lib/source-map/util.js +++ /dev/null @@ -1,319 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - /** - * This is a helper function for getting values from parameter/options - * objects. - * - * @param args The object we are extracting values from - * @param name The name of the property we are getting. - * @param defaultValue An optional value to return if the property is missing - * from the object. If this is not specified and the property is missing, an - * error will be thrown. - */ - function getArg(aArgs, aName, aDefaultValue) { - if (aName in aArgs) { - return aArgs[aName]; - } else if (arguments.length === 3) { - return aDefaultValue; - } else { - throw new Error('"' + aName + '" is a required argument.'); - } - } - exports.getArg = getArg; - - var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/; - var dataUrlRegexp = /^data:.+\,.+$/; - - function urlParse(aUrl) { - var match = aUrl.match(urlRegexp); - if (!match) { - return null; - } - return { - scheme: match[1], - auth: match[2], - host: match[3], - port: match[4], - path: match[5] - }; - } - exports.urlParse = urlParse; - - function urlGenerate(aParsedUrl) { - var url = ''; - if (aParsedUrl.scheme) { - url += aParsedUrl.scheme + ':'; - } - url += '//'; - if (aParsedUrl.auth) { - url += aParsedUrl.auth + '@'; - } - if (aParsedUrl.host) { - url += aParsedUrl.host; - } - if (aParsedUrl.port) { - url += ":" + aParsedUrl.port - } - if (aParsedUrl.path) { - url += aParsedUrl.path; - } - return url; - } - exports.urlGenerate = urlGenerate; - - /** - * Normalizes a path, or the path portion of a URL: - * - * - Replaces consequtive slashes with one slash. - * - Removes unnecessary '.' parts. - * - Removes unnecessary '/..' parts. - * - * Based on code in the Node.js 'path' core module. - * - * @param aPath The path or url to normalize. - */ - function normalize(aPath) { - var path = aPath; - var url = urlParse(aPath); - if (url) { - if (!url.path) { - return aPath; - } - path = url.path; - } - var isAbsolute = (path.charAt(0) === '/'); - - var parts = path.split(/\/+/); - for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { - part = parts[i]; - if (part === '.') { - parts.splice(i, 1); - } else if (part === '..') { - up++; - } else if (up > 0) { - if (part === '') { - // The first part is blank if the path is absolute. Trying to go - // above the root is a no-op. Therefore we can remove all '..' parts - // directly after the root. - parts.splice(i + 1, up); - up = 0; - } else { - parts.splice(i, 2); - up--; - } - } - } - path = parts.join('/'); - - if (path === '') { - path = isAbsolute ? '/' : '.'; - } - - if (url) { - url.path = path; - return urlGenerate(url); - } - return path; - } - exports.normalize = normalize; - - /** - * Joins two paths/URLs. - * - * @param aRoot The root path or URL. - * @param aPath The path or URL to be joined with the root. - * - * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a - * scheme-relative URL: Then the scheme of aRoot, if any, is prepended - * first. - * - Otherwise aPath is a path. If aRoot is a URL, then its path portion - * is updated with the result and aRoot is returned. Otherwise the result - * is returned. - * - If aPath is absolute, the result is aPath. - * - Otherwise the two paths are joined with a slash. - * - Joining for example 'http://' and 'www.example.com' is also supported. - */ - function join(aRoot, aPath) { - if (aRoot === "") { - aRoot = "."; - } - if (aPath === "") { - aPath = "."; - } - var aPathUrl = urlParse(aPath); - var aRootUrl = urlParse(aRoot); - if (aRootUrl) { - aRoot = aRootUrl.path || '/'; - } - - // `join(foo, '//www.example.org')` - if (aPathUrl && !aPathUrl.scheme) { - if (aRootUrl) { - aPathUrl.scheme = aRootUrl.scheme; - } - return urlGenerate(aPathUrl); - } - - if (aPathUrl || aPath.match(dataUrlRegexp)) { - return aPath; - } - - // `join('http://', 'www.example.com')` - if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { - aRootUrl.host = aPath; - return urlGenerate(aRootUrl); - } - - var joined = aPath.charAt(0) === '/' - ? aPath - : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath); - - if (aRootUrl) { - aRootUrl.path = joined; - return urlGenerate(aRootUrl); - } - return joined; - } - exports.join = join; - - /** - * Make a path relative to a URL or another path. - * - * @param aRoot The root path or URL. - * @param aPath The path or URL to be made relative to aRoot. - */ - function relative(aRoot, aPath) { - if (aRoot === "") { - aRoot = "."; - } - - aRoot = aRoot.replace(/\/$/, ''); - - // XXX: It is possible to remove this block, and the tests still pass! - var url = urlParse(aRoot); - if (aPath.charAt(0) == "/" && url && url.path == "/") { - return aPath.slice(1); - } - - return aPath.indexOf(aRoot + '/') === 0 - ? aPath.substr(aRoot.length + 1) - : aPath; - } - exports.relative = relative; - - /** - * Because behavior goes wacky when you set `__proto__` on objects, we - * have to prefix all the strings in our set with an arbitrary character. - * - * See https://github.com/mozilla/source-map/pull/31 and - * https://github.com/mozilla/source-map/issues/30 - * - * @param String aStr - */ - function toSetString(aStr) { - return '$' + aStr; - } - exports.toSetString = toSetString; - - function fromSetString(aStr) { - return aStr.substr(1); - } - exports.fromSetString = fromSetString; - - function strcmp(aStr1, aStr2) { - var s1 = aStr1 || ""; - var s2 = aStr2 || ""; - return (s1 > s2) - (s1 < s2); - } - - /** - * Comparator between two mappings where the original positions are compared. - * - * Optionally pass in `true` as `onlyCompareGenerated` to consider two - * mappings with the same original source/line/column, but different generated - * line and column the same. Useful when searching for a mapping with a - * stubbed out mapping. - */ - function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { - var cmp; - - cmp = strcmp(mappingA.source, mappingB.source); - if (cmp) { - return cmp; - } - - cmp = mappingA.originalLine - mappingB.originalLine; - if (cmp) { - return cmp; - } - - cmp = mappingA.originalColumn - mappingB.originalColumn; - if (cmp || onlyCompareOriginal) { - return cmp; - } - - cmp = strcmp(mappingA.name, mappingB.name); - if (cmp) { - return cmp; - } - - cmp = mappingA.generatedLine - mappingB.generatedLine; - if (cmp) { - return cmp; - } - - return mappingA.generatedColumn - mappingB.generatedColumn; - }; - exports.compareByOriginalPositions = compareByOriginalPositions; - - /** - * Comparator between two mappings where the generated positions are - * compared. - * - * Optionally pass in `true` as `onlyCompareGenerated` to consider two - * mappings with the same generated line and column, but different - * source/name/original line and column the same. Useful when searching for a - * mapping with a stubbed out mapping. - */ - function compareByGeneratedPositions(mappingA, mappingB, onlyCompareGenerated) { - var cmp; - - cmp = mappingA.generatedLine - mappingB.generatedLine; - if (cmp) { - return cmp; - } - - cmp = mappingA.generatedColumn - mappingB.generatedColumn; - if (cmp || onlyCompareGenerated) { - return cmp; - } - - cmp = strcmp(mappingA.source, mappingB.source); - if (cmp) { - return cmp; - } - - cmp = mappingA.originalLine - mappingB.originalLine; - if (cmp) { - return cmp; - } - - cmp = mappingA.originalColumn - mappingB.originalColumn; - if (cmp) { - return cmp; - } - - return strcmp(mappingA.name, mappingB.name); - }; - exports.compareByGeneratedPositions = compareByGeneratedPositions; - -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/LICENSE b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/LICENSE deleted file mode 100644 index af46c6d..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/LICENSE +++ /dev/null @@ -1,58 +0,0 @@ -amdefine is released under two licenses: new BSD, and MIT. You may pick the -license that best suits your development needs. The text of both licenses are -provided below. - - -The "New" BSD License: ----------------------- - -Copyright (c) 2011-2015, The Dojo Foundation -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the Dojo Foundation nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -MIT License ------------ - -Copyright (c) 2011-2015, The Dojo Foundation - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/README.md b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/README.md deleted file mode 100644 index 037a6e8..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/README.md +++ /dev/null @@ -1,171 +0,0 @@ -# amdefine - -A module that can be used to implement AMD's define() in Node. This allows you -to code to the AMD API and have the module work in node programs without -requiring those other programs to use AMD. - -## Usage - -**1)** Update your package.json to indicate amdefine as a dependency: - -```javascript - "dependencies": { - "amdefine": ">=0.1.0" - } -``` - -Then run `npm install` to get amdefine into your project. - -**2)** At the top of each module that uses define(), place this code: - -```javascript -if (typeof define !== 'function') { var define = require('amdefine')(module) } -``` - -**Only use these snippets** when loading amdefine. If you preserve the basic structure, -with the braces, it will be stripped out when using the [RequireJS optimizer](#optimizer). - -You can add spaces, line breaks and even require amdefine with a local path, but -keep the rest of the structure to get the stripping behavior. - -As you may know, because `if` statements in JavaScript don't have their own scope, the var -declaration in the above snippet is made whether the `if` expression is truthy or not. If -RequireJS is loaded then the declaration is superfluous because `define` is already already -declared in the same scope in RequireJS. Fortunately JavaScript handles multiple `var` -declarations of the same variable in the same scope gracefully. - -If you want to deliver amdefine.js with your code rather than specifying it as a dependency -with npm, then just download the latest release and refer to it using a relative path: - -[Latest Version](https://github.com/jrburke/amdefine/raw/latest/amdefine.js) - -### amdefine/intercept - -Consider this very experimental. - -Instead of pasting the piece of text for the amdefine setup of a `define` -variable in each module you create or consume, you can use `amdefine/intercept` -instead. It will automatically insert the above snippet in each .js file loaded -by Node. - -**Warning**: you should only use this if you are creating an application that -is consuming AMD style defined()'d modules that are distributed via npm and want -to run that code in Node. - -For library code where you are not sure if it will be used by others in Node or -in the browser, then explicitly depending on amdefine and placing the code -snippet above is suggested path, instead of using `amdefine/intercept`. The -intercept module affects all .js files loaded in the Node app, and it is -inconsiderate to modify global state like that unless you are also controlling -the top level app. - -#### Why distribute AMD-style modules via npm? - -npm has a lot of weaknesses for front-end use (installed layout is not great, -should have better support for the `baseUrl + moduleID + '.js' style of loading, -single file JS installs), but some people want a JS package manager and are -willing to live with those constraints. If that is you, but still want to author -in AMD style modules to get dynamic require([]), better direct source usage and -powerful loader plugin support in the browser, then this tool can help. - -#### amdefine/intercept usage - -Just require it in your top level app module (for example index.js, server.js): - -```javascript -require('amdefine/intercept'); -``` - -The module does not return a value, so no need to assign the result to a local -variable. - -Then just require() code as you normally would with Node's require(). Any .js -loaded after the intercept require will have the amdefine check injected in -the .js source as it is loaded. It does not modify the source on disk, just -prepends some content to the text of the module as it is loaded by Node. - -#### How amdefine/intercept works - -It overrides the `Module._extensions['.js']` in Node to automatically prepend -the amdefine snippet above. So, it will affect any .js file loaded by your -app. - -## define() usage - -It is best if you use the anonymous forms of define() in your module: - -```javascript -define(function (require) { - var dependency = require('dependency'); -}); -``` - -or - -```javascript -define(['dependency'], function (dependency) { - -}); -``` - -## RequireJS optimizer integration. - -Version 1.0.3 of the [RequireJS optimizer](http://requirejs.org/docs/optimization.html) -will have support for stripping the `if (typeof define !== 'function')` check -mentioned above, so you can include this snippet for code that runs in the -browser, but avoid taking the cost of the if() statement once the code is -optimized for deployment. - -## Node 0.4 Support - -If you want to support Node 0.4, then add `require` as the second parameter to amdefine: - -```javascript -//Only if you want Node 0.4. If using 0.5 or later, use the above snippet. -if (typeof define !== 'function') { var define = require('amdefine')(module, require) } -``` - -## Limitations - -### Synchronous vs Asynchronous - -amdefine creates a define() function that is callable by your code. It will -execute and trace dependencies and call the factory function *synchronously*, -to keep the behavior in line with Node's synchronous dependency tracing. - -The exception: calling AMD's callback-style require() from inside a factory -function. The require callback is called on process.nextTick(): - -```javascript -define(function (require) { - require(['a'], function(a) { - //'a' is loaded synchronously, but - //this callback is called on process.nextTick(). - }); -}); -``` - -### Loader Plugins - -Loader plugins are supported as long as they call their load() callbacks -synchronously. So ones that do network requests will not work. However plugins -like [text](http://requirejs.org/docs/api.html#text) can load text files locally. - -The plugin API's `load.fromText()` is **not supported** in amdefine, so this means -transpiler plugins like the [CoffeeScript loader plugin](https://github.com/jrburke/require-cs) -will not work. This may be fixable, but it is a bit complex, and I do not have -enough node-fu to figure it out yet. See the source for amdefine.js if you want -to get an idea of the issues involved. - -## Tests - -To run the tests, cd to **tests** and run: - -``` -node all.js -node all-intercept.js -``` - -## License - -New BSD and MIT. Check the LICENSE file for all the details. diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/amdefine.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/amdefine.js deleted file mode 100644 index 0c4a954..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/amdefine.js +++ /dev/null @@ -1,301 +0,0 @@ -/** vim: et:ts=4:sw=4:sts=4 - * @license amdefine 1.0.0 Copyright (c) 2011-2015, The Dojo Foundation All Rights Reserved. - * Available via the MIT or new BSD license. - * see: http://github.com/jrburke/amdefine for details - */ - -/*jslint node: true */ -/*global module, process */ -'use strict'; - -/** - * Creates a define for node. - * @param {Object} module the "module" object that is defined by Node for the - * current module. - * @param {Function} [requireFn]. Node's require function for the current module. - * It only needs to be passed in Node versions before 0.5, when module.require - * did not exist. - * @returns {Function} a define function that is usable for the current node - * module. - */ -function amdefine(module, requireFn) { - 'use strict'; - var defineCache = {}, - loaderCache = {}, - alreadyCalled = false, - path = require('path'), - makeRequire, stringRequire; - - /** - * Trims the . and .. from an array of path segments. - * It will keep a leading path segment if a .. will become - * the first path segment, to help with module name lookups, - * which act like paths, but can be remapped. But the end result, - * all paths that use this function should look normalized. - * NOTE: this method MODIFIES the input array. - * @param {Array} ary the array of path segments. - */ - function trimDots(ary) { - var i, part; - for (i = 0; ary[i]; i+= 1) { - part = ary[i]; - if (part === '.') { - ary.splice(i, 1); - i -= 1; - } else if (part === '..') { - if (i === 1 && (ary[2] === '..' || ary[0] === '..')) { - //End of the line. Keep at least one non-dot - //path segment at the front so it can be mapped - //correctly to disk. Otherwise, there is likely - //no path mapping for a path starting with '..'. - //This can still fail, but catches the most reasonable - //uses of .. - break; - } else if (i > 0) { - ary.splice(i - 1, 2); - i -= 2; - } - } - } - } - - function normalize(name, baseName) { - var baseParts; - - //Adjust any relative paths. - if (name && name.charAt(0) === '.') { - //If have a base name, try to normalize against it, - //otherwise, assume it is a top-level require that will - //be relative to baseUrl in the end. - if (baseName) { - baseParts = baseName.split('/'); - baseParts = baseParts.slice(0, baseParts.length - 1); - baseParts = baseParts.concat(name.split('/')); - trimDots(baseParts); - name = baseParts.join('/'); - } - } - - return name; - } - - /** - * Create the normalize() function passed to a loader plugin's - * normalize method. - */ - function makeNormalize(relName) { - return function (name) { - return normalize(name, relName); - }; - } - - function makeLoad(id) { - function load(value) { - loaderCache[id] = value; - } - - load.fromText = function (id, text) { - //This one is difficult because the text can/probably uses - //define, and any relative paths and requires should be relative - //to that id was it would be found on disk. But this would require - //bootstrapping a module/require fairly deeply from node core. - //Not sure how best to go about that yet. - throw new Error('amdefine does not implement load.fromText'); - }; - - return load; - } - - makeRequire = function (systemRequire, exports, module, relId) { - function amdRequire(deps, callback) { - if (typeof deps === 'string') { - //Synchronous, single module require('') - return stringRequire(systemRequire, exports, module, deps, relId); - } else { - //Array of dependencies with a callback. - - //Convert the dependencies to modules. - deps = deps.map(function (depName) { - return stringRequire(systemRequire, exports, module, depName, relId); - }); - - //Wait for next tick to call back the require call. - if (callback) { - process.nextTick(function () { - callback.apply(null, deps); - }); - } - } - } - - amdRequire.toUrl = function (filePath) { - if (filePath.indexOf('.') === 0) { - return normalize(filePath, path.dirname(module.filename)); - } else { - return filePath; - } - }; - - return amdRequire; - }; - - //Favor explicit value, passed in if the module wants to support Node 0.4. - requireFn = requireFn || function req() { - return module.require.apply(module, arguments); - }; - - function runFactory(id, deps, factory) { - var r, e, m, result; - - if (id) { - e = loaderCache[id] = {}; - m = { - id: id, - uri: __filename, - exports: e - }; - r = makeRequire(requireFn, e, m, id); - } else { - //Only support one define call per file - if (alreadyCalled) { - throw new Error('amdefine with no module ID cannot be called more than once per file.'); - } - alreadyCalled = true; - - //Use the real variables from node - //Use module.exports for exports, since - //the exports in here is amdefine exports. - e = module.exports; - m = module; - r = makeRequire(requireFn, e, m, module.id); - } - - //If there are dependencies, they are strings, so need - //to convert them to dependency values. - if (deps) { - deps = deps.map(function (depName) { - return r(depName); - }); - } - - //Call the factory with the right dependencies. - if (typeof factory === 'function') { - result = factory.apply(m.exports, deps); - } else { - result = factory; - } - - if (result !== undefined) { - m.exports = result; - if (id) { - loaderCache[id] = m.exports; - } - } - } - - stringRequire = function (systemRequire, exports, module, id, relId) { - //Split the ID by a ! so that - var index = id.indexOf('!'), - originalId = id, - prefix, plugin; - - if (index === -1) { - id = normalize(id, relId); - - //Straight module lookup. If it is one of the special dependencies, - //deal with it, otherwise, delegate to node. - if (id === 'require') { - return makeRequire(systemRequire, exports, module, relId); - } else if (id === 'exports') { - return exports; - } else if (id === 'module') { - return module; - } else if (loaderCache.hasOwnProperty(id)) { - return loaderCache[id]; - } else if (defineCache[id]) { - runFactory.apply(null, defineCache[id]); - return loaderCache[id]; - } else { - if(systemRequire) { - return systemRequire(originalId); - } else { - throw new Error('No module with ID: ' + id); - } - } - } else { - //There is a plugin in play. - prefix = id.substring(0, index); - id = id.substring(index + 1, id.length); - - plugin = stringRequire(systemRequire, exports, module, prefix, relId); - - if (plugin.normalize) { - id = plugin.normalize(id, makeNormalize(relId)); - } else { - //Normalize the ID normally. - id = normalize(id, relId); - } - - if (loaderCache[id]) { - return loaderCache[id]; - } else { - plugin.load(id, makeRequire(systemRequire, exports, module, relId), makeLoad(id), {}); - - return loaderCache[id]; - } - } - }; - - //Create a define function specific to the module asking for amdefine. - function define(id, deps, factory) { - if (Array.isArray(id)) { - factory = deps; - deps = id; - id = undefined; - } else if (typeof id !== 'string') { - factory = id; - id = deps = undefined; - } - - if (deps && !Array.isArray(deps)) { - factory = deps; - deps = undefined; - } - - if (!deps) { - deps = ['require', 'exports', 'module']; - } - - //Set up properties for this module. If an ID, then use - //internal cache. If no ID, then use the external variables - //for this node module. - if (id) { - //Put the module in deep freeze until there is a - //require call for it. - defineCache[id] = [id, deps, factory]; - } else { - runFactory(id, deps, factory); - } - } - - //define.require, which has access to all the values in the - //cache. Useful for AMD modules that all have IDs in the file, - //but need to finally export a value to node based on one of those - //IDs. - define.require = function (id) { - if (loaderCache[id]) { - return loaderCache[id]; - } - - if (defineCache[id]) { - runFactory.apply(null, defineCache[id]); - return loaderCache[id]; - } - }; - - define.amd = {}; - - return define; -} - -module.exports = amdefine; diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/intercept.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/intercept.js deleted file mode 100644 index 771a983..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/intercept.js +++ /dev/null @@ -1,36 +0,0 @@ -/*jshint node: true */ -var inserted, - Module = require('module'), - fs = require('fs'), - existingExtFn = Module._extensions['.js'], - amdefineRegExp = /amdefine\.js/; - -inserted = "if (typeof define !== 'function') {var define = require('amdefine')(module)}"; - -//From the node/lib/module.js source: -function stripBOM(content) { - // Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) - // because the buffer-to-string conversion in `fs.readFileSync()` - // translates it to FEFF, the UTF-16 BOM. - if (content.charCodeAt(0) === 0xFEFF) { - content = content.slice(1); - } - return content; -} - -//Also adapted from the node/lib/module.js source: -function intercept(module, filename) { - var content = stripBOM(fs.readFileSync(filename, 'utf8')); - - if (!amdefineRegExp.test(module.id)) { - content = inserted + content; - } - - module._compile(content, filename); -} - -intercept._id = 'amdefine/intercept'; - -if (!existingExtFn._id || existingExtFn._id !== intercept._id) { - Module._extensions['.js'] = intercept; -} diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/package.json deleted file mode 100644 index 47ccd2f..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "amdefine", - "description": "Provide AMD's define() API for declaring modules in the AMD format", - "version": "1.0.0", - "homepage": "http://github.com/jrburke/amdefine", - "author": { - "name": "James Burke", - "email": "jrburke@gmail.com", - "url": "http://github.com/jrburke" - }, - "license": "BSD-3-Clause AND MIT", - "repository": { - "type": "git", - "url": "git+https://github.com/jrburke/amdefine.git" - }, - "main": "./amdefine.js", - "engines": { - "node": ">=0.4.2" - }, - "gitHead": "578bc4a3f7dede33f3f3e10edde0c1607005d761", - "bugs": { - "url": "https://github.com/jrburke/amdefine/issues" - }, - "_id": "amdefine@1.0.0", - "scripts": {}, - "_shasum": "fd17474700cb5cc9c2b709f0be9d23ce3c198c33", - "_from": "amdefine@>=0.0.4", - "_npmVersion": "2.12.1", - "_nodeVersion": "0.10.36", - "_npmUser": { - "name": "jrburke", - "email": "jrburke@gmail.com" - }, - "maintainers": [ - { - "name": "jrburke", - "email": "jrburke@gmail.com" - } - ], - "dist": { - "shasum": "fd17474700cb5cc9c2b709f0be9d23ce3c198c33", - "tarball": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz" - }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/package.json b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/package.json deleted file mode 100644 index a21f746..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/package.json +++ /dev/null @@ -1,190 +0,0 @@ -{ - "name": "source-map", - "description": "Generates and consumes source maps", - "version": "0.2.0", - "homepage": "https://github.com/mozilla/source-map", - "author": { - "name": "Nick Fitzgerald", - "email": "nfitzgerald@mozilla.com" - }, - "contributors": [ - { - "name": "Tobias Koppers", - "email": "tobias.koppers@googlemail.com" - }, - { - "name": "Duncan Beevers", - "email": "duncan@dweebd.com" - }, - { - "name": "Stephen Crane", - "email": "scrane@mozilla.com" - }, - { - "name": "Ryan Seddon", - "email": "seddon.ryan@gmail.com" - }, - { - "name": "Miles Elam", - "email": "miles.elam@deem.com" - }, - { - "name": "Mihai Bazon", - "email": "mihai.bazon@gmail.com" - }, - { - "name": "Michael Ficarra", - "email": "github.public.email@michael.ficarra.me" - }, - { - "name": "Todd Wolfson", - "email": "todd@twolfson.com" - }, - { - "name": "Alexander Solovyov", - "email": "alexander@solovyov.net" - }, - { - "name": "Felix Gnass", - "email": "fgnass@gmail.com" - }, - { - "name": "Conrad Irwin", - "email": "conrad.irwin@gmail.com" - }, - { - "name": "usrbincc", - "email": "usrbincc@yahoo.com" - }, - { - "name": "David Glasser", - "email": "glasser@davidglasser.net" - }, - { - "name": "Chase Douglas", - "email": "chase@newrelic.com" - }, - { - "name": "Evan Wallace", - "email": "evan.exe@gmail.com" - }, - { - "name": "Heather Arthur", - "email": "fayearthur@gmail.com" - }, - { - "name": "Hugh Kennedy", - "email": "hughskennedy@gmail.com" - }, - { - "name": "David Glasser", - "email": "glasser@davidglasser.net" - }, - { - "name": "Simon Lydell", - "email": "simon.lydell@gmail.com" - }, - { - "name": "Jmeas Smith", - "email": "jellyes2@gmail.com" - }, - { - "name": "Michael Z Goddard", - "email": "mzgoddard@gmail.com" - }, - { - "name": "azu", - "email": "azu@users.noreply.github.com" - }, - { - "name": "John Gozde", - "email": "john@gozde.ca" - }, - { - "name": "Adam Kirkton", - "email": "akirkton@truefitinnovation.com" - }, - { - "name": "Chris Montgomery", - "email": "christopher.montgomery@dowjones.com" - }, - { - "name": "J. Ryan Stinnett", - "email": "jryans@gmail.com" - }, - { - "name": "Jack Herrington", - "email": "jherrington@walmartlabs.com" - }, - { - "name": "Chris Truter", - "email": "jeffpalentine@gmail.com" - }, - { - "name": "Daniel Espeset", - "email": "daniel@danielespeset.com" - }, - { - "name": "Jamie Wong", - "email": "jamie.lf.wong@gmail.com" - } - ], - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/mozilla/source-map.git" - }, - "directories": { - "lib": "./lib" - }, - "main": "./lib/source-map.js", - "engines": { - "node": ">=0.8.0" - }, - "licenses": [ - { - "type": "BSD", - "url": "http://opensource.org/licenses/BSD-3-Clause" - } - ], - "dependencies": { - "amdefine": ">=0.0.4" - }, - "devDependencies": { - "dryice": ">=0.4.8" - }, - "scripts": { - "test": "node test/run-tests.js", - "build": "node Makefile.dryice.js" - }, - "bugs": { - "url": "https://github.com/mozilla/source-map/issues" - }, - "_id": "source-map@0.2.0", - "_shasum": "dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d", - "_from": "source-map@>=0.2.0 <0.3.0", - "_npmVersion": "1.4.9", - "_npmUser": { - "name": "nickfitzgerald", - "email": "fitzgen@gmail.com" - }, - "maintainers": [ - { - "name": "mozilla-devtools", - "email": "mozilla-developer-tools@googlegroups.com" - }, - { - "name": "mozilla", - "email": "dherman@mozilla.com" - }, - { - "name": "nickfitzgerald", - "email": "fitzgen@gmail.com" - } - ], - "dist": { - "shasum": "dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d", - "tarball": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz" - }, - "_resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/run-tests.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/run-tests.js deleted file mode 100755 index 64a7c3a..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/run-tests.js +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/bin/env node -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -var assert = require('assert'); -var fs = require('fs'); -var path = require('path'); -var util = require('./source-map/util'); - -function run(tests) { - var total = 0; - var passed = 0; - - for (var i = 0; i < tests.length; i++) { - for (var k in tests[i].testCase) { - if (/^test/.test(k)) { - total++; - try { - tests[i].testCase[k](assert, util); - passed++; - } - catch (e) { - console.log('FAILED ' + tests[i].name + ': ' + k + '!'); - console.log(e.stack); - } - } - } - } - - console.log(''); - console.log(passed + ' / ' + total + ' tests passed.'); - console.log(''); - - return total - passed; -} - -function isTestFile(f) { - var testToRun = process.argv[2]; - return testToRun - ? path.basename(testToRun) === f - : /^test\-.*?\.js/.test(f); -} - -function toModule(f) { - return './source-map/' + f.replace(/\.js$/, ''); -} - -var requires = fs.readdirSync(path.join(__dirname, 'source-map')) - .filter(isTestFile) - .map(toModule); - -var code = run(requires.map(require).map(function (mod, i) { - return { - name: requires[i], - testCase: mod - }; -})); - -process.exit(code); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-api.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-api.js deleted file mode 100644 index 3801233..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-api.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2012 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - var sourceMap; - try { - sourceMap = require('../../lib/source-map'); - } catch (e) { - sourceMap = {}; - Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap); - } - - exports['test that the api is properly exposed in the top level'] = function (assert, util) { - assert.equal(typeof sourceMap.SourceMapGenerator, "function"); - assert.equal(typeof sourceMap.SourceMapConsumer, "function"); - assert.equal(typeof sourceMap.SourceNode, "function"); - }; - -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-array-set.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-array-set.js deleted file mode 100644 index b5797ed..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-array-set.js +++ /dev/null @@ -1,104 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - var ArraySet = require('../../lib/source-map/array-set').ArraySet; - - function makeTestSet() { - var set = new ArraySet(); - for (var i = 0; i < 100; i++) { - set.add(String(i)); - } - return set; - } - - exports['test .has() membership'] = function (assert, util) { - var set = makeTestSet(); - for (var i = 0; i < 100; i++) { - assert.ok(set.has(String(i))); - } - }; - - exports['test .indexOf() elements'] = function (assert, util) { - var set = makeTestSet(); - for (var i = 0; i < 100; i++) { - assert.strictEqual(set.indexOf(String(i)), i); - } - }; - - exports['test .at() indexing'] = function (assert, util) { - var set = makeTestSet(); - for (var i = 0; i < 100; i++) { - assert.strictEqual(set.at(i), String(i)); - } - }; - - exports['test creating from an array'] = function (assert, util) { - var set = ArraySet.fromArray(['foo', 'bar', 'baz', 'quux', 'hasOwnProperty']); - - assert.ok(set.has('foo')); - assert.ok(set.has('bar')); - assert.ok(set.has('baz')); - assert.ok(set.has('quux')); - assert.ok(set.has('hasOwnProperty')); - - assert.strictEqual(set.indexOf('foo'), 0); - assert.strictEqual(set.indexOf('bar'), 1); - assert.strictEqual(set.indexOf('baz'), 2); - assert.strictEqual(set.indexOf('quux'), 3); - - assert.strictEqual(set.at(0), 'foo'); - assert.strictEqual(set.at(1), 'bar'); - assert.strictEqual(set.at(2), 'baz'); - assert.strictEqual(set.at(3), 'quux'); - }; - - exports['test that you can add __proto__; see github issue #30'] = function (assert, util) { - var set = new ArraySet(); - set.add('__proto__'); - assert.ok(set.has('__proto__')); - assert.strictEqual(set.at(0), '__proto__'); - assert.strictEqual(set.indexOf('__proto__'), 0); - }; - - exports['test .fromArray() with duplicates'] = function (assert, util) { - var set = ArraySet.fromArray(['foo', 'foo']); - assert.ok(set.has('foo')); - assert.strictEqual(set.at(0), 'foo'); - assert.strictEqual(set.indexOf('foo'), 0); - assert.strictEqual(set.toArray().length, 1); - - set = ArraySet.fromArray(['foo', 'foo'], true); - assert.ok(set.has('foo')); - assert.strictEqual(set.at(0), 'foo'); - assert.strictEqual(set.at(1), 'foo'); - assert.strictEqual(set.indexOf('foo'), 0); - assert.strictEqual(set.toArray().length, 2); - }; - - exports['test .add() with duplicates'] = function (assert, util) { - var set = new ArraySet(); - set.add('foo'); - - set.add('foo'); - assert.ok(set.has('foo')); - assert.strictEqual(set.at(0), 'foo'); - assert.strictEqual(set.indexOf('foo'), 0); - assert.strictEqual(set.toArray().length, 1); - - set.add('foo', true); - assert.ok(set.has('foo')); - assert.strictEqual(set.at(0), 'foo'); - assert.strictEqual(set.at(1), 'foo'); - assert.strictEqual(set.indexOf('foo'), 0); - assert.strictEqual(set.toArray().length, 2); - }; - -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-base64-vlq.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-base64-vlq.js deleted file mode 100644 index 6fd0d99..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-base64-vlq.js +++ /dev/null @@ -1,23 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - var base64VLQ = require('../../lib/source-map/base64-vlq'); - - exports['test normal encoding and decoding'] = function (assert, util) { - var result = {}; - for (var i = -255; i < 256; i++) { - base64VLQ.decode(base64VLQ.encode(i), result); - assert.equal(result.value, i); - assert.equal(result.rest, ""); - } - }; - -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-base64.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-base64.js deleted file mode 100644 index ff3a244..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-base64.js +++ /dev/null @@ -1,35 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - var base64 = require('../../lib/source-map/base64'); - - exports['test out of range encoding'] = function (assert, util) { - assert.throws(function () { - base64.encode(-1); - }); - assert.throws(function () { - base64.encode(64); - }); - }; - - exports['test out of range decoding'] = function (assert, util) { - assert.throws(function () { - base64.decode('='); - }); - }; - - exports['test normal encoding and decoding'] = function (assert, util) { - for (var i = 0; i < 64; i++) { - assert.equal(base64.decode(base64.encode(i)), i); - } - }; - -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-binary-search.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-binary-search.js deleted file mode 100644 index f1c9e0f..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-binary-search.js +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - var binarySearch = require('../../lib/source-map/binary-search'); - - function numberCompare(a, b) { - return a - b; - } - - exports['test too high'] = function (assert, util) { - var needle = 30; - var haystack = [2,4,6,8,10,12,14,16,18,20]; - - assert.doesNotThrow(function () { - binarySearch.search(needle, haystack, numberCompare); - }); - - assert.equal(haystack[binarySearch.search(needle, haystack, numberCompare)], 20); - }; - - exports['test too low'] = function (assert, util) { - var needle = 1; - var haystack = [2,4,6,8,10,12,14,16,18,20]; - - assert.doesNotThrow(function () { - binarySearch.search(needle, haystack, numberCompare); - }); - - assert.equal(binarySearch.search(needle, haystack, numberCompare), -1); - }; - - exports['test exact search'] = function (assert, util) { - var needle = 4; - var haystack = [2,4,6,8,10,12,14,16,18,20]; - - assert.equal(haystack[binarySearch.search(needle, haystack, numberCompare)], 4); - }; - - exports['test fuzzy search'] = function (assert, util) { - var needle = 19; - var haystack = [2,4,6,8,10,12,14,16,18,20]; - - assert.equal(haystack[binarySearch.search(needle, haystack, numberCompare)], 18); - }; - -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-dog-fooding.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-dog-fooding.js deleted file mode 100644 index 26757b2..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-dog-fooding.js +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; - var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; - - exports['test eating our own dog food'] = function (assert, util) { - var smg = new SourceMapGenerator({ - file: 'testing.js', - sourceRoot: '/wu/tang' - }); - - smg.addMapping({ - source: 'gza.coffee', - original: { line: 1, column: 0 }, - generated: { line: 2, column: 2 } - }); - - smg.addMapping({ - source: 'gza.coffee', - original: { line: 2, column: 0 }, - generated: { line: 3, column: 2 } - }); - - smg.addMapping({ - source: 'gza.coffee', - original: { line: 3, column: 0 }, - generated: { line: 4, column: 2 } - }); - - smg.addMapping({ - source: 'gza.coffee', - original: { line: 4, column: 0 }, - generated: { line: 5, column: 2 } - }); - - smg.addMapping({ - source: 'gza.coffee', - original: { line: 5, column: 10 }, - generated: { line: 6, column: 12 } - }); - - var smc = new SourceMapConsumer(smg.toString()); - - // Exact - util.assertMapping(2, 2, '/wu/tang/gza.coffee', 1, 0, null, smc, assert); - util.assertMapping(3, 2, '/wu/tang/gza.coffee', 2, 0, null, smc, assert); - util.assertMapping(4, 2, '/wu/tang/gza.coffee', 3, 0, null, smc, assert); - util.assertMapping(5, 2, '/wu/tang/gza.coffee', 4, 0, null, smc, assert); - util.assertMapping(6, 12, '/wu/tang/gza.coffee', 5, 10, null, smc, assert); - - // Fuzzy - - // Generated to original - util.assertMapping(2, 0, null, null, null, null, smc, assert, true); - util.assertMapping(2, 9, '/wu/tang/gza.coffee', 1, 0, null, smc, assert, true); - util.assertMapping(3, 0, null, null, null, null, smc, assert, true); - util.assertMapping(3, 9, '/wu/tang/gza.coffee', 2, 0, null, smc, assert, true); - util.assertMapping(4, 0, null, null, null, null, smc, assert, true); - util.assertMapping(4, 9, '/wu/tang/gza.coffee', 3, 0, null, smc, assert, true); - util.assertMapping(5, 0, null, null, null, null, smc, assert, true); - util.assertMapping(5, 9, '/wu/tang/gza.coffee', 4, 0, null, smc, assert, true); - util.assertMapping(6, 0, null, null, null, null, smc, assert, true); - util.assertMapping(6, 9, null, null, null, null, smc, assert, true); - util.assertMapping(6, 13, '/wu/tang/gza.coffee', 5, 10, null, smc, assert, true); - - // Original to generated - util.assertMapping(2, 2, '/wu/tang/gza.coffee', 1, 1, null, smc, assert, null, true); - util.assertMapping(3, 2, '/wu/tang/gza.coffee', 2, 3, null, smc, assert, null, true); - util.assertMapping(4, 2, '/wu/tang/gza.coffee', 3, 6, null, smc, assert, null, true); - util.assertMapping(5, 2, '/wu/tang/gza.coffee', 4, 9, null, smc, assert, null, true); - util.assertMapping(5, 2, '/wu/tang/gza.coffee', 5, 9, null, smc, assert, null, true); - util.assertMapping(6, 12, '/wu/tang/gza.coffee', 6, 19, null, smc, assert, null, true); - }; - -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-consumer.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-consumer.js deleted file mode 100644 index 4a4842a..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-consumer.js +++ /dev/null @@ -1,874 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; - var IndexedSourceMapConsumer = require('../../lib/source-map/indexed-source-map-consumer').IndexedSourceMapConsumer; - var BasicSourceMapConsumer = require('../../lib/source-map/basic-source-map-consumer').BasicSourceMapConsumer; - var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; - - exports['test that we can instantiate with a string or an object'] = function (assert, util) { - assert.doesNotThrow(function () { - var map = new SourceMapConsumer(util.testMap); - }); - assert.doesNotThrow(function () { - var map = new SourceMapConsumer(JSON.stringify(util.testMap)); - }); - }; - - exports['test that the object returned from new SourceMapConsumer inherits from SourceMapConsumer'] = function (assert, util) { - assert.ok(new SourceMapConsumer(util.testMap) instanceof SourceMapConsumer); - } - - exports['test that a BasicSourceMapConsumer is returned for sourcemaps without sections'] = function(assert, util) { - assert.ok(new SourceMapConsumer(util.testMap) instanceof BasicSourceMapConsumer); - }; - - exports['test that an IndexedSourceMapConsumer is returned for sourcemaps with sections'] = function(assert, util) { - assert.ok(new SourceMapConsumer(util.indexedTestMap) instanceof IndexedSourceMapConsumer); - }; - - exports['test that the `sources` field has the original sources'] = function (assert, util) { - var map; - var sources; - - map = new SourceMapConsumer(util.testMap); - sources = map.sources; - assert.equal(sources[0], '/the/root/one.js'); - assert.equal(sources[1], '/the/root/two.js'); - assert.equal(sources.length, 2); - - map = new SourceMapConsumer(util.indexedTestMap); - sources = map.sources; - assert.equal(sources[0], '/the/root/one.js'); - assert.equal(sources[1], '/the/root/two.js'); - assert.equal(sources.length, 2); - - map = new SourceMapConsumer(util.indexedTestMapDifferentSourceRoots); - sources = map.sources; - assert.equal(sources[0], '/the/root/one.js'); - assert.equal(sources[1], '/different/root/two.js'); - assert.equal(sources.length, 2); - - map = new SourceMapConsumer(util.testMapNoSourceRoot); - sources = map.sources; - assert.equal(sources[0], 'one.js'); - assert.equal(sources[1], 'two.js'); - assert.equal(sources.length, 2); - - map = new SourceMapConsumer(util.testMapEmptySourceRoot); - sources = map.sources; - assert.equal(sources[0], 'one.js'); - assert.equal(sources[1], 'two.js'); - assert.equal(sources.length, 2); - }; - - exports['test that the source root is reflected in a mapping\'s source field'] = function (assert, util) { - var map; - var mapping; - - map = new SourceMapConsumer(util.testMap); - - mapping = map.originalPositionFor({ - line: 2, - column: 1 - }); - assert.equal(mapping.source, '/the/root/two.js'); - - mapping = map.originalPositionFor({ - line: 1, - column: 1 - }); - assert.equal(mapping.source, '/the/root/one.js'); - - - map = new SourceMapConsumer(util.testMapNoSourceRoot); - - mapping = map.originalPositionFor({ - line: 2, - column: 1 - }); - assert.equal(mapping.source, 'two.js'); - - mapping = map.originalPositionFor({ - line: 1, - column: 1 - }); - assert.equal(mapping.source, 'one.js'); - - - map = new SourceMapConsumer(util.testMapEmptySourceRoot); - - mapping = map.originalPositionFor({ - line: 2, - column: 1 - }); - assert.equal(mapping.source, 'two.js'); - - mapping = map.originalPositionFor({ - line: 1, - column: 1 - }); - assert.equal(mapping.source, 'one.js'); - }; - - exports['test mapping tokens back exactly'] = function (assert, util) { - var map = new SourceMapConsumer(util.testMap); - - util.assertMapping(1, 1, '/the/root/one.js', 1, 1, null, map, assert); - util.assertMapping(1, 5, '/the/root/one.js', 1, 5, null, map, assert); - util.assertMapping(1, 9, '/the/root/one.js', 1, 11, null, map, assert); - util.assertMapping(1, 18, '/the/root/one.js', 1, 21, 'bar', map, assert); - util.assertMapping(1, 21, '/the/root/one.js', 2, 3, null, map, assert); - util.assertMapping(1, 28, '/the/root/one.js', 2, 10, 'baz', map, assert); - util.assertMapping(1, 32, '/the/root/one.js', 2, 14, 'bar', map, assert); - - util.assertMapping(2, 1, '/the/root/two.js', 1, 1, null, map, assert); - util.assertMapping(2, 5, '/the/root/two.js', 1, 5, null, map, assert); - util.assertMapping(2, 9, '/the/root/two.js', 1, 11, null, map, assert); - util.assertMapping(2, 18, '/the/root/two.js', 1, 21, 'n', map, assert); - util.assertMapping(2, 21, '/the/root/two.js', 2, 3, null, map, assert); - util.assertMapping(2, 28, '/the/root/two.js', 2, 10, 'n', map, assert); - }; - - exports['test mapping tokens back exactly in indexed source map'] = function (assert, util) { - var map = new SourceMapConsumer(util.indexedTestMap); - - util.assertMapping(1, 1, '/the/root/one.js', 1, 1, null, map, assert); - util.assertMapping(1, 5, '/the/root/one.js', 1, 5, null, map, assert); - util.assertMapping(1, 9, '/the/root/one.js', 1, 11, null, map, assert); - util.assertMapping(1, 18, '/the/root/one.js', 1, 21, 'bar', map, assert); - util.assertMapping(1, 21, '/the/root/one.js', 2, 3, null, map, assert); - util.assertMapping(1, 28, '/the/root/one.js', 2, 10, 'baz', map, assert); - util.assertMapping(1, 32, '/the/root/one.js', 2, 14, 'bar', map, assert); - - util.assertMapping(2, 1, '/the/root/two.js', 1, 1, null, map, assert); - util.assertMapping(2, 5, '/the/root/two.js', 1, 5, null, map, assert); - util.assertMapping(2, 9, '/the/root/two.js', 1, 11, null, map, assert); - util.assertMapping(2, 18, '/the/root/two.js', 1, 21, 'n', map, assert); - util.assertMapping(2, 21, '/the/root/two.js', 2, 3, null, map, assert); - util.assertMapping(2, 28, '/the/root/two.js', 2, 10, 'n', map, assert); - }; - - - exports['test mapping tokens back exactly'] = function (assert, util) { - var map = new SourceMapConsumer(util.testMap); - - util.assertMapping(1, 1, '/the/root/one.js', 1, 1, null, map, assert); - util.assertMapping(1, 5, '/the/root/one.js', 1, 5, null, map, assert); - util.assertMapping(1, 9, '/the/root/one.js', 1, 11, null, map, assert); - util.assertMapping(1, 18, '/the/root/one.js', 1, 21, 'bar', map, assert); - util.assertMapping(1, 21, '/the/root/one.js', 2, 3, null, map, assert); - util.assertMapping(1, 28, '/the/root/one.js', 2, 10, 'baz', map, assert); - util.assertMapping(1, 32, '/the/root/one.js', 2, 14, 'bar', map, assert); - - util.assertMapping(2, 1, '/the/root/two.js', 1, 1, null, map, assert); - util.assertMapping(2, 5, '/the/root/two.js', 1, 5, null, map, assert); - util.assertMapping(2, 9, '/the/root/two.js', 1, 11, null, map, assert); - util.assertMapping(2, 18, '/the/root/two.js', 1, 21, 'n', map, assert); - util.assertMapping(2, 21, '/the/root/two.js', 2, 3, null, map, assert); - util.assertMapping(2, 28, '/the/root/two.js', 2, 10, 'n', map, assert); - }; - - exports['test mapping tokens fuzzy'] = function (assert, util) { - var map = new SourceMapConsumer(util.testMap); - - // Finding original positions - util.assertMapping(1, 20, '/the/root/one.js', 1, 21, 'bar', map, assert, true); - util.assertMapping(1, 30, '/the/root/one.js', 2, 10, 'baz', map, assert, true); - util.assertMapping(2, 12, '/the/root/two.js', 1, 11, null, map, assert, true); - - // Finding generated positions - util.assertMapping(1, 18, '/the/root/one.js', 1, 22, 'bar', map, assert, null, true); - util.assertMapping(1, 28, '/the/root/one.js', 2, 13, 'baz', map, assert, null, true); - util.assertMapping(2, 9, '/the/root/two.js', 1, 16, null, map, assert, null, true); - }; - - exports['test mapping tokens fuzzy in indexed source map'] = function (assert, util) { - var map = new SourceMapConsumer(util.indexedTestMap); - - // Finding original positions - util.assertMapping(1, 20, '/the/root/one.js', 1, 21, 'bar', map, assert, true); - util.assertMapping(1, 30, '/the/root/one.js', 2, 10, 'baz', map, assert, true); - util.assertMapping(2, 12, '/the/root/two.js', 1, 11, null, map, assert, true); - - // Finding generated positions - util.assertMapping(1, 18, '/the/root/one.js', 1, 22, 'bar', map, assert, null, true); - util.assertMapping(1, 28, '/the/root/one.js', 2, 13, 'baz', map, assert, null, true); - util.assertMapping(2, 9, '/the/root/two.js', 1, 16, null, map, assert, null, true); - }; - - exports['test mappings and end of lines'] = function (assert, util) { - var smg = new SourceMapGenerator({ - file: 'foo.js' - }); - smg.addMapping({ - original: { line: 1, column: 1 }, - generated: { line: 1, column: 1 }, - source: 'bar.js' - }); - smg.addMapping({ - original: { line: 2, column: 2 }, - generated: { line: 2, column: 2 }, - source: 'bar.js' - }); - - var map = SourceMapConsumer.fromSourceMap(smg); - - // When finding original positions, mappings end at the end of the line. - util.assertMapping(2, 1, null, null, null, null, map, assert, true) - - // When finding generated positions, mappings do not end at the end of the line. - util.assertMapping(1, 1, 'bar.js', 2, 1, null, map, assert, null, true); - }; - - exports['test creating source map consumers with )]}\' prefix'] = function (assert, util) { - assert.doesNotThrow(function () { - var map = new SourceMapConsumer(")]}'" + JSON.stringify(util.testMap)); - }); - }; - - exports['test eachMapping'] = function (assert, util) { - var map; - - map = new SourceMapConsumer(util.testMap); - var previousLine = -Infinity; - var previousColumn = -Infinity; - map.eachMapping(function (mapping) { - assert.ok(mapping.generatedLine >= previousLine); - - assert.ok(mapping.source === '/the/root/one.js' || mapping.source === '/the/root/two.js'); - - if (mapping.generatedLine === previousLine) { - assert.ok(mapping.generatedColumn >= previousColumn); - previousColumn = mapping.generatedColumn; - } - else { - previousLine = mapping.generatedLine; - previousColumn = -Infinity; - } - }); - - map = new SourceMapConsumer(util.testMapNoSourceRoot); - map.eachMapping(function (mapping) { - assert.ok(mapping.source === 'one.js' || mapping.source === 'two.js'); - }); - - map = new SourceMapConsumer(util.testMapEmptySourceRoot); - map.eachMapping(function (mapping) { - assert.ok(mapping.source === 'one.js' || mapping.source === 'two.js'); - }); - }; - - exports['test eachMapping for indexed source maps'] = function(assert, util) { - var map = new SourceMapConsumer(util.indexedTestMap); - var previousLine = -Infinity; - var previousColumn = -Infinity; - map.eachMapping(function (mapping) { - assert.ok(mapping.generatedLine >= previousLine); - - if (mapping.source) { - assert.equal(mapping.source.indexOf(util.testMap.sourceRoot), 0); - } - - if (mapping.generatedLine === previousLine) { - assert.ok(mapping.generatedColumn >= previousColumn); - previousColumn = mapping.generatedColumn; - } - else { - previousLine = mapping.generatedLine; - previousColumn = -Infinity; - } - }); - }; - - - exports['test iterating over mappings in a different order'] = function (assert, util) { - var map = new SourceMapConsumer(util.testMap); - var previousLine = -Infinity; - var previousColumn = -Infinity; - var previousSource = ""; - map.eachMapping(function (mapping) { - assert.ok(mapping.source >= previousSource); - - if (mapping.source === previousSource) { - assert.ok(mapping.originalLine >= previousLine); - - if (mapping.originalLine === previousLine) { - assert.ok(mapping.originalColumn >= previousColumn); - previousColumn = mapping.originalColumn; - } - else { - previousLine = mapping.originalLine; - previousColumn = -Infinity; - } - } - else { - previousSource = mapping.source; - previousLine = -Infinity; - previousColumn = -Infinity; - } - }, null, SourceMapConsumer.ORIGINAL_ORDER); - }; - - exports['test iterating over mappings in a different order in indexed source maps'] = function (assert, util) { - var map = new SourceMapConsumer(util.indexedTestMap); - var previousLine = -Infinity; - var previousColumn = -Infinity; - var previousSource = ""; - map.eachMapping(function (mapping) { - assert.ok(mapping.source >= previousSource); - - if (mapping.source === previousSource) { - assert.ok(mapping.originalLine >= previousLine); - - if (mapping.originalLine === previousLine) { - assert.ok(mapping.originalColumn >= previousColumn); - previousColumn = mapping.originalColumn; - } - else { - previousLine = mapping.originalLine; - previousColumn = -Infinity; - } - } - else { - previousSource = mapping.source; - previousLine = -Infinity; - previousColumn = -Infinity; - } - }, null, SourceMapConsumer.ORIGINAL_ORDER); - }; - - exports['test that we can set the context for `this` in eachMapping'] = function (assert, util) { - var map = new SourceMapConsumer(util.testMap); - var context = {}; - map.eachMapping(function () { - assert.equal(this, context); - }, context); - }; - - exports['test that we can set the context for `this` in eachMapping in indexed source maps'] = function (assert, util) { - var map = new SourceMapConsumer(util.indexedTestMap); - var context = {}; - map.eachMapping(function () { - assert.equal(this, context); - }, context); - }; - - exports['test that the `sourcesContent` field has the original sources'] = function (assert, util) { - var map = new SourceMapConsumer(util.testMapWithSourcesContent); - var sourcesContent = map.sourcesContent; - - assert.equal(sourcesContent[0], ' ONE.foo = function (bar) {\n return baz(bar);\n };'); - assert.equal(sourcesContent[1], ' TWO.inc = function (n) {\n return n + 1;\n };'); - assert.equal(sourcesContent.length, 2); - }; - - exports['test that we can get the original sources for the sources'] = function (assert, util) { - var map = new SourceMapConsumer(util.testMapWithSourcesContent); - var sources = map.sources; - - assert.equal(map.sourceContentFor(sources[0]), ' ONE.foo = function (bar) {\n return baz(bar);\n };'); - assert.equal(map.sourceContentFor(sources[1]), ' TWO.inc = function (n) {\n return n + 1;\n };'); - assert.equal(map.sourceContentFor("one.js"), ' ONE.foo = function (bar) {\n return baz(bar);\n };'); - assert.equal(map.sourceContentFor("two.js"), ' TWO.inc = function (n) {\n return n + 1;\n };'); - assert.throws(function () { - map.sourceContentFor(""); - }, Error); - assert.throws(function () { - map.sourceContentFor("/the/root/three.js"); - }, Error); - assert.throws(function () { - map.sourceContentFor("three.js"); - }, Error); - }; - - exports['test that we can get the original source content with relative source paths'] = function (assert, util) { - var map = new SourceMapConsumer(util.testMapRelativeSources); - var sources = map.sources; - - assert.equal(map.sourceContentFor(sources[0]), ' ONE.foo = function (bar) {\n return baz(bar);\n };'); - assert.equal(map.sourceContentFor(sources[1]), ' TWO.inc = function (n) {\n return n + 1;\n };'); - assert.equal(map.sourceContentFor("one.js"), ' ONE.foo = function (bar) {\n return baz(bar);\n };'); - assert.equal(map.sourceContentFor("two.js"), ' TWO.inc = function (n) {\n return n + 1;\n };'); - assert.throws(function () { - map.sourceContentFor(""); - }, Error); - assert.throws(function () { - map.sourceContentFor("/the/root/three.js"); - }, Error); - assert.throws(function () { - map.sourceContentFor("three.js"); - }, Error); - }; - - exports['test that we can get the original source content for the sources on an indexed source map'] = function (assert, util) { - var map = new SourceMapConsumer(util.indexedTestMap); - var sources = map.sources; - - assert.equal(map.sourceContentFor(sources[0]), ' ONE.foo = function (bar) {\n return baz(bar);\n };'); - assert.equal(map.sourceContentFor(sources[1]), ' TWO.inc = function (n) {\n return n + 1;\n };'); - assert.equal(map.sourceContentFor("one.js"), ' ONE.foo = function (bar) {\n return baz(bar);\n };'); - assert.equal(map.sourceContentFor("two.js"), ' TWO.inc = function (n) {\n return n + 1;\n };'); - assert.throws(function () { - map.sourceContentFor(""); - }, Error); - assert.throws(function () { - map.sourceContentFor("/the/root/three.js"); - }, Error); - assert.throws(function () { - map.sourceContentFor("three.js"); - }, Error); - }; - - - exports['test sourceRoot + generatedPositionFor'] = function (assert, util) { - var map = new SourceMapGenerator({ - sourceRoot: 'foo/bar', - file: 'baz.js' - }); - map.addMapping({ - original: { line: 1, column: 1 }, - generated: { line: 2, column: 2 }, - source: 'bang.coffee' - }); - map.addMapping({ - original: { line: 5, column: 5 }, - generated: { line: 6, column: 6 }, - source: 'bang.coffee' - }); - map = new SourceMapConsumer(map.toString()); - - // Should handle without sourceRoot. - var pos = map.generatedPositionFor({ - line: 1, - column: 1, - source: 'bang.coffee' - }); - - assert.equal(pos.line, 2); - assert.equal(pos.column, 2); - - // Should handle with sourceRoot. - var pos = map.generatedPositionFor({ - line: 1, - column: 1, - source: 'foo/bar/bang.coffee' - }); - - assert.equal(pos.line, 2); - assert.equal(pos.column, 2); - }; - - exports['test allGeneratedPositionsFor'] = function (assert, util) { - var map = new SourceMapGenerator({ - file: 'generated.js' - }); - map.addMapping({ - original: { line: 1, column: 1 }, - generated: { line: 2, column: 2 }, - source: 'foo.coffee' - }); - map.addMapping({ - original: { line: 1, column: 1 }, - generated: { line: 2, column: 2 }, - source: 'bar.coffee' - }); - map.addMapping({ - original: { line: 2, column: 1 }, - generated: { line: 3, column: 2 }, - source: 'bar.coffee' - }); - map.addMapping({ - original: { line: 2, column: 2 }, - generated: { line: 3, column: 3 }, - source: 'bar.coffee' - }); - map.addMapping({ - original: { line: 3, column: 1 }, - generated: { line: 4, column: 2 }, - source: 'bar.coffee' - }); - map = new SourceMapConsumer(map.toString()); - - var mappings = map.allGeneratedPositionsFor({ - line: 2, - source: 'bar.coffee' - }); - - assert.equal(mappings.length, 2); - assert.equal(mappings[0].line, 3); - assert.equal(mappings[0].column, 2); - assert.equal(mappings[1].line, 3); - assert.equal(mappings[1].column, 3); - }; - - exports['test allGeneratedPositionsFor for line with no mappings'] = function (assert, util) { - var map = new SourceMapGenerator({ - file: 'generated.js' - }); - map.addMapping({ - original: { line: 1, column: 1 }, - generated: { line: 2, column: 2 }, - source: 'foo.coffee' - }); - map.addMapping({ - original: { line: 1, column: 1 }, - generated: { line: 2, column: 2 }, - source: 'bar.coffee' - }); - map.addMapping({ - original: { line: 3, column: 1 }, - generated: { line: 4, column: 2 }, - source: 'bar.coffee' - }); - map = new SourceMapConsumer(map.toString()); - - var mappings = map.allGeneratedPositionsFor({ - line: 2, - source: 'bar.coffee' - }); - - assert.equal(mappings.length, 0); - }; - - exports['test allGeneratedPositionsFor source map with no mappings'] = function (assert, util) { - var map = new SourceMapGenerator({ - file: 'generated.js' - }); - map = new SourceMapConsumer(map.toString()); - - var mappings = map.allGeneratedPositionsFor({ - line: 2, - source: 'bar.coffee' - }); - - assert.equal(mappings.length, 0); - }; - - exports['test computeColumnSpans'] = function (assert, util) { - var map = new SourceMapGenerator({ - file: 'generated.js' - }); - map.addMapping({ - original: { line: 1, column: 1 }, - generated: { line: 1, column: 1 }, - source: 'foo.coffee' - }); - map.addMapping({ - original: { line: 2, column: 1 }, - generated: { line: 2, column: 1 }, - source: 'foo.coffee' - }); - map.addMapping({ - original: { line: 2, column: 2 }, - generated: { line: 2, column: 10 }, - source: 'foo.coffee' - }); - map.addMapping({ - original: { line: 2, column: 3 }, - generated: { line: 2, column: 20 }, - source: 'foo.coffee' - }); - map.addMapping({ - original: { line: 3, column: 1 }, - generated: { line: 3, column: 1 }, - source: 'foo.coffee' - }); - map.addMapping({ - original: { line: 3, column: 2 }, - generated: { line: 3, column: 2 }, - source: 'foo.coffee' - }); - map = new SourceMapConsumer(map.toString()); - - map.computeColumnSpans(); - - var mappings = map.allGeneratedPositionsFor({ - line: 1, - source: 'foo.coffee' - }); - - assert.equal(mappings.length, 1); - assert.equal(mappings[0].lastColumn, Infinity); - - var mappings = map.allGeneratedPositionsFor({ - line: 2, - source: 'foo.coffee' - }); - - assert.equal(mappings.length, 3); - assert.equal(mappings[0].lastColumn, 9); - assert.equal(mappings[1].lastColumn, 19); - assert.equal(mappings[2].lastColumn, Infinity); - - var mappings = map.allGeneratedPositionsFor({ - line: 3, - source: 'foo.coffee' - }); - - assert.equal(mappings.length, 2); - assert.equal(mappings[0].lastColumn, 1); - assert.equal(mappings[1].lastColumn, Infinity); - }; - - exports['test sourceRoot + originalPositionFor'] = function (assert, util) { - var map = new SourceMapGenerator({ - sourceRoot: 'foo/bar', - file: 'baz.js' - }); - map.addMapping({ - original: { line: 1, column: 1 }, - generated: { line: 2, column: 2 }, - source: 'bang.coffee' - }); - map = new SourceMapConsumer(map.toString()); - - var pos = map.originalPositionFor({ - line: 2, - column: 2, - }); - - // Should always have the prepended source root - assert.equal(pos.source, 'foo/bar/bang.coffee'); - assert.equal(pos.line, 1); - assert.equal(pos.column, 1); - }; - - exports['test github issue #56'] = function (assert, util) { - var map = new SourceMapGenerator({ - sourceRoot: 'http://', - file: 'www.example.com/foo.js' - }); - map.addMapping({ - original: { line: 1, column: 1 }, - generated: { line: 2, column: 2 }, - source: 'www.example.com/original.js' - }); - map = new SourceMapConsumer(map.toString()); - - var sources = map.sources; - assert.equal(sources.length, 1); - assert.equal(sources[0], 'http://www.example.com/original.js'); - }; - - exports['test github issue #43'] = function (assert, util) { - var map = new SourceMapGenerator({ - sourceRoot: 'http://example.com', - file: 'foo.js' - }); - map.addMapping({ - original: { line: 1, column: 1 }, - generated: { line: 2, column: 2 }, - source: 'http://cdn.example.com/original.js' - }); - map = new SourceMapConsumer(map.toString()); - - var sources = map.sources; - assert.equal(sources.length, 1, - 'Should only be one source.'); - assert.equal(sources[0], 'http://cdn.example.com/original.js', - 'Should not be joined with the sourceRoot.'); - }; - - exports['test absolute path, but same host sources'] = function (assert, util) { - var map = new SourceMapGenerator({ - sourceRoot: 'http://example.com/foo/bar', - file: 'foo.js' - }); - map.addMapping({ - original: { line: 1, column: 1 }, - generated: { line: 2, column: 2 }, - source: '/original.js' - }); - map = new SourceMapConsumer(map.toString()); - - var sources = map.sources; - assert.equal(sources.length, 1, - 'Should only be one source.'); - assert.equal(sources[0], 'http://example.com/original.js', - 'Source should be relative the host of the source root.'); - }; - - exports['test indexed source map errors when sections are out of order by line'] = function(assert, util) { - // Make a deep copy of the indexedTestMap - var misorderedIndexedTestMap = JSON.parse(JSON.stringify(util.indexedTestMap)); - - misorderedIndexedTestMap.sections[0].offset = { - line: 2, - column: 0 - }; - - assert.throws(function() { - new SourceMapConsumer(misorderedIndexedTestMap); - }, Error); - }; - - exports['test github issue #64'] = function (assert, util) { - var map = new SourceMapConsumer({ - "version": 3, - "file": "foo.js", - "sourceRoot": "http://example.com/", - "sources": ["/a"], - "names": [], - "mappings": "AACA", - "sourcesContent": ["foo"] - }); - - assert.equal(map.sourceContentFor("a"), "foo"); - assert.equal(map.sourceContentFor("/a"), "foo"); - }; - - exports['test bug 885597'] = function (assert, util) { - var map = new SourceMapConsumer({ - "version": 3, - "file": "foo.js", - "sourceRoot": "file:///Users/AlGore/Invented/The/Internet/", - "sources": ["/a"], - "names": [], - "mappings": "AACA", - "sourcesContent": ["foo"] - }); - - var s = map.sources[0]; - assert.equal(map.sourceContentFor(s), "foo"); - }; - - exports['test github issue #72, duplicate sources'] = function (assert, util) { - var map = new SourceMapConsumer({ - "version": 3, - "file": "foo.js", - "sources": ["source1.js", "source1.js", "source3.js"], - "names": [], - "mappings": ";EAAC;;IAEE;;MEEE", - "sourceRoot": "http://example.com" - }); - - var pos = map.originalPositionFor({ - line: 2, - column: 2 - }); - assert.equal(pos.source, 'http://example.com/source1.js'); - assert.equal(pos.line, 1); - assert.equal(pos.column, 1); - - var pos = map.originalPositionFor({ - line: 4, - column: 4 - }); - assert.equal(pos.source, 'http://example.com/source1.js'); - assert.equal(pos.line, 3); - assert.equal(pos.column, 3); - - var pos = map.originalPositionFor({ - line: 6, - column: 6 - }); - assert.equal(pos.source, 'http://example.com/source3.js'); - assert.equal(pos.line, 5); - assert.equal(pos.column, 5); - }; - - exports['test github issue #72, duplicate names'] = function (assert, util) { - var map = new SourceMapConsumer({ - "version": 3, - "file": "foo.js", - "sources": ["source.js"], - "names": ["name1", "name1", "name3"], - "mappings": ";EAACA;;IAEEA;;MAEEE", - "sourceRoot": "http://example.com" - }); - - var pos = map.originalPositionFor({ - line: 2, - column: 2 - }); - assert.equal(pos.name, 'name1'); - assert.equal(pos.line, 1); - assert.equal(pos.column, 1); - - var pos = map.originalPositionFor({ - line: 4, - column: 4 - }); - assert.equal(pos.name, 'name1'); - assert.equal(pos.line, 3); - assert.equal(pos.column, 3); - - var pos = map.originalPositionFor({ - line: 6, - column: 6 - }); - assert.equal(pos.name, 'name3'); - assert.equal(pos.line, 5); - assert.equal(pos.column, 5); - }; - - exports['test SourceMapConsumer.fromSourceMap'] = function (assert, util) { - var smg = new SourceMapGenerator({ - sourceRoot: 'http://example.com/', - file: 'foo.js' - }); - smg.addMapping({ - original: { line: 1, column: 1 }, - generated: { line: 2, column: 2 }, - source: 'bar.js' - }); - smg.addMapping({ - original: { line: 2, column: 2 }, - generated: { line: 4, column: 4 }, - source: 'baz.js', - name: 'dirtMcGirt' - }); - smg.setSourceContent('baz.js', 'baz.js content'); - - var smc = SourceMapConsumer.fromSourceMap(smg); - assert.equal(smc.file, 'foo.js'); - assert.equal(smc.sourceRoot, 'http://example.com/'); - assert.equal(smc.sources.length, 2); - assert.equal(smc.sources[0], 'http://example.com/bar.js'); - assert.equal(smc.sources[1], 'http://example.com/baz.js'); - assert.equal(smc.sourceContentFor('baz.js'), 'baz.js content'); - - var pos = smc.originalPositionFor({ - line: 2, - column: 2 - }); - assert.equal(pos.line, 1); - assert.equal(pos.column, 1); - assert.equal(pos.source, 'http://example.com/bar.js'); - assert.equal(pos.name, null); - - pos = smc.generatedPositionFor({ - line: 1, - column: 1, - source: 'http://example.com/bar.js' - }); - assert.equal(pos.line, 2); - assert.equal(pos.column, 2); - - pos = smc.originalPositionFor({ - line: 4, - column: 4 - }); - assert.equal(pos.line, 2); - assert.equal(pos.column, 2); - assert.equal(pos.source, 'http://example.com/baz.js'); - assert.equal(pos.name, 'dirtMcGirt'); - - pos = smc.generatedPositionFor({ - line: 2, - column: 2, - source: 'http://example.com/baz.js' - }); - assert.equal(pos.line, 4); - assert.equal(pos.column, 4); - }; -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-generator.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-generator.js deleted file mode 100644 index d748bb1..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-generator.js +++ /dev/null @@ -1,679 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; - var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; - var SourceNode = require('../../lib/source-map/source-node').SourceNode; - var util = require('./util'); - - exports['test some simple stuff'] = function (assert, util) { - var map = new SourceMapGenerator({ - file: 'foo.js', - sourceRoot: '.' - }); - assert.ok(true); - - var map = new SourceMapGenerator().toJSON(); - assert.ok(!('file' in map)); - assert.ok(!('sourceRoot' in map)); - }; - - exports['test JSON serialization'] = function (assert, util) { - var map = new SourceMapGenerator({ - file: 'foo.js', - sourceRoot: '.' - }); - assert.equal(map.toString(), JSON.stringify(map)); - }; - - exports['test adding mappings (case 1)'] = function (assert, util) { - var map = new SourceMapGenerator({ - file: 'generated-foo.js', - sourceRoot: '.' - }); - - assert.doesNotThrow(function () { - map.addMapping({ - generated: { line: 1, column: 1 } - }); - }); - }; - - exports['test adding mappings (case 2)'] = function (assert, util) { - var map = new SourceMapGenerator({ - file: 'generated-foo.js', - sourceRoot: '.' - }); - - assert.doesNotThrow(function () { - map.addMapping({ - generated: { line: 1, column: 1 }, - source: 'bar.js', - original: { line: 1, column: 1 } - }); - }); - }; - - exports['test adding mappings (case 3)'] = function (assert, util) { - var map = new SourceMapGenerator({ - file: 'generated-foo.js', - sourceRoot: '.' - }); - - assert.doesNotThrow(function () { - map.addMapping({ - generated: { line: 1, column: 1 }, - source: 'bar.js', - original: { line: 1, column: 1 }, - name: 'someToken' - }); - }); - }; - - exports['test adding mappings (invalid)'] = function (assert, util) { - var map = new SourceMapGenerator({ - file: 'generated-foo.js', - sourceRoot: '.' - }); - - // Not enough info. - assert.throws(function () { - map.addMapping({}); - }); - - // Original file position, but no source. - assert.throws(function () { - map.addMapping({ - generated: { line: 1, column: 1 }, - original: { line: 1, column: 1 } - }); - }); - }; - - exports['test adding mappings with skipValidation'] = function (assert, util) { - var map = new SourceMapGenerator({ - file: 'generated-foo.js', - sourceRoot: '.', - skipValidation: true - }); - - // Not enough info, caught by `util.getArgs` - assert.throws(function () { - map.addMapping({}); - }); - - // Original file position, but no source. Not checked. - assert.doesNotThrow(function () { - map.addMapping({ - generated: { line: 1, column: 1 }, - original: { line: 1, column: 1 } - }); - }); - }; - - exports['test that the correct mappings are being generated'] = function (assert, util) { - var map = new SourceMapGenerator({ - file: 'min.js', - sourceRoot: '/the/root' - }); - - map.addMapping({ - generated: { line: 1, column: 1 }, - original: { line: 1, column: 1 }, - source: 'one.js' - }); - map.addMapping({ - generated: { line: 1, column: 5 }, - original: { line: 1, column: 5 }, - source: 'one.js' - }); - map.addMapping({ - generated: { line: 1, column: 9 }, - original: { line: 1, column: 11 }, - source: 'one.js' - }); - map.addMapping({ - generated: { line: 1, column: 18 }, - original: { line: 1, column: 21 }, - source: 'one.js', - name: 'bar' - }); - map.addMapping({ - generated: { line: 1, column: 21 }, - original: { line: 2, column: 3 }, - source: 'one.js' - }); - map.addMapping({ - generated: { line: 1, column: 28 }, - original: { line: 2, column: 10 }, - source: 'one.js', - name: 'baz' - }); - map.addMapping({ - generated: { line: 1, column: 32 }, - original: { line: 2, column: 14 }, - source: 'one.js', - name: 'bar' - }); - - map.addMapping({ - generated: { line: 2, column: 1 }, - original: { line: 1, column: 1 }, - source: 'two.js' - }); - map.addMapping({ - generated: { line: 2, column: 5 }, - original: { line: 1, column: 5 }, - source: 'two.js' - }); - map.addMapping({ - generated: { line: 2, column: 9 }, - original: { line: 1, column: 11 }, - source: 'two.js' - }); - map.addMapping({ - generated: { line: 2, column: 18 }, - original: { line: 1, column: 21 }, - source: 'two.js', - name: 'n' - }); - map.addMapping({ - generated: { line: 2, column: 21 }, - original: { line: 2, column: 3 }, - source: 'two.js' - }); - map.addMapping({ - generated: { line: 2, column: 28 }, - original: { line: 2, column: 10 }, - source: 'two.js', - name: 'n' - }); - - map = JSON.parse(map.toString()); - - util.assertEqualMaps(assert, map, util.testMap); - }; - - exports['test that adding a mapping with an empty string name does not break generation'] = function (assert, util) { - var map = new SourceMapGenerator({ - file: 'generated-foo.js', - sourceRoot: '.' - }); - - map.addMapping({ - generated: { line: 1, column: 1 }, - source: 'bar.js', - original: { line: 1, column: 1 }, - name: '' - }); - - assert.doesNotThrow(function () { - JSON.parse(map.toString()); - }); - }; - - exports['test that source content can be set'] = function (assert, util) { - var map = new SourceMapGenerator({ - file: 'min.js', - sourceRoot: '/the/root' - }); - map.addMapping({ - generated: { line: 1, column: 1 }, - original: { line: 1, column: 1 }, - source: 'one.js' - }); - map.addMapping({ - generated: { line: 2, column: 1 }, - original: { line: 1, column: 1 }, - source: 'two.js' - }); - map.setSourceContent('one.js', 'one file content'); - - map = JSON.parse(map.toString()); - assert.equal(map.sources[0], 'one.js'); - assert.equal(map.sources[1], 'two.js'); - assert.equal(map.sourcesContent[0], 'one file content'); - assert.equal(map.sourcesContent[1], null); - }; - - exports['test .fromSourceMap'] = function (assert, util) { - var map = SourceMapGenerator.fromSourceMap(new SourceMapConsumer(util.testMap)); - util.assertEqualMaps(assert, map.toJSON(), util.testMap); - }; - - exports['test .fromSourceMap with sourcesContent'] = function (assert, util) { - var map = SourceMapGenerator.fromSourceMap( - new SourceMapConsumer(util.testMapWithSourcesContent)); - util.assertEqualMaps(assert, map.toJSON(), util.testMapWithSourcesContent); - }; - - exports['test applySourceMap'] = function (assert, util) { - var node = new SourceNode(null, null, null, [ - new SourceNode(2, 0, 'fileX', 'lineX2\n'), - 'genA1\n', - new SourceNode(2, 0, 'fileY', 'lineY2\n'), - 'genA2\n', - new SourceNode(1, 0, 'fileX', 'lineX1\n'), - 'genA3\n', - new SourceNode(1, 0, 'fileY', 'lineY1\n') - ]); - var mapStep1 = node.toStringWithSourceMap({ - file: 'fileA' - }).map; - mapStep1.setSourceContent('fileX', 'lineX1\nlineX2\n'); - mapStep1 = mapStep1.toJSON(); - - node = new SourceNode(null, null, null, [ - 'gen1\n', - new SourceNode(1, 0, 'fileA', 'lineA1\n'), - new SourceNode(2, 0, 'fileA', 'lineA2\n'), - new SourceNode(3, 0, 'fileA', 'lineA3\n'), - new SourceNode(4, 0, 'fileA', 'lineA4\n'), - new SourceNode(1, 0, 'fileB', 'lineB1\n'), - new SourceNode(2, 0, 'fileB', 'lineB2\n'), - 'gen2\n' - ]); - var mapStep2 = node.toStringWithSourceMap({ - file: 'fileGen' - }).map; - mapStep2.setSourceContent('fileB', 'lineB1\nlineB2\n'); - mapStep2 = mapStep2.toJSON(); - - node = new SourceNode(null, null, null, [ - 'gen1\n', - new SourceNode(2, 0, 'fileX', 'lineA1\n'), - new SourceNode(2, 0, 'fileA', 'lineA2\n'), - new SourceNode(2, 0, 'fileY', 'lineA3\n'), - new SourceNode(4, 0, 'fileA', 'lineA4\n'), - new SourceNode(1, 0, 'fileB', 'lineB1\n'), - new SourceNode(2, 0, 'fileB', 'lineB2\n'), - 'gen2\n' - ]); - var expectedMap = node.toStringWithSourceMap({ - file: 'fileGen' - }).map; - expectedMap.setSourceContent('fileX', 'lineX1\nlineX2\n'); - expectedMap.setSourceContent('fileB', 'lineB1\nlineB2\n'); - expectedMap = expectedMap.toJSON(); - - // apply source map "mapStep1" to "mapStep2" - var generator = SourceMapGenerator.fromSourceMap(new SourceMapConsumer(mapStep2)); - generator.applySourceMap(new SourceMapConsumer(mapStep1)); - var actualMap = generator.toJSON(); - - util.assertEqualMaps(assert, actualMap, expectedMap); - }; - - exports['test applySourceMap throws when file is missing'] = function (assert, util) { - var map = new SourceMapGenerator({ - file: 'test.js' - }); - var map2 = new SourceMapGenerator(); - assert.throws(function() { - map.applySourceMap(new SourceMapConsumer(map2.toJSON())); - }); - }; - - exports['test the two additional parameters of applySourceMap'] = function (assert, util) { - // Assume the following directory structure: - // - // http://foo.org/ - // bar.coffee - // app/ - // coffee/ - // foo.coffee - // temp/ - // bundle.js - // temp_maps/ - // bundle.js.map - // public/ - // bundle.min.js - // bundle.min.js.map - // - // http://www.example.com/ - // baz.coffee - - var bundleMap = new SourceMapGenerator({ - file: 'bundle.js' - }); - bundleMap.addMapping({ - generated: { line: 3, column: 3 }, - original: { line: 2, column: 2 }, - source: '../../coffee/foo.coffee' - }); - bundleMap.setSourceContent('../../coffee/foo.coffee', 'foo coffee'); - bundleMap.addMapping({ - generated: { line: 13, column: 13 }, - original: { line: 12, column: 12 }, - source: '/bar.coffee' - }); - bundleMap.setSourceContent('/bar.coffee', 'bar coffee'); - bundleMap.addMapping({ - generated: { line: 23, column: 23 }, - original: { line: 22, column: 22 }, - source: 'http://www.example.com/baz.coffee' - }); - bundleMap.setSourceContent( - 'http://www.example.com/baz.coffee', - 'baz coffee' - ); - bundleMap = new SourceMapConsumer(bundleMap.toJSON()); - - var minifiedMap = new SourceMapGenerator({ - file: 'bundle.min.js', - sourceRoot: '..' - }); - minifiedMap.addMapping({ - generated: { line: 1, column: 1 }, - original: { line: 3, column: 3 }, - source: 'temp/bundle.js' - }); - minifiedMap.addMapping({ - generated: { line: 11, column: 11 }, - original: { line: 13, column: 13 }, - source: 'temp/bundle.js' - }); - minifiedMap.addMapping({ - generated: { line: 21, column: 21 }, - original: { line: 23, column: 23 }, - source: 'temp/bundle.js' - }); - minifiedMap = new SourceMapConsumer(minifiedMap.toJSON()); - - var expectedMap = function (sources) { - var map = new SourceMapGenerator({ - file: 'bundle.min.js', - sourceRoot: '..' - }); - map.addMapping({ - generated: { line: 1, column: 1 }, - original: { line: 2, column: 2 }, - source: sources[0] - }); - map.setSourceContent(sources[0], 'foo coffee'); - map.addMapping({ - generated: { line: 11, column: 11 }, - original: { line: 12, column: 12 }, - source: sources[1] - }); - map.setSourceContent(sources[1], 'bar coffee'); - map.addMapping({ - generated: { line: 21, column: 21 }, - original: { line: 22, column: 22 }, - source: sources[2] - }); - map.setSourceContent(sources[2], 'baz coffee'); - return map.toJSON(); - } - - var actualMap = function (aSourceMapPath) { - var map = SourceMapGenerator.fromSourceMap(minifiedMap); - // Note that relying on `bundleMap.file` (which is simply 'bundle.js') - // instead of supplying the second parameter wouldn't work here. - map.applySourceMap(bundleMap, '../temp/bundle.js', aSourceMapPath); - return map.toJSON(); - } - - util.assertEqualMaps(assert, actualMap('../temp/temp_maps'), expectedMap([ - 'coffee/foo.coffee', - '/bar.coffee', - 'http://www.example.com/baz.coffee' - ])); - - util.assertEqualMaps(assert, actualMap('/app/temp/temp_maps'), expectedMap([ - '/app/coffee/foo.coffee', - '/bar.coffee', - 'http://www.example.com/baz.coffee' - ])); - - util.assertEqualMaps(assert, actualMap('http://foo.org/app/temp/temp_maps'), expectedMap([ - 'http://foo.org/app/coffee/foo.coffee', - 'http://foo.org/bar.coffee', - 'http://www.example.com/baz.coffee' - ])); - - // If the third parameter is omitted or set to the current working - // directory we get incorrect source paths: - - util.assertEqualMaps(assert, actualMap(), expectedMap([ - '../coffee/foo.coffee', - '/bar.coffee', - 'http://www.example.com/baz.coffee' - ])); - - util.assertEqualMaps(assert, actualMap(''), expectedMap([ - '../coffee/foo.coffee', - '/bar.coffee', - 'http://www.example.com/baz.coffee' - ])); - - util.assertEqualMaps(assert, actualMap('.'), expectedMap([ - '../coffee/foo.coffee', - '/bar.coffee', - 'http://www.example.com/baz.coffee' - ])); - - util.assertEqualMaps(assert, actualMap('./'), expectedMap([ - '../coffee/foo.coffee', - '/bar.coffee', - 'http://www.example.com/baz.coffee' - ])); - }; - - exports['test applySourceMap name handling'] = function (assert, util) { - // Imagine some CoffeeScript code being compiled into JavaScript and then - // minified. - - var assertName = function(coffeeName, jsName, expectedName) { - var minifiedMap = new SourceMapGenerator({ - file: 'test.js.min' - }); - minifiedMap.addMapping({ - generated: { line: 1, column: 4 }, - original: { line: 1, column: 4 }, - source: 'test.js', - name: jsName - }); - - var coffeeMap = new SourceMapGenerator({ - file: 'test.js' - }); - coffeeMap.addMapping({ - generated: { line: 1, column: 4 }, - original: { line: 1, column: 0 }, - source: 'test.coffee', - name: coffeeName - }); - - minifiedMap.applySourceMap(new SourceMapConsumer(coffeeMap.toJSON())); - - new SourceMapConsumer(minifiedMap.toJSON()).eachMapping(function(mapping) { - assert.equal(mapping.name, expectedName); - }); - }; - - // `foo = 1` -> `var foo = 1;` -> `var a=1` - // CoffeeScript doesn’t rename variables, so there’s no need for it to - // provide names in its source maps. Minifiers do rename variables and - // therefore do provide names in their source maps. So that name should be - // retained if the original map lacks names. - assertName(null, 'foo', 'foo'); - - // `foo = 1` -> `var coffee$foo = 1;` -> `var a=1` - // Imagine that CoffeeScript prefixed all variables with `coffee$`. Even - // though the minifier then also provides a name, the original name is - // what corresponds to the source. - assertName('foo', 'coffee$foo', 'foo'); - - // `foo = 1` -> `var coffee$foo = 1;` -> `var coffee$foo=1` - // Minifiers can turn off variable mangling. Then there’s no need to - // provide names in the source map, but the names from the original map are - // still needed. - assertName('foo', null, 'foo'); - - // `foo = 1` -> `var foo = 1;` -> `var foo=1` - // No renaming at all. - assertName(null, null, null); - }; - - exports['test sorting with duplicate generated mappings'] = function (assert, util) { - var map = new SourceMapGenerator({ - file: 'test.js' - }); - map.addMapping({ - generated: { line: 3, column: 0 }, - original: { line: 2, column: 0 }, - source: 'a.js' - }); - map.addMapping({ - generated: { line: 2, column: 0 } - }); - map.addMapping({ - generated: { line: 2, column: 0 } - }); - map.addMapping({ - generated: { line: 1, column: 0 }, - original: { line: 1, column: 0 }, - source: 'a.js' - }); - - util.assertEqualMaps(assert, map.toJSON(), { - version: 3, - file: 'test.js', - sources: ['a.js'], - names: [], - mappings: 'AAAA;A;AACA' - }); - }; - - exports['test ignore duplicate mappings.'] = function (assert, util) { - var init = { file: 'min.js', sourceRoot: '/the/root' }; - var map1, map2; - - // null original source location - var nullMapping1 = { - generated: { line: 1, column: 0 } - }; - var nullMapping2 = { - generated: { line: 2, column: 2 } - }; - - map1 = new SourceMapGenerator(init); - map2 = new SourceMapGenerator(init); - - map1.addMapping(nullMapping1); - map1.addMapping(nullMapping1); - - map2.addMapping(nullMapping1); - - util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); - - map1.addMapping(nullMapping2); - map1.addMapping(nullMapping1); - - map2.addMapping(nullMapping2); - - util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); - - // original source location - var srcMapping1 = { - generated: { line: 1, column: 0 }, - original: { line: 11, column: 0 }, - source: 'srcMapping1.js' - }; - var srcMapping2 = { - generated: { line: 2, column: 2 }, - original: { line: 11, column: 0 }, - source: 'srcMapping2.js' - }; - - map1 = new SourceMapGenerator(init); - map2 = new SourceMapGenerator(init); - - map1.addMapping(srcMapping1); - map1.addMapping(srcMapping1); - - map2.addMapping(srcMapping1); - - util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); - - map1.addMapping(srcMapping2); - map1.addMapping(srcMapping1); - - map2.addMapping(srcMapping2); - - util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); - - // full original source and name information - var fullMapping1 = { - generated: { line: 1, column: 0 }, - original: { line: 11, column: 0 }, - source: 'fullMapping1.js', - name: 'fullMapping1' - }; - var fullMapping2 = { - generated: { line: 2, column: 2 }, - original: { line: 11, column: 0 }, - source: 'fullMapping2.js', - name: 'fullMapping2' - }; - - map1 = new SourceMapGenerator(init); - map2 = new SourceMapGenerator(init); - - map1.addMapping(fullMapping1); - map1.addMapping(fullMapping1); - - map2.addMapping(fullMapping1); - - util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); - - map1.addMapping(fullMapping2); - map1.addMapping(fullMapping1); - - map2.addMapping(fullMapping2); - - util.assertEqualMaps(assert, map1.toJSON(), map2.toJSON()); - }; - - exports['test github issue #72, check for duplicate names or sources'] = function (assert, util) { - var map = new SourceMapGenerator({ - file: 'test.js' - }); - map.addMapping({ - generated: { line: 1, column: 1 }, - original: { line: 2, column: 2 }, - source: 'a.js', - name: 'foo' - }); - map.addMapping({ - generated: { line: 3, column: 3 }, - original: { line: 4, column: 4 }, - source: 'a.js', - name: 'foo' - }); - util.assertEqualMaps(assert, map.toJSON(), { - version: 3, - file: 'test.js', - sources: ['a.js'], - names: ['foo'], - mappings: 'CACEA;;GAEEA' - }); - }; - - exports['test setting sourcesContent to null when already null'] = function (assert, util) { - var smg = new SourceMapGenerator({ file: "foo.js" }); - assert.doesNotThrow(function() { - smg.setSourceContent("bar.js", null); - }); - }; - -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-node.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-node.js deleted file mode 100644 index 139af4e..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-node.js +++ /dev/null @@ -1,612 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - var SourceMapGenerator = require('../../lib/source-map/source-map-generator').SourceMapGenerator; - var SourceMapConsumer = require('../../lib/source-map/source-map-consumer').SourceMapConsumer; - var SourceNode = require('../../lib/source-map/source-node').SourceNode; - - function forEachNewline(fn) { - return function (assert, util) { - ['\n', '\r\n'].forEach(fn.bind(null, assert, util)); - } - } - - exports['test .add()'] = function (assert, util) { - var node = new SourceNode(null, null, null); - - // Adding a string works. - node.add('function noop() {}'); - - // Adding another source node works. - node.add(new SourceNode(null, null, null)); - - // Adding an array works. - node.add(['function foo() {', - new SourceNode(null, null, null, - 'return 10;'), - '}']); - - // Adding other stuff doesn't. - assert.throws(function () { - node.add({}); - }); - assert.throws(function () { - node.add(function () {}); - }); - }; - - exports['test .prepend()'] = function (assert, util) { - var node = new SourceNode(null, null, null); - - // Prepending a string works. - node.prepend('function noop() {}'); - assert.equal(node.children[0], 'function noop() {}'); - assert.equal(node.children.length, 1); - - // Prepending another source node works. - node.prepend(new SourceNode(null, null, null)); - assert.equal(node.children[0], ''); - assert.equal(node.children[1], 'function noop() {}'); - assert.equal(node.children.length, 2); - - // Prepending an array works. - node.prepend(['function foo() {', - new SourceNode(null, null, null, - 'return 10;'), - '}']); - assert.equal(node.children[0], 'function foo() {'); - assert.equal(node.children[1], 'return 10;'); - assert.equal(node.children[2], '}'); - assert.equal(node.children[3], ''); - assert.equal(node.children[4], 'function noop() {}'); - assert.equal(node.children.length, 5); - - // Prepending other stuff doesn't. - assert.throws(function () { - node.prepend({}); - }); - assert.throws(function () { - node.prepend(function () {}); - }); - }; - - exports['test .toString()'] = function (assert, util) { - assert.equal((new SourceNode(null, null, null, - ['function foo() {', - new SourceNode(null, null, null, 'return 10;'), - '}'])).toString(), - 'function foo() {return 10;}'); - }; - - exports['test .join()'] = function (assert, util) { - assert.equal((new SourceNode(null, null, null, - ['a', 'b', 'c', 'd'])).join(', ').toString(), - 'a, b, c, d'); - }; - - exports['test .walk()'] = function (assert, util) { - var node = new SourceNode(null, null, null, - ['(function () {\n', - ' ', new SourceNode(1, 0, 'a.js', ['someCall()']), ';\n', - ' ', new SourceNode(2, 0, 'b.js', ['if (foo) bar()']), ';\n', - '}());']); - var expected = [ - { str: '(function () {\n', source: null, line: null, column: null }, - { str: ' ', source: null, line: null, column: null }, - { str: 'someCall()', source: 'a.js', line: 1, column: 0 }, - { str: ';\n', source: null, line: null, column: null }, - { str: ' ', source: null, line: null, column: null }, - { str: 'if (foo) bar()', source: 'b.js', line: 2, column: 0 }, - { str: ';\n', source: null, line: null, column: null }, - { str: '}());', source: null, line: null, column: null }, - ]; - var i = 0; - node.walk(function (chunk, loc) { - assert.equal(expected[i].str, chunk); - assert.equal(expected[i].source, loc.source); - assert.equal(expected[i].line, loc.line); - assert.equal(expected[i].column, loc.column); - i++; - }); - }; - - exports['test .replaceRight'] = function (assert, util) { - var node; - - // Not nested - node = new SourceNode(null, null, null, 'hello world'); - node.replaceRight(/world/, 'universe'); - assert.equal(node.toString(), 'hello universe'); - - // Nested - node = new SourceNode(null, null, null, - [new SourceNode(null, null, null, 'hey sexy mama, '), - new SourceNode(null, null, null, 'want to kill all humans?')]); - node.replaceRight(/kill all humans/, 'watch Futurama'); - assert.equal(node.toString(), 'hey sexy mama, want to watch Futurama?'); - }; - - exports['test .toStringWithSourceMap()'] = forEachNewline(function (assert, util, nl) { - var node = new SourceNode(null, null, null, - ['(function () {' + nl, - ' ', - new SourceNode(1, 0, 'a.js', 'someCall', 'originalCall'), - new SourceNode(1, 8, 'a.js', '()'), - ';' + nl, - ' ', new SourceNode(2, 0, 'b.js', ['if (foo) bar()']), ';' + nl, - '}());']); - var result = node.toStringWithSourceMap({ - file: 'foo.js' - }); - - assert.equal(result.code, [ - '(function () {', - ' someCall();', - ' if (foo) bar();', - '}());' - ].join(nl)); - - var map = result.map; - var mapWithoutOptions = node.toStringWithSourceMap().map; - - assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); - assert.ok(mapWithoutOptions instanceof SourceMapGenerator, 'mapWithoutOptions instanceof SourceMapGenerator'); - assert.ok(!('file' in mapWithoutOptions)); - mapWithoutOptions._file = 'foo.js'; - util.assertEqualMaps(assert, map.toJSON(), mapWithoutOptions.toJSON()); - - map = new SourceMapConsumer(map.toString()); - - var actual; - - actual = map.originalPositionFor({ - line: 1, - column: 4 - }); - assert.equal(actual.source, null); - assert.equal(actual.line, null); - assert.equal(actual.column, null); - - actual = map.originalPositionFor({ - line: 2, - column: 2 - }); - assert.equal(actual.source, 'a.js'); - assert.equal(actual.line, 1); - assert.equal(actual.column, 0); - assert.equal(actual.name, 'originalCall'); - - actual = map.originalPositionFor({ - line: 3, - column: 2 - }); - assert.equal(actual.source, 'b.js'); - assert.equal(actual.line, 2); - assert.equal(actual.column, 0); - - actual = map.originalPositionFor({ - line: 3, - column: 16 - }); - assert.equal(actual.source, null); - assert.equal(actual.line, null); - assert.equal(actual.column, null); - - actual = map.originalPositionFor({ - line: 4, - column: 2 - }); - assert.equal(actual.source, null); - assert.equal(actual.line, null); - assert.equal(actual.column, null); - }); - - exports['test .fromStringWithSourceMap()'] = forEachNewline(function (assert, util, nl) { - var testCode = util.testGeneratedCode.replace(/\n/g, nl); - var node = SourceNode.fromStringWithSourceMap( - testCode, - new SourceMapConsumer(util.testMap)); - - var result = node.toStringWithSourceMap({ - file: 'min.js' - }); - var map = result.map; - var code = result.code; - - assert.equal(code, testCode); - assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); - map = map.toJSON(); - assert.equal(map.version, util.testMap.version); - assert.equal(map.file, util.testMap.file); - assert.equal(map.mappings, util.testMap.mappings); - }); - - exports['test .fromStringWithSourceMap() empty map'] = forEachNewline(function (assert, util, nl) { - var node = SourceNode.fromStringWithSourceMap( - util.testGeneratedCode.replace(/\n/g, nl), - new SourceMapConsumer(util.emptyMap)); - var result = node.toStringWithSourceMap({ - file: 'min.js' - }); - var map = result.map; - var code = result.code; - - assert.equal(code, util.testGeneratedCode.replace(/\n/g, nl)); - assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); - map = map.toJSON(); - assert.equal(map.version, util.emptyMap.version); - assert.equal(map.file, util.emptyMap.file); - assert.equal(map.mappings.length, util.emptyMap.mappings.length); - assert.equal(map.mappings, util.emptyMap.mappings); - }); - - exports['test .fromStringWithSourceMap() complex version'] = forEachNewline(function (assert, util, nl) { - var input = new SourceNode(null, null, null, [ - "(function() {" + nl, - " var Test = {};" + nl, - " ", new SourceNode(1, 0, "a.js", "Test.A = { value: 1234 };" + nl), - " ", new SourceNode(2, 0, "a.js", "Test.A.x = 'xyz';"), nl, - "}());" + nl, - "/* Generated Source */"]); - input = input.toStringWithSourceMap({ - file: 'foo.js' - }); - - var node = SourceNode.fromStringWithSourceMap( - input.code, - new SourceMapConsumer(input.map.toString())); - - var result = node.toStringWithSourceMap({ - file: 'foo.js' - }); - var map = result.map; - var code = result.code; - - assert.equal(code, input.code); - assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); - map = map.toJSON(); - var inputMap = input.map.toJSON(); - util.assertEqualMaps(assert, map, inputMap); - }); - - exports['test .fromStringWithSourceMap() third argument'] = function (assert, util) { - // Assume the following directory structure: - // - // http://foo.org/ - // bar.coffee - // app/ - // coffee/ - // foo.coffee - // coffeeBundle.js # Made from {foo,bar,baz}.coffee - // maps/ - // coffeeBundle.js.map - // js/ - // foo.js - // public/ - // app.js # Made from {foo,coffeeBundle}.js - // app.js.map - // - // http://www.example.com/ - // baz.coffee - - var coffeeBundle = new SourceNode(1, 0, 'foo.coffee', 'foo(coffee);\n'); - coffeeBundle.setSourceContent('foo.coffee', 'foo coffee'); - coffeeBundle.add(new SourceNode(2, 0, '/bar.coffee', 'bar(coffee);\n')); - coffeeBundle.add(new SourceNode(3, 0, 'http://www.example.com/baz.coffee', 'baz(coffee);')); - coffeeBundle = coffeeBundle.toStringWithSourceMap({ - file: 'foo.js', - sourceRoot: '..' - }); - - var foo = new SourceNode(1, 0, 'foo.js', 'foo(js);'); - - var test = function(relativePath, expectedSources) { - var app = new SourceNode(); - app.add(SourceNode.fromStringWithSourceMap( - coffeeBundle.code, - new SourceMapConsumer(coffeeBundle.map.toString()), - relativePath)); - app.add(foo); - var i = 0; - app.walk(function (chunk, loc) { - assert.equal(loc.source, expectedSources[i]); - i++; - }); - app.walkSourceContents(function (sourceFile, sourceContent) { - assert.equal(sourceFile, expectedSources[0]); - assert.equal(sourceContent, 'foo coffee'); - }) - }; - - test('../coffee/maps', [ - '../coffee/foo.coffee', - '/bar.coffee', - 'http://www.example.com/baz.coffee', - 'foo.js' - ]); - - // If the third parameter is omitted or set to the current working - // directory we get incorrect source paths: - - test(undefined, [ - '../foo.coffee', - '/bar.coffee', - 'http://www.example.com/baz.coffee', - 'foo.js' - ]); - - test('', [ - '../foo.coffee', - '/bar.coffee', - 'http://www.example.com/baz.coffee', - 'foo.js' - ]); - - test('.', [ - '../foo.coffee', - '/bar.coffee', - 'http://www.example.com/baz.coffee', - 'foo.js' - ]); - - test('./', [ - '../foo.coffee', - '/bar.coffee', - 'http://www.example.com/baz.coffee', - 'foo.js' - ]); - }; - - exports['test .toStringWithSourceMap() merging duplicate mappings'] = forEachNewline(function (assert, util, nl) { - var input = new SourceNode(null, null, null, [ - new SourceNode(1, 0, "a.js", "(function"), - new SourceNode(1, 0, "a.js", "() {" + nl), - " ", - new SourceNode(1, 0, "a.js", "var Test = "), - new SourceNode(1, 0, "b.js", "{};" + nl), - new SourceNode(2, 0, "b.js", "Test"), - new SourceNode(2, 0, "b.js", ".A", "A"), - new SourceNode(2, 20, "b.js", " = { value: ", "A"), - "1234", - new SourceNode(2, 40, "b.js", " };" + nl, "A"), - "}());" + nl, - "/* Generated Source */" - ]); - input = input.toStringWithSourceMap({ - file: 'foo.js' - }); - - assert.equal(input.code, [ - "(function() {", - " var Test = {};", - "Test.A = { value: 1234 };", - "}());", - "/* Generated Source */" - ].join(nl)) - - var correctMap = new SourceMapGenerator({ - file: 'foo.js' - }); - correctMap.addMapping({ - generated: { line: 1, column: 0 }, - source: 'a.js', - original: { line: 1, column: 0 } - }); - // Here is no need for a empty mapping, - // because mappings ends at eol - correctMap.addMapping({ - generated: { line: 2, column: 2 }, - source: 'a.js', - original: { line: 1, column: 0 } - }); - correctMap.addMapping({ - generated: { line: 2, column: 13 }, - source: 'b.js', - original: { line: 1, column: 0 } - }); - correctMap.addMapping({ - generated: { line: 3, column: 0 }, - source: 'b.js', - original: { line: 2, column: 0 } - }); - correctMap.addMapping({ - generated: { line: 3, column: 4 }, - source: 'b.js', - name: 'A', - original: { line: 2, column: 0 } - }); - correctMap.addMapping({ - generated: { line: 3, column: 6 }, - source: 'b.js', - name: 'A', - original: { line: 2, column: 20 } - }); - // This empty mapping is required, - // because there is a hole in the middle of the line - correctMap.addMapping({ - generated: { line: 3, column: 18 } - }); - correctMap.addMapping({ - generated: { line: 3, column: 22 }, - source: 'b.js', - name: 'A', - original: { line: 2, column: 40 } - }); - // Here is no need for a empty mapping, - // because mappings ends at eol - - var inputMap = input.map.toJSON(); - correctMap = correctMap.toJSON(); - util.assertEqualMaps(assert, inputMap, correctMap); - }); - - exports['test .toStringWithSourceMap() multi-line SourceNodes'] = forEachNewline(function (assert, util, nl) { - var input = new SourceNode(null, null, null, [ - new SourceNode(1, 0, "a.js", "(function() {" + nl + "var nextLine = 1;" + nl + "anotherLine();" + nl), - new SourceNode(2, 2, "b.js", "Test.call(this, 123);" + nl), - new SourceNode(2, 2, "b.js", "this['stuff'] = 'v';" + nl), - new SourceNode(2, 2, "b.js", "anotherLine();" + nl), - "/*" + nl + "Generated" + nl + "Source" + nl + "*/" + nl, - new SourceNode(3, 4, "c.js", "anotherLine();" + nl), - "/*" + nl + "Generated" + nl + "Source" + nl + "*/" - ]); - input = input.toStringWithSourceMap({ - file: 'foo.js' - }); - - assert.equal(input.code, [ - "(function() {", - "var nextLine = 1;", - "anotherLine();", - "Test.call(this, 123);", - "this['stuff'] = 'v';", - "anotherLine();", - "/*", - "Generated", - "Source", - "*/", - "anotherLine();", - "/*", - "Generated", - "Source", - "*/" - ].join(nl)); - - var correctMap = new SourceMapGenerator({ - file: 'foo.js' - }); - correctMap.addMapping({ - generated: { line: 1, column: 0 }, - source: 'a.js', - original: { line: 1, column: 0 } - }); - correctMap.addMapping({ - generated: { line: 2, column: 0 }, - source: 'a.js', - original: { line: 1, column: 0 } - }); - correctMap.addMapping({ - generated: { line: 3, column: 0 }, - source: 'a.js', - original: { line: 1, column: 0 } - }); - correctMap.addMapping({ - generated: { line: 4, column: 0 }, - source: 'b.js', - original: { line: 2, column: 2 } - }); - correctMap.addMapping({ - generated: { line: 5, column: 0 }, - source: 'b.js', - original: { line: 2, column: 2 } - }); - correctMap.addMapping({ - generated: { line: 6, column: 0 }, - source: 'b.js', - original: { line: 2, column: 2 } - }); - correctMap.addMapping({ - generated: { line: 11, column: 0 }, - source: 'c.js', - original: { line: 3, column: 4 } - }); - - var inputMap = input.map.toJSON(); - correctMap = correctMap.toJSON(); - util.assertEqualMaps(assert, inputMap, correctMap); - }); - - exports['test .toStringWithSourceMap() with empty string'] = function (assert, util) { - var node = new SourceNode(1, 0, 'empty.js', ''); - var result = node.toStringWithSourceMap(); - assert.equal(result.code, ''); - }; - - exports['test .toStringWithSourceMap() with consecutive newlines'] = forEachNewline(function (assert, util, nl) { - var input = new SourceNode(null, null, null, [ - "/***/" + nl + nl, - new SourceNode(1, 0, "a.js", "'use strict';" + nl), - new SourceNode(2, 0, "a.js", "a();"), - ]); - input = input.toStringWithSourceMap({ - file: 'foo.js' - }); - - assert.equal(input.code, [ - "/***/", - "", - "'use strict';", - "a();", - ].join(nl)); - - var correctMap = new SourceMapGenerator({ - file: 'foo.js' - }); - correctMap.addMapping({ - generated: { line: 3, column: 0 }, - source: 'a.js', - original: { line: 1, column: 0 } - }); - correctMap.addMapping({ - generated: { line: 4, column: 0 }, - source: 'a.js', - original: { line: 2, column: 0 } - }); - - var inputMap = input.map.toJSON(); - correctMap = correctMap.toJSON(); - util.assertEqualMaps(assert, inputMap, correctMap); - }); - - exports['test setSourceContent with toStringWithSourceMap'] = function (assert, util) { - var aNode = new SourceNode(1, 1, 'a.js', 'a'); - aNode.setSourceContent('a.js', 'someContent'); - var node = new SourceNode(null, null, null, - ['(function () {\n', - ' ', aNode, - ' ', new SourceNode(1, 1, 'b.js', 'b'), - '}());']); - node.setSourceContent('b.js', 'otherContent'); - var map = node.toStringWithSourceMap({ - file: 'foo.js' - }).map; - - assert.ok(map instanceof SourceMapGenerator, 'map instanceof SourceMapGenerator'); - map = new SourceMapConsumer(map.toString()); - - assert.equal(map.sources.length, 2); - assert.equal(map.sources[0], 'a.js'); - assert.equal(map.sources[1], 'b.js'); - assert.equal(map.sourcesContent.length, 2); - assert.equal(map.sourcesContent[0], 'someContent'); - assert.equal(map.sourcesContent[1], 'otherContent'); - }; - - exports['test walkSourceContents'] = function (assert, util) { - var aNode = new SourceNode(1, 1, 'a.js', 'a'); - aNode.setSourceContent('a.js', 'someContent'); - var node = new SourceNode(null, null, null, - ['(function () {\n', - ' ', aNode, - ' ', new SourceNode(1, 1, 'b.js', 'b'), - '}());']); - node.setSourceContent('b.js', 'otherContent'); - var results = []; - node.walkSourceContents(function (sourceFile, sourceContent) { - results.push([sourceFile, sourceContent]); - }); - assert.equal(results.length, 2); - assert.equal(results[0][0], 'a.js'); - assert.equal(results[0][1], 'someContent'); - assert.equal(results[1][0], 'b.js'); - assert.equal(results[1][1], 'otherContent'); - }; -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-util.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-util.js deleted file mode 100644 index 997d1a2..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/test-util.js +++ /dev/null @@ -1,216 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2014 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - var libUtil = require('../../lib/source-map/util'); - - exports['test urls'] = function (assert, util) { - var assertUrl = function (url) { - assert.equal(url, libUtil.urlGenerate(libUtil.urlParse(url))); - }; - assertUrl('http://'); - assertUrl('http://www.example.com'); - assertUrl('http://user:pass@www.example.com'); - assertUrl('http://www.example.com:80'); - assertUrl('http://www.example.com/'); - assertUrl('http://www.example.com/foo/bar'); - assertUrl('http://www.example.com/foo/bar/'); - assertUrl('http://user:pass@www.example.com:80/foo/bar/'); - - assertUrl('//'); - assertUrl('//www.example.com'); - assertUrl('file:///www.example.com'); - - assert.equal(libUtil.urlParse(''), null); - assert.equal(libUtil.urlParse('.'), null); - assert.equal(libUtil.urlParse('..'), null); - assert.equal(libUtil.urlParse('a'), null); - assert.equal(libUtil.urlParse('a/b'), null); - assert.equal(libUtil.urlParse('a//b'), null); - assert.equal(libUtil.urlParse('/a'), null); - assert.equal(libUtil.urlParse('data:foo,bar'), null); - }; - - exports['test normalize()'] = function (assert, util) { - assert.equal(libUtil.normalize('/..'), '/'); - assert.equal(libUtil.normalize('/../'), '/'); - assert.equal(libUtil.normalize('/../../../..'), '/'); - assert.equal(libUtil.normalize('/../../../../a/b/c'), '/a/b/c'); - assert.equal(libUtil.normalize('/a/b/c/../../../d/../../e'), '/e'); - - assert.equal(libUtil.normalize('..'), '..'); - assert.equal(libUtil.normalize('../'), '../'); - assert.equal(libUtil.normalize('../../a/'), '../../a/'); - assert.equal(libUtil.normalize('a/..'), '.'); - assert.equal(libUtil.normalize('a/../../..'), '../..'); - - assert.equal(libUtil.normalize('/.'), '/'); - assert.equal(libUtil.normalize('/./'), '/'); - assert.equal(libUtil.normalize('/./././.'), '/'); - assert.equal(libUtil.normalize('/././././a/b/c'), '/a/b/c'); - assert.equal(libUtil.normalize('/a/b/c/./././d/././e'), '/a/b/c/d/e'); - - assert.equal(libUtil.normalize(''), '.'); - assert.equal(libUtil.normalize('.'), '.'); - assert.equal(libUtil.normalize('./'), '.'); - assert.equal(libUtil.normalize('././a'), 'a'); - assert.equal(libUtil.normalize('a/./'), 'a/'); - assert.equal(libUtil.normalize('a/././.'), 'a'); - - assert.equal(libUtil.normalize('/a/b//c////d/////'), '/a/b/c/d/'); - assert.equal(libUtil.normalize('///a/b//c////d/////'), '///a/b/c/d/'); - assert.equal(libUtil.normalize('a/b//c////d'), 'a/b/c/d'); - - assert.equal(libUtil.normalize('.///.././../a/b//./..'), '../../a') - - assert.equal(libUtil.normalize('http://www.example.com'), 'http://www.example.com'); - assert.equal(libUtil.normalize('http://www.example.com/'), 'http://www.example.com/'); - assert.equal(libUtil.normalize('http://www.example.com/./..//a/b/c/.././d//'), 'http://www.example.com/a/b/d/'); - }; - - exports['test join()'] = function (assert, util) { - assert.equal(libUtil.join('a', 'b'), 'a/b'); - assert.equal(libUtil.join('a/', 'b'), 'a/b'); - assert.equal(libUtil.join('a//', 'b'), 'a/b'); - assert.equal(libUtil.join('a', 'b/'), 'a/b/'); - assert.equal(libUtil.join('a', 'b//'), 'a/b/'); - assert.equal(libUtil.join('a/', '/b'), '/b'); - assert.equal(libUtil.join('a//', '//b'), '//b'); - - assert.equal(libUtil.join('a', '..'), '.'); - assert.equal(libUtil.join('a', '../b'), 'b'); - assert.equal(libUtil.join('a/b', '../c'), 'a/c'); - - assert.equal(libUtil.join('a', '.'), 'a'); - assert.equal(libUtil.join('a', './b'), 'a/b'); - assert.equal(libUtil.join('a/b', './c'), 'a/b/c'); - - assert.equal(libUtil.join('a', 'http://www.example.com'), 'http://www.example.com'); - assert.equal(libUtil.join('a', 'data:foo,bar'), 'data:foo,bar'); - - - assert.equal(libUtil.join('', 'b'), 'b'); - assert.equal(libUtil.join('.', 'b'), 'b'); - assert.equal(libUtil.join('', 'b/'), 'b/'); - assert.equal(libUtil.join('.', 'b/'), 'b/'); - assert.equal(libUtil.join('', 'b//'), 'b/'); - assert.equal(libUtil.join('.', 'b//'), 'b/'); - - assert.equal(libUtil.join('', '..'), '..'); - assert.equal(libUtil.join('.', '..'), '..'); - assert.equal(libUtil.join('', '../b'), '../b'); - assert.equal(libUtil.join('.', '../b'), '../b'); - - assert.equal(libUtil.join('', '.'), '.'); - assert.equal(libUtil.join('.', '.'), '.'); - assert.equal(libUtil.join('', './b'), 'b'); - assert.equal(libUtil.join('.', './b'), 'b'); - - assert.equal(libUtil.join('', 'http://www.example.com'), 'http://www.example.com'); - assert.equal(libUtil.join('.', 'http://www.example.com'), 'http://www.example.com'); - assert.equal(libUtil.join('', 'data:foo,bar'), 'data:foo,bar'); - assert.equal(libUtil.join('.', 'data:foo,bar'), 'data:foo,bar'); - - - assert.equal(libUtil.join('..', 'b'), '../b'); - assert.equal(libUtil.join('..', 'b/'), '../b/'); - assert.equal(libUtil.join('..', 'b//'), '../b/'); - - assert.equal(libUtil.join('..', '..'), '../..'); - assert.equal(libUtil.join('..', '../b'), '../../b'); - - assert.equal(libUtil.join('..', '.'), '..'); - assert.equal(libUtil.join('..', './b'), '../b'); - - assert.equal(libUtil.join('..', 'http://www.example.com'), 'http://www.example.com'); - assert.equal(libUtil.join('..', 'data:foo,bar'), 'data:foo,bar'); - - - assert.equal(libUtil.join('a', ''), 'a'); - assert.equal(libUtil.join('a', '.'), 'a'); - assert.equal(libUtil.join('a/', ''), 'a'); - assert.equal(libUtil.join('a/', '.'), 'a'); - assert.equal(libUtil.join('a//', ''), 'a'); - assert.equal(libUtil.join('a//', '.'), 'a'); - assert.equal(libUtil.join('/a', ''), '/a'); - assert.equal(libUtil.join('/a', '.'), '/a'); - assert.equal(libUtil.join('', ''), '.'); - assert.equal(libUtil.join('.', ''), '.'); - assert.equal(libUtil.join('.', ''), '.'); - assert.equal(libUtil.join('.', '.'), '.'); - assert.equal(libUtil.join('..', ''), '..'); - assert.equal(libUtil.join('..', '.'), '..'); - assert.equal(libUtil.join('http://foo.org/a', ''), 'http://foo.org/a'); - assert.equal(libUtil.join('http://foo.org/a', '.'), 'http://foo.org/a'); - assert.equal(libUtil.join('http://foo.org/a/', ''), 'http://foo.org/a'); - assert.equal(libUtil.join('http://foo.org/a/', '.'), 'http://foo.org/a'); - assert.equal(libUtil.join('http://foo.org/a//', ''), 'http://foo.org/a'); - assert.equal(libUtil.join('http://foo.org/a//', '.'), 'http://foo.org/a'); - assert.equal(libUtil.join('http://foo.org', ''), 'http://foo.org/'); - assert.equal(libUtil.join('http://foo.org', '.'), 'http://foo.org/'); - assert.equal(libUtil.join('http://foo.org/', ''), 'http://foo.org/'); - assert.equal(libUtil.join('http://foo.org/', '.'), 'http://foo.org/'); - assert.equal(libUtil.join('http://foo.org//', ''), 'http://foo.org/'); - assert.equal(libUtil.join('http://foo.org//', '.'), 'http://foo.org/'); - assert.equal(libUtil.join('//www.example.com', ''), '//www.example.com/'); - assert.equal(libUtil.join('//www.example.com', '.'), '//www.example.com/'); - - - assert.equal(libUtil.join('http://foo.org/a', 'b'), 'http://foo.org/a/b'); - assert.equal(libUtil.join('http://foo.org/a/', 'b'), 'http://foo.org/a/b'); - assert.equal(libUtil.join('http://foo.org/a//', 'b'), 'http://foo.org/a/b'); - assert.equal(libUtil.join('http://foo.org/a', 'b/'), 'http://foo.org/a/b/'); - assert.equal(libUtil.join('http://foo.org/a', 'b//'), 'http://foo.org/a/b/'); - assert.equal(libUtil.join('http://foo.org/a/', '/b'), 'http://foo.org/b'); - assert.equal(libUtil.join('http://foo.org/a//', '//b'), 'http://b'); - - assert.equal(libUtil.join('http://foo.org/a', '..'), 'http://foo.org/'); - assert.equal(libUtil.join('http://foo.org/a', '../b'), 'http://foo.org/b'); - assert.equal(libUtil.join('http://foo.org/a/b', '../c'), 'http://foo.org/a/c'); - - assert.equal(libUtil.join('http://foo.org/a', '.'), 'http://foo.org/a'); - assert.equal(libUtil.join('http://foo.org/a', './b'), 'http://foo.org/a/b'); - assert.equal(libUtil.join('http://foo.org/a/b', './c'), 'http://foo.org/a/b/c'); - - assert.equal(libUtil.join('http://foo.org/a', 'http://www.example.com'), 'http://www.example.com'); - assert.equal(libUtil.join('http://foo.org/a', 'data:foo,bar'), 'data:foo,bar'); - - - assert.equal(libUtil.join('http://foo.org', 'a'), 'http://foo.org/a'); - assert.equal(libUtil.join('http://foo.org/', 'a'), 'http://foo.org/a'); - assert.equal(libUtil.join('http://foo.org//', 'a'), 'http://foo.org/a'); - assert.equal(libUtil.join('http://foo.org', '/a'), 'http://foo.org/a'); - assert.equal(libUtil.join('http://foo.org/', '/a'), 'http://foo.org/a'); - assert.equal(libUtil.join('http://foo.org//', '/a'), 'http://foo.org/a'); - - - assert.equal(libUtil.join('http://', 'www.example.com'), 'http://www.example.com'); - assert.equal(libUtil.join('file:///', 'www.example.com'), 'file:///www.example.com'); - assert.equal(libUtil.join('http://', 'ftp://example.com'), 'ftp://example.com'); - - assert.equal(libUtil.join('http://www.example.com', '//foo.org/bar'), 'http://foo.org/bar'); - assert.equal(libUtil.join('//www.example.com', '//foo.org/bar'), '//foo.org/bar'); - }; - - // TODO Issue #128: Define and test this function properly. - exports['test relative()'] = function (assert, util) { - assert.equal(libUtil.relative('/the/root', '/the/root/one.js'), 'one.js'); - assert.equal(libUtil.relative('/the/root', '/the/rootone.js'), '/the/rootone.js'); - - assert.equal(libUtil.relative('', '/the/root/one.js'), '/the/root/one.js'); - assert.equal(libUtil.relative('.', '/the/root/one.js'), '/the/root/one.js'); - assert.equal(libUtil.relative('', 'the/root/one.js'), 'the/root/one.js'); - assert.equal(libUtil.relative('.', 'the/root/one.js'), 'the/root/one.js'); - - assert.equal(libUtil.relative('/', '/the/root/one.js'), 'the/root/one.js'); - assert.equal(libUtil.relative('/', 'the/root/one.js'), 'the/root/one.js'); - }; - -}); diff --git a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/util.js b/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/util.js deleted file mode 100644 index c1a7388..0000000 --- a/node_modules/jsdom/node_modules/escodegen/node_modules/source-map/test/source-map/util.js +++ /dev/null @@ -1,299 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; -*- */ -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -if (typeof define !== 'function') { - var define = require('amdefine')(module, require); -} -define(function (require, exports, module) { - - var util = require('../../lib/source-map/util'); - - // This is a test mapping which maps functions from two different files - // (one.js and two.js) to a minified generated source. - // - // Here is one.js: - // - // ONE.foo = function (bar) { - // return baz(bar); - // }; - // - // Here is two.js: - // - // TWO.inc = function (n) { - // return n + 1; - // }; - // - // And here is the generated code (min.js): - // - // ONE.foo=function(a){return baz(a);}; - // TWO.inc=function(a){return a+1;}; - exports.testGeneratedCode = " ONE.foo=function(a){return baz(a);};\n"+ - " TWO.inc=function(a){return a+1;};"; - exports.testMap = { - version: 3, - file: 'min.js', - names: ['bar', 'baz', 'n'], - sources: ['one.js', 'two.js'], - sourceRoot: '/the/root', - mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA' - }; - exports.testMapNoSourceRoot = { - version: 3, - file: 'min.js', - names: ['bar', 'baz', 'n'], - sources: ['one.js', 'two.js'], - mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA' - }; - exports.testMapEmptySourceRoot = { - version: 3, - file: 'min.js', - names: ['bar', 'baz', 'n'], - sources: ['one.js', 'two.js'], - sourceRoot: '', - mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA' - }; - // This mapping is identical to above, but uses the indexed format instead. - exports.indexedTestMap = { - version: 3, - file: 'min.js', - sections: [ - { - offset: { - line: 0, - column: 0 - }, - map: { - version: 3, - sources: [ - "one.js" - ], - sourcesContent: [ - ' ONE.foo = function (bar) {\n' + - ' return baz(bar);\n' + - ' };', - ], - names: [ - "bar", - "baz" - ], - mappings: "CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID", - file: "min.js", - sourceRoot: "/the/root" - } - }, - { - offset: { - line: 1, - column: 0 - }, - map: { - version: 3, - sources: [ - "two.js" - ], - sourcesContent: [ - ' TWO.inc = function (n) {\n' + - ' return n + 1;\n' + - ' };' - ], - names: [ - "n" - ], - mappings: "CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOA", - file: "min.js", - sourceRoot: "/the/root" - } - } - ] - }; - exports.indexedTestMapDifferentSourceRoots = { - version: 3, - file: 'min.js', - sections: [ - { - offset: { - line: 0, - column: 0 - }, - map: { - version: 3, - sources: [ - "one.js" - ], - sourcesContent: [ - ' ONE.foo = function (bar) {\n' + - ' return baz(bar);\n' + - ' };', - ], - names: [ - "bar", - "baz" - ], - mappings: "CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID", - file: "min.js", - sourceRoot: "/the/root" - } - }, - { - offset: { - line: 1, - column: 0 - }, - map: { - version: 3, - sources: [ - "two.js" - ], - sourcesContent: [ - ' TWO.inc = function (n) {\n' + - ' return n + 1;\n' + - ' };' - ], - names: [ - "n" - ], - mappings: "CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOA", - file: "min.js", - sourceRoot: "/different/root" - } - } - ] - }; - exports.testMapWithSourcesContent = { - version: 3, - file: 'min.js', - names: ['bar', 'baz', 'n'], - sources: ['one.js', 'two.js'], - sourcesContent: [ - ' ONE.foo = function (bar) {\n' + - ' return baz(bar);\n' + - ' };', - ' TWO.inc = function (n) {\n' + - ' return n + 1;\n' + - ' };' - ], - sourceRoot: '/the/root', - mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA' - }; - exports.testMapRelativeSources = { - version: 3, - file: 'min.js', - names: ['bar', 'baz', 'n'], - sources: ['./one.js', './two.js'], - sourcesContent: [ - ' ONE.foo = function (bar) {\n' + - ' return baz(bar);\n' + - ' };', - ' TWO.inc = function (n) {\n' + - ' return n + 1;\n' + - ' };' - ], - sourceRoot: '/the/root', - mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA' - }; - exports.emptyMap = { - version: 3, - file: 'min.js', - names: [], - sources: [], - mappings: '' - }; - - - function assertMapping(generatedLine, generatedColumn, originalSource, - originalLine, originalColumn, name, map, assert, - dontTestGenerated, dontTestOriginal) { - if (!dontTestOriginal) { - var origMapping = map.originalPositionFor({ - line: generatedLine, - column: generatedColumn - }); - assert.equal(origMapping.name, name, - 'Incorrect name, expected ' + JSON.stringify(name) - + ', got ' + JSON.stringify(origMapping.name)); - assert.equal(origMapping.line, originalLine, - 'Incorrect line, expected ' + JSON.stringify(originalLine) - + ', got ' + JSON.stringify(origMapping.line)); - assert.equal(origMapping.column, originalColumn, - 'Incorrect column, expected ' + JSON.stringify(originalColumn) - + ', got ' + JSON.stringify(origMapping.column)); - - var expectedSource; - - if (originalSource && map.sourceRoot && originalSource.indexOf(map.sourceRoot) === 0) { - expectedSource = originalSource; - } else if (originalSource) { - expectedSource = map.sourceRoot - ? util.join(map.sourceRoot, originalSource) - : originalSource; - } else { - expectedSource = null; - } - - assert.equal(origMapping.source, expectedSource, - 'Incorrect source, expected ' + JSON.stringify(expectedSource) - + ', got ' + JSON.stringify(origMapping.source)); - } - - if (!dontTestGenerated) { - var genMapping = map.generatedPositionFor({ - source: originalSource, - line: originalLine, - column: originalColumn - }); - assert.equal(genMapping.line, generatedLine, - 'Incorrect line, expected ' + JSON.stringify(generatedLine) - + ', got ' + JSON.stringify(genMapping.line)); - assert.equal(genMapping.column, generatedColumn, - 'Incorrect column, expected ' + JSON.stringify(generatedColumn) - + ', got ' + JSON.stringify(genMapping.column)); - } - } - exports.assertMapping = assertMapping; - - function assertEqualMaps(assert, actualMap, expectedMap) { - assert.equal(actualMap.version, expectedMap.version, "version mismatch"); - assert.equal(actualMap.file, expectedMap.file, "file mismatch"); - assert.equal(actualMap.names.length, - expectedMap.names.length, - "names length mismatch: " + - actualMap.names.join(", ") + " != " + expectedMap.names.join(", ")); - for (var i = 0; i < actualMap.names.length; i++) { - assert.equal(actualMap.names[i], - expectedMap.names[i], - "names[" + i + "] mismatch: " + - actualMap.names.join(", ") + " != " + expectedMap.names.join(", ")); - } - assert.equal(actualMap.sources.length, - expectedMap.sources.length, - "sources length mismatch: " + - actualMap.sources.join(", ") + " != " + expectedMap.sources.join(", ")); - for (var i = 0; i < actualMap.sources.length; i++) { - assert.equal(actualMap.sources[i], - expectedMap.sources[i], - "sources[" + i + "] length mismatch: " + - actualMap.sources.join(", ") + " != " + expectedMap.sources.join(", ")); - } - assert.equal(actualMap.sourceRoot, - expectedMap.sourceRoot, - "sourceRoot mismatch: " + - actualMap.sourceRoot + " != " + expectedMap.sourceRoot); - assert.equal(actualMap.mappings, expectedMap.mappings, - "mappings mismatch:\nActual: " + actualMap.mappings + "\nExpected: " + expectedMap.mappings); - if (actualMap.sourcesContent) { - assert.equal(actualMap.sourcesContent.length, - expectedMap.sourcesContent.length, - "sourcesContent length mismatch"); - for (var i = 0; i < actualMap.sourcesContent.length; i++) { - assert.equal(actualMap.sourcesContent[i], - expectedMap.sourcesContent[i], - "sourcesContent[" + i + "] mismatch"); - } - } - } - exports.assertEqualMaps = assertEqualMaps; - -}); diff --git a/node_modules/jsdom/node_modules/escodegen/package.json b/node_modules/jsdom/node_modules/escodegen/package.json deleted file mode 100644 index b2984c9..0000000 --- a/node_modules/jsdom/node_modules/escodegen/package.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "name": "escodegen", - "description": "ECMAScript code generator", - "homepage": "http://github.com/estools/escodegen", - "main": "escodegen.js", - "bin": { - "esgenerate": "./bin/esgenerate.js", - "escodegen": "./bin/escodegen.js" - }, - "files": [ - "LICENSE.BSD", - "LICENSE.source-map", - "README.md", - "bin", - "escodegen.js", - "package.json" - ], - "version": "1.8.0", - "engines": { - "node": ">=0.12.0" - }, - "maintainers": [ - { - "name": "constellation", - "email": "utatane.tea@gmail.com" - }, - { - "name": "michaelficarra", - "email": "npm@michael.ficarra.me" - } - ], - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/estools/escodegen.git" - }, - "dependencies": { - "estraverse": "^1.9.1", - "esutils": "^2.0.2", - "esprima": "^2.7.1", - "optionator": "^0.8.1", - "source-map": "~0.2.0" - }, - "optionalDependencies": { - "source-map": "~0.2.0" - }, - "devDependencies": { - "acorn-6to5": "^0.11.1-25", - "bluebird": "^2.3.11", - "bower-registry-client": "^0.2.1", - "chai": "^1.10.0", - "commonjs-everywhere": "^0.9.7", - "gulp": "^3.8.10", - "gulp-eslint": "^0.2.0", - "gulp-mocha": "^2.0.0", - "semver": "^5.1.0" - }, - "license": "BSD-2-Clause", - "scripts": { - "test": "gulp travis", - "unit-test": "gulp test", - "lint": "gulp lint", - "release": "node tools/release.js", - "build-min": "cjsify -ma path: tools/entry-point.js > escodegen.browser.min.js", - "build": "cjsify -a path: tools/entry-point.js > escodegen.browser.js" - }, - "gitHead": "0e8280aa061a0dbefb32d277a05015baa7f3e7f2", - "bugs": { - "url": "https://github.com/estools/escodegen/issues" - }, - "_id": "escodegen@1.8.0", - "_shasum": "b246aae829ce73d59e2c55727359edd1c130a81b", - "_from": "escodegen@>=1.6.1 <2.0.0", - "_npmVersion": "2.14.4", - "_nodeVersion": "4.1.1", - "_npmUser": { - "name": "constellation", - "email": "utatane.tea@gmail.com" - }, - "dist": { - "shasum": "b246aae829ce73d59e2c55727359edd1c130a81b", - "tarball": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.0.tgz" - }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.0.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/htmlparser2/LICENSE b/node_modules/jsdom/node_modules/htmlparser2/LICENSE deleted file mode 100644 index 0a35e02..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/LICENSE +++ /dev/null @@ -1,18 +0,0 @@ -Copyright 2010, 2011, Chris Winberry . All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/htmlparser2/lib/CollectingHandler.js b/node_modules/jsdom/node_modules/htmlparser2/lib/CollectingHandler.js deleted file mode 100644 index 93d97a7..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/lib/CollectingHandler.js +++ /dev/null @@ -1,55 +0,0 @@ -module.exports = CollectingHandler; - -function CollectingHandler(cbs){ - this._cbs = cbs || {}; - this.events = []; -} - -var EVENTS = require("./").EVENTS; -Object.keys(EVENTS).forEach(function(name){ - if(EVENTS[name] === 0){ - name = "on" + name; - CollectingHandler.prototype[name] = function(){ - this.events.push([name]); - if(this._cbs[name]) this._cbs[name](); - }; - } else if(EVENTS[name] === 1){ - name = "on" + name; - CollectingHandler.prototype[name] = function(a){ - this.events.push([name, a]); - if(this._cbs[name]) this._cbs[name](a); - }; - } else if(EVENTS[name] === 2){ - name = "on" + name; - CollectingHandler.prototype[name] = function(a, b){ - this.events.push([name, a, b]); - if(this._cbs[name]) this._cbs[name](a, b); - }; - } else { - throw Error("wrong number of arguments"); - } -}); - -CollectingHandler.prototype.onreset = function(){ - this.events = []; - if(this._cbs.onreset) this._cbs.onreset(); -}; - -CollectingHandler.prototype.restart = function(){ - if(this._cbs.onreset) this._cbs.onreset(); - - for(var i = 0, len = this.events.length; i < len; i++){ - if(this._cbs[this.events[i][0]]){ - - var num = this.events[i].length; - - if(num === 1){ - this._cbs[this.events[i][0]](); - } else if(num === 2){ - this._cbs[this.events[i][0]](this.events[i][1]); - } else { - this._cbs[this.events[i][0]](this.events[i][1], this.events[i][2]); - } - } - } -}; diff --git a/node_modules/jsdom/node_modules/htmlparser2/lib/FeedHandler.js b/node_modules/jsdom/node_modules/htmlparser2/lib/FeedHandler.js deleted file mode 100644 index 329c94a..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/lib/FeedHandler.js +++ /dev/null @@ -1,95 +0,0 @@ -var index = require("./index.js"), - DomHandler = index.DomHandler, - DomUtils = index.DomUtils; - -//TODO: make this a streamable handler -function FeedHandler(callback, options){ - this.init(callback, options); -} - -require("inherits")(FeedHandler, DomHandler); - -FeedHandler.prototype.init = DomHandler; - -function getElements(what, where){ - return DomUtils.getElementsByTagName(what, where, true); -} -function getOneElement(what, where){ - return DomUtils.getElementsByTagName(what, where, true, 1)[0]; -} -function fetch(what, where, recurse){ - return DomUtils.getText( - DomUtils.getElementsByTagName(what, where, recurse, 1) - ).trim(); -} - -function addConditionally(obj, prop, what, where, recurse){ - var tmp = fetch(what, where, recurse); - if(tmp) obj[prop] = tmp; -} - -var isValidFeed = function(value){ - return value === "rss" || value === "feed" || value === "rdf:RDF"; -}; - -FeedHandler.prototype.onend = function(){ - var feed = {}, - feedRoot = getOneElement(isValidFeed, this.dom), - tmp, childs; - - if(feedRoot){ - if(feedRoot.name === "feed"){ - childs = feedRoot.children; - - feed.type = "atom"; - addConditionally(feed, "id", "id", childs); - addConditionally(feed, "title", "title", childs); - if((tmp = getOneElement("link", childs)) && (tmp = tmp.attribs) && (tmp = tmp.href)) feed.link = tmp; - addConditionally(feed, "description", "subtitle", childs); - if((tmp = fetch("updated", childs))) feed.updated = new Date(tmp); - addConditionally(feed, "author", "email", childs, true); - - feed.items = getElements("entry", childs).map(function(item){ - var entry = {}, tmp; - - item = item.children; - - addConditionally(entry, "id", "id", item); - addConditionally(entry, "title", "title", item); - if((tmp = getOneElement("link", item)) && (tmp = tmp.attribs) && (tmp = tmp.href)) entry.link = tmp; - if((tmp = fetch("summary", item) || fetch("content", item))) entry.description = tmp; - if((tmp = fetch("updated", item))) entry.pubDate = new Date(tmp); - return entry; - }); - } else { - childs = getOneElement("channel", feedRoot.children).children; - - feed.type = feedRoot.name.substr(0, 3); - feed.id = ""; - addConditionally(feed, "title", "title", childs); - addConditionally(feed, "link", "link", childs); - addConditionally(feed, "description", "description", childs); - if((tmp = fetch("lastBuildDate", childs))) feed.updated = new Date(tmp); - addConditionally(feed, "author", "managingEditor", childs, true); - - feed.items = getElements("item", feedRoot.children).map(function(item){ - var entry = {}, tmp; - - item = item.children; - - addConditionally(entry, "id", "guid", item); - addConditionally(entry, "title", "title", item); - addConditionally(entry, "link", "link", item); - addConditionally(entry, "description", "description", item); - if((tmp = fetch("pubDate", item))) entry.pubDate = new Date(tmp); - return entry; - }); - } - } - this.dom = feed; - DomHandler.prototype._handleCallback.call( - this, feedRoot ? null : Error("couldn't find root of feed") - ); -}; - -module.exports = FeedHandler; diff --git a/node_modules/jsdom/node_modules/htmlparser2/lib/Parser.js b/node_modules/jsdom/node_modules/htmlparser2/lib/Parser.js deleted file mode 100644 index 12db240..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/lib/Parser.js +++ /dev/null @@ -1,353 +0,0 @@ -var Tokenizer = require("./Tokenizer.js"); - -/* - Options: - - xmlMode: Disables the special behavior for script/style tags (false by default) - lowerCaseAttributeNames: call .toLowerCase for each attribute name (true if xmlMode is `false`) - lowerCaseTags: call .toLowerCase for each tag name (true if xmlMode is `false`) -*/ - -/* - Callbacks: - - oncdataend, - oncdatastart, - onclosetag, - oncomment, - oncommentend, - onerror, - onopentag, - onprocessinginstruction, - onreset, - ontext -*/ - -var formTags = { - input: true, - option: true, - optgroup: true, - select: true, - button: true, - datalist: true, - textarea: true -}; - -var openImpliesClose = { - tr : { tr:true, th:true, td:true }, - th : { th:true }, - td : { thead:true, th:true, td:true }, - body : { head:true, link:true, script:true }, - li : { li:true }, - p : { p:true }, - h1 : { p:true }, - h2 : { p:true }, - h3 : { p:true }, - h4 : { p:true }, - h5 : { p:true }, - h6 : { p:true }, - select : formTags, - input : formTags, - output : formTags, - button : formTags, - datalist: formTags, - textarea: formTags, - option : { option:true }, - optgroup: { optgroup:true } -}; - -var voidElements = { - __proto__: null, - area: true, - base: true, - basefont: true, - br: true, - col: true, - command: true, - embed: true, - frame: true, - hr: true, - img: true, - input: true, - isindex: true, - keygen: true, - link: true, - meta: true, - param: true, - source: true, - track: true, - wbr: true, - - //common self closing svg elements - path: true, - circle: true, - ellipse: true, - line: true, - rect: true, - use: true, - stop: true, - polyline: true, - polygon: true -}; - -var re_nameEnd = /\s|\//; - -function Parser(cbs, options){ - this._options = options || {}; - this._cbs = cbs || {}; - - this._tagname = ""; - this._attribname = ""; - this._attribvalue = ""; - this._attribs = null; - this._stack = []; - - this.startIndex = 0; - this.endIndex = null; - - this._lowerCaseTagNames = "lowerCaseTags" in this._options ? - !!this._options.lowerCaseTags : - !this._options.xmlMode; - this._lowerCaseAttributeNames = "lowerCaseAttributeNames" in this._options ? - !!this._options.lowerCaseAttributeNames : - !this._options.xmlMode; - - if(this._options.Tokenizer) { - Tokenizer = this._options.Tokenizer; - } - this._tokenizer = new Tokenizer(this._options, this); - - if(this._cbs.onparserinit) this._cbs.onparserinit(this); -} - -require("inherits")(Parser, require("events").EventEmitter); - -Parser.prototype._updatePosition = function(initialOffset){ - if(this.endIndex === null){ - if(this._tokenizer._sectionStart <= initialOffset){ - this.startIndex = 0; - } else { - this.startIndex = this._tokenizer._sectionStart - initialOffset; - } - } - else this.startIndex = this.endIndex + 1; - this.endIndex = this._tokenizer.getAbsoluteIndex(); -}; - -//Tokenizer event handlers -Parser.prototype.ontext = function(data){ - this._updatePosition(1); - this.endIndex--; - - if(this._cbs.ontext) this._cbs.ontext(data); -}; - -Parser.prototype.onopentagname = function(name){ - if(this._lowerCaseTagNames){ - name = name.toLowerCase(); - } - - this._tagname = name; - - if(!this._options.xmlMode && name in openImpliesClose) { - for( - var el; - (el = this._stack[this._stack.length - 1]) in openImpliesClose[name]; - this.onclosetag(el) - ); - } - - if(this._options.xmlMode || !(name in voidElements)){ - this._stack.push(name); - } - - if(this._cbs.onopentagname) this._cbs.onopentagname(name); - if(this._cbs.onopentag) this._attribs = {}; -}; - -Parser.prototype.onopentagend = function(){ - this._updatePosition(1); - - if(this._attribs){ - if(this._cbs.onopentag) this._cbs.onopentag(this._tagname, this._attribs); - this._attribs = null; - } - - if(!this._options.xmlMode && this._cbs.onclosetag && this._tagname in voidElements){ - this._cbs.onclosetag(this._tagname); - } - - this._tagname = ""; -}; - -Parser.prototype.onclosetag = function(name){ - this._updatePosition(1); - - if(this._lowerCaseTagNames){ - name = name.toLowerCase(); - } - - if(this._stack.length && (!(name in voidElements) || this._options.xmlMode)){ - var pos = this._stack.lastIndexOf(name); - if(pos !== -1){ - if(this._cbs.onclosetag){ - pos = this._stack.length - pos; - while(pos--) this._cbs.onclosetag(this._stack.pop()); - } - else this._stack.length = pos; - } else if(name === "p" && !this._options.xmlMode){ - this.onopentagname(name); - this._closeCurrentTag(); - } - } else if(!this._options.xmlMode && (name === "br" || name === "p")){ - this.onopentagname(name); - this._closeCurrentTag(); - } -}; - -Parser.prototype.onselfclosingtag = function(){ - if(this._options.xmlMode || this._options.recognizeSelfClosing){ - this._closeCurrentTag(); - } else { - this.onopentagend(); - } -}; - -Parser.prototype._closeCurrentTag = function(){ - var name = this._tagname; - - this.onopentagend(); - - //self-closing tags will be on the top of the stack - //(cheaper check than in onclosetag) - if(this._stack[this._stack.length - 1] === name){ - if(this._cbs.onclosetag){ - this._cbs.onclosetag(name); - } - this._stack.pop(); - } -}; - -Parser.prototype.onattribname = function(name){ - if(this._lowerCaseAttributeNames){ - name = name.toLowerCase(); - } - this._attribname = name; -}; - -Parser.prototype.onattribdata = function(value){ - this._attribvalue += value; -}; - -Parser.prototype.onattribend = function(){ - if(this._cbs.onattribute) this._cbs.onattribute(this._attribname, this._attribvalue); - if( - this._attribs && - !Object.prototype.hasOwnProperty.call(this._attribs, this._attribname) - ){ - this._attribs[this._attribname] = this._attribvalue; - } - this._attribname = ""; - this._attribvalue = ""; -}; - -Parser.prototype._getInstructionName = function(value){ - var idx = value.search(re_nameEnd), - name = idx < 0 ? value : value.substr(0, idx); - - if(this._lowerCaseTagNames){ - name = name.toLowerCase(); - } - - return name; -}; - -Parser.prototype.ondeclaration = function(value){ - if(this._cbs.onprocessinginstruction){ - var name = this._getInstructionName(value); - this._cbs.onprocessinginstruction("!" + name, "!" + value); - } -}; - -Parser.prototype.onprocessinginstruction = function(value){ - if(this._cbs.onprocessinginstruction){ - var name = this._getInstructionName(value); - this._cbs.onprocessinginstruction("?" + name, "?" + value); - } -}; - -Parser.prototype.oncomment = function(value){ - this._updatePosition(4); - - if(this._cbs.oncomment) this._cbs.oncomment(value); - if(this._cbs.oncommentend) this._cbs.oncommentend(); -}; - -Parser.prototype.oncdata = function(value){ - this._updatePosition(1); - - if(this._options.xmlMode || this._options.recognizeCDATA){ - if(this._cbs.oncdatastart) this._cbs.oncdatastart(); - if(this._cbs.ontext) this._cbs.ontext(value); - if(this._cbs.oncdataend) this._cbs.oncdataend(); - } else { - this.oncomment("[CDATA[" + value + "]]"); - } -}; - -Parser.prototype.onerror = function(err){ - if(this._cbs.onerror) this._cbs.onerror(err); -}; - -Parser.prototype.onend = function(){ - if(this._cbs.onclosetag){ - for( - var i = this._stack.length; - i > 0; - this._cbs.onclosetag(this._stack[--i]) - ); - } - if(this._cbs.onend) this._cbs.onend(); -}; - - -//Resets the parser to a blank state, ready to parse a new HTML document -Parser.prototype.reset = function(){ - if(this._cbs.onreset) this._cbs.onreset(); - this._tokenizer.reset(); - - this._tagname = ""; - this._attribname = ""; - this._attribs = null; - this._stack = []; - - if(this._cbs.onparserinit) this._cbs.onparserinit(this); -}; - -//Parses a complete HTML document and pushes it to the handler -Parser.prototype.parseComplete = function(data){ - this.reset(); - this.end(data); -}; - -Parser.prototype.write = function(chunk){ - this._tokenizer.write(chunk); -}; - -Parser.prototype.end = function(chunk){ - this._tokenizer.end(chunk); -}; - -Parser.prototype.pause = function(){ - this._tokenizer.pause(); -}; - -Parser.prototype.resume = function(){ - this._tokenizer.resume(); -}; - -//alias for backwards compat -Parser.prototype.parseChunk = Parser.prototype.write; -Parser.prototype.done = Parser.prototype.end; - -module.exports = Parser; diff --git a/node_modules/jsdom/node_modules/htmlparser2/lib/ProxyHandler.js b/node_modules/jsdom/node_modules/htmlparser2/lib/ProxyHandler.js deleted file mode 100644 index 858e975..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/lib/ProxyHandler.js +++ /dev/null @@ -1,27 +0,0 @@ -module.exports = ProxyHandler; - -function ProxyHandler(cbs){ - this._cbs = cbs || {}; -} - -var EVENTS = require("./").EVENTS; -Object.keys(EVENTS).forEach(function(name){ - if(EVENTS[name] === 0){ - name = "on" + name; - ProxyHandler.prototype[name] = function(){ - if(this._cbs[name]) this._cbs[name](); - }; - } else if(EVENTS[name] === 1){ - name = "on" + name; - ProxyHandler.prototype[name] = function(a){ - if(this._cbs[name]) this._cbs[name](a); - }; - } else if(EVENTS[name] === 2){ - name = "on" + name; - ProxyHandler.prototype[name] = function(a, b){ - if(this._cbs[name]) this._cbs[name](a, b); - }; - } else { - throw Error("wrong number of arguments"); - } -}); \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/htmlparser2/lib/Stream.js b/node_modules/jsdom/node_modules/htmlparser2/lib/Stream.js deleted file mode 100644 index 0ac49a6..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/lib/Stream.js +++ /dev/null @@ -1,35 +0,0 @@ -module.exports = Stream; - -var Parser = require("./WritableStream.js"); - -function Stream(options){ - Parser.call(this, new Cbs(this), options); -} - -require("inherits")(Stream, Parser); - -Stream.prototype.readable = true; - -function Cbs(scope){ - this.scope = scope; -} - -var EVENTS = require("../").EVENTS; - -Object.keys(EVENTS).forEach(function(name){ - if(EVENTS[name] === 0){ - Cbs.prototype["on" + name] = function(){ - this.scope.emit(name); - }; - } else if(EVENTS[name] === 1){ - Cbs.prototype["on" + name] = function(a){ - this.scope.emit(name, a); - }; - } else if(EVENTS[name] === 2){ - Cbs.prototype["on" + name] = function(a, b){ - this.scope.emit(name, a, b); - }; - } else { - throw Error("wrong number of arguments!"); - } -}); \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/htmlparser2/lib/Tokenizer.js b/node_modules/jsdom/node_modules/htmlparser2/lib/Tokenizer.js deleted file mode 100644 index 804711f..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/lib/Tokenizer.js +++ /dev/null @@ -1,906 +0,0 @@ -module.exports = Tokenizer; - -var decodeCodePoint = require("entities/lib/decode_codepoint.js"), - entityMap = require("entities/maps/entities.json"), - legacyMap = require("entities/maps/legacy.json"), - xmlMap = require("entities/maps/xml.json"), - - i = 0, - - TEXT = i++, - BEFORE_TAG_NAME = i++, //after < - IN_TAG_NAME = i++, - IN_SELF_CLOSING_TAG = i++, - BEFORE_CLOSING_TAG_NAME = i++, - IN_CLOSING_TAG_NAME = i++, - AFTER_CLOSING_TAG_NAME = i++, - - //attributes - BEFORE_ATTRIBUTE_NAME = i++, - IN_ATTRIBUTE_NAME = i++, - AFTER_ATTRIBUTE_NAME = i++, - BEFORE_ATTRIBUTE_VALUE = i++, - IN_ATTRIBUTE_VALUE_DQ = i++, // " - IN_ATTRIBUTE_VALUE_SQ = i++, // ' - IN_ATTRIBUTE_VALUE_NQ = i++, - - //declarations - BEFORE_DECLARATION = i++, // ! - IN_DECLARATION = i++, - - //processing instructions - IN_PROCESSING_INSTRUCTION = i++, // ? - - //comments - BEFORE_COMMENT = i++, - IN_COMMENT = i++, - AFTER_COMMENT_1 = i++, - AFTER_COMMENT_2 = i++, - - //cdata - BEFORE_CDATA_1 = i++, // [ - BEFORE_CDATA_2 = i++, // C - BEFORE_CDATA_3 = i++, // D - BEFORE_CDATA_4 = i++, // A - BEFORE_CDATA_5 = i++, // T - BEFORE_CDATA_6 = i++, // A - IN_CDATA = i++, // [ - AFTER_CDATA_1 = i++, // ] - AFTER_CDATA_2 = i++, // ] - - //special tags - BEFORE_SPECIAL = i++, //S - BEFORE_SPECIAL_END = i++, //S - - BEFORE_SCRIPT_1 = i++, //C - BEFORE_SCRIPT_2 = i++, //R - BEFORE_SCRIPT_3 = i++, //I - BEFORE_SCRIPT_4 = i++, //P - BEFORE_SCRIPT_5 = i++, //T - AFTER_SCRIPT_1 = i++, //C - AFTER_SCRIPT_2 = i++, //R - AFTER_SCRIPT_3 = i++, //I - AFTER_SCRIPT_4 = i++, //P - AFTER_SCRIPT_5 = i++, //T - - BEFORE_STYLE_1 = i++, //T - BEFORE_STYLE_2 = i++, //Y - BEFORE_STYLE_3 = i++, //L - BEFORE_STYLE_4 = i++, //E - AFTER_STYLE_1 = i++, //T - AFTER_STYLE_2 = i++, //Y - AFTER_STYLE_3 = i++, //L - AFTER_STYLE_4 = i++, //E - - BEFORE_ENTITY = i++, //& - BEFORE_NUMERIC_ENTITY = i++, //# - IN_NAMED_ENTITY = i++, - IN_NUMERIC_ENTITY = i++, - IN_HEX_ENTITY = i++, //X - - j = 0, - - SPECIAL_NONE = j++, - SPECIAL_SCRIPT = j++, - SPECIAL_STYLE = j++; - -function whitespace(c){ - return c === " " || c === "\n" || c === "\t" || c === "\f" || c === "\r"; -} - -function characterState(char, SUCCESS){ - return function(c){ - if(c === char) this._state = SUCCESS; - }; -} - -function ifElseState(upper, SUCCESS, FAILURE){ - var lower = upper.toLowerCase(); - - if(upper === lower){ - return function(c){ - if(c === lower){ - this._state = SUCCESS; - } else { - this._state = FAILURE; - this._index--; - } - }; - } else { - return function(c){ - if(c === lower || c === upper){ - this._state = SUCCESS; - } else { - this._state = FAILURE; - this._index--; - } - }; - } -} - -function consumeSpecialNameChar(upper, NEXT_STATE){ - var lower = upper.toLowerCase(); - - return function(c){ - if(c === lower || c === upper){ - this._state = NEXT_STATE; - } else { - this._state = IN_TAG_NAME; - this._index--; //consume the token again - } - }; -} - -function Tokenizer(options, cbs){ - this._state = TEXT; - this._buffer = ""; - this._sectionStart = 0; - this._index = 0; - this._bufferOffset = 0; //chars removed from _buffer - this._baseState = TEXT; - this._special = SPECIAL_NONE; - this._cbs = cbs; - this._running = true; - this._ended = false; - this._xmlMode = !!(options && options.xmlMode); - this._decodeEntities = !!(options && options.decodeEntities); -} - -Tokenizer.prototype._stateText = function(c){ - if(c === "<"){ - if(this._index > this._sectionStart){ - this._cbs.ontext(this._getSection()); - } - this._state = BEFORE_TAG_NAME; - this._sectionStart = this._index; - } else if(this._decodeEntities && this._special === SPECIAL_NONE && c === "&"){ - if(this._index > this._sectionStart){ - this._cbs.ontext(this._getSection()); - } - this._baseState = TEXT; - this._state = BEFORE_ENTITY; - this._sectionStart = this._index; - } -}; - -Tokenizer.prototype._stateBeforeTagName = function(c){ - if(c === "/"){ - this._state = BEFORE_CLOSING_TAG_NAME; - } else if(c === "<"){ - this._cbs.ontext(this._getSection()); - this._sectionStart = this._index; - } else if(c === ">" || this._special !== SPECIAL_NONE || whitespace(c)) { - this._state = TEXT; - } else if(c === "!"){ - this._state = BEFORE_DECLARATION; - this._sectionStart = this._index + 1; - } else if(c === "?"){ - this._state = IN_PROCESSING_INSTRUCTION; - this._sectionStart = this._index + 1; - } else { - this._state = (!this._xmlMode && (c === "s" || c === "S")) ? - BEFORE_SPECIAL : IN_TAG_NAME; - this._sectionStart = this._index; - } -}; - -Tokenizer.prototype._stateInTagName = function(c){ - if(c === "/" || c === ">" || whitespace(c)){ - this._emitToken("onopentagname"); - this._state = BEFORE_ATTRIBUTE_NAME; - this._index--; - } -}; - -Tokenizer.prototype._stateBeforeCloseingTagName = function(c){ - if(whitespace(c)); - else if(c === ">"){ - this._state = TEXT; - } else if(this._special !== SPECIAL_NONE){ - if(c === "s" || c === "S"){ - this._state = BEFORE_SPECIAL_END; - } else { - this._state = TEXT; - this._index--; - } - } else { - this._state = IN_CLOSING_TAG_NAME; - this._sectionStart = this._index; - } -}; - -Tokenizer.prototype._stateInCloseingTagName = function(c){ - if(c === ">" || whitespace(c)){ - this._emitToken("onclosetag"); - this._state = AFTER_CLOSING_TAG_NAME; - this._index--; - } -}; - -Tokenizer.prototype._stateAfterCloseingTagName = function(c){ - //skip everything until ">" - if(c === ">"){ - this._state = TEXT; - this._sectionStart = this._index + 1; - } -}; - -Tokenizer.prototype._stateBeforeAttributeName = function(c){ - if(c === ">"){ - this._cbs.onopentagend(); - this._state = TEXT; - this._sectionStart = this._index + 1; - } else if(c === "/"){ - this._state = IN_SELF_CLOSING_TAG; - } else if(!whitespace(c)){ - this._state = IN_ATTRIBUTE_NAME; - this._sectionStart = this._index; - } -}; - -Tokenizer.prototype._stateInSelfClosingTag = function(c){ - if(c === ">"){ - this._cbs.onselfclosingtag(); - this._state = TEXT; - this._sectionStart = this._index + 1; - } else if(!whitespace(c)){ - this._state = BEFORE_ATTRIBUTE_NAME; - this._index--; - } -}; - -Tokenizer.prototype._stateInAttributeName = function(c){ - if(c === "=" || c === "/" || c === ">" || whitespace(c)){ - this._cbs.onattribname(this._getSection()); - this._sectionStart = -1; - this._state = AFTER_ATTRIBUTE_NAME; - this._index--; - } -}; - -Tokenizer.prototype._stateAfterAttributeName = function(c){ - if(c === "="){ - this._state = BEFORE_ATTRIBUTE_VALUE; - } else if(c === "/" || c === ">"){ - this._cbs.onattribend(); - this._state = BEFORE_ATTRIBUTE_NAME; - this._index--; - } else if(!whitespace(c)){ - this._cbs.onattribend(); - this._state = IN_ATTRIBUTE_NAME; - this._sectionStart = this._index; - } -}; - -Tokenizer.prototype._stateBeforeAttributeValue = function(c){ - if(c === "\""){ - this._state = IN_ATTRIBUTE_VALUE_DQ; - this._sectionStart = this._index + 1; - } else if(c === "'"){ - this._state = IN_ATTRIBUTE_VALUE_SQ; - this._sectionStart = this._index + 1; - } else if(!whitespace(c)){ - this._state = IN_ATTRIBUTE_VALUE_NQ; - this._sectionStart = this._index; - this._index--; //reconsume token - } -}; - -Tokenizer.prototype._stateInAttributeValueDoubleQuotes = function(c){ - if(c === "\""){ - this._emitToken("onattribdata"); - this._cbs.onattribend(); - this._state = BEFORE_ATTRIBUTE_NAME; - } else if(this._decodeEntities && c === "&"){ - this._emitToken("onattribdata"); - this._baseState = this._state; - this._state = BEFORE_ENTITY; - this._sectionStart = this._index; - } -}; - -Tokenizer.prototype._stateInAttributeValueSingleQuotes = function(c){ - if(c === "'"){ - this._emitToken("onattribdata"); - this._cbs.onattribend(); - this._state = BEFORE_ATTRIBUTE_NAME; - } else if(this._decodeEntities && c === "&"){ - this._emitToken("onattribdata"); - this._baseState = this._state; - this._state = BEFORE_ENTITY; - this._sectionStart = this._index; - } -}; - -Tokenizer.prototype._stateInAttributeValueNoQuotes = function(c){ - if(whitespace(c) || c === ">"){ - this._emitToken("onattribdata"); - this._cbs.onattribend(); - this._state = BEFORE_ATTRIBUTE_NAME; - this._index--; - } else if(this._decodeEntities && c === "&"){ - this._emitToken("onattribdata"); - this._baseState = this._state; - this._state = BEFORE_ENTITY; - this._sectionStart = this._index; - } -}; - -Tokenizer.prototype._stateBeforeDeclaration = function(c){ - this._state = c === "[" ? BEFORE_CDATA_1 : - c === "-" ? BEFORE_COMMENT : - IN_DECLARATION; -}; - -Tokenizer.prototype._stateInDeclaration = function(c){ - if(c === ">"){ - this._cbs.ondeclaration(this._getSection()); - this._state = TEXT; - this._sectionStart = this._index + 1; - } -}; - -Tokenizer.prototype._stateInProcessingInstruction = function(c){ - if(c === ">"){ - this._cbs.onprocessinginstruction(this._getSection()); - this._state = TEXT; - this._sectionStart = this._index + 1; - } -}; - -Tokenizer.prototype._stateBeforeComment = function(c){ - if(c === "-"){ - this._state = IN_COMMENT; - this._sectionStart = this._index + 1; - } else { - this._state = IN_DECLARATION; - } -}; - -Tokenizer.prototype._stateInComment = function(c){ - if(c === "-") this._state = AFTER_COMMENT_1; -}; - -Tokenizer.prototype._stateAfterComment1 = function(c){ - if(c === "-"){ - this._state = AFTER_COMMENT_2; - } else { - this._state = IN_COMMENT; - } -}; - -Tokenizer.prototype._stateAfterComment2 = function(c){ - if(c === ">"){ - //remove 2 trailing chars - this._cbs.oncomment(this._buffer.substring(this._sectionStart, this._index - 2)); - this._state = TEXT; - this._sectionStart = this._index + 1; - } else if(c !== "-"){ - this._state = IN_COMMENT; - } - // else: stay in AFTER_COMMENT_2 (`--->`) -}; - -Tokenizer.prototype._stateBeforeCdata1 = ifElseState("C", BEFORE_CDATA_2, IN_DECLARATION); -Tokenizer.prototype._stateBeforeCdata2 = ifElseState("D", BEFORE_CDATA_3, IN_DECLARATION); -Tokenizer.prototype._stateBeforeCdata3 = ifElseState("A", BEFORE_CDATA_4, IN_DECLARATION); -Tokenizer.prototype._stateBeforeCdata4 = ifElseState("T", BEFORE_CDATA_5, IN_DECLARATION); -Tokenizer.prototype._stateBeforeCdata5 = ifElseState("A", BEFORE_CDATA_6, IN_DECLARATION); - -Tokenizer.prototype._stateBeforeCdata6 = function(c){ - if(c === "["){ - this._state = IN_CDATA; - this._sectionStart = this._index + 1; - } else { - this._state = IN_DECLARATION; - this._index--; - } -}; - -Tokenizer.prototype._stateInCdata = function(c){ - if(c === "]") this._state = AFTER_CDATA_1; -}; - -Tokenizer.prototype._stateAfterCdata1 = characterState("]", AFTER_CDATA_2); - -Tokenizer.prototype._stateAfterCdata2 = function(c){ - if(c === ">"){ - //remove 2 trailing chars - this._cbs.oncdata(this._buffer.substring(this._sectionStart, this._index - 2)); - this._state = TEXT; - this._sectionStart = this._index + 1; - } else if(c !== "]") { - this._state = IN_CDATA; - } - //else: stay in AFTER_CDATA_2 (`]]]>`) -}; - -Tokenizer.prototype._stateBeforeSpecial = function(c){ - if(c === "c" || c === "C"){ - this._state = BEFORE_SCRIPT_1; - } else if(c === "t" || c === "T"){ - this._state = BEFORE_STYLE_1; - } else { - this._state = IN_TAG_NAME; - this._index--; //consume the token again - } -}; - -Tokenizer.prototype._stateBeforeSpecialEnd = function(c){ - if(this._special === SPECIAL_SCRIPT && (c === "c" || c === "C")){ - this._state = AFTER_SCRIPT_1; - } else if(this._special === SPECIAL_STYLE && (c === "t" || c === "T")){ - this._state = AFTER_STYLE_1; - } - else this._state = TEXT; -}; - -Tokenizer.prototype._stateBeforeScript1 = consumeSpecialNameChar("R", BEFORE_SCRIPT_2); -Tokenizer.prototype._stateBeforeScript2 = consumeSpecialNameChar("I", BEFORE_SCRIPT_3); -Tokenizer.prototype._stateBeforeScript3 = consumeSpecialNameChar("P", BEFORE_SCRIPT_4); -Tokenizer.prototype._stateBeforeScript4 = consumeSpecialNameChar("T", BEFORE_SCRIPT_5); - -Tokenizer.prototype._stateBeforeScript5 = function(c){ - if(c === "/" || c === ">" || whitespace(c)){ - this._special = SPECIAL_SCRIPT; - } - this._state = IN_TAG_NAME; - this._index--; //consume the token again -}; - -Tokenizer.prototype._stateAfterScript1 = ifElseState("R", AFTER_SCRIPT_2, TEXT); -Tokenizer.prototype._stateAfterScript2 = ifElseState("I", AFTER_SCRIPT_3, TEXT); -Tokenizer.prototype._stateAfterScript3 = ifElseState("P", AFTER_SCRIPT_4, TEXT); -Tokenizer.prototype._stateAfterScript4 = ifElseState("T", AFTER_SCRIPT_5, TEXT); - -Tokenizer.prototype._stateAfterScript5 = function(c){ - if(c === ">" || whitespace(c)){ - this._special = SPECIAL_NONE; - this._state = IN_CLOSING_TAG_NAME; - this._sectionStart = this._index - 6; - this._index--; //reconsume the token - } - else this._state = TEXT; -}; - -Tokenizer.prototype._stateBeforeStyle1 = consumeSpecialNameChar("Y", BEFORE_STYLE_2); -Tokenizer.prototype._stateBeforeStyle2 = consumeSpecialNameChar("L", BEFORE_STYLE_3); -Tokenizer.prototype._stateBeforeStyle3 = consumeSpecialNameChar("E", BEFORE_STYLE_4); - -Tokenizer.prototype._stateBeforeStyle4 = function(c){ - if(c === "/" || c === ">" || whitespace(c)){ - this._special = SPECIAL_STYLE; - } - this._state = IN_TAG_NAME; - this._index--; //consume the token again -}; - -Tokenizer.prototype._stateAfterStyle1 = ifElseState("Y", AFTER_STYLE_2, TEXT); -Tokenizer.prototype._stateAfterStyle2 = ifElseState("L", AFTER_STYLE_3, TEXT); -Tokenizer.prototype._stateAfterStyle3 = ifElseState("E", AFTER_STYLE_4, TEXT); - -Tokenizer.prototype._stateAfterStyle4 = function(c){ - if(c === ">" || whitespace(c)){ - this._special = SPECIAL_NONE; - this._state = IN_CLOSING_TAG_NAME; - this._sectionStart = this._index - 5; - this._index--; //reconsume the token - } - else this._state = TEXT; -}; - -Tokenizer.prototype._stateBeforeEntity = ifElseState("#", BEFORE_NUMERIC_ENTITY, IN_NAMED_ENTITY); -Tokenizer.prototype._stateBeforeNumericEntity = ifElseState("X", IN_HEX_ENTITY, IN_NUMERIC_ENTITY); - -//for entities terminated with a semicolon -Tokenizer.prototype._parseNamedEntityStrict = function(){ - //offset = 1 - if(this._sectionStart + 1 < this._index){ - var entity = this._buffer.substring(this._sectionStart + 1, this._index), - map = this._xmlMode ? xmlMap : entityMap; - - if(map.hasOwnProperty(entity)){ - this._emitPartial(map[entity]); - this._sectionStart = this._index + 1; - } - } -}; - - -//parses legacy entities (without trailing semicolon) -Tokenizer.prototype._parseLegacyEntity = function(){ - var start = this._sectionStart + 1, - limit = this._index - start; - - if(limit > 6) limit = 6; //the max length of legacy entities is 6 - - while(limit >= 2){ //the min length of legacy entities is 2 - var entity = this._buffer.substr(start, limit); - - if(legacyMap.hasOwnProperty(entity)){ - this._emitPartial(legacyMap[entity]); - this._sectionStart += limit + 1; - return; - } else { - limit--; - } - } -}; - -Tokenizer.prototype._stateInNamedEntity = function(c){ - if(c === ";"){ - this._parseNamedEntityStrict(); - if(this._sectionStart + 1 < this._index && !this._xmlMode){ - this._parseLegacyEntity(); - } - this._state = this._baseState; - } else if((c < "a" || c > "z") && (c < "A" || c > "Z") && (c < "0" || c > "9")){ - if(this._xmlMode); - else if(this._sectionStart + 1 === this._index); - else if(this._baseState !== TEXT){ - if(c !== "="){ - this._parseNamedEntityStrict(); - } - } else { - this._parseLegacyEntity(); - } - - this._state = this._baseState; - this._index--; - } -}; - -Tokenizer.prototype._decodeNumericEntity = function(offset, base){ - var sectionStart = this._sectionStart + offset; - - if(sectionStart !== this._index){ - //parse entity - var entity = this._buffer.substring(sectionStart, this._index); - var parsed = parseInt(entity, base); - - this._emitPartial(decodeCodePoint(parsed)); - this._sectionStart = this._index; - } else { - this._sectionStart--; - } - - this._state = this._baseState; -}; - -Tokenizer.prototype._stateInNumericEntity = function(c){ - if(c === ";"){ - this._decodeNumericEntity(2, 10); - this._sectionStart++; - } else if(c < "0" || c > "9"){ - if(!this._xmlMode){ - this._decodeNumericEntity(2, 10); - } else { - this._state = this._baseState; - } - this._index--; - } -}; - -Tokenizer.prototype._stateInHexEntity = function(c){ - if(c === ";"){ - this._decodeNumericEntity(3, 16); - this._sectionStart++; - } else if((c < "a" || c > "f") && (c < "A" || c > "F") && (c < "0" || c > "9")){ - if(!this._xmlMode){ - this._decodeNumericEntity(3, 16); - } else { - this._state = this._baseState; - } - this._index--; - } -}; - -Tokenizer.prototype._cleanup = function (){ - if(this._sectionStart < 0){ - this._buffer = ""; - this._index = 0; - this._bufferOffset += this._index; - } else if(this._running){ - if(this._state === TEXT){ - if(this._sectionStart !== this._index){ - this._cbs.ontext(this._buffer.substr(this._sectionStart)); - } - this._buffer = ""; - this._bufferOffset += this._index; - this._index = 0; - } else if(this._sectionStart === this._index){ - //the section just started - this._buffer = ""; - this._bufferOffset += this._index; - this._index = 0; - } else { - //remove everything unnecessary - this._buffer = this._buffer.substr(this._sectionStart); - this._index -= this._sectionStart; - this._bufferOffset += this._sectionStart; - } - - this._sectionStart = 0; - } -}; - -//TODO make events conditional -Tokenizer.prototype.write = function(chunk){ - if(this._ended) this._cbs.onerror(Error(".write() after done!")); - - this._buffer += chunk; - this._parse(); -}; - -Tokenizer.prototype._parse = function(){ - while(this._index < this._buffer.length && this._running){ - var c = this._buffer.charAt(this._index); - if(this._state === TEXT) { - this._stateText(c); - } else if(this._state === BEFORE_TAG_NAME){ - this._stateBeforeTagName(c); - } else if(this._state === IN_TAG_NAME) { - this._stateInTagName(c); - } else if(this._state === BEFORE_CLOSING_TAG_NAME){ - this._stateBeforeCloseingTagName(c); - } else if(this._state === IN_CLOSING_TAG_NAME){ - this._stateInCloseingTagName(c); - } else if(this._state === AFTER_CLOSING_TAG_NAME){ - this._stateAfterCloseingTagName(c); - } else if(this._state === IN_SELF_CLOSING_TAG){ - this._stateInSelfClosingTag(c); - } - - /* - * attributes - */ - else if(this._state === BEFORE_ATTRIBUTE_NAME){ - this._stateBeforeAttributeName(c); - } else if(this._state === IN_ATTRIBUTE_NAME){ - this._stateInAttributeName(c); - } else if(this._state === AFTER_ATTRIBUTE_NAME){ - this._stateAfterAttributeName(c); - } else if(this._state === BEFORE_ATTRIBUTE_VALUE){ - this._stateBeforeAttributeValue(c); - } else if(this._state === IN_ATTRIBUTE_VALUE_DQ){ - this._stateInAttributeValueDoubleQuotes(c); - } else if(this._state === IN_ATTRIBUTE_VALUE_SQ){ - this._stateInAttributeValueSingleQuotes(c); - } else if(this._state === IN_ATTRIBUTE_VALUE_NQ){ - this._stateInAttributeValueNoQuotes(c); - } - - /* - * declarations - */ - else if(this._state === BEFORE_DECLARATION){ - this._stateBeforeDeclaration(c); - } else if(this._state === IN_DECLARATION){ - this._stateInDeclaration(c); - } - - /* - * processing instructions - */ - else if(this._state === IN_PROCESSING_INSTRUCTION){ - this._stateInProcessingInstruction(c); - } - - /* - * comments - */ - else if(this._state === BEFORE_COMMENT){ - this._stateBeforeComment(c); - } else if(this._state === IN_COMMENT){ - this._stateInComment(c); - } else if(this._state === AFTER_COMMENT_1){ - this._stateAfterComment1(c); - } else if(this._state === AFTER_COMMENT_2){ - this._stateAfterComment2(c); - } - - /* - * cdata - */ - else if(this._state === BEFORE_CDATA_1){ - this._stateBeforeCdata1(c); - } else if(this._state === BEFORE_CDATA_2){ - this._stateBeforeCdata2(c); - } else if(this._state === BEFORE_CDATA_3){ - this._stateBeforeCdata3(c); - } else if(this._state === BEFORE_CDATA_4){ - this._stateBeforeCdata4(c); - } else if(this._state === BEFORE_CDATA_5){ - this._stateBeforeCdata5(c); - } else if(this._state === BEFORE_CDATA_6){ - this._stateBeforeCdata6(c); - } else if(this._state === IN_CDATA){ - this._stateInCdata(c); - } else if(this._state === AFTER_CDATA_1){ - this._stateAfterCdata1(c); - } else if(this._state === AFTER_CDATA_2){ - this._stateAfterCdata2(c); - } - - /* - * special tags - */ - else if(this._state === BEFORE_SPECIAL){ - this._stateBeforeSpecial(c); - } else if(this._state === BEFORE_SPECIAL_END){ - this._stateBeforeSpecialEnd(c); - } - - /* - * script - */ - else if(this._state === BEFORE_SCRIPT_1){ - this._stateBeforeScript1(c); - } else if(this._state === BEFORE_SCRIPT_2){ - this._stateBeforeScript2(c); - } else if(this._state === BEFORE_SCRIPT_3){ - this._stateBeforeScript3(c); - } else if(this._state === BEFORE_SCRIPT_4){ - this._stateBeforeScript4(c); - } else if(this._state === BEFORE_SCRIPT_5){ - this._stateBeforeScript5(c); - } - - else if(this._state === AFTER_SCRIPT_1){ - this._stateAfterScript1(c); - } else if(this._state === AFTER_SCRIPT_2){ - this._stateAfterScript2(c); - } else if(this._state === AFTER_SCRIPT_3){ - this._stateAfterScript3(c); - } else if(this._state === AFTER_SCRIPT_4){ - this._stateAfterScript4(c); - } else if(this._state === AFTER_SCRIPT_5){ - this._stateAfterScript5(c); - } - - /* - * style - */ - else if(this._state === BEFORE_STYLE_1){ - this._stateBeforeStyle1(c); - } else if(this._state === BEFORE_STYLE_2){ - this._stateBeforeStyle2(c); - } else if(this._state === BEFORE_STYLE_3){ - this._stateBeforeStyle3(c); - } else if(this._state === BEFORE_STYLE_4){ - this._stateBeforeStyle4(c); - } - - else if(this._state === AFTER_STYLE_1){ - this._stateAfterStyle1(c); - } else if(this._state === AFTER_STYLE_2){ - this._stateAfterStyle2(c); - } else if(this._state === AFTER_STYLE_3){ - this._stateAfterStyle3(c); - } else if(this._state === AFTER_STYLE_4){ - this._stateAfterStyle4(c); - } - - /* - * entities - */ - else if(this._state === BEFORE_ENTITY){ - this._stateBeforeEntity(c); - } else if(this._state === BEFORE_NUMERIC_ENTITY){ - this._stateBeforeNumericEntity(c); - } else if(this._state === IN_NAMED_ENTITY){ - this._stateInNamedEntity(c); - } else if(this._state === IN_NUMERIC_ENTITY){ - this._stateInNumericEntity(c); - } else if(this._state === IN_HEX_ENTITY){ - this._stateInHexEntity(c); - } - - else { - this._cbs.onerror(Error("unknown _state"), this._state); - } - - this._index++; - } - - this._cleanup(); -}; - -Tokenizer.prototype.pause = function(){ - this._running = false; -}; -Tokenizer.prototype.resume = function(){ - this._running = true; - - if(this._index < this._buffer.length){ - this._parse(); - } - if(this._ended){ - this._finish(); - } -}; - -Tokenizer.prototype.end = function(chunk){ - if(this._ended) this._cbs.onerror(Error(".end() after done!")); - if(chunk) this.write(chunk); - - this._ended = true; - - if(this._running) this._finish(); -}; - -Tokenizer.prototype._finish = function(){ - //if there is remaining data, emit it in a reasonable way - if(this._sectionStart < this._index){ - this._handleTrailingData(); - } - - this._cbs.onend(); -}; - -Tokenizer.prototype._handleTrailingData = function(){ - var data = this._buffer.substr(this._sectionStart); - - if(this._state === IN_CDATA || this._state === AFTER_CDATA_1 || this._state === AFTER_CDATA_2){ - this._cbs.oncdata(data); - } else if(this._state === IN_COMMENT || this._state === AFTER_COMMENT_1 || this._state === AFTER_COMMENT_2){ - this._cbs.oncomment(data); - } else if(this._state === IN_NAMED_ENTITY && !this._xmlMode){ - this._parseLegacyEntity(); - if(this._sectionStart < this._index){ - this._state = this._baseState; - this._handleTrailingData(); - } - } else if(this._state === IN_NUMERIC_ENTITY && !this._xmlMode){ - this._decodeNumericEntity(2, 10); - if(this._sectionStart < this._index){ - this._state = this._baseState; - this._handleTrailingData(); - } - } else if(this._state === IN_HEX_ENTITY && !this._xmlMode){ - this._decodeNumericEntity(3, 16); - if(this._sectionStart < this._index){ - this._state = this._baseState; - this._handleTrailingData(); - } - } else if( - this._state !== IN_TAG_NAME && - this._state !== BEFORE_ATTRIBUTE_NAME && - this._state !== BEFORE_ATTRIBUTE_VALUE && - this._state !== AFTER_ATTRIBUTE_NAME && - this._state !== IN_ATTRIBUTE_NAME && - this._state !== IN_ATTRIBUTE_VALUE_SQ && - this._state !== IN_ATTRIBUTE_VALUE_DQ && - this._state !== IN_ATTRIBUTE_VALUE_NQ && - this._state !== IN_CLOSING_TAG_NAME - ){ - this._cbs.ontext(data); - } - //else, ignore remaining data - //TODO add a way to remove current tag -}; - -Tokenizer.prototype.reset = function(){ - Tokenizer.call(this, {xmlMode: this._xmlMode, decodeEntities: this._decodeEntities}, this._cbs); -}; - -Tokenizer.prototype.getAbsoluteIndex = function(){ - return this._bufferOffset + this._index; -}; - -Tokenizer.prototype._getSection = function(){ - return this._buffer.substring(this._sectionStart, this._index); -}; - -Tokenizer.prototype._emitToken = function(name){ - this._cbs[name](this._getSection()); - this._sectionStart = -1; -}; - -Tokenizer.prototype._emitPartial = function(value){ - if(this._baseState !== TEXT){ - this._cbs.onattribdata(value); //TODO implement the new event - } else { - this._cbs.ontext(value); - } -}; diff --git a/node_modules/jsdom/node_modules/htmlparser2/lib/WritableStream.js b/node_modules/jsdom/node_modules/htmlparser2/lib/WritableStream.js deleted file mode 100644 index 9868f8a..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/lib/WritableStream.js +++ /dev/null @@ -1,25 +0,0 @@ -module.exports = Stream; - -var Parser = require("./Parser.js"), - WritableStream = require("stream").Writable || require("readable-stream").Writable, - StringDecoder = require("string_decoder").StringDecoder, - Buffer = require("buffer").Buffer; - -function Stream(cbs, options){ - var parser = this._parser = new Parser(cbs, options); - var decoder = this._decoder = new StringDecoder(); - - WritableStream.call(this, {decodeStrings: false}); - - this.once("finish", function(){ - parser.end(decoder.end()); - }); -} - -require("inherits")(Stream, WritableStream); - -WritableStream.prototype._write = function(chunk, encoding, cb){ - if(chunk instanceof Buffer) chunk = this._decoder.write(chunk); - this._parser.write(chunk); - cb(); -}; \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/htmlparser2/lib/index.js b/node_modules/jsdom/node_modules/htmlparser2/lib/index.js deleted file mode 100644 index 880f57e..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/lib/index.js +++ /dev/null @@ -1,68 +0,0 @@ -var Parser = require("./Parser.js"), - DomHandler = require("domhandler"); - -function defineProp(name, value){ - delete module.exports[name]; - module.exports[name] = value; - return value; -} - -module.exports = { - Parser: Parser, - Tokenizer: require("./Tokenizer.js"), - ElementType: require("domelementtype"), - DomHandler: DomHandler, - get FeedHandler(){ - return defineProp("FeedHandler", require("./FeedHandler.js")); - }, - get Stream(){ - return defineProp("Stream", require("./Stream.js")); - }, - get WritableStream(){ - return defineProp("WritableStream", require("./WritableStream.js")); - }, - get ProxyHandler(){ - return defineProp("ProxyHandler", require("./ProxyHandler.js")); - }, - get DomUtils(){ - return defineProp("DomUtils", require("domutils")); - }, - get CollectingHandler(){ - return defineProp("CollectingHandler", require("./CollectingHandler.js")); - }, - // For legacy support - DefaultHandler: DomHandler, - get RssHandler(){ - return defineProp("RssHandler", this.FeedHandler); - }, - //helper methods - parseDOM: function(data, options){ - var handler = new DomHandler(options); - new Parser(handler, options).end(data); - return handler.dom; - }, - parseFeed: function(feed, options){ - var handler = new module.exports.FeedHandler(options); - new Parser(handler, options).end(feed); - return handler.dom; - }, - createDomStream: function(cb, options, elementCb){ - var handler = new DomHandler(cb, options, elementCb); - return new Parser(handler, options); - }, - // List of all events that the parser emits - EVENTS: { /* Format: eventname: number of arguments */ - attribute: 2, - cdatastart: 0, - cdataend: 0, - text: 1, - processinginstruction: 2, - comment: 1, - commentend: 0, - closetag: 1, - opentag: 2, - opentagname: 1, - error: 1, - end: 0 - } -}; diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domelementtype/LICENSE b/node_modules/jsdom/node_modules/htmlparser2/node_modules/domelementtype/LICENSE deleted file mode 100644 index c464f86..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domelementtype/LICENSE +++ /dev/null @@ -1,11 +0,0 @@ -Copyright (c) Felix Böhm -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domelementtype/index.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/domelementtype/index.js deleted file mode 100644 index ab15b0f..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domelementtype/index.js +++ /dev/null @@ -1,15 +0,0 @@ -//Types of elements found in the DOM -module.exports = { - Text: "text", //Text - Directive: "directive", // - Comment: "comment", // - Script: "script", //", - "expected": [ - { - "type": "script", - "name": "script", - "attribs": {}, - "children": [ - { - "data": "", - "type": "text" - } - ] - } - ] -} \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/07-unescaped_in_style.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/07-unescaped_in_style.json deleted file mode 100644 index 77438fd..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/07-unescaped_in_style.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Unescaped chars in style", - "options": {}, - "html": "", - "expected": [ - { - "type": "style", - "name": "style", - "attribs": { - "type": "text/css" - }, - "children": [ - { - "data": "\n body > p\n\t{ font-weight: bold; }", - "type": "text" - } - ] - } - ] -} \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/08-extra_spaces_in_tag.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/08-extra_spaces_in_tag.json deleted file mode 100644 index 5c2492e..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/08-extra_spaces_in_tag.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Extra spaces in tag", - "options": {}, - "html": "the text", - "expected": [ - { - "type": "tag", - "name": "font", - "attribs": { - "size": "14" - }, - "children": [ - { - "data": "the text", - "type": "text" - } - ] - } - ] -} \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/09-unquoted_attrib.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/09-unquoted_attrib.json deleted file mode 100644 index 543ccee..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/09-unquoted_attrib.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Unquoted attributes", - "options": {}, - "html": "the text", - "expected": [ - { - "type": "tag", - "name": "font", - "attribs": { - "size": "14" - }, - "children": [ - { - "data": "the text", - "type": "text" - } - ] - } - ] -} \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/10-singular_attribute.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/10-singular_attribute.json deleted file mode 100644 index 544636e..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domhandler/test/cases/10-singular_attribute.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "Singular attribute", - "options": {}, - "html": "

"; - var dom = makeDom(markup)[0]; - var p = dom.children[0]; - var span = p.children[0]; - var a = dom.children[1]; - - it("reports when the first node occurs before the second indirectly", function() { - assert.equal(compareDocumentPosition(span, a), 2); - }); - - it("reports when the first node contains the second", function() { - assert.equal(compareDocumentPosition(p, span), 10); - }); - - it("reports when the first node occurs after the second indirectly", function() { - assert.equal(compareDocumentPosition(a, span), 4); - }); - - it("reports when the first node is contained by the second", function() { - assert.equal(compareDocumentPosition(span, p), 20); - }); - - it("reports when the nodes belong to separate documents", function() { - var other = makeDom(markup)[0].children[0].children[0]; - - assert.equal(compareDocumentPosition(span, other), 1); - }); - - it("reports when the nodes are identical", function() { - assert.equal(compareDocumentPosition(span, span), 0); - }); - }); - - describe("uniqueSort", function() { - var uniqueSort = helpers.uniqueSort; - var dom, p, span, a; - - beforeEach(function() { - dom = makeDom("

")[0]; - p = dom.children[0]; - span = p.children[0]; - a = dom.children[1]; - }); - - it("leaves unique elements untouched", function() { - assert.deepEqual(uniqueSort([p, a]), [p, a]); - }); - - it("removes duplicate elements", function() { - assert.deepEqual(uniqueSort([p, a, p]), [p, a]); - }); - - it("sorts nodes in document order", function() { - assert.deepEqual(uniqueSort([a, dom, span, p]), [dom, p, span, a]); - }); - }); -}); diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/test/tests/legacy.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/test/tests/legacy.js deleted file mode 100644 index 87fabfa..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/test/tests/legacy.js +++ /dev/null @@ -1,119 +0,0 @@ -var DomUtils = require("../.."); -var fixture = require("../fixture"); -var assert = require("assert"); - -// Set up expected structures -var expected = { - idAsdf: fixture[1], - tag2: [], - typeScript: [] -}; -for (var idx = 0; idx < 20; ++idx) { - expected.tag2.push(fixture[idx*2 + 1].children[5]); - expected.typeScript.push(fixture[idx*2 + 1].children[1]); -} - -describe("legacy", function() { - describe("getElements", function() { - var getElements = DomUtils.getElements; - it("returns the node with the specified ID", function() { - assert.deepEqual( - getElements({ id: "asdf" }, fixture, true, 1), - [expected.idAsdf] - ); - }); - it("returns empty array for unknown IDs", function() { - assert.deepEqual(getElements({ id: "asdfs" }, fixture, true), []); - }); - it("returns the nodes with the specified tag name", function() { - assert.deepEqual( - getElements({ tag_name:"tag2" }, fixture, true), - expected.tag2 - ); - }); - it("returns empty array for unknown tag names", function() { - assert.deepEqual( - getElements({ tag_name : "asdfs" }, fixture, true), - [] - ); - }); - it("returns the nodes with the specified tag type", function() { - assert.deepEqual( - getElements({ tag_type: "script" }, fixture, true), - expected.typeScript - ); - }); - it("returns empty array for unknown tag types", function() { - assert.deepEqual( - getElements({ tag_type: "video" }, fixture, true), - [] - ); - }); - }); - - describe("getElementById", function() { - var getElementById = DomUtils.getElementById; - it("returns the specified node", function() { - assert.equal( - expected.idAsdf, - getElementById("asdf", fixture, true) - ); - }); - it("returns `null` for unknown IDs", function() { - assert.equal(null, getElementById("asdfs", fixture, true)); - }); - }); - - describe("getElementsByTagName", function() { - var getElementsByTagName = DomUtils.getElementsByTagName; - it("returns the specified nodes", function() { - assert.deepEqual( - getElementsByTagName("tag2", fixture, true), - expected.tag2 - ); - }); - it("returns empty array for unknown tag names", function() { - assert.deepEqual( - getElementsByTagName("tag23", fixture, true), - [] - ); - }); - }); - - describe("getElementsByTagType", function() { - var getElementsByTagType = DomUtils.getElementsByTagType; - it("returns the specified nodes", function() { - assert.deepEqual( - getElementsByTagType("script", fixture, true), - expected.typeScript - ); - }); - it("returns empty array for unknown tag types", function() { - assert.deepEqual( - getElementsByTagType("video", fixture, true), - [] - ); - }); - }); - - describe("getOuterHTML", function() { - var getOuterHTML = DomUtils.getOuterHTML; - it("Correctly renders the outer HTML", function() { - assert.equal( - getOuterHTML(fixture[1]), - " text " - ); - }); - }); - - describe("getInnerHTML", function() { - var getInnerHTML = DomUtils.getInnerHTML; - it("Correctly renders the inner HTML", function() { - assert.equal( - getInnerHTML(fixture[1]), - " text " - ); - }); - }); - -}); diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/test/tests/traversal.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/test/tests/traversal.js deleted file mode 100644 index f500e08..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/test/tests/traversal.js +++ /dev/null @@ -1,17 +0,0 @@ -var makeDom = require("../utils").makeDom; -var traversal = require("../.."); -var assert = require("assert"); - -describe("traversal", function() { - describe("hasAttrib", function() { - var hasAttrib = traversal.hasAttrib; - - it("doesn't throw on text nodes", function() { - var dom = makeDom("textnode"); - assert.doesNotThrow(function() { - hasAttrib(dom[0], "some-attrib"); - }); - }); - - }); -}); diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/test/utils.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/test/utils.js deleted file mode 100644 index 676e8f6..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/domutils/test/utils.js +++ /dev/null @@ -1,9 +0,0 @@ -var htmlparser = require("htmlparser2"); - -exports.makeDom = function(markup) { - var handler = new htmlparser.DomHandler(), - parser = new htmlparser.Parser(handler); - parser.write(markup); - parser.done(); - return handler.dom; -}; diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/.travis.yml b/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/.travis.yml deleted file mode 100644 index 8724b6c..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ -language: node_js -node_js: - - 0.8 - - "0.10" - - 0.11 - -script: npm run coveralls diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/LICENSE b/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/LICENSE deleted file mode 100644 index c464f86..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/LICENSE +++ /dev/null @@ -1,11 +0,0 @@ -Copyright (c) Felix Böhm -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/index.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/index.js deleted file mode 100644 index 3353c1a..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/index.js +++ /dev/null @@ -1,33 +0,0 @@ -var encode = require("./lib/encode.js"), - decode = require("./lib/decode.js"); - -exports.decode = function(data, level){ - return (!level || level <= 0 ? decode.XML : decode.HTML)(data); -}; - -exports.decodeStrict = function(data, level){ - return (!level || level <= 0 ? decode.XML : decode.HTMLStrict)(data); -}; - -exports.encode = function(data, level){ - return (!level || level <= 0 ? encode.XML : encode.HTML)(data); -}; - -exports.encodeXML = encode.XML; - -exports.encodeHTML4 = -exports.encodeHTML5 = -exports.encodeHTML = encode.HTML; - -exports.decodeXML = -exports.decodeXMLStrict = decode.XML; - -exports.decodeHTML4 = -exports.decodeHTML5 = -exports.decodeHTML = decode.HTML; - -exports.decodeHTML4Strict = -exports.decodeHTML5Strict = -exports.decodeHTMLStrict = decode.HTMLStrict; - -exports.escape = encode.escape; diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/lib/decode.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/lib/decode.js deleted file mode 100644 index 5e48bdb..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/lib/decode.js +++ /dev/null @@ -1,72 +0,0 @@ -var entityMap = require("../maps/entities.json"), - legacyMap = require("../maps/legacy.json"), - xmlMap = require("../maps/xml.json"), - decodeCodePoint = require("./decode_codepoint.js"); - -var decodeXMLStrict = getStrictDecoder(xmlMap), - decodeHTMLStrict = getStrictDecoder(entityMap); - -function getStrictDecoder(map){ - var keys = Object.keys(map).join("|"), - replace = getReplacer(map); - - keys += "|#[xX][\\da-fA-F]+|#\\d+"; - - var re = new RegExp("&(?:" + keys + ");", "g"); - - return function(str){ - return String(str).replace(re, replace); - }; -} - -var decodeHTML = (function(){ - var legacy = Object.keys(legacyMap) - .sort(sorter); - - var keys = Object.keys(entityMap) - .sort(sorter); - - for(var i = 0, j = 0; i < keys.length; i++){ - if(legacy[j] === keys[i]){ - keys[i] += ";?"; - j++; - } else { - keys[i] += ";"; - } - } - - var re = new RegExp("&(?:" + keys.join("|") + "|#[xX][\\da-fA-F]+;?|#\\d+;?)", "g"), - replace = getReplacer(entityMap); - - function replacer(str){ - if(str.substr(-1) !== ";") str += ";"; - return replace(str); - } - - //TODO consider creating a merged map - return function(str){ - return String(str).replace(re, replacer); - }; -}()); - -function sorter(a, b){ - return a < b ? 1 : -1; -} - -function getReplacer(map){ - return function replace(str){ - if(str.charAt(1) === "#"){ - if(str.charAt(2) === "X" || str.charAt(2) === "x"){ - return decodeCodePoint(parseInt(str.substr(3), 16)); - } - return decodeCodePoint(parseInt(str.substr(2), 10)); - } - return map[str.slice(1, -1)]; - }; -} - -module.exports = { - XML: decodeXMLStrict, - HTML: decodeHTML, - HTMLStrict: decodeHTMLStrict -}; \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/lib/decode_codepoint.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/lib/decode_codepoint.js deleted file mode 100644 index 730d5bf..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/lib/decode_codepoint.js +++ /dev/null @@ -1,26 +0,0 @@ -var decodeMap = require("../maps/decode.json"); - -module.exports = decodeCodePoint; - -// modified version of https://github.com/mathiasbynens/he/blob/master/src/he.js#L94-L119 -function decodeCodePoint(codePoint){ - - if((codePoint >= 0xD800 && codePoint <= 0xDFFF) || codePoint > 0x10FFFF){ - return "\uFFFD"; - } - - if(codePoint in decodeMap){ - codePoint = decodeMap[codePoint]; - } - - var output = ""; - - if(codePoint > 0xFFFF){ - codePoint -= 0x10000; - output += String.fromCharCode(codePoint >>> 10 & 0x3FF | 0xD800); - codePoint = 0xDC00 | codePoint & 0x3FF; - } - - output += String.fromCharCode(codePoint); - return output; -} diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/lib/encode.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/lib/encode.js deleted file mode 100644 index 10c0c36..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/lib/encode.js +++ /dev/null @@ -1,73 +0,0 @@ -var inverseXML = getInverseObj(require("../maps/xml.json")), - xmlReplacer = getInverseReplacer(inverseXML); - -exports.XML = getInverse(inverseXML, xmlReplacer); - -var inverseHTML = getInverseObj(require("../maps/entities.json")), - htmlReplacer = getInverseReplacer(inverseHTML); - -exports.HTML = getInverse(inverseHTML, htmlReplacer); - -function getInverseObj(obj){ - return Object.keys(obj).sort().reduce(function(inverse, name){ - inverse[obj[name]] = "&" + name + ";"; - return inverse; - }, {}); -} - -function getInverseReplacer(inverse){ - var single = [], - multiple = []; - - Object.keys(inverse).forEach(function(k){ - if(k.length === 1){ - single.push("\\" + k); - } else { - multiple.push(k); - } - }); - - //TODO add ranges - multiple.unshift("[" + single.join("") + "]"); - - return new RegExp(multiple.join("|"), "g"); -} - -var re_nonASCII = /[^\0-\x7F]/g, - re_astralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; - -function singleCharReplacer(c){ - return "&#x" + c.charCodeAt(0).toString(16).toUpperCase() + ";"; -} - -function astralReplacer(c){ - // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae - var high = c.charCodeAt(0); - var low = c.charCodeAt(1); - var codePoint = (high - 0xD800) * 0x400 + low - 0xDC00 + 0x10000; - return "&#x" + codePoint.toString(16).toUpperCase() + ";"; -} - -function getInverse(inverse, re){ - function func(name){ - return inverse[name]; - } - - return function(data){ - return data - .replace(re, func) - .replace(re_astralSymbols, astralReplacer) - .replace(re_nonASCII, singleCharReplacer); - }; -} - -var re_xmlChars = getInverseReplacer(inverseXML); - -function escapeXML(data){ - return data - .replace(re_xmlChars, singleCharReplacer) - .replace(re_astralSymbols, astralReplacer) - .replace(re_nonASCII, singleCharReplacer); -} - -exports.escape = escapeXML; diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/maps/decode.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/maps/decode.json deleted file mode 100644 index 44e5d0b..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/maps/decode.json +++ /dev/null @@ -1 +0,0 @@ -{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376} \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/maps/entities.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/maps/entities.json deleted file mode 100644 index 7ccfcd8..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/maps/entities.json +++ /dev/null @@ -1 +0,0 @@ -{"Aacute":"\u00C1","aacute":"\u00E1","Abreve":"\u0102","abreve":"\u0103","ac":"\u223E","acd":"\u223F","acE":"\u223E\u0333","Acirc":"\u00C2","acirc":"\u00E2","acute":"\u00B4","Acy":"\u0410","acy":"\u0430","AElig":"\u00C6","aelig":"\u00E6","af":"\u2061","Afr":"\uD835\uDD04","afr":"\uD835\uDD1E","Agrave":"\u00C0","agrave":"\u00E0","alefsym":"\u2135","aleph":"\u2135","Alpha":"\u0391","alpha":"\u03B1","Amacr":"\u0100","amacr":"\u0101","amalg":"\u2A3F","amp":"&","AMP":"&","andand":"\u2A55","And":"\u2A53","and":"\u2227","andd":"\u2A5C","andslope":"\u2A58","andv":"\u2A5A","ang":"\u2220","ange":"\u29A4","angle":"\u2220","angmsdaa":"\u29A8","angmsdab":"\u29A9","angmsdac":"\u29AA","angmsdad":"\u29AB","angmsdae":"\u29AC","angmsdaf":"\u29AD","angmsdag":"\u29AE","angmsdah":"\u29AF","angmsd":"\u2221","angrt":"\u221F","angrtvb":"\u22BE","angrtvbd":"\u299D","angsph":"\u2222","angst":"\u00C5","angzarr":"\u237C","Aogon":"\u0104","aogon":"\u0105","Aopf":"\uD835\uDD38","aopf":"\uD835\uDD52","apacir":"\u2A6F","ap":"\u2248","apE":"\u2A70","ape":"\u224A","apid":"\u224B","apos":"'","ApplyFunction":"\u2061","approx":"\u2248","approxeq":"\u224A","Aring":"\u00C5","aring":"\u00E5","Ascr":"\uD835\uDC9C","ascr":"\uD835\uDCB6","Assign":"\u2254","ast":"*","asymp":"\u2248","asympeq":"\u224D","Atilde":"\u00C3","atilde":"\u00E3","Auml":"\u00C4","auml":"\u00E4","awconint":"\u2233","awint":"\u2A11","backcong":"\u224C","backepsilon":"\u03F6","backprime":"\u2035","backsim":"\u223D","backsimeq":"\u22CD","Backslash":"\u2216","Barv":"\u2AE7","barvee":"\u22BD","barwed":"\u2305","Barwed":"\u2306","barwedge":"\u2305","bbrk":"\u23B5","bbrktbrk":"\u23B6","bcong":"\u224C","Bcy":"\u0411","bcy":"\u0431","bdquo":"\u201E","becaus":"\u2235","because":"\u2235","Because":"\u2235","bemptyv":"\u29B0","bepsi":"\u03F6","bernou":"\u212C","Bernoullis":"\u212C","Beta":"\u0392","beta":"\u03B2","beth":"\u2136","between":"\u226C","Bfr":"\uD835\uDD05","bfr":"\uD835\uDD1F","bigcap":"\u22C2","bigcirc":"\u25EF","bigcup":"\u22C3","bigodot":"\u2A00","bigoplus":"\u2A01","bigotimes":"\u2A02","bigsqcup":"\u2A06","bigstar":"\u2605","bigtriangledown":"\u25BD","bigtriangleup":"\u25B3","biguplus":"\u2A04","bigvee":"\u22C1","bigwedge":"\u22C0","bkarow":"\u290D","blacklozenge":"\u29EB","blacksquare":"\u25AA","blacktriangle":"\u25B4","blacktriangledown":"\u25BE","blacktriangleleft":"\u25C2","blacktriangleright":"\u25B8","blank":"\u2423","blk12":"\u2592","blk14":"\u2591","blk34":"\u2593","block":"\u2588","bne":"=\u20E5","bnequiv":"\u2261\u20E5","bNot":"\u2AED","bnot":"\u2310","Bopf":"\uD835\uDD39","bopf":"\uD835\uDD53","bot":"\u22A5","bottom":"\u22A5","bowtie":"\u22C8","boxbox":"\u29C9","boxdl":"\u2510","boxdL":"\u2555","boxDl":"\u2556","boxDL":"\u2557","boxdr":"\u250C","boxdR":"\u2552","boxDr":"\u2553","boxDR":"\u2554","boxh":"\u2500","boxH":"\u2550","boxhd":"\u252C","boxHd":"\u2564","boxhD":"\u2565","boxHD":"\u2566","boxhu":"\u2534","boxHu":"\u2567","boxhU":"\u2568","boxHU":"\u2569","boxminus":"\u229F","boxplus":"\u229E","boxtimes":"\u22A0","boxul":"\u2518","boxuL":"\u255B","boxUl":"\u255C","boxUL":"\u255D","boxur":"\u2514","boxuR":"\u2558","boxUr":"\u2559","boxUR":"\u255A","boxv":"\u2502","boxV":"\u2551","boxvh":"\u253C","boxvH":"\u256A","boxVh":"\u256B","boxVH":"\u256C","boxvl":"\u2524","boxvL":"\u2561","boxVl":"\u2562","boxVL":"\u2563","boxvr":"\u251C","boxvR":"\u255E","boxVr":"\u255F","boxVR":"\u2560","bprime":"\u2035","breve":"\u02D8","Breve":"\u02D8","brvbar":"\u00A6","bscr":"\uD835\uDCB7","Bscr":"\u212C","bsemi":"\u204F","bsim":"\u223D","bsime":"\u22CD","bsolb":"\u29C5","bsol":"\\","bsolhsub":"\u27C8","bull":"\u2022","bullet":"\u2022","bump":"\u224E","bumpE":"\u2AAE","bumpe":"\u224F","Bumpeq":"\u224E","bumpeq":"\u224F","Cacute":"\u0106","cacute":"\u0107","capand":"\u2A44","capbrcup":"\u2A49","capcap":"\u2A4B","cap":"\u2229","Cap":"\u22D2","capcup":"\u2A47","capdot":"\u2A40","CapitalDifferentialD":"\u2145","caps":"\u2229\uFE00","caret":"\u2041","caron":"\u02C7","Cayleys":"\u212D","ccaps":"\u2A4D","Ccaron":"\u010C","ccaron":"\u010D","Ccedil":"\u00C7","ccedil":"\u00E7","Ccirc":"\u0108","ccirc":"\u0109","Cconint":"\u2230","ccups":"\u2A4C","ccupssm":"\u2A50","Cdot":"\u010A","cdot":"\u010B","cedil":"\u00B8","Cedilla":"\u00B8","cemptyv":"\u29B2","cent":"\u00A2","centerdot":"\u00B7","CenterDot":"\u00B7","cfr":"\uD835\uDD20","Cfr":"\u212D","CHcy":"\u0427","chcy":"\u0447","check":"\u2713","checkmark":"\u2713","Chi":"\u03A7","chi":"\u03C7","circ":"\u02C6","circeq":"\u2257","circlearrowleft":"\u21BA","circlearrowright":"\u21BB","circledast":"\u229B","circledcirc":"\u229A","circleddash":"\u229D","CircleDot":"\u2299","circledR":"\u00AE","circledS":"\u24C8","CircleMinus":"\u2296","CirclePlus":"\u2295","CircleTimes":"\u2297","cir":"\u25CB","cirE":"\u29C3","cire":"\u2257","cirfnint":"\u2A10","cirmid":"\u2AEF","cirscir":"\u29C2","ClockwiseContourIntegral":"\u2232","CloseCurlyDoubleQuote":"\u201D","CloseCurlyQuote":"\u2019","clubs":"\u2663","clubsuit":"\u2663","colon":":","Colon":"\u2237","Colone":"\u2A74","colone":"\u2254","coloneq":"\u2254","comma":",","commat":"@","comp":"\u2201","compfn":"\u2218","complement":"\u2201","complexes":"\u2102","cong":"\u2245","congdot":"\u2A6D","Congruent":"\u2261","conint":"\u222E","Conint":"\u222F","ContourIntegral":"\u222E","copf":"\uD835\uDD54","Copf":"\u2102","coprod":"\u2210","Coproduct":"\u2210","copy":"\u00A9","COPY":"\u00A9","copysr":"\u2117","CounterClockwiseContourIntegral":"\u2233","crarr":"\u21B5","cross":"\u2717","Cross":"\u2A2F","Cscr":"\uD835\uDC9E","cscr":"\uD835\uDCB8","csub":"\u2ACF","csube":"\u2AD1","csup":"\u2AD0","csupe":"\u2AD2","ctdot":"\u22EF","cudarrl":"\u2938","cudarrr":"\u2935","cuepr":"\u22DE","cuesc":"\u22DF","cularr":"\u21B6","cularrp":"\u293D","cupbrcap":"\u2A48","cupcap":"\u2A46","CupCap":"\u224D","cup":"\u222A","Cup":"\u22D3","cupcup":"\u2A4A","cupdot":"\u228D","cupor":"\u2A45","cups":"\u222A\uFE00","curarr":"\u21B7","curarrm":"\u293C","curlyeqprec":"\u22DE","curlyeqsucc":"\u22DF","curlyvee":"\u22CE","curlywedge":"\u22CF","curren":"\u00A4","curvearrowleft":"\u21B6","curvearrowright":"\u21B7","cuvee":"\u22CE","cuwed":"\u22CF","cwconint":"\u2232","cwint":"\u2231","cylcty":"\u232D","dagger":"\u2020","Dagger":"\u2021","daleth":"\u2138","darr":"\u2193","Darr":"\u21A1","dArr":"\u21D3","dash":"\u2010","Dashv":"\u2AE4","dashv":"\u22A3","dbkarow":"\u290F","dblac":"\u02DD","Dcaron":"\u010E","dcaron":"\u010F","Dcy":"\u0414","dcy":"\u0434","ddagger":"\u2021","ddarr":"\u21CA","DD":"\u2145","dd":"\u2146","DDotrahd":"\u2911","ddotseq":"\u2A77","deg":"\u00B0","Del":"\u2207","Delta":"\u0394","delta":"\u03B4","demptyv":"\u29B1","dfisht":"\u297F","Dfr":"\uD835\uDD07","dfr":"\uD835\uDD21","dHar":"\u2965","dharl":"\u21C3","dharr":"\u21C2","DiacriticalAcute":"\u00B4","DiacriticalDot":"\u02D9","DiacriticalDoubleAcute":"\u02DD","DiacriticalGrave":"`","DiacriticalTilde":"\u02DC","diam":"\u22C4","diamond":"\u22C4","Diamond":"\u22C4","diamondsuit":"\u2666","diams":"\u2666","die":"\u00A8","DifferentialD":"\u2146","digamma":"\u03DD","disin":"\u22F2","div":"\u00F7","divide":"\u00F7","divideontimes":"\u22C7","divonx":"\u22C7","DJcy":"\u0402","djcy":"\u0452","dlcorn":"\u231E","dlcrop":"\u230D","dollar":"$","Dopf":"\uD835\uDD3B","dopf":"\uD835\uDD55","Dot":"\u00A8","dot":"\u02D9","DotDot":"\u20DC","doteq":"\u2250","doteqdot":"\u2251","DotEqual":"\u2250","dotminus":"\u2238","dotplus":"\u2214","dotsquare":"\u22A1","doublebarwedge":"\u2306","DoubleContourIntegral":"\u222F","DoubleDot":"\u00A8","DoubleDownArrow":"\u21D3","DoubleLeftArrow":"\u21D0","DoubleLeftRightArrow":"\u21D4","DoubleLeftTee":"\u2AE4","DoubleLongLeftArrow":"\u27F8","DoubleLongLeftRightArrow":"\u27FA","DoubleLongRightArrow":"\u27F9","DoubleRightArrow":"\u21D2","DoubleRightTee":"\u22A8","DoubleUpArrow":"\u21D1","DoubleUpDownArrow":"\u21D5","DoubleVerticalBar":"\u2225","DownArrowBar":"\u2913","downarrow":"\u2193","DownArrow":"\u2193","Downarrow":"\u21D3","DownArrowUpArrow":"\u21F5","DownBreve":"\u0311","downdownarrows":"\u21CA","downharpoonleft":"\u21C3","downharpoonright":"\u21C2","DownLeftRightVector":"\u2950","DownLeftTeeVector":"\u295E","DownLeftVectorBar":"\u2956","DownLeftVector":"\u21BD","DownRightTeeVector":"\u295F","DownRightVectorBar":"\u2957","DownRightVector":"\u21C1","DownTeeArrow":"\u21A7","DownTee":"\u22A4","drbkarow":"\u2910","drcorn":"\u231F","drcrop":"\u230C","Dscr":"\uD835\uDC9F","dscr":"\uD835\uDCB9","DScy":"\u0405","dscy":"\u0455","dsol":"\u29F6","Dstrok":"\u0110","dstrok":"\u0111","dtdot":"\u22F1","dtri":"\u25BF","dtrif":"\u25BE","duarr":"\u21F5","duhar":"\u296F","dwangle":"\u29A6","DZcy":"\u040F","dzcy":"\u045F","dzigrarr":"\u27FF","Eacute":"\u00C9","eacute":"\u00E9","easter":"\u2A6E","Ecaron":"\u011A","ecaron":"\u011B","Ecirc":"\u00CA","ecirc":"\u00EA","ecir":"\u2256","ecolon":"\u2255","Ecy":"\u042D","ecy":"\u044D","eDDot":"\u2A77","Edot":"\u0116","edot":"\u0117","eDot":"\u2251","ee":"\u2147","efDot":"\u2252","Efr":"\uD835\uDD08","efr":"\uD835\uDD22","eg":"\u2A9A","Egrave":"\u00C8","egrave":"\u00E8","egs":"\u2A96","egsdot":"\u2A98","el":"\u2A99","Element":"\u2208","elinters":"\u23E7","ell":"\u2113","els":"\u2A95","elsdot":"\u2A97","Emacr":"\u0112","emacr":"\u0113","empty":"\u2205","emptyset":"\u2205","EmptySmallSquare":"\u25FB","emptyv":"\u2205","EmptyVerySmallSquare":"\u25AB","emsp13":"\u2004","emsp14":"\u2005","emsp":"\u2003","ENG":"\u014A","eng":"\u014B","ensp":"\u2002","Eogon":"\u0118","eogon":"\u0119","Eopf":"\uD835\uDD3C","eopf":"\uD835\uDD56","epar":"\u22D5","eparsl":"\u29E3","eplus":"\u2A71","epsi":"\u03B5","Epsilon":"\u0395","epsilon":"\u03B5","epsiv":"\u03F5","eqcirc":"\u2256","eqcolon":"\u2255","eqsim":"\u2242","eqslantgtr":"\u2A96","eqslantless":"\u2A95","Equal":"\u2A75","equals":"=","EqualTilde":"\u2242","equest":"\u225F","Equilibrium":"\u21CC","equiv":"\u2261","equivDD":"\u2A78","eqvparsl":"\u29E5","erarr":"\u2971","erDot":"\u2253","escr":"\u212F","Escr":"\u2130","esdot":"\u2250","Esim":"\u2A73","esim":"\u2242","Eta":"\u0397","eta":"\u03B7","ETH":"\u00D0","eth":"\u00F0","Euml":"\u00CB","euml":"\u00EB","euro":"\u20AC","excl":"!","exist":"\u2203","Exists":"\u2203","expectation":"\u2130","exponentiale":"\u2147","ExponentialE":"\u2147","fallingdotseq":"\u2252","Fcy":"\u0424","fcy":"\u0444","female":"\u2640","ffilig":"\uFB03","fflig":"\uFB00","ffllig":"\uFB04","Ffr":"\uD835\uDD09","ffr":"\uD835\uDD23","filig":"\uFB01","FilledSmallSquare":"\u25FC","FilledVerySmallSquare":"\u25AA","fjlig":"fj","flat":"\u266D","fllig":"\uFB02","fltns":"\u25B1","fnof":"\u0192","Fopf":"\uD835\uDD3D","fopf":"\uD835\uDD57","forall":"\u2200","ForAll":"\u2200","fork":"\u22D4","forkv":"\u2AD9","Fouriertrf":"\u2131","fpartint":"\u2A0D","frac12":"\u00BD","frac13":"\u2153","frac14":"\u00BC","frac15":"\u2155","frac16":"\u2159","frac18":"\u215B","frac23":"\u2154","frac25":"\u2156","frac34":"\u00BE","frac35":"\u2157","frac38":"\u215C","frac45":"\u2158","frac56":"\u215A","frac58":"\u215D","frac78":"\u215E","frasl":"\u2044","frown":"\u2322","fscr":"\uD835\uDCBB","Fscr":"\u2131","gacute":"\u01F5","Gamma":"\u0393","gamma":"\u03B3","Gammad":"\u03DC","gammad":"\u03DD","gap":"\u2A86","Gbreve":"\u011E","gbreve":"\u011F","Gcedil":"\u0122","Gcirc":"\u011C","gcirc":"\u011D","Gcy":"\u0413","gcy":"\u0433","Gdot":"\u0120","gdot":"\u0121","ge":"\u2265","gE":"\u2267","gEl":"\u2A8C","gel":"\u22DB","geq":"\u2265","geqq":"\u2267","geqslant":"\u2A7E","gescc":"\u2AA9","ges":"\u2A7E","gesdot":"\u2A80","gesdoto":"\u2A82","gesdotol":"\u2A84","gesl":"\u22DB\uFE00","gesles":"\u2A94","Gfr":"\uD835\uDD0A","gfr":"\uD835\uDD24","gg":"\u226B","Gg":"\u22D9","ggg":"\u22D9","gimel":"\u2137","GJcy":"\u0403","gjcy":"\u0453","gla":"\u2AA5","gl":"\u2277","glE":"\u2A92","glj":"\u2AA4","gnap":"\u2A8A","gnapprox":"\u2A8A","gne":"\u2A88","gnE":"\u2269","gneq":"\u2A88","gneqq":"\u2269","gnsim":"\u22E7","Gopf":"\uD835\uDD3E","gopf":"\uD835\uDD58","grave":"`","GreaterEqual":"\u2265","GreaterEqualLess":"\u22DB","GreaterFullEqual":"\u2267","GreaterGreater":"\u2AA2","GreaterLess":"\u2277","GreaterSlantEqual":"\u2A7E","GreaterTilde":"\u2273","Gscr":"\uD835\uDCA2","gscr":"\u210A","gsim":"\u2273","gsime":"\u2A8E","gsiml":"\u2A90","gtcc":"\u2AA7","gtcir":"\u2A7A","gt":">","GT":">","Gt":"\u226B","gtdot":"\u22D7","gtlPar":"\u2995","gtquest":"\u2A7C","gtrapprox":"\u2A86","gtrarr":"\u2978","gtrdot":"\u22D7","gtreqless":"\u22DB","gtreqqless":"\u2A8C","gtrless":"\u2277","gtrsim":"\u2273","gvertneqq":"\u2269\uFE00","gvnE":"\u2269\uFE00","Hacek":"\u02C7","hairsp":"\u200A","half":"\u00BD","hamilt":"\u210B","HARDcy":"\u042A","hardcy":"\u044A","harrcir":"\u2948","harr":"\u2194","hArr":"\u21D4","harrw":"\u21AD","Hat":"^","hbar":"\u210F","Hcirc":"\u0124","hcirc":"\u0125","hearts":"\u2665","heartsuit":"\u2665","hellip":"\u2026","hercon":"\u22B9","hfr":"\uD835\uDD25","Hfr":"\u210C","HilbertSpace":"\u210B","hksearow":"\u2925","hkswarow":"\u2926","hoarr":"\u21FF","homtht":"\u223B","hookleftarrow":"\u21A9","hookrightarrow":"\u21AA","hopf":"\uD835\uDD59","Hopf":"\u210D","horbar":"\u2015","HorizontalLine":"\u2500","hscr":"\uD835\uDCBD","Hscr":"\u210B","hslash":"\u210F","Hstrok":"\u0126","hstrok":"\u0127","HumpDownHump":"\u224E","HumpEqual":"\u224F","hybull":"\u2043","hyphen":"\u2010","Iacute":"\u00CD","iacute":"\u00ED","ic":"\u2063","Icirc":"\u00CE","icirc":"\u00EE","Icy":"\u0418","icy":"\u0438","Idot":"\u0130","IEcy":"\u0415","iecy":"\u0435","iexcl":"\u00A1","iff":"\u21D4","ifr":"\uD835\uDD26","Ifr":"\u2111","Igrave":"\u00CC","igrave":"\u00EC","ii":"\u2148","iiiint":"\u2A0C","iiint":"\u222D","iinfin":"\u29DC","iiota":"\u2129","IJlig":"\u0132","ijlig":"\u0133","Imacr":"\u012A","imacr":"\u012B","image":"\u2111","ImaginaryI":"\u2148","imagline":"\u2110","imagpart":"\u2111","imath":"\u0131","Im":"\u2111","imof":"\u22B7","imped":"\u01B5","Implies":"\u21D2","incare":"\u2105","in":"\u2208","infin":"\u221E","infintie":"\u29DD","inodot":"\u0131","intcal":"\u22BA","int":"\u222B","Int":"\u222C","integers":"\u2124","Integral":"\u222B","intercal":"\u22BA","Intersection":"\u22C2","intlarhk":"\u2A17","intprod":"\u2A3C","InvisibleComma":"\u2063","InvisibleTimes":"\u2062","IOcy":"\u0401","iocy":"\u0451","Iogon":"\u012E","iogon":"\u012F","Iopf":"\uD835\uDD40","iopf":"\uD835\uDD5A","Iota":"\u0399","iota":"\u03B9","iprod":"\u2A3C","iquest":"\u00BF","iscr":"\uD835\uDCBE","Iscr":"\u2110","isin":"\u2208","isindot":"\u22F5","isinE":"\u22F9","isins":"\u22F4","isinsv":"\u22F3","isinv":"\u2208","it":"\u2062","Itilde":"\u0128","itilde":"\u0129","Iukcy":"\u0406","iukcy":"\u0456","Iuml":"\u00CF","iuml":"\u00EF","Jcirc":"\u0134","jcirc":"\u0135","Jcy":"\u0419","jcy":"\u0439","Jfr":"\uD835\uDD0D","jfr":"\uD835\uDD27","jmath":"\u0237","Jopf":"\uD835\uDD41","jopf":"\uD835\uDD5B","Jscr":"\uD835\uDCA5","jscr":"\uD835\uDCBF","Jsercy":"\u0408","jsercy":"\u0458","Jukcy":"\u0404","jukcy":"\u0454","Kappa":"\u039A","kappa":"\u03BA","kappav":"\u03F0","Kcedil":"\u0136","kcedil":"\u0137","Kcy":"\u041A","kcy":"\u043A","Kfr":"\uD835\uDD0E","kfr":"\uD835\uDD28","kgreen":"\u0138","KHcy":"\u0425","khcy":"\u0445","KJcy":"\u040C","kjcy":"\u045C","Kopf":"\uD835\uDD42","kopf":"\uD835\uDD5C","Kscr":"\uD835\uDCA6","kscr":"\uD835\uDCC0","lAarr":"\u21DA","Lacute":"\u0139","lacute":"\u013A","laemptyv":"\u29B4","lagran":"\u2112","Lambda":"\u039B","lambda":"\u03BB","lang":"\u27E8","Lang":"\u27EA","langd":"\u2991","langle":"\u27E8","lap":"\u2A85","Laplacetrf":"\u2112","laquo":"\u00AB","larrb":"\u21E4","larrbfs":"\u291F","larr":"\u2190","Larr":"\u219E","lArr":"\u21D0","larrfs":"\u291D","larrhk":"\u21A9","larrlp":"\u21AB","larrpl":"\u2939","larrsim":"\u2973","larrtl":"\u21A2","latail":"\u2919","lAtail":"\u291B","lat":"\u2AAB","late":"\u2AAD","lates":"\u2AAD\uFE00","lbarr":"\u290C","lBarr":"\u290E","lbbrk":"\u2772","lbrace":"{","lbrack":"[","lbrke":"\u298B","lbrksld":"\u298F","lbrkslu":"\u298D","Lcaron":"\u013D","lcaron":"\u013E","Lcedil":"\u013B","lcedil":"\u013C","lceil":"\u2308","lcub":"{","Lcy":"\u041B","lcy":"\u043B","ldca":"\u2936","ldquo":"\u201C","ldquor":"\u201E","ldrdhar":"\u2967","ldrushar":"\u294B","ldsh":"\u21B2","le":"\u2264","lE":"\u2266","LeftAngleBracket":"\u27E8","LeftArrowBar":"\u21E4","leftarrow":"\u2190","LeftArrow":"\u2190","Leftarrow":"\u21D0","LeftArrowRightArrow":"\u21C6","leftarrowtail":"\u21A2","LeftCeiling":"\u2308","LeftDoubleBracket":"\u27E6","LeftDownTeeVector":"\u2961","LeftDownVectorBar":"\u2959","LeftDownVector":"\u21C3","LeftFloor":"\u230A","leftharpoondown":"\u21BD","leftharpoonup":"\u21BC","leftleftarrows":"\u21C7","leftrightarrow":"\u2194","LeftRightArrow":"\u2194","Leftrightarrow":"\u21D4","leftrightarrows":"\u21C6","leftrightharpoons":"\u21CB","leftrightsquigarrow":"\u21AD","LeftRightVector":"\u294E","LeftTeeArrow":"\u21A4","LeftTee":"\u22A3","LeftTeeVector":"\u295A","leftthreetimes":"\u22CB","LeftTriangleBar":"\u29CF","LeftTriangle":"\u22B2","LeftTriangleEqual":"\u22B4","LeftUpDownVector":"\u2951","LeftUpTeeVector":"\u2960","LeftUpVectorBar":"\u2958","LeftUpVector":"\u21BF","LeftVectorBar":"\u2952","LeftVector":"\u21BC","lEg":"\u2A8B","leg":"\u22DA","leq":"\u2264","leqq":"\u2266","leqslant":"\u2A7D","lescc":"\u2AA8","les":"\u2A7D","lesdot":"\u2A7F","lesdoto":"\u2A81","lesdotor":"\u2A83","lesg":"\u22DA\uFE00","lesges":"\u2A93","lessapprox":"\u2A85","lessdot":"\u22D6","lesseqgtr":"\u22DA","lesseqqgtr":"\u2A8B","LessEqualGreater":"\u22DA","LessFullEqual":"\u2266","LessGreater":"\u2276","lessgtr":"\u2276","LessLess":"\u2AA1","lesssim":"\u2272","LessSlantEqual":"\u2A7D","LessTilde":"\u2272","lfisht":"\u297C","lfloor":"\u230A","Lfr":"\uD835\uDD0F","lfr":"\uD835\uDD29","lg":"\u2276","lgE":"\u2A91","lHar":"\u2962","lhard":"\u21BD","lharu":"\u21BC","lharul":"\u296A","lhblk":"\u2584","LJcy":"\u0409","ljcy":"\u0459","llarr":"\u21C7","ll":"\u226A","Ll":"\u22D8","llcorner":"\u231E","Lleftarrow":"\u21DA","llhard":"\u296B","lltri":"\u25FA","Lmidot":"\u013F","lmidot":"\u0140","lmoustache":"\u23B0","lmoust":"\u23B0","lnap":"\u2A89","lnapprox":"\u2A89","lne":"\u2A87","lnE":"\u2268","lneq":"\u2A87","lneqq":"\u2268","lnsim":"\u22E6","loang":"\u27EC","loarr":"\u21FD","lobrk":"\u27E6","longleftarrow":"\u27F5","LongLeftArrow":"\u27F5","Longleftarrow":"\u27F8","longleftrightarrow":"\u27F7","LongLeftRightArrow":"\u27F7","Longleftrightarrow":"\u27FA","longmapsto":"\u27FC","longrightarrow":"\u27F6","LongRightArrow":"\u27F6","Longrightarrow":"\u27F9","looparrowleft":"\u21AB","looparrowright":"\u21AC","lopar":"\u2985","Lopf":"\uD835\uDD43","lopf":"\uD835\uDD5D","loplus":"\u2A2D","lotimes":"\u2A34","lowast":"\u2217","lowbar":"_","LowerLeftArrow":"\u2199","LowerRightArrow":"\u2198","loz":"\u25CA","lozenge":"\u25CA","lozf":"\u29EB","lpar":"(","lparlt":"\u2993","lrarr":"\u21C6","lrcorner":"\u231F","lrhar":"\u21CB","lrhard":"\u296D","lrm":"\u200E","lrtri":"\u22BF","lsaquo":"\u2039","lscr":"\uD835\uDCC1","Lscr":"\u2112","lsh":"\u21B0","Lsh":"\u21B0","lsim":"\u2272","lsime":"\u2A8D","lsimg":"\u2A8F","lsqb":"[","lsquo":"\u2018","lsquor":"\u201A","Lstrok":"\u0141","lstrok":"\u0142","ltcc":"\u2AA6","ltcir":"\u2A79","lt":"<","LT":"<","Lt":"\u226A","ltdot":"\u22D6","lthree":"\u22CB","ltimes":"\u22C9","ltlarr":"\u2976","ltquest":"\u2A7B","ltri":"\u25C3","ltrie":"\u22B4","ltrif":"\u25C2","ltrPar":"\u2996","lurdshar":"\u294A","luruhar":"\u2966","lvertneqq":"\u2268\uFE00","lvnE":"\u2268\uFE00","macr":"\u00AF","male":"\u2642","malt":"\u2720","maltese":"\u2720","Map":"\u2905","map":"\u21A6","mapsto":"\u21A6","mapstodown":"\u21A7","mapstoleft":"\u21A4","mapstoup":"\u21A5","marker":"\u25AE","mcomma":"\u2A29","Mcy":"\u041C","mcy":"\u043C","mdash":"\u2014","mDDot":"\u223A","measuredangle":"\u2221","MediumSpace":"\u205F","Mellintrf":"\u2133","Mfr":"\uD835\uDD10","mfr":"\uD835\uDD2A","mho":"\u2127","micro":"\u00B5","midast":"*","midcir":"\u2AF0","mid":"\u2223","middot":"\u00B7","minusb":"\u229F","minus":"\u2212","minusd":"\u2238","minusdu":"\u2A2A","MinusPlus":"\u2213","mlcp":"\u2ADB","mldr":"\u2026","mnplus":"\u2213","models":"\u22A7","Mopf":"\uD835\uDD44","mopf":"\uD835\uDD5E","mp":"\u2213","mscr":"\uD835\uDCC2","Mscr":"\u2133","mstpos":"\u223E","Mu":"\u039C","mu":"\u03BC","multimap":"\u22B8","mumap":"\u22B8","nabla":"\u2207","Nacute":"\u0143","nacute":"\u0144","nang":"\u2220\u20D2","nap":"\u2249","napE":"\u2A70\u0338","napid":"\u224B\u0338","napos":"\u0149","napprox":"\u2249","natural":"\u266E","naturals":"\u2115","natur":"\u266E","nbsp":"\u00A0","nbump":"\u224E\u0338","nbumpe":"\u224F\u0338","ncap":"\u2A43","Ncaron":"\u0147","ncaron":"\u0148","Ncedil":"\u0145","ncedil":"\u0146","ncong":"\u2247","ncongdot":"\u2A6D\u0338","ncup":"\u2A42","Ncy":"\u041D","ncy":"\u043D","ndash":"\u2013","nearhk":"\u2924","nearr":"\u2197","neArr":"\u21D7","nearrow":"\u2197","ne":"\u2260","nedot":"\u2250\u0338","NegativeMediumSpace":"\u200B","NegativeThickSpace":"\u200B","NegativeThinSpace":"\u200B","NegativeVeryThinSpace":"\u200B","nequiv":"\u2262","nesear":"\u2928","nesim":"\u2242\u0338","NestedGreaterGreater":"\u226B","NestedLessLess":"\u226A","NewLine":"\n","nexist":"\u2204","nexists":"\u2204","Nfr":"\uD835\uDD11","nfr":"\uD835\uDD2B","ngE":"\u2267\u0338","nge":"\u2271","ngeq":"\u2271","ngeqq":"\u2267\u0338","ngeqslant":"\u2A7E\u0338","nges":"\u2A7E\u0338","nGg":"\u22D9\u0338","ngsim":"\u2275","nGt":"\u226B\u20D2","ngt":"\u226F","ngtr":"\u226F","nGtv":"\u226B\u0338","nharr":"\u21AE","nhArr":"\u21CE","nhpar":"\u2AF2","ni":"\u220B","nis":"\u22FC","nisd":"\u22FA","niv":"\u220B","NJcy":"\u040A","njcy":"\u045A","nlarr":"\u219A","nlArr":"\u21CD","nldr":"\u2025","nlE":"\u2266\u0338","nle":"\u2270","nleftarrow":"\u219A","nLeftarrow":"\u21CD","nleftrightarrow":"\u21AE","nLeftrightarrow":"\u21CE","nleq":"\u2270","nleqq":"\u2266\u0338","nleqslant":"\u2A7D\u0338","nles":"\u2A7D\u0338","nless":"\u226E","nLl":"\u22D8\u0338","nlsim":"\u2274","nLt":"\u226A\u20D2","nlt":"\u226E","nltri":"\u22EA","nltrie":"\u22EC","nLtv":"\u226A\u0338","nmid":"\u2224","NoBreak":"\u2060","NonBreakingSpace":"\u00A0","nopf":"\uD835\uDD5F","Nopf":"\u2115","Not":"\u2AEC","not":"\u00AC","NotCongruent":"\u2262","NotCupCap":"\u226D","NotDoubleVerticalBar":"\u2226","NotElement":"\u2209","NotEqual":"\u2260","NotEqualTilde":"\u2242\u0338","NotExists":"\u2204","NotGreater":"\u226F","NotGreaterEqual":"\u2271","NotGreaterFullEqual":"\u2267\u0338","NotGreaterGreater":"\u226B\u0338","NotGreaterLess":"\u2279","NotGreaterSlantEqual":"\u2A7E\u0338","NotGreaterTilde":"\u2275","NotHumpDownHump":"\u224E\u0338","NotHumpEqual":"\u224F\u0338","notin":"\u2209","notindot":"\u22F5\u0338","notinE":"\u22F9\u0338","notinva":"\u2209","notinvb":"\u22F7","notinvc":"\u22F6","NotLeftTriangleBar":"\u29CF\u0338","NotLeftTriangle":"\u22EA","NotLeftTriangleEqual":"\u22EC","NotLess":"\u226E","NotLessEqual":"\u2270","NotLessGreater":"\u2278","NotLessLess":"\u226A\u0338","NotLessSlantEqual":"\u2A7D\u0338","NotLessTilde":"\u2274","NotNestedGreaterGreater":"\u2AA2\u0338","NotNestedLessLess":"\u2AA1\u0338","notni":"\u220C","notniva":"\u220C","notnivb":"\u22FE","notnivc":"\u22FD","NotPrecedes":"\u2280","NotPrecedesEqual":"\u2AAF\u0338","NotPrecedesSlantEqual":"\u22E0","NotReverseElement":"\u220C","NotRightTriangleBar":"\u29D0\u0338","NotRightTriangle":"\u22EB","NotRightTriangleEqual":"\u22ED","NotSquareSubset":"\u228F\u0338","NotSquareSubsetEqual":"\u22E2","NotSquareSuperset":"\u2290\u0338","NotSquareSupersetEqual":"\u22E3","NotSubset":"\u2282\u20D2","NotSubsetEqual":"\u2288","NotSucceeds":"\u2281","NotSucceedsEqual":"\u2AB0\u0338","NotSucceedsSlantEqual":"\u22E1","NotSucceedsTilde":"\u227F\u0338","NotSuperset":"\u2283\u20D2","NotSupersetEqual":"\u2289","NotTilde":"\u2241","NotTildeEqual":"\u2244","NotTildeFullEqual":"\u2247","NotTildeTilde":"\u2249","NotVerticalBar":"\u2224","nparallel":"\u2226","npar":"\u2226","nparsl":"\u2AFD\u20E5","npart":"\u2202\u0338","npolint":"\u2A14","npr":"\u2280","nprcue":"\u22E0","nprec":"\u2280","npreceq":"\u2AAF\u0338","npre":"\u2AAF\u0338","nrarrc":"\u2933\u0338","nrarr":"\u219B","nrArr":"\u21CF","nrarrw":"\u219D\u0338","nrightarrow":"\u219B","nRightarrow":"\u21CF","nrtri":"\u22EB","nrtrie":"\u22ED","nsc":"\u2281","nsccue":"\u22E1","nsce":"\u2AB0\u0338","Nscr":"\uD835\uDCA9","nscr":"\uD835\uDCC3","nshortmid":"\u2224","nshortparallel":"\u2226","nsim":"\u2241","nsime":"\u2244","nsimeq":"\u2244","nsmid":"\u2224","nspar":"\u2226","nsqsube":"\u22E2","nsqsupe":"\u22E3","nsub":"\u2284","nsubE":"\u2AC5\u0338","nsube":"\u2288","nsubset":"\u2282\u20D2","nsubseteq":"\u2288","nsubseteqq":"\u2AC5\u0338","nsucc":"\u2281","nsucceq":"\u2AB0\u0338","nsup":"\u2285","nsupE":"\u2AC6\u0338","nsupe":"\u2289","nsupset":"\u2283\u20D2","nsupseteq":"\u2289","nsupseteqq":"\u2AC6\u0338","ntgl":"\u2279","Ntilde":"\u00D1","ntilde":"\u00F1","ntlg":"\u2278","ntriangleleft":"\u22EA","ntrianglelefteq":"\u22EC","ntriangleright":"\u22EB","ntrianglerighteq":"\u22ED","Nu":"\u039D","nu":"\u03BD","num":"#","numero":"\u2116","numsp":"\u2007","nvap":"\u224D\u20D2","nvdash":"\u22AC","nvDash":"\u22AD","nVdash":"\u22AE","nVDash":"\u22AF","nvge":"\u2265\u20D2","nvgt":">\u20D2","nvHarr":"\u2904","nvinfin":"\u29DE","nvlArr":"\u2902","nvle":"\u2264\u20D2","nvlt":"<\u20D2","nvltrie":"\u22B4\u20D2","nvrArr":"\u2903","nvrtrie":"\u22B5\u20D2","nvsim":"\u223C\u20D2","nwarhk":"\u2923","nwarr":"\u2196","nwArr":"\u21D6","nwarrow":"\u2196","nwnear":"\u2927","Oacute":"\u00D3","oacute":"\u00F3","oast":"\u229B","Ocirc":"\u00D4","ocirc":"\u00F4","ocir":"\u229A","Ocy":"\u041E","ocy":"\u043E","odash":"\u229D","Odblac":"\u0150","odblac":"\u0151","odiv":"\u2A38","odot":"\u2299","odsold":"\u29BC","OElig":"\u0152","oelig":"\u0153","ofcir":"\u29BF","Ofr":"\uD835\uDD12","ofr":"\uD835\uDD2C","ogon":"\u02DB","Ograve":"\u00D2","ograve":"\u00F2","ogt":"\u29C1","ohbar":"\u29B5","ohm":"\u03A9","oint":"\u222E","olarr":"\u21BA","olcir":"\u29BE","olcross":"\u29BB","oline":"\u203E","olt":"\u29C0","Omacr":"\u014C","omacr":"\u014D","Omega":"\u03A9","omega":"\u03C9","Omicron":"\u039F","omicron":"\u03BF","omid":"\u29B6","ominus":"\u2296","Oopf":"\uD835\uDD46","oopf":"\uD835\uDD60","opar":"\u29B7","OpenCurlyDoubleQuote":"\u201C","OpenCurlyQuote":"\u2018","operp":"\u29B9","oplus":"\u2295","orarr":"\u21BB","Or":"\u2A54","or":"\u2228","ord":"\u2A5D","order":"\u2134","orderof":"\u2134","ordf":"\u00AA","ordm":"\u00BA","origof":"\u22B6","oror":"\u2A56","orslope":"\u2A57","orv":"\u2A5B","oS":"\u24C8","Oscr":"\uD835\uDCAA","oscr":"\u2134","Oslash":"\u00D8","oslash":"\u00F8","osol":"\u2298","Otilde":"\u00D5","otilde":"\u00F5","otimesas":"\u2A36","Otimes":"\u2A37","otimes":"\u2297","Ouml":"\u00D6","ouml":"\u00F6","ovbar":"\u233D","OverBar":"\u203E","OverBrace":"\u23DE","OverBracket":"\u23B4","OverParenthesis":"\u23DC","para":"\u00B6","parallel":"\u2225","par":"\u2225","parsim":"\u2AF3","parsl":"\u2AFD","part":"\u2202","PartialD":"\u2202","Pcy":"\u041F","pcy":"\u043F","percnt":"%","period":".","permil":"\u2030","perp":"\u22A5","pertenk":"\u2031","Pfr":"\uD835\uDD13","pfr":"\uD835\uDD2D","Phi":"\u03A6","phi":"\u03C6","phiv":"\u03D5","phmmat":"\u2133","phone":"\u260E","Pi":"\u03A0","pi":"\u03C0","pitchfork":"\u22D4","piv":"\u03D6","planck":"\u210F","planckh":"\u210E","plankv":"\u210F","plusacir":"\u2A23","plusb":"\u229E","pluscir":"\u2A22","plus":"+","plusdo":"\u2214","plusdu":"\u2A25","pluse":"\u2A72","PlusMinus":"\u00B1","plusmn":"\u00B1","plussim":"\u2A26","plustwo":"\u2A27","pm":"\u00B1","Poincareplane":"\u210C","pointint":"\u2A15","popf":"\uD835\uDD61","Popf":"\u2119","pound":"\u00A3","prap":"\u2AB7","Pr":"\u2ABB","pr":"\u227A","prcue":"\u227C","precapprox":"\u2AB7","prec":"\u227A","preccurlyeq":"\u227C","Precedes":"\u227A","PrecedesEqual":"\u2AAF","PrecedesSlantEqual":"\u227C","PrecedesTilde":"\u227E","preceq":"\u2AAF","precnapprox":"\u2AB9","precneqq":"\u2AB5","precnsim":"\u22E8","pre":"\u2AAF","prE":"\u2AB3","precsim":"\u227E","prime":"\u2032","Prime":"\u2033","primes":"\u2119","prnap":"\u2AB9","prnE":"\u2AB5","prnsim":"\u22E8","prod":"\u220F","Product":"\u220F","profalar":"\u232E","profline":"\u2312","profsurf":"\u2313","prop":"\u221D","Proportional":"\u221D","Proportion":"\u2237","propto":"\u221D","prsim":"\u227E","prurel":"\u22B0","Pscr":"\uD835\uDCAB","pscr":"\uD835\uDCC5","Psi":"\u03A8","psi":"\u03C8","puncsp":"\u2008","Qfr":"\uD835\uDD14","qfr":"\uD835\uDD2E","qint":"\u2A0C","qopf":"\uD835\uDD62","Qopf":"\u211A","qprime":"\u2057","Qscr":"\uD835\uDCAC","qscr":"\uD835\uDCC6","quaternions":"\u210D","quatint":"\u2A16","quest":"?","questeq":"\u225F","quot":"\"","QUOT":"\"","rAarr":"\u21DB","race":"\u223D\u0331","Racute":"\u0154","racute":"\u0155","radic":"\u221A","raemptyv":"\u29B3","rang":"\u27E9","Rang":"\u27EB","rangd":"\u2992","range":"\u29A5","rangle":"\u27E9","raquo":"\u00BB","rarrap":"\u2975","rarrb":"\u21E5","rarrbfs":"\u2920","rarrc":"\u2933","rarr":"\u2192","Rarr":"\u21A0","rArr":"\u21D2","rarrfs":"\u291E","rarrhk":"\u21AA","rarrlp":"\u21AC","rarrpl":"\u2945","rarrsim":"\u2974","Rarrtl":"\u2916","rarrtl":"\u21A3","rarrw":"\u219D","ratail":"\u291A","rAtail":"\u291C","ratio":"\u2236","rationals":"\u211A","rbarr":"\u290D","rBarr":"\u290F","RBarr":"\u2910","rbbrk":"\u2773","rbrace":"}","rbrack":"]","rbrke":"\u298C","rbrksld":"\u298E","rbrkslu":"\u2990","Rcaron":"\u0158","rcaron":"\u0159","Rcedil":"\u0156","rcedil":"\u0157","rceil":"\u2309","rcub":"}","Rcy":"\u0420","rcy":"\u0440","rdca":"\u2937","rdldhar":"\u2969","rdquo":"\u201D","rdquor":"\u201D","rdsh":"\u21B3","real":"\u211C","realine":"\u211B","realpart":"\u211C","reals":"\u211D","Re":"\u211C","rect":"\u25AD","reg":"\u00AE","REG":"\u00AE","ReverseElement":"\u220B","ReverseEquilibrium":"\u21CB","ReverseUpEquilibrium":"\u296F","rfisht":"\u297D","rfloor":"\u230B","rfr":"\uD835\uDD2F","Rfr":"\u211C","rHar":"\u2964","rhard":"\u21C1","rharu":"\u21C0","rharul":"\u296C","Rho":"\u03A1","rho":"\u03C1","rhov":"\u03F1","RightAngleBracket":"\u27E9","RightArrowBar":"\u21E5","rightarrow":"\u2192","RightArrow":"\u2192","Rightarrow":"\u21D2","RightArrowLeftArrow":"\u21C4","rightarrowtail":"\u21A3","RightCeiling":"\u2309","RightDoubleBracket":"\u27E7","RightDownTeeVector":"\u295D","RightDownVectorBar":"\u2955","RightDownVector":"\u21C2","RightFloor":"\u230B","rightharpoondown":"\u21C1","rightharpoonup":"\u21C0","rightleftarrows":"\u21C4","rightleftharpoons":"\u21CC","rightrightarrows":"\u21C9","rightsquigarrow":"\u219D","RightTeeArrow":"\u21A6","RightTee":"\u22A2","RightTeeVector":"\u295B","rightthreetimes":"\u22CC","RightTriangleBar":"\u29D0","RightTriangle":"\u22B3","RightTriangleEqual":"\u22B5","RightUpDownVector":"\u294F","RightUpTeeVector":"\u295C","RightUpVectorBar":"\u2954","RightUpVector":"\u21BE","RightVectorBar":"\u2953","RightVector":"\u21C0","ring":"\u02DA","risingdotseq":"\u2253","rlarr":"\u21C4","rlhar":"\u21CC","rlm":"\u200F","rmoustache":"\u23B1","rmoust":"\u23B1","rnmid":"\u2AEE","roang":"\u27ED","roarr":"\u21FE","robrk":"\u27E7","ropar":"\u2986","ropf":"\uD835\uDD63","Ropf":"\u211D","roplus":"\u2A2E","rotimes":"\u2A35","RoundImplies":"\u2970","rpar":")","rpargt":"\u2994","rppolint":"\u2A12","rrarr":"\u21C9","Rrightarrow":"\u21DB","rsaquo":"\u203A","rscr":"\uD835\uDCC7","Rscr":"\u211B","rsh":"\u21B1","Rsh":"\u21B1","rsqb":"]","rsquo":"\u2019","rsquor":"\u2019","rthree":"\u22CC","rtimes":"\u22CA","rtri":"\u25B9","rtrie":"\u22B5","rtrif":"\u25B8","rtriltri":"\u29CE","RuleDelayed":"\u29F4","ruluhar":"\u2968","rx":"\u211E","Sacute":"\u015A","sacute":"\u015B","sbquo":"\u201A","scap":"\u2AB8","Scaron":"\u0160","scaron":"\u0161","Sc":"\u2ABC","sc":"\u227B","sccue":"\u227D","sce":"\u2AB0","scE":"\u2AB4","Scedil":"\u015E","scedil":"\u015F","Scirc":"\u015C","scirc":"\u015D","scnap":"\u2ABA","scnE":"\u2AB6","scnsim":"\u22E9","scpolint":"\u2A13","scsim":"\u227F","Scy":"\u0421","scy":"\u0441","sdotb":"\u22A1","sdot":"\u22C5","sdote":"\u2A66","searhk":"\u2925","searr":"\u2198","seArr":"\u21D8","searrow":"\u2198","sect":"\u00A7","semi":";","seswar":"\u2929","setminus":"\u2216","setmn":"\u2216","sext":"\u2736","Sfr":"\uD835\uDD16","sfr":"\uD835\uDD30","sfrown":"\u2322","sharp":"\u266F","SHCHcy":"\u0429","shchcy":"\u0449","SHcy":"\u0428","shcy":"\u0448","ShortDownArrow":"\u2193","ShortLeftArrow":"\u2190","shortmid":"\u2223","shortparallel":"\u2225","ShortRightArrow":"\u2192","ShortUpArrow":"\u2191","shy":"\u00AD","Sigma":"\u03A3","sigma":"\u03C3","sigmaf":"\u03C2","sigmav":"\u03C2","sim":"\u223C","simdot":"\u2A6A","sime":"\u2243","simeq":"\u2243","simg":"\u2A9E","simgE":"\u2AA0","siml":"\u2A9D","simlE":"\u2A9F","simne":"\u2246","simplus":"\u2A24","simrarr":"\u2972","slarr":"\u2190","SmallCircle":"\u2218","smallsetminus":"\u2216","smashp":"\u2A33","smeparsl":"\u29E4","smid":"\u2223","smile":"\u2323","smt":"\u2AAA","smte":"\u2AAC","smtes":"\u2AAC\uFE00","SOFTcy":"\u042C","softcy":"\u044C","solbar":"\u233F","solb":"\u29C4","sol":"/","Sopf":"\uD835\uDD4A","sopf":"\uD835\uDD64","spades":"\u2660","spadesuit":"\u2660","spar":"\u2225","sqcap":"\u2293","sqcaps":"\u2293\uFE00","sqcup":"\u2294","sqcups":"\u2294\uFE00","Sqrt":"\u221A","sqsub":"\u228F","sqsube":"\u2291","sqsubset":"\u228F","sqsubseteq":"\u2291","sqsup":"\u2290","sqsupe":"\u2292","sqsupset":"\u2290","sqsupseteq":"\u2292","square":"\u25A1","Square":"\u25A1","SquareIntersection":"\u2293","SquareSubset":"\u228F","SquareSubsetEqual":"\u2291","SquareSuperset":"\u2290","SquareSupersetEqual":"\u2292","SquareUnion":"\u2294","squarf":"\u25AA","squ":"\u25A1","squf":"\u25AA","srarr":"\u2192","Sscr":"\uD835\uDCAE","sscr":"\uD835\uDCC8","ssetmn":"\u2216","ssmile":"\u2323","sstarf":"\u22C6","Star":"\u22C6","star":"\u2606","starf":"\u2605","straightepsilon":"\u03F5","straightphi":"\u03D5","strns":"\u00AF","sub":"\u2282","Sub":"\u22D0","subdot":"\u2ABD","subE":"\u2AC5","sube":"\u2286","subedot":"\u2AC3","submult":"\u2AC1","subnE":"\u2ACB","subne":"\u228A","subplus":"\u2ABF","subrarr":"\u2979","subset":"\u2282","Subset":"\u22D0","subseteq":"\u2286","subseteqq":"\u2AC5","SubsetEqual":"\u2286","subsetneq":"\u228A","subsetneqq":"\u2ACB","subsim":"\u2AC7","subsub":"\u2AD5","subsup":"\u2AD3","succapprox":"\u2AB8","succ":"\u227B","succcurlyeq":"\u227D","Succeeds":"\u227B","SucceedsEqual":"\u2AB0","SucceedsSlantEqual":"\u227D","SucceedsTilde":"\u227F","succeq":"\u2AB0","succnapprox":"\u2ABA","succneqq":"\u2AB6","succnsim":"\u22E9","succsim":"\u227F","SuchThat":"\u220B","sum":"\u2211","Sum":"\u2211","sung":"\u266A","sup1":"\u00B9","sup2":"\u00B2","sup3":"\u00B3","sup":"\u2283","Sup":"\u22D1","supdot":"\u2ABE","supdsub":"\u2AD8","supE":"\u2AC6","supe":"\u2287","supedot":"\u2AC4","Superset":"\u2283","SupersetEqual":"\u2287","suphsol":"\u27C9","suphsub":"\u2AD7","suplarr":"\u297B","supmult":"\u2AC2","supnE":"\u2ACC","supne":"\u228B","supplus":"\u2AC0","supset":"\u2283","Supset":"\u22D1","supseteq":"\u2287","supseteqq":"\u2AC6","supsetneq":"\u228B","supsetneqq":"\u2ACC","supsim":"\u2AC8","supsub":"\u2AD4","supsup":"\u2AD6","swarhk":"\u2926","swarr":"\u2199","swArr":"\u21D9","swarrow":"\u2199","swnwar":"\u292A","szlig":"\u00DF","Tab":"\t","target":"\u2316","Tau":"\u03A4","tau":"\u03C4","tbrk":"\u23B4","Tcaron":"\u0164","tcaron":"\u0165","Tcedil":"\u0162","tcedil":"\u0163","Tcy":"\u0422","tcy":"\u0442","tdot":"\u20DB","telrec":"\u2315","Tfr":"\uD835\uDD17","tfr":"\uD835\uDD31","there4":"\u2234","therefore":"\u2234","Therefore":"\u2234","Theta":"\u0398","theta":"\u03B8","thetasym":"\u03D1","thetav":"\u03D1","thickapprox":"\u2248","thicksim":"\u223C","ThickSpace":"\u205F\u200A","ThinSpace":"\u2009","thinsp":"\u2009","thkap":"\u2248","thksim":"\u223C","THORN":"\u00DE","thorn":"\u00FE","tilde":"\u02DC","Tilde":"\u223C","TildeEqual":"\u2243","TildeFullEqual":"\u2245","TildeTilde":"\u2248","timesbar":"\u2A31","timesb":"\u22A0","times":"\u00D7","timesd":"\u2A30","tint":"\u222D","toea":"\u2928","topbot":"\u2336","topcir":"\u2AF1","top":"\u22A4","Topf":"\uD835\uDD4B","topf":"\uD835\uDD65","topfork":"\u2ADA","tosa":"\u2929","tprime":"\u2034","trade":"\u2122","TRADE":"\u2122","triangle":"\u25B5","triangledown":"\u25BF","triangleleft":"\u25C3","trianglelefteq":"\u22B4","triangleq":"\u225C","triangleright":"\u25B9","trianglerighteq":"\u22B5","tridot":"\u25EC","trie":"\u225C","triminus":"\u2A3A","TripleDot":"\u20DB","triplus":"\u2A39","trisb":"\u29CD","tritime":"\u2A3B","trpezium":"\u23E2","Tscr":"\uD835\uDCAF","tscr":"\uD835\uDCC9","TScy":"\u0426","tscy":"\u0446","TSHcy":"\u040B","tshcy":"\u045B","Tstrok":"\u0166","tstrok":"\u0167","twixt":"\u226C","twoheadleftarrow":"\u219E","twoheadrightarrow":"\u21A0","Uacute":"\u00DA","uacute":"\u00FA","uarr":"\u2191","Uarr":"\u219F","uArr":"\u21D1","Uarrocir":"\u2949","Ubrcy":"\u040E","ubrcy":"\u045E","Ubreve":"\u016C","ubreve":"\u016D","Ucirc":"\u00DB","ucirc":"\u00FB","Ucy":"\u0423","ucy":"\u0443","udarr":"\u21C5","Udblac":"\u0170","udblac":"\u0171","udhar":"\u296E","ufisht":"\u297E","Ufr":"\uD835\uDD18","ufr":"\uD835\uDD32","Ugrave":"\u00D9","ugrave":"\u00F9","uHar":"\u2963","uharl":"\u21BF","uharr":"\u21BE","uhblk":"\u2580","ulcorn":"\u231C","ulcorner":"\u231C","ulcrop":"\u230F","ultri":"\u25F8","Umacr":"\u016A","umacr":"\u016B","uml":"\u00A8","UnderBar":"_","UnderBrace":"\u23DF","UnderBracket":"\u23B5","UnderParenthesis":"\u23DD","Union":"\u22C3","UnionPlus":"\u228E","Uogon":"\u0172","uogon":"\u0173","Uopf":"\uD835\uDD4C","uopf":"\uD835\uDD66","UpArrowBar":"\u2912","uparrow":"\u2191","UpArrow":"\u2191","Uparrow":"\u21D1","UpArrowDownArrow":"\u21C5","updownarrow":"\u2195","UpDownArrow":"\u2195","Updownarrow":"\u21D5","UpEquilibrium":"\u296E","upharpoonleft":"\u21BF","upharpoonright":"\u21BE","uplus":"\u228E","UpperLeftArrow":"\u2196","UpperRightArrow":"\u2197","upsi":"\u03C5","Upsi":"\u03D2","upsih":"\u03D2","Upsilon":"\u03A5","upsilon":"\u03C5","UpTeeArrow":"\u21A5","UpTee":"\u22A5","upuparrows":"\u21C8","urcorn":"\u231D","urcorner":"\u231D","urcrop":"\u230E","Uring":"\u016E","uring":"\u016F","urtri":"\u25F9","Uscr":"\uD835\uDCB0","uscr":"\uD835\uDCCA","utdot":"\u22F0","Utilde":"\u0168","utilde":"\u0169","utri":"\u25B5","utrif":"\u25B4","uuarr":"\u21C8","Uuml":"\u00DC","uuml":"\u00FC","uwangle":"\u29A7","vangrt":"\u299C","varepsilon":"\u03F5","varkappa":"\u03F0","varnothing":"\u2205","varphi":"\u03D5","varpi":"\u03D6","varpropto":"\u221D","varr":"\u2195","vArr":"\u21D5","varrho":"\u03F1","varsigma":"\u03C2","varsubsetneq":"\u228A\uFE00","varsubsetneqq":"\u2ACB\uFE00","varsupsetneq":"\u228B\uFE00","varsupsetneqq":"\u2ACC\uFE00","vartheta":"\u03D1","vartriangleleft":"\u22B2","vartriangleright":"\u22B3","vBar":"\u2AE8","Vbar":"\u2AEB","vBarv":"\u2AE9","Vcy":"\u0412","vcy":"\u0432","vdash":"\u22A2","vDash":"\u22A8","Vdash":"\u22A9","VDash":"\u22AB","Vdashl":"\u2AE6","veebar":"\u22BB","vee":"\u2228","Vee":"\u22C1","veeeq":"\u225A","vellip":"\u22EE","verbar":"|","Verbar":"\u2016","vert":"|","Vert":"\u2016","VerticalBar":"\u2223","VerticalLine":"|","VerticalSeparator":"\u2758","VerticalTilde":"\u2240","VeryThinSpace":"\u200A","Vfr":"\uD835\uDD19","vfr":"\uD835\uDD33","vltri":"\u22B2","vnsub":"\u2282\u20D2","vnsup":"\u2283\u20D2","Vopf":"\uD835\uDD4D","vopf":"\uD835\uDD67","vprop":"\u221D","vrtri":"\u22B3","Vscr":"\uD835\uDCB1","vscr":"\uD835\uDCCB","vsubnE":"\u2ACB\uFE00","vsubne":"\u228A\uFE00","vsupnE":"\u2ACC\uFE00","vsupne":"\u228B\uFE00","Vvdash":"\u22AA","vzigzag":"\u299A","Wcirc":"\u0174","wcirc":"\u0175","wedbar":"\u2A5F","wedge":"\u2227","Wedge":"\u22C0","wedgeq":"\u2259","weierp":"\u2118","Wfr":"\uD835\uDD1A","wfr":"\uD835\uDD34","Wopf":"\uD835\uDD4E","wopf":"\uD835\uDD68","wp":"\u2118","wr":"\u2240","wreath":"\u2240","Wscr":"\uD835\uDCB2","wscr":"\uD835\uDCCC","xcap":"\u22C2","xcirc":"\u25EF","xcup":"\u22C3","xdtri":"\u25BD","Xfr":"\uD835\uDD1B","xfr":"\uD835\uDD35","xharr":"\u27F7","xhArr":"\u27FA","Xi":"\u039E","xi":"\u03BE","xlarr":"\u27F5","xlArr":"\u27F8","xmap":"\u27FC","xnis":"\u22FB","xodot":"\u2A00","Xopf":"\uD835\uDD4F","xopf":"\uD835\uDD69","xoplus":"\u2A01","xotime":"\u2A02","xrarr":"\u27F6","xrArr":"\u27F9","Xscr":"\uD835\uDCB3","xscr":"\uD835\uDCCD","xsqcup":"\u2A06","xuplus":"\u2A04","xutri":"\u25B3","xvee":"\u22C1","xwedge":"\u22C0","Yacute":"\u00DD","yacute":"\u00FD","YAcy":"\u042F","yacy":"\u044F","Ycirc":"\u0176","ycirc":"\u0177","Ycy":"\u042B","ycy":"\u044B","yen":"\u00A5","Yfr":"\uD835\uDD1C","yfr":"\uD835\uDD36","YIcy":"\u0407","yicy":"\u0457","Yopf":"\uD835\uDD50","yopf":"\uD835\uDD6A","Yscr":"\uD835\uDCB4","yscr":"\uD835\uDCCE","YUcy":"\u042E","yucy":"\u044E","yuml":"\u00FF","Yuml":"\u0178","Zacute":"\u0179","zacute":"\u017A","Zcaron":"\u017D","zcaron":"\u017E","Zcy":"\u0417","zcy":"\u0437","Zdot":"\u017B","zdot":"\u017C","zeetrf":"\u2128","ZeroWidthSpace":"\u200B","Zeta":"\u0396","zeta":"\u03B6","zfr":"\uD835\uDD37","Zfr":"\u2128","ZHcy":"\u0416","zhcy":"\u0436","zigrarr":"\u21DD","zopf":"\uD835\uDD6B","Zopf":"\u2124","Zscr":"\uD835\uDCB5","zscr":"\uD835\uDCCF","zwj":"\u200D","zwnj":"\u200C"} \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/maps/legacy.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/maps/legacy.json deleted file mode 100644 index f0e82a4..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/maps/legacy.json +++ /dev/null @@ -1 +0,0 @@ -{"Aacute":"\u00C1","aacute":"\u00E1","Acirc":"\u00C2","acirc":"\u00E2","acute":"\u00B4","AElig":"\u00C6","aelig":"\u00E6","Agrave":"\u00C0","agrave":"\u00E0","amp":"&","AMP":"&","Aring":"\u00C5","aring":"\u00E5","Atilde":"\u00C3","atilde":"\u00E3","Auml":"\u00C4","auml":"\u00E4","brvbar":"\u00A6","Ccedil":"\u00C7","ccedil":"\u00E7","cedil":"\u00B8","cent":"\u00A2","copy":"\u00A9","COPY":"\u00A9","curren":"\u00A4","deg":"\u00B0","divide":"\u00F7","Eacute":"\u00C9","eacute":"\u00E9","Ecirc":"\u00CA","ecirc":"\u00EA","Egrave":"\u00C8","egrave":"\u00E8","ETH":"\u00D0","eth":"\u00F0","Euml":"\u00CB","euml":"\u00EB","frac12":"\u00BD","frac14":"\u00BC","frac34":"\u00BE","gt":">","GT":">","Iacute":"\u00CD","iacute":"\u00ED","Icirc":"\u00CE","icirc":"\u00EE","iexcl":"\u00A1","Igrave":"\u00CC","igrave":"\u00EC","iquest":"\u00BF","Iuml":"\u00CF","iuml":"\u00EF","laquo":"\u00AB","lt":"<","LT":"<","macr":"\u00AF","micro":"\u00B5","middot":"\u00B7","nbsp":"\u00A0","not":"\u00AC","Ntilde":"\u00D1","ntilde":"\u00F1","Oacute":"\u00D3","oacute":"\u00F3","Ocirc":"\u00D4","ocirc":"\u00F4","Ograve":"\u00D2","ograve":"\u00F2","ordf":"\u00AA","ordm":"\u00BA","Oslash":"\u00D8","oslash":"\u00F8","Otilde":"\u00D5","otilde":"\u00F5","Ouml":"\u00D6","ouml":"\u00F6","para":"\u00B6","plusmn":"\u00B1","pound":"\u00A3","quot":"\"","QUOT":"\"","raquo":"\u00BB","reg":"\u00AE","REG":"\u00AE","sect":"\u00A7","shy":"\u00AD","sup1":"\u00B9","sup2":"\u00B2","sup3":"\u00B3","szlig":"\u00DF","THORN":"\u00DE","thorn":"\u00FE","times":"\u00D7","Uacute":"\u00DA","uacute":"\u00FA","Ucirc":"\u00DB","ucirc":"\u00FB","Ugrave":"\u00D9","ugrave":"\u00F9","uml":"\u00A8","Uuml":"\u00DC","uuml":"\u00FC","Yacute":"\u00DD","yacute":"\u00FD","yen":"\u00A5","yuml":"\u00FF"} \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/maps/xml.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/maps/xml.json deleted file mode 100644 index de8db10..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/maps/xml.json +++ /dev/null @@ -1 +0,0 @@ -{"amp":"&","apos":"'","gt":">","lt":"<","quot":"\""} diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/package.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/package.json deleted file mode 100644 index 9b27c6c..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/package.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "name": "entities", - "version": "1.1.1", - "description": "Encode & decode XML/HTML entities with ease", - "author": { - "name": "Felix Boehm", - "email": "me@feedic.com" - }, - "keywords": [ - "html", - "xml", - "entity", - "encoding" - ], - "main": "./index.js", - "directories": { - "test": "test" - }, - "devDependencies": { - "mocha": "1", - "mocha-lcov-reporter": "*", - "coveralls": "*", - "istanbul": "*", - "jshint": "2" - }, - "scripts": { - "test": "mocha && npm run lint", - "lint": "jshint index.js lib/*.js test/*.js", - "lcov": "istanbul cover _mocha --report lcovonly -- -R spec", - "coveralls": "npm run lint && npm run lcov && (cat coverage/lcov.info | coveralls || exit 0)" - }, - "repository": { - "type": "git", - "url": "git://github.com/fb55/node-entities.git" - }, - "license": "BSD-like", - "jshintConfig": { - "eqeqeq": true, - "freeze": true, - "latedef": "nofunc", - "noarg": true, - "nonbsp": true, - "quotmark": "double", - "undef": true, - "unused": true, - "trailing": true, - "eqnull": true, - "proto": true, - "smarttabs": true, - "node": true, - "globals": { - "describe": true, - "it": true - } - }, - "bugs": { - "url": "https://github.com/fb55/node-entities/issues" - }, - "homepage": "https://github.com/fb55/node-entities", - "_id": "entities@1.1.1", - "dist": { - "shasum": "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0", - "tarball": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz" - }, - "_from": "entities@>=1.1.1 <2.0.0", - "_npmVersion": "1.4.6", - "_npmUser": { - "name": "feedic", - "email": "me@feedic.com" - }, - "maintainers": [ - { - "name": "feedic", - "email": "me@feedic.com" - } - ], - "_shasum": "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0", - "_resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/readme.md b/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/readme.md deleted file mode 100644 index e660b4a..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -#entities [![NPM version](http://img.shields.io/npm/v/entities.svg)](https://npmjs.org/package/entities) [![Downloads](https://img.shields.io/npm/dm/entities.svg)](https://npmjs.org/package/entities) [![Build Status](http://img.shields.io/travis/fb55/node-entities.svg)](http://travis-ci.org/fb55/node-entities) [![Coverage](http://img.shields.io/coveralls/fb55/node-entities.svg)](https://coveralls.io/r/fb55/node-entities) - -En- & decoder for XML/HTML entities. - -##How to… - -###…install `entities` - - npm i entities - -###…use `entities` - -```javascript -var entities = require("entities"); -//encoding -entities.encodeXML("&"); // "&#38;" -entities.encodeHTML("&"); // "&#38;" -//decoding -entities.decodeXML("asdf & ÿ ü '"); // "asdf & ÿ ü '" -entities.decodeHTML("asdf & ÿ ü '"); // "asdf & ÿ ü '" -``` - - - ---- - -License: BSD-like diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/test/mocha.opts b/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/test/mocha.opts deleted file mode 100644 index af53e24..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/test/mocha.opts +++ /dev/null @@ -1,2 +0,0 @@ ---check-leaks ---reporter spec diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/test/test.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/test/test.js deleted file mode 100644 index c61a20f..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/entities/test/test.js +++ /dev/null @@ -1,168 +0,0 @@ -var assert = require("assert"), - path = require("path"), - entities = require("../"); - -describe("Encode->decode test", function(){ - var testcases = [ - { - input: "asdf & ÿ ü '", - xml: "asdf & ÿ ü '", - html: "asdf & ÿ ü '" - }, { - input: "&", - xml: "&#38;", - html: "&#38;" - }, - ]; - testcases.forEach(function(tc) { - var encodedXML = entities.encodeXML(tc.input); - it("should XML encode " + tc.input, function(){ - assert.equal(encodedXML, tc.xml); - }); - it("should default to XML encode " + tc.input, function(){ - assert.equal(entities.encode(tc.input), tc.xml); - }); - it("should XML decode " + encodedXML, function(){ - assert.equal(entities.decodeXML(encodedXML), tc.input); - }); - it("should default to XML encode " + encodedXML, function(){ - assert.equal(entities.decode(encodedXML), tc.input); - }); - it("should default strict to XML encode " + encodedXML, function(){ - assert.equal(entities.decodeStrict(encodedXML), tc.input); - }); - - var encodedHTML5 = entities.encodeHTML5(tc.input); - it("should HTML5 encode " + tc.input, function(){ - assert.equal(encodedHTML5, tc.html); - }); - it("should HTML5 decode " + encodedHTML5, function(){ - assert.equal(entities.decodeHTML(encodedHTML5), tc.input); - }); - }); - - it("should encode data URIs (issue 16)", function(){ - var data = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAALAAABAAEAAAIBRAA7"; - assert.equal(entities.decode(entities.encode(data)), data); - }); -}); - -describe("Decode test", function(){ - var testcases = [ - { input: "&amp;", output: "&" }, - { input: "&#38;", output: "&" }, - { input: "&#x26;", output: "&" }, - { input: "&#X26;", output: "&" }, - { input: "&#38;", output: "&" }, - { input: "&#38;", output: "&" }, - { input: "&#38;", output: "&" }, - { input: ":", output: ":" }, - { input: ":", output: ":" }, - { input: ":", output: ":" }, - { input: ":", output: ":" } - ]; - testcases.forEach(function(tc) { - it("should XML decode " + tc.input, function(){ - assert.equal(entities.decodeXML(tc.input), tc.output); - }); - it("should HTML4 decode " + tc.input, function(){ - assert.equal(entities.decodeHTML(tc.input), tc.output); - }); - it("should HTML5 decode " + tc.input, function(){ - assert.equal(entities.decodeHTML(tc.input), tc.output); - }); - }); -}); - -var levels = ["xml", "entities"]; - -describe("Documents", function(){ - levels - .map(function(n){ return path.join("..", "maps", n); }) - .map(require) - .forEach(function(doc, i){ - describe("Decode", function(){ - it(levels[i], function(){ - Object.keys(doc).forEach(function(e){ - for(var l = i; l < levels.length; l++){ - assert.equal(entities.decode("&" + e + ";", l), doc[e]); - } - }); - }); - }); - - describe("Decode strict", function(){ - it(levels[i], function(){ - Object.keys(doc).forEach(function(e){ - for(var l = i; l < levels.length; l++){ - assert.equal(entities.decodeStrict("&" + e + ";", l), doc[e]); - } - }); - }); - }); - - describe("Encode", function(){ - it(levels[i], function(){ - Object.keys(doc).forEach(function(e){ - for(var l = i; l < levels.length; l++){ - assert.equal(entities.decode(entities.encode(doc[e], l), l), doc[e]); - } - }); - }); - }); - }); - - var legacy = require("../maps/legacy.json"); - - describe("Legacy", function(){ - it("should decode", runLegacy); - }); - - function runLegacy(){ - Object.keys(legacy).forEach(function(e){ - assert.equal(entities.decodeHTML("&" + e), legacy[e]); - }); - } -}); - -var astral = { - "1D306": "\uD834\uDF06", - "1D11E": "\uD834\uDD1E" -}; - -var astralSpecial = { - "80": "\u20AC", - "110000": "\uFFFD" -}; - - -describe("Astral entities", function(){ - Object.keys(astral).forEach(function(c){ - it("should decode " + astral[c], function(){ - assert.equal(entities.decode("&#x" + c + ";"), astral[c]); - }); - - it("should encode " + astral[c], function(){ - assert.equal(entities.encode(astral[c]), "&#x" + c + ";"); - }); - - it("should escape " + astral[c], function(){ - assert.equal(entities.escape(astral[c]), "&#x" + c + ";"); - }); - }); - - Object.keys(astralSpecial).forEach(function(c){ - it("special should decode \\u" + c, function(){ - assert.equal(entities.decode("&#x" + c + ";"), astralSpecial[c]); - }); - }); -}); - -describe("Escape", function(){ - it("should always decode ASCII chars", function(){ - for(var i = 0; i < 0x7F; i++){ - var c = String.fromCharCode(i); - assert.equal(entities.decodeXML(entities.escape(c)), c); - } - }); -}); diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/.npmignore b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/.npmignore deleted file mode 100644 index 265ff73..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/.npmignore +++ /dev/null @@ -1,8 +0,0 @@ -build/ -test/ -examples/ -fs.js -zlib.js -.zuul.yml -.nyc_output -coverage diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/.travis.yml b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/.travis.yml deleted file mode 100644 index ae0156a..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/.travis.yml +++ /dev/null @@ -1,54 +0,0 @@ -sudo: false -language: node_js -before_install: - - npm install -g npm@2 - - npm install -g npm -notifications: - email: false -matrix: - fast_finish: true - allow_failures: - - env: TASK=browser BROWSER_NAME=ipad BROWSER_VERSION="6.0..latest" - - env: TASK=browser BROWSER_NAME=iphone BROWSER_VERSION="6.0..latest" - include: - - node_js: '0.8' - env: TASK=test - - node_js: '0.10' - env: TASK=test - - node_js: '0.11' - env: TASK=test - - node_js: '0.12' - env: TASK=test - - node_js: 1 - env: TASK=test - - node_js: 2 - env: TASK=test - - node_js: 3 - env: TASK=test - - node_js: 4 - env: TASK=test - - node_js: 5 - env: TASK=test - - node_js: 5 - env: TASK=browser BROWSER_NAME=android BROWSER_VERSION="4.0..latest" - - node_js: 5 - env: TASK=browser BROWSER_NAME=ie BROWSER_VERSION="9..latest" - - node_js: 5 - env: TASK=browser BROWSER_NAME=opera BROWSER_VERSION="11..latest" - - node_js: 5 - env: TASK=browser BROWSER_NAME=chrome BROWSER_VERSION="-3..latest" - - node_js: 5 - env: TASK=browser BROWSER_NAME=firefox BROWSER_VERSION="-3..latest" - - node_js: 5 - env: TASK=browser BROWSER_NAME=ipad BROWSER_VERSION="6.0..latest" - - node_js: 5 - env: TASK=browser BROWSER_NAME=iphone BROWSER_VERSION="6.0..latest" - - node_js: 5 - env: TASK=browser BROWSER_NAME=safari BROWSER_VERSION="5..latest" - - node_js: 5 - env: TASK=browser BROWSER_NAME=microsoftedge BROWSER_VERSION=latest -script: "npm run $TASK" -env: - global: - - secure: rE2Vvo7vnjabYNULNyLFxOyt98BoJexDqsiOnfiD6kLYYsiQGfr/sbZkPMOFm9qfQG7pjqx+zZWZjGSswhTt+626C0t/njXqug7Yps4c3dFblzGfreQHp7wNX5TFsvrxd6dAowVasMp61sJcRnB2w8cUzoe3RAYUDHyiHktwqMc= - - secure: g9YINaKAdMatsJ28G9jCGbSaguXCyxSTy+pBO6Ch0Cf57ZLOTka3HqDj8p3nV28LUIHZ3ut5WO43CeYKwt4AUtLpBS3a0dndHdY6D83uY6b2qh5hXlrcbeQTq2cvw2y95F7hm4D1kwrgZ7ViqaKggRcEupAL69YbJnxeUDKWEdI= diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/LICENSE b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/LICENSE deleted file mode 100644 index e3d4e69..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/LICENSE +++ /dev/null @@ -1,18 +0,0 @@ -Copyright Joyent, Inc. and other Node contributors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/README.md b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/README.md deleted file mode 100644 index 2233732..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# readable-stream - -***Node-core v6.1.0 streams for userland*** [![Build Status](https://travis-ci.org/nodejs/readable-stream.svg?branch=master)](https://travis-ci.org/nodejs/readable-stream) - - -[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/) -[![NPM](https://nodei.co/npm-dl/readable-stream.png?&months=6&height=3)](https://nodei.co/npm/readable-stream/) - - -[![Sauce Test Status](https://saucelabs.com/browser-matrix/readable-stream.svg)](https://saucelabs.com/u/readable-stream) - -```bash -npm install --save readable-stream -``` - -***Node-core streams for userland*** - -This package is a mirror of the Streams2 and Streams3 implementations in -Node-core, including [documentation](doc/stream.md). - -If you want to guarantee a stable streams base, regardless of what version of -Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core, for background see [this blogpost](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html). - -As of version 2.0.0 **readable-stream** uses semantic versioning. - -# Streams WG Team Members - -* **Chris Dickinson** ([@chrisdickinson](https://github.com/chrisdickinson)) <christopher.s.dickinson@gmail.com> - - Release GPG key: 9554F04D7259F04124DE6B476D5A82AC7E37093B -* **Calvin Metcalf** ([@calvinmetcalf](https://github.com/calvinmetcalf)) <calvin.metcalf@gmail.com> - - Release GPG key: F3EF5F62A87FC27A22E643F714CE4FF5015AA242 -* **Rod Vagg** ([@rvagg](https://github.com/rvagg)) <rod@vagg.org> - - Release GPG key: DD8F2338BAE7501E3DD5AC78C273792F7D83545D -* **Sam Newman** ([@sonewman](https://github.com/sonewman)) <newmansam@outlook.com> -* **Mathias Buus** ([@mafintosh](https://github.com/mafintosh)) <mathiasbuus@gmail.com> -* **Domenic Denicola** ([@domenic](https://github.com/domenic)) <d@domenic.me> diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/doc/stream.md b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/doc/stream.md deleted file mode 100644 index c907ca0..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/doc/stream.md +++ /dev/null @@ -1,1772 +0,0 @@ -# Stream - - Stability: 2 - Stable - -A stream is an abstract interface implemented by various objects in -Node.js. For example a [request to an HTTP server][http-incoming-message] is a -stream, as is [`process.stdout`][]. Streams are readable, writable, or both. All -streams are instances of [`EventEmitter`][]. - -You can load the Stream base classes by doing `require('stream')`. -There are base classes provided for [Readable][] streams, [Writable][] -streams, [Duplex][] streams, and [Transform][] streams. - -This document is split up into 3 sections: - -1. The first section explains the parts of the API that you need to be - aware of to use streams in your programs. -2. The second section explains the parts of the API that you need to - use if you implement your own custom streams yourself. The API is designed to - make this easy for you to do. -3. The third section goes into more depth about how streams work, - including some of the internal mechanisms and functions that you - should probably not modify unless you definitely know what you are - doing. - - -## API for Stream Consumers - - - -Streams can be either [Readable][], [Writable][], or both ([Duplex][]). - -All streams are EventEmitters, but they also have other custom methods -and properties depending on whether they are Readable, Writable, or -Duplex. - -If a stream is both Readable and Writable, then it implements all of -the methods and events. So, a [Duplex][] or [Transform][] stream is -fully described by this API, though their implementation may be -somewhat different. - -It is not necessary to implement Stream interfaces in order to consume -streams in your programs. If you **are** implementing streaming -interfaces in your own program, please also refer to -[API for Stream Implementors][]. - -Almost all Node.js programs, no matter how simple, use Streams in some -way. Here is an example of using Streams in an Node.js program: - -```js -const http = require('http'); - -var server = http.createServer( (req, res) => { - // req is an http.IncomingMessage, which is a Readable Stream - // res is an http.ServerResponse, which is a Writable Stream - - var body = ''; - // we want to get the data as utf8 strings - // If you don't set an encoding, then you'll get Buffer objects - req.setEncoding('utf8'); - - // Readable streams emit 'data' events once a listener is added - req.on('data', (chunk) => { - body += chunk; - }); - - // the end event tells you that you have entire body - req.on('end', () => { - try { - var data = JSON.parse(body); - } catch (er) { - // uh oh! bad json! - res.statusCode = 400; - return res.end(`error: ${er.message}`); - } - - // write back something interesting to the user: - res.write(typeof data); - res.end(); - }); -}); - -server.listen(1337); - -// $ curl localhost:1337 -d '{}' -// object -// $ curl localhost:1337 -d '"foo"' -// string -// $ curl localhost:1337 -d 'not json' -// error: Unexpected token o -``` - -### Class: stream.Duplex - -Duplex streams are streams that implement both the [Readable][] and -[Writable][] interfaces. - -Examples of Duplex streams include: - -* [TCP sockets][] -* [zlib streams][zlib] -* [crypto streams][crypto] - -### Class: stream.Readable - - - -The Readable stream interface is the abstraction for a *source* of -data that you are reading from. In other words, data comes *out* of a -Readable stream. - -A Readable stream will not start emitting data until you indicate that -you are ready to receive it. - -Readable streams have two "modes": a **flowing mode** and a **paused -mode**. When in flowing mode, data is read from the underlying system -and provided to your program as fast as possible. In paused mode, you -must explicitly call [`stream.read()`][stream-read] to get chunks of data out. -Streams start out in paused mode. - -**Note**: If no data event handlers are attached, and there are no -[`stream.pipe()`][] destinations, and the stream is switched into flowing -mode, then data will be lost. - -You can switch to flowing mode by doing any of the following: - -* Adding a [`'data'`][] event handler to listen for data. -* Calling the [`stream.resume()`][stream-resume] method to explicitly open the - flow. -* Calling the [`stream.pipe()`][] method to send the data to a [Writable][]. - -You can switch back to paused mode by doing either of the following: - -* If there are no pipe destinations, by calling the - [`stream.pause()`][stream-pause] method. -* If there are pipe destinations, by removing any [`'data'`][] event - handlers, and removing all pipe destinations by calling the - [`stream.unpipe()`][] method. - -Note that, for backwards compatibility reasons, removing [`'data'`][] -event handlers will **not** automatically pause the stream. Also, if -there are piped destinations, then calling [`stream.pause()`][stream-pause] will -not guarantee that the stream will *remain* paused once those -destinations drain and ask for more data. - -Examples of readable streams include: - -* [HTTP responses, on the client][http-incoming-message] -* [HTTP requests, on the server][http-incoming-message] -* [fs read streams][] -* [zlib streams][zlib] -* [crypto streams][crypto] -* [TCP sockets][] -* [child process stdout and stderr][] -* [`process.stdin`][] - -#### Event: 'close' - -Emitted when the stream and any of its underlying resources (a file -descriptor, for example) have been closed. The event indicates that -no more events will be emitted, and no further computation will occur. - -Not all streams will emit the `'close'` event as the `'close'` event is -optional. - -#### Event: 'data' - -* `chunk` {Buffer|String} The chunk of data. - -Attaching a `'data'` event listener to a stream that has not been -explicitly paused will switch the stream into flowing mode. Data will -then be passed as soon as it is available. - -If you just want to get all the data out of the stream as fast as -possible, this is the best way to do so. - -```js -var readable = getReadableStreamSomehow(); -readable.on('data', (chunk) => { - console.log('got %d bytes of data', chunk.length); -}); -``` - -#### Event: 'end' - -This event fires when there will be no more data to read. - -Note that the `'end'` event **will not fire** unless the data is -completely consumed. This can be done by switching into flowing mode, -or by calling [`stream.read()`][stream-read] repeatedly until you get to the -end. - -```js -var readable = getReadableStreamSomehow(); -readable.on('data', (chunk) => { - console.log('got %d bytes of data', chunk.length); -}); -readable.on('end', () => { - console.log('there will be no more data.'); -}); -``` - -#### Event: 'error' - -* {Error} - -Emitted if there was an error receiving data. - -#### Event: 'readable' - -When a chunk of data can be read from the stream, it will emit a -`'readable'` event. - -In some cases, listening for a `'readable'` event will cause some data -to be read into the internal buffer from the underlying system, if it -hadn't already. - -```javascript -var readable = getReadableStreamSomehow(); -readable.on('readable', () => { - // there is some data to read now -}); -``` - -Once the internal buffer is drained, a `'readable'` event will fire -again when more data is available. - -The `'readable'` event is not emitted in the "flowing" mode with the -sole exception of the last one, on end-of-stream. - -The `'readable'` event indicates that the stream has new information: -either new data is available or the end of the stream has been reached. -In the former case, [`stream.read()`][stream-read] will return that data. In the -latter case, [`stream.read()`][stream-read] will return null. For instance, in -the following example, `foo.txt` is an empty file: - -```js -const fs = require('fs'); -var rr = fs.createReadStream('foo.txt'); -rr.on('readable', () => { - console.log('readable:', rr.read()); -}); -rr.on('end', () => { - console.log('end'); -}); -``` - -The output of running this script is: - -``` -$ node test.js -readable: null -end -``` - -#### readable.isPaused() - -* Return: {Boolean} - -This method returns whether or not the `readable` has been **explicitly** -paused by client code (using [`stream.pause()`][stream-pause] without a -corresponding [`stream.resume()`][stream-resume]). - -```js -var readable = new stream.Readable - -readable.isPaused() // === false -readable.pause() -readable.isPaused() // === true -readable.resume() -readable.isPaused() // === false -``` - -#### readable.pause() - -* Return: `this` - -This method will cause a stream in flowing mode to stop emitting -[`'data'`][] events, switching out of flowing mode. Any data that becomes -available will remain in the internal buffer. - -```js -var readable = getReadableStreamSomehow(); -readable.on('data', (chunk) => { - console.log('got %d bytes of data', chunk.length); - readable.pause(); - console.log('there will be no more data for 1 second'); - setTimeout(() => { - console.log('now data will start flowing again'); - readable.resume(); - }, 1000); -}); -``` - -#### readable.pipe(destination[, options]) - -* `destination` {stream.Writable} The destination for writing data -* `options` {Object} Pipe options - * `end` {Boolean} End the writer when the reader ends. Default = `true` - -This method pulls all the data out of a readable stream, and writes it -to the supplied destination, automatically managing the flow so that -the destination is not overwhelmed by a fast readable stream. - -Multiple destinations can be piped to safely. - -```js -var readable = getReadableStreamSomehow(); -var writable = fs.createWriteStream('file.txt'); -// All the data from readable goes into 'file.txt' -readable.pipe(writable); -``` - -This function returns the destination stream, so you can set up pipe -chains like so: - -```js -var r = fs.createReadStream('file.txt'); -var z = zlib.createGzip(); -var w = fs.createWriteStream('file.txt.gz'); -r.pipe(z).pipe(w); -``` - -For example, emulating the Unix `cat` command: - -```js -process.stdin.pipe(process.stdout); -``` - -By default [`stream.end()`][stream-end] is called on the destination when the -source stream emits [`'end'`][], so that `destination` is no longer writable. -Pass `{ end: false }` as `options` to keep the destination stream open. - -This keeps `writer` open so that "Goodbye" can be written at the -end. - -```js -reader.pipe(writer, { end: false }); -reader.on('end', () => { - writer.end('Goodbye\n'); -}); -``` - -Note that [`process.stderr`][] and [`process.stdout`][] are never closed until -the process exits, regardless of the specified options. - -#### readable.read([size]) - -* `size` {Number} Optional argument to specify how much data to read. -* Return {String|Buffer|Null} - -The `read()` method pulls some data out of the internal buffer and -returns it. If there is no data available, then it will return -`null`. - -If you pass in a `size` argument, then it will return that many -bytes. If `size` bytes are not available, then it will return `null`, -unless we've ended, in which case it will return the data remaining -in the buffer. - -If you do not specify a `size` argument, then it will return all the -data in the internal buffer. - -This method should only be called in paused mode. In flowing mode, -this method is called automatically until the internal buffer is -drained. - -```js -var readable = getReadableStreamSomehow(); -readable.on('readable', () => { - var chunk; - while (null !== (chunk = readable.read())) { - console.log('got %d bytes of data', chunk.length); - } -}); -``` - -If this method returns a data chunk, then it will also trigger the -emission of a [`'data'`][] event. - -Note that calling [`stream.read([size])`][stream-read] after the [`'end'`][] -event has been triggered will return `null`. No runtime error will be raised. - -#### readable.resume() - -* Return: `this` - -This method will cause the readable stream to resume emitting [`'data'`][] -events. - -This method will switch the stream into flowing mode. If you do *not* -want to consume the data from a stream, but you *do* want to get to -its [`'end'`][] event, you can call [`stream.resume()`][stream-resume] to open -the flow of data. - -```js -var readable = getReadableStreamSomehow(); -readable.resume(); -readable.on('end', () => { - console.log('got to the end, but did not read anything'); -}); -``` - -#### readable.setEncoding(encoding) - -* `encoding` {String} The encoding to use. -* Return: `this` - -Call this function to cause the stream to return strings of the specified -encoding instead of Buffer objects. For example, if you do -`readable.setEncoding('utf8')`, then the output data will be interpreted as -UTF-8 data, and returned as strings. If you do `readable.setEncoding('hex')`, -then the data will be encoded in hexadecimal string format. - -This properly handles multi-byte characters that would otherwise be -potentially mangled if you simply pulled the Buffers directly and -called [`buf.toString(encoding)`][] on them. If you want to read the data -as strings, always use this method. - -Also you can disable any encoding at all with `readable.setEncoding(null)`. -This approach is very useful if you deal with binary data or with large -multi-byte strings spread out over multiple chunks. - -```js -var readable = getReadableStreamSomehow(); -readable.setEncoding('utf8'); -readable.on('data', (chunk) => { - assert.equal(typeof chunk, 'string'); - console.log('got %d characters of string data', chunk.length); -}); -``` - -#### readable.unpipe([destination]) - -* `destination` {stream.Writable} Optional specific stream to unpipe - -This method will remove the hooks set up for a previous [`stream.pipe()`][] -call. - -If the destination is not specified, then all pipes are removed. - -If the destination is specified, but no pipe is set up for it, then -this is a no-op. - -```js -var readable = getReadableStreamSomehow(); -var writable = fs.createWriteStream('file.txt'); -// All the data from readable goes into 'file.txt', -// but only for the first second -readable.pipe(writable); -setTimeout(() => { - console.log('stop writing to file.txt'); - readable.unpipe(writable); - console.log('manually close the file stream'); - writable.end(); -}, 1000); -``` - -#### readable.unshift(chunk) - -* `chunk` {Buffer|String} Chunk of data to unshift onto the read queue - -This is useful in certain cases where a stream is being consumed by a -parser, which needs to "un-consume" some data that it has -optimistically pulled out of the source, so that the stream can be -passed on to some other party. - -Note that `stream.unshift(chunk)` cannot be called after the [`'end'`][] event -has been triggered; a runtime error will be raised. - -If you find that you must often call `stream.unshift(chunk)` in your -programs, consider implementing a [Transform][] stream instead. (See [API -for Stream Implementors][].) - -```js -// Pull off a header delimited by \n\n -// use unshift() if we get too much -// Call the callback with (error, header, stream) -const StringDecoder = require('string_decoder').StringDecoder; -function parseHeader(stream, callback) { - stream.on('error', callback); - stream.on('readable', onReadable); - var decoder = new StringDecoder('utf8'); - var header = ''; - function onReadable() { - var chunk; - while (null !== (chunk = stream.read())) { - var str = decoder.write(chunk); - if (str.match(/\n\n/)) { - // found the header boundary - var split = str.split(/\n\n/); - header += split.shift(); - var remaining = split.join('\n\n'); - var buf = Buffer.from(remaining, 'utf8'); - if (buf.length) - stream.unshift(buf); - stream.removeListener('error', callback); - stream.removeListener('readable', onReadable); - // now the body of the message can be read from the stream. - callback(null, header, stream); - } else { - // still reading the header. - header += str; - } - } - } -} -``` - -Note that, unlike [`stream.push(chunk)`][stream-push], `stream.unshift(chunk)` -will not end the reading process by resetting the internal reading state of the -stream. This can cause unexpected results if `unshift()` is called during a -read (i.e. from within a [`stream._read()`][stream-_read] implementation on a -custom stream). Following the call to `unshift()` with an immediate -[`stream.push('')`][stream-push] will reset the reading state appropriately, -however it is best to simply avoid calling `unshift()` while in the process of -performing a read. - -#### readable.wrap(stream) - -* `stream` {Stream} An "old style" readable stream - -Versions of Node.js prior to v0.10 had streams that did not implement the -entire Streams API as it is today. (See [Compatibility][] for -more information.) - -If you are using an older Node.js library that emits [`'data'`][] events and -has a [`stream.pause()`][stream-pause] method that is advisory only, then you -can use the `wrap()` method to create a [Readable][] stream that uses the old -stream as its data source. - -You will very rarely ever need to call this function, but it exists -as a convenience for interacting with old Node.js programs and libraries. - -For example: - -```js -const OldReader = require('./old-api-module.js').OldReader; -const Readable = require('stream').Readable; -const oreader = new OldReader; -const myReader = new Readable().wrap(oreader); - -myReader.on('readable', () => { - myReader.read(); // etc. -}); -``` - -### Class: stream.Transform - -Transform streams are [Duplex][] streams where the output is in some way -computed from the input. They implement both the [Readable][] and -[Writable][] interfaces. - -Examples of Transform streams include: - -* [zlib streams][zlib] -* [crypto streams][crypto] - -### Class: stream.Writable - - - -The Writable stream interface is an abstraction for a *destination* -that you are writing data *to*. - -Examples of writable streams include: - -* [HTTP requests, on the client][] -* [HTTP responses, on the server][] -* [fs write streams][] -* [zlib streams][zlib] -* [crypto streams][crypto] -* [TCP sockets][] -* [child process stdin][] -* [`process.stdout`][], [`process.stderr`][] - -#### Event: 'close' - -Emitted when the stream and any of its underlying resources (a file descriptor, -for example) have been closed. The event indicates that no more events will be -emitted, and no further computation will occur. - -Not all streams will emit the `'close'` event as the `'close'` event is -optional. - -#### Event: 'drain' - -If a [`stream.write(chunk)`][stream-write] call returns `false`, then the -`'drain'` event will indicate when it is appropriate to begin writing more data -to the stream. - -```js -// Write the data to the supplied writable stream one million times. -// Be attentive to back-pressure. -function writeOneMillionTimes(writer, data, encoding, callback) { - var i = 1000000; - write(); - function write() { - var ok = true; - do { - i -= 1; - if (i === 0) { - // last time! - writer.write(data, encoding, callback); - } else { - // see if we should continue, or wait - // don't pass the callback, because we're not done yet. - ok = writer.write(data, encoding); - } - } while (i > 0 && ok); - if (i > 0) { - // had to stop early! - // write some more once it drains - writer.once('drain', write); - } - } -} -``` - -#### Event: 'error' - -* {Error} - -Emitted if there was an error when writing or piping data. - -#### Event: 'finish' - -When the [`stream.end()`][stream-end] method has been called, and all data has -been flushed to the underlying system, this event is emitted. - -```javascript -var writer = getWritableStreamSomehow(); -for (var i = 0; i < 100; i ++) { - writer.write('hello, #${i}!\n'); -} -writer.end('this is the end\n'); -writer.on('finish', () => { - console.error('all writes are now complete.'); -}); -``` - -#### Event: 'pipe' - -* `src` {stream.Readable} source stream that is piping to this writable - -This is emitted whenever the [`stream.pipe()`][] method is called on a readable -stream, adding this writable to its set of destinations. - -```js -var writer = getWritableStreamSomehow(); -var reader = getReadableStreamSomehow(); -writer.on('pipe', (src) => { - console.error('something is piping into the writer'); - assert.equal(src, reader); -}); -reader.pipe(writer); -``` - -#### Event: 'unpipe' - -* `src` {[Readable][] Stream} The source stream that - [unpiped][`stream.unpipe()`] this writable - -This is emitted whenever the [`stream.unpipe()`][] method is called on a -readable stream, removing this writable from its set of destinations. - -```js -var writer = getWritableStreamSomehow(); -var reader = getReadableStreamSomehow(); -writer.on('unpipe', (src) => { - console.error('something has stopped piping into the writer'); - assert.equal(src, reader); -}); -reader.pipe(writer); -reader.unpipe(writer); -``` - -#### writable.cork() - -Forces buffering of all writes. - -Buffered data will be flushed either at [`stream.uncork()`][] or at -[`stream.end()`][stream-end] call. - -#### writable.end([chunk][, encoding][, callback]) - -* `chunk` {String|Buffer} Optional data to write -* `encoding` {String} The encoding, if `chunk` is a String -* `callback` {Function} Optional callback for when the stream is finished - -Call this method when no more data will be written to the stream. If supplied, -the callback is attached as a listener on the [`'finish'`][] event. - -Calling [`stream.write()`][stream-write] after calling -[`stream.end()`][stream-end] will raise an error. - -```js -// write 'hello, ' and then end with 'world!' -var file = fs.createWriteStream('example.txt'); -file.write('hello, '); -file.end('world!'); -// writing more now is not allowed! -``` - -#### writable.setDefaultEncoding(encoding) - -* `encoding` {String} The new default encoding -* Return: `this` - -Sets the default encoding for a writable stream. - -#### writable.uncork() - -Flush all data, buffered since [`stream.cork()`][] call. - -#### writable.write(chunk[, encoding][, callback]) - -* `chunk` {String|Buffer} The data to write -* `encoding` {String} The encoding, if `chunk` is a String -* `callback` {Function} Callback for when this chunk of data is flushed -* Returns: {Boolean} `true` if the data was handled completely. - -This method writes some data to the underlying system, and calls the -supplied callback once the data has been fully handled. If an error -occurs, the callback may or may not be called with the error as its -first argument. To detect write errors, listen for the `'error'` event. - -The return value indicates if you should continue writing right now. -If the data had to be buffered internally, then it will return -`false`. Otherwise, it will return `true`. - -This return value is strictly advisory. You MAY continue to write, -even if it returns `false`. However, writes will be buffered in -memory, so it is best not to do this excessively. Instead, wait for -the [`'drain'`][] event before writing more data. - - -## API for Stream Implementors - - - -To implement any sort of stream, the pattern is the same: - -1. Extend the appropriate parent class in your own subclass. (The - [`util.inherits()`][] method is particularly helpful for this.) -2. Call the appropriate parent class constructor in your constructor, - to be sure that the internal mechanisms are set up properly. -3. Implement one or more specific methods, as detailed below. - -The class to extend and the method(s) to implement depend on the sort -of stream class you are writing: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Use-case

-
-

Class

-
-

Method(s) to implement

-
-

Reading only

-
-

[Readable](#stream_class_stream_readable_1)

-
-

[_read][stream-_read]

-
-

Writing only

-
-

[Writable](#stream_class_stream_writable_1)

-
-

[_write][stream-_write], [_writev][stream-_writev]

-
-

Reading and writing

-
-

[Duplex](#stream_class_stream_duplex_1)

-
-

[_read][stream-_read], [_write][stream-_write], [_writev][stream-_writev]

-
-

Operate on written data, then read the result

-
-

[Transform](#stream_class_stream_transform_1)

-
-

[_transform][stream-_transform], [_flush][stream-_flush]

-
- -In your implementation code, it is very important to never call the methods -described in [API for Stream Consumers][]. Otherwise, you can potentially cause -adverse side effects in programs that consume your streaming interfaces. - -### Class: stream.Duplex - - - -A "duplex" stream is one that is both Readable and Writable, such as a TCP -socket connection. - -Note that `stream.Duplex` is an abstract class designed to be extended -with an underlying implementation of the [`stream._read(size)`][stream-_read] -and [`stream._write(chunk, encoding, callback)`][stream-_write] methods as you -would with a Readable or Writable stream class. - -Since JavaScript doesn't have multiple prototypal inheritance, this class -prototypally inherits from Readable, and then parasitically from Writable. It is -thus up to the user to implement both the low-level -[`stream._read(n)`][stream-_read] method as well as the low-level -[`stream._write(chunk, encoding, callback)`][stream-_write] method on extension -duplex classes. - -#### new stream.Duplex(options) - -* `options` {Object} Passed to both Writable and Readable - constructors. Also has the following fields: - * `allowHalfOpen` {Boolean} Default = `true`. If set to `false`, then - the stream will automatically end the readable side when the - writable side ends and vice versa. - * `readableObjectMode` {Boolean} Default = `false`. Sets `objectMode` - for readable side of the stream. Has no effect if `objectMode` - is `true`. - * `writableObjectMode` {Boolean} Default = `false`. Sets `objectMode` - for writable side of the stream. Has no effect if `objectMode` - is `true`. - -In classes that extend the Duplex class, make sure to call the -constructor so that the buffering settings can be properly -initialized. - -### Class: stream.PassThrough - -This is a trivial implementation of a [Transform][] stream that simply -passes the input bytes across to the output. Its purpose is mainly -for examples and testing, but there are occasionally use cases where -it can come in handy as a building block for novel sorts of streams. - -### Class: stream.Readable - - - -`stream.Readable` is an abstract class designed to be extended with an -underlying implementation of the [`stream._read(size)`][stream-_read] method. - -Please see [API for Stream Consumers][] for how to consume -streams in your programs. What follows is an explanation of how to -implement Readable streams in your programs. - -#### new stream.Readable([options]) - -* `options` {Object} - * `highWaterMark` {Number} The maximum number of bytes to store in - the internal buffer before ceasing to read from the underlying - resource. Default = `16384` (16kb), or `16` for `objectMode` streams - * `encoding` {String} If specified, then buffers will be decoded to - strings using the specified encoding. Default = `null` - * `objectMode` {Boolean} Whether this stream should behave - as a stream of objects. Meaning that [`stream.read(n)`][stream-read] returns - a single value instead of a Buffer of size n. Default = `false` - * `read` {Function} Implementation for the [`stream._read()`][stream-_read] - method. - -In classes that extend the Readable class, make sure to call the -Readable constructor so that the buffering settings can be properly -initialized. - -#### readable.\_read(size) - -* `size` {Number} Number of bytes to read asynchronously - -Note: **Implement this method, but do NOT call it directly.** - -This method is prefixed with an underscore because it is internal to the -class that defines it and should only be called by the internal Readable -class methods. All Readable stream implementations must provide a \_read -method to fetch data from the underlying resource. - -When `_read()` is called, if data is available from the resource, the `_read()` -implementation should start pushing that data into the read queue by calling -[`this.push(dataChunk)`][stream-push]. `_read()` should continue reading from -the resource and pushing data until push returns `false`, at which point it -should stop reading from the resource. Only when `_read()` is called again after -it has stopped should it start reading more data from the resource and pushing -that data onto the queue. - -Note: once the `_read()` method is called, it will not be called again until -the [`stream.push()`][stream-push] method is called. - -The `size` argument is advisory. Implementations where a "read" is a -single call that returns data can use this to know how much data to -fetch. Implementations where that is not relevant, such as TCP or -TLS, may ignore this argument, and simply provide data whenever it -becomes available. There is no need, for example to "wait" until -`size` bytes are available before calling [`stream.push(chunk)`][stream-push]. - -#### readable.push(chunk[, encoding]) - - -* `chunk` {Buffer|Null|String} Chunk of data to push into the read queue -* `encoding` {String} Encoding of String chunks. Must be a valid - Buffer encoding, such as `'utf8'` or `'ascii'` -* return {Boolean} Whether or not more pushes should be performed - -Note: **This method should be called by Readable implementors, NOT -by consumers of Readable streams.** - -If a value other than null is passed, The `push()` method adds a chunk of data -into the queue for subsequent stream processors to consume. If `null` is -passed, it signals the end of the stream (EOF), after which no more data -can be written. - -The data added with `push()` can be pulled out by calling the -[`stream.read()`][stream-read] method when the [`'readable'`][] event fires. - -This API is designed to be as flexible as possible. For example, -you may be wrapping a lower-level source which has some sort of -pause/resume mechanism, and a data callback. In those cases, you -could wrap the low-level source object by doing something like this: - -```js -// source is an object with readStop() and readStart() methods, -// and an `ondata` member that gets called when it has data, and -// an `onend` member that gets called when the data is over. - -util.inherits(SourceWrapper, Readable); - -function SourceWrapper(options) { - Readable.call(this, options); - - this._source = getLowlevelSourceObject(); - - // Every time there's data, we push it into the internal buffer. - this._source.ondata = (chunk) => { - // if push() returns false, then we need to stop reading from source - if (!this.push(chunk)) - this._source.readStop(); - }; - - // When the source ends, we push the EOF-signaling `null` chunk - this._source.onend = () => { - this.push(null); - }; -} - -// _read will be called when the stream wants to pull more data in -// the advisory size argument is ignored in this case. -SourceWrapper.prototype._read = function(size) { - this._source.readStart(); -}; -``` - -#### Example: A Counting Stream - - - -This is a basic example of a Readable stream. It emits the numerals -from 1 to 1,000,000 in ascending order, and then ends. - -```js -const Readable = require('stream').Readable; -const util = require('util'); -util.inherits(Counter, Readable); - -function Counter(opt) { - Readable.call(this, opt); - this._max = 1000000; - this._index = 1; -} - -Counter.prototype._read = function() { - var i = this._index++; - if (i > this._max) - this.push(null); - else { - var str = '' + i; - var buf = Buffer.from(str, 'ascii'); - this.push(buf); - } -}; -``` - -#### Example: SimpleProtocol v1 (Sub-optimal) - -This is similar to the `parseHeader` function described -[here](#stream_readable_unshift_chunk), but implemented as a custom stream. -Also, note that this implementation does not convert the incoming data to a -string. - -However, this would be better implemented as a [Transform][] stream. See -[SimpleProtocol v2][] for a better implementation. - -```js -// A parser for a simple data protocol. -// The "header" is a JSON object, followed by 2 \n characters, and -// then a message body. -// -// NOTE: This can be done more simply as a Transform stream! -// Using Readable directly for this is sub-optimal. See the -// alternative example below under the Transform section. - -const Readable = require('stream').Readable; -const util = require('util'); - -util.inherits(SimpleProtocol, Readable); - -function SimpleProtocol(source, options) { - if (!(this instanceof SimpleProtocol)) - return new SimpleProtocol(source, options); - - Readable.call(this, options); - this._inBody = false; - this._sawFirstCr = false; - - // source is a readable stream, such as a socket or file - this._source = source; - - source.on('end', () => { - this.push(null); - }); - - // give it a kick whenever the source is readable - // read(0) will not consume any bytes - source.on('readable', () => { - this.read(0); - }); - - this._rawHeader = []; - this.header = null; -} - -SimpleProtocol.prototype._read = function(n) { - if (!this._inBody) { - var chunk = this._source.read(); - - // if the source doesn't have data, we don't have data yet. - if (chunk === null) - return this.push(''); - - // check if the chunk has a \n\n - var split = -1; - for (var i = 0; i < chunk.length; i++) { - if (chunk[i] === 10) { // '\n' - if (this._sawFirstCr) { - split = i; - break; - } else { - this._sawFirstCr = true; - } - } else { - this._sawFirstCr = false; - } - } - - if (split === -1) { - // still waiting for the \n\n - // stash the chunk, and try again. - this._rawHeader.push(chunk); - this.push(''); - } else { - this._inBody = true; - var h = chunk.slice(0, split); - this._rawHeader.push(h); - var header = Buffer.concat(this._rawHeader).toString(); - try { - this.header = JSON.parse(header); - } catch (er) { - this.emit('error', new Error('invalid simple protocol data')); - return; - } - // now, because we got some extra data, unshift the rest - // back into the read queue so that our consumer will see it. - var b = chunk.slice(split); - this.unshift(b); - // calling unshift by itself does not reset the reading state - // of the stream; since we're inside _read, doing an additional - // push('') will reset the state appropriately. - this.push(''); - - // and let them know that we are done parsing the header. - this.emit('header', this.header); - } - } else { - // from there on, just provide the data to our consumer. - // careful not to push(null), since that would indicate EOF. - var chunk = this._source.read(); - if (chunk) this.push(chunk); - } -}; - -// Usage: -// var parser = new SimpleProtocol(source); -// Now parser is a readable stream that will emit 'header' -// with the parsed header data. -``` - -### Class: stream.Transform - -A "transform" stream is a duplex stream where the output is causally -connected in some way to the input, such as a [zlib][] stream or a -[crypto][] stream. - -There is no requirement that the output be the same size as the input, -the same number of chunks, or arrive at the same time. For example, a -Hash stream will only ever have a single chunk of output which is -provided when the input is ended. A zlib stream will produce output -that is either much smaller or much larger than its input. - -Rather than implement the [`stream._read()`][stream-_read] and -[`stream._write()`][stream-_write] methods, Transform classes must implement the -[`stream._transform()`][stream-_transform] method, and may optionally -also implement the [`stream._flush()`][stream-_flush] method. (See below.) - -#### new stream.Transform([options]) - -* `options` {Object} Passed to both Writable and Readable - constructors. Also has the following fields: - * `transform` {Function} Implementation for the - [`stream._transform()`][stream-_transform] method. - * `flush` {Function} Implementation for the [`stream._flush()`][stream-_flush] - method. - -In classes that extend the Transform class, make sure to call the -constructor so that the buffering settings can be properly -initialized. - -#### Events: 'finish' and 'end' - -The [`'finish'`][] and [`'end'`][] events are from the parent Writable -and Readable classes respectively. The `'finish'` event is fired after -[`stream.end()`][stream-end] is called and all chunks have been processed by -[`stream._transform()`][stream-_transform], `'end'` is fired after all data has -been output which is after the callback in [`stream._flush()`][stream-_flush] -has been called. - -#### transform.\_flush(callback) - -* `callback` {Function} Call this function (optionally with an error - argument) when you are done flushing any remaining data. - -Note: **This function MUST NOT be called directly.** It MAY be implemented -by child classes, and if so, will be called by the internal Transform -class methods only. - -In some cases, your transform operation may need to emit a bit more -data at the end of the stream. For example, a `Zlib` compression -stream will store up some internal state so that it can optimally -compress the output. At the end, however, it needs to do the best it -can with what is left, so that the data will be complete. - -In those cases, you can implement a `_flush()` method, which will be -called at the very end, after all the written data is consumed, but -before emitting [`'end'`][] to signal the end of the readable side. Just -like with [`stream._transform()`][stream-_transform], call -`transform.push(chunk)` zero or more times, as appropriate, and call `callback` -when the flush operation is complete. - -This method is prefixed with an underscore because it is internal to -the class that defines it, and should not be called directly by user -programs. However, you **are** expected to override this method in -your own extension classes. - -#### transform.\_transform(chunk, encoding, callback) - -* `chunk` {Buffer|String} The chunk to be transformed. Will **always** - be a buffer unless the `decodeStrings` option was set to `false`. -* `encoding` {String} If the chunk is a string, then this is the - encoding type. If chunk is a buffer, then this is the special - value - 'buffer', ignore it in this case. -* `callback` {Function} Call this function (optionally with an error - argument and data) when you are done processing the supplied chunk. - -Note: **This function MUST NOT be called directly.** It should be -implemented by child classes, and called by the internal Transform -class methods only. - -All Transform stream implementations must provide a `_transform()` -method to accept input and produce output. - -`_transform()` should do whatever has to be done in this specific -Transform class, to handle the bytes being written, and pass them off -to the readable portion of the interface. Do asynchronous I/O, -process things, and so on. - -Call `transform.push(outputChunk)` 0 or more times to generate output -from this input chunk, depending on how much data you want to output -as a result of this chunk. - -Call the callback function only when the current chunk is completely -consumed. Note that there may or may not be output as a result of any -particular input chunk. If you supply a second argument to the callback -it will be passed to the push method. In other words the following are -equivalent: - -```js -transform.prototype._transform = function (data, encoding, callback) { - this.push(data); - callback(); -}; - -transform.prototype._transform = function (data, encoding, callback) { - callback(null, data); -}; -``` - -This method is prefixed with an underscore because it is internal to -the class that defines it, and should not be called directly by user -programs. However, you **are** expected to override this method in -your own extension classes. - -#### Example: `SimpleProtocol` parser v2 - -The example [here](#stream_example_simpleprotocol_v1_sub_optimal) of a simple -protocol parser can be implemented simply by using the higher level -[Transform][] stream class, similar to the `parseHeader` and `SimpleProtocol -v1` examples. - -In this example, rather than providing the input as an argument, it -would be piped into the parser, which is a more idiomatic Node.js stream -approach. - -```javascript -const util = require('util'); -const Transform = require('stream').Transform; -util.inherits(SimpleProtocol, Transform); - -function SimpleProtocol(options) { - if (!(this instanceof SimpleProtocol)) - return new SimpleProtocol(options); - - Transform.call(this, options); - this._inBody = false; - this._sawFirstCr = false; - this._rawHeader = []; - this.header = null; -} - -SimpleProtocol.prototype._transform = function(chunk, encoding, done) { - if (!this._inBody) { - // check if the chunk has a \n\n - var split = -1; - for (var i = 0; i < chunk.length; i++) { - if (chunk[i] === 10) { // '\n' - if (this._sawFirstCr) { - split = i; - break; - } else { - this._sawFirstCr = true; - } - } else { - this._sawFirstCr = false; - } - } - - if (split === -1) { - // still waiting for the \n\n - // stash the chunk, and try again. - this._rawHeader.push(chunk); - } else { - this._inBody = true; - var h = chunk.slice(0, split); - this._rawHeader.push(h); - var header = Buffer.concat(this._rawHeader).toString(); - try { - this.header = JSON.parse(header); - } catch (er) { - this.emit('error', new Error('invalid simple protocol data')); - return; - } - // and let them know that we are done parsing the header. - this.emit('header', this.header); - - // now, because we got some extra data, emit this first. - this.push(chunk.slice(split)); - } - } else { - // from there on, just provide the data to our consumer as-is. - this.push(chunk); - } - done(); -}; - -// Usage: -// var parser = new SimpleProtocol(); -// source.pipe(parser) -// Now parser is a readable stream that will emit 'header' -// with the parsed header data. -``` - -### Class: stream.Writable - - - -`stream.Writable` is an abstract class designed to be extended with an -underlying implementation of the -[`stream._write(chunk, encoding, callback)`][stream-_write] method. - -Please see [API for Stream Consumers][] for how to consume -writable streams in your programs. What follows is an explanation of -how to implement Writable streams in your programs. - -#### new stream.Writable([options]) - -* `options` {Object} - * `highWaterMark` {Number} Buffer level when - [`stream.write()`][stream-write] starts returning `false`. Default = `16384` - (16kb), or `16` for `objectMode` streams. - * `decodeStrings` {Boolean} Whether or not to decode strings into - Buffers before passing them to [`stream._write()`][stream-_write]. - Default = `true` - * `objectMode` {Boolean} Whether or not the - [`stream.write(anyObj)`][stream-write] is a valid operation. If set you can - write arbitrary data instead of only `Buffer` / `String` data. - Default = `false` - * `write` {Function} Implementation for the - [`stream._write()`][stream-_write] method. - * `writev` {Function} Implementation for the - [`stream._writev()`][stream-_writev] method. - -In classes that extend the Writable class, make sure to call the -constructor so that the buffering settings can be properly -initialized. - -#### writable.\_write(chunk, encoding, callback) - -* `chunk` {Buffer|String} The chunk to be written. Will **always** - be a buffer unless the `decodeStrings` option was set to `false`. -* `encoding` {String} If the chunk is a string, then this is the - encoding type. If chunk is a buffer, then this is the special - value - 'buffer', ignore it in this case. -* `callback` {Function} Call this function (optionally with an error - argument) when you are done processing the supplied chunk. - -All Writable stream implementations must provide a -[`stream._write()`][stream-_write] method to send data to the underlying -resource. - -Note: **This function MUST NOT be called directly.** It should be -implemented by child classes, and called by the internal Writable -class methods only. - -Call the callback using the standard `callback(error)` pattern to -signal that the write completed successfully or with an error. - -If the `decodeStrings` flag is set in the constructor options, then -`chunk` may be a string rather than a Buffer, and `encoding` will -indicate the sort of string that it is. This is to support -implementations that have an optimized handling for certain string -data encodings. If you do not explicitly set the `decodeStrings` -option to `false`, then you can safely ignore the `encoding` argument, -and assume that `chunk` will always be a Buffer. - -This method is prefixed with an underscore because it is internal to -the class that defines it, and should not be called directly by user -programs. However, you **are** expected to override this method in -your own extension classes. - -#### writable.\_writev(chunks, callback) - -* `chunks` {Array} The chunks to be written. Each chunk has following - format: `{ chunk: ..., encoding: ... }`. -* `callback` {Function} Call this function (optionally with an error - argument) when you are done processing the supplied chunks. - -Note: **This function MUST NOT be called directly.** It may be -implemented by child classes, and called by the internal Writable -class methods only. - -This function is completely optional to implement. In most cases it is -unnecessary. If implemented, it will be called with all the chunks -that are buffered in the write queue. - - -## Simplified Constructor API - - - -In simple cases there is now the added benefit of being able to construct a -stream without inheritance. - -This can be done by passing the appropriate methods as constructor options: - -Examples: - -### Duplex - -```js -var duplex = new stream.Duplex({ - read: function(n) { - // sets this._read under the hood - - // push data onto the read queue, passing null - // will signal the end of the stream (EOF) - this.push(chunk); - }, - write: function(chunk, encoding, next) { - // sets this._write under the hood - - // An optional error can be passed as the first argument - next() - } -}); - -// or - -var duplex = new stream.Duplex({ - read: function(n) { - // sets this._read under the hood - - // push data onto the read queue, passing null - // will signal the end of the stream (EOF) - this.push(chunk); - }, - writev: function(chunks, next) { - // sets this._writev under the hood - - // An optional error can be passed as the first argument - next() - } -}); -``` - -### Readable - -```js -var readable = new stream.Readable({ - read: function(n) { - // sets this._read under the hood - - // push data onto the read queue, passing null - // will signal the end of the stream (EOF) - this.push(chunk); - } -}); -``` - -### Transform - -```js -var transform = new stream.Transform({ - transform: function(chunk, encoding, next) { - // sets this._transform under the hood - - // generate output as many times as needed - // this.push(chunk); - - // call when the current chunk is consumed - next(); - }, - flush: function(done) { - // sets this._flush under the hood - - // generate output as many times as needed - // this.push(chunk); - - done(); - } -}); -``` - -### Writable - -```js -var writable = new stream.Writable({ - write: function(chunk, encoding, next) { - // sets this._write under the hood - - // An optional error can be passed as the first argument - next() - } -}); - -// or - -var writable = new stream.Writable({ - writev: function(chunks, next) { - // sets this._writev under the hood - - // An optional error can be passed as the first argument - next() - } -}); -``` - -## Streams: Under the Hood - - - -### Buffering - - - -Both Writable and Readable streams will buffer data on an internal -object which can be retrieved from `_writableState.getBuffer()` or -`_readableState.buffer`, respectively. - -The amount of data that will potentially be buffered depends on the -`highWaterMark` option which is passed into the constructor. - -Buffering in Readable streams happens when the implementation calls -[`stream.push(chunk)`][stream-push]. If the consumer of the Stream does not -call [`stream.read()`][stream-read], then the data will sit in the internal -queue until it is consumed. - -Buffering in Writable streams happens when the user calls -[`stream.write(chunk)`][stream-write] repeatedly, even when it returns `false`. - -The purpose of streams, especially with the [`stream.pipe()`][] method, is to -limit the buffering of data to acceptable levels, so that sources and -destinations of varying speed will not overwhelm the available memory. - -### Compatibility with Older Node.js Versions - - - -In versions of Node.js prior to v0.10, the Readable stream interface was -simpler, but also less powerful and less useful. - -* Rather than waiting for you to call the [`stream.read()`][stream-read] method, - [`'data'`][] events would start emitting immediately. If you needed to do - some I/O to decide how to handle data, then you had to store the chunks - in some kind of buffer so that they would not be lost. -* The [`stream.pause()`][stream-pause] method was advisory, rather than - guaranteed. This meant that you still had to be prepared to receive - [`'data'`][] events even when the stream was in a paused state. - -In Node.js v0.10, the [Readable][] class was added. -For backwards compatibility with older Node.js programs, Readable streams -switch into "flowing mode" when a [`'data'`][] event handler is added, or -when the [`stream.resume()`][stream-resume] method is called. The effect is -that, even if you are not using the new [`stream.read()`][stream-read] method -and [`'readable'`][] event, you no longer have to worry about losing -[`'data'`][] chunks. - -Most programs will continue to function normally. However, this -introduces an edge case in the following conditions: - -* No [`'data'`][] event handler is added. -* The [`stream.resume()`][stream-resume] method is never called. -* The stream is not piped to any writable destination. - -For example, consider the following code: - -```js -// WARNING! BROKEN! -net.createServer((socket) => { - - // we add an 'end' method, but never consume the data - socket.on('end', () => { - // It will never get here. - socket.end('I got your message (but didnt read it)\n'); - }); - -}).listen(1337); -``` - -In versions of Node.js prior to v0.10, the incoming message data would be -simply discarded. However, in Node.js v0.10 and beyond, -the socket will remain paused forever. - -The workaround in this situation is to call the -[`stream.resume()`][stream-resume] method to start the flow of data: - -```js -// Workaround -net.createServer((socket) => { - - socket.on('end', () => { - socket.end('I got your message (but didnt read it)\n'); - }); - - // start the flow of data, discarding it. - socket.resume(); - -}).listen(1337); -``` - -In addition to new Readable streams switching into flowing mode, -pre-v0.10 style streams can be wrapped in a Readable class using the -[`stream.wrap()`][] method. - - -### Object Mode - - - -Normally, Streams operate on Strings and Buffers exclusively. - -Streams that are in **object mode** can emit generic JavaScript values -other than Buffers and Strings. - -A Readable stream in object mode will always return a single item from -a call to [`stream.read(size)`][stream-read], regardless of what the size -argument is. - -A Writable stream in object mode will always ignore the `encoding` -argument to [`stream.write(data, encoding)`][stream-write]. - -The special value `null` still retains its special value for object -mode streams. That is, for object mode readable streams, `null` as a -return value from [`stream.read()`][stream-read] indicates that there is no more -data, and [`stream.push(null)`][stream-push] will signal the end of stream data -(`EOF`). - -No streams in Node.js core are object mode streams. This pattern is only -used by userland streaming libraries. - -You should set `objectMode` in your stream child class constructor on -the options object. Setting `objectMode` mid-stream is not safe. - -For Duplex streams `objectMode` can be set exclusively for readable or -writable side with `readableObjectMode` and `writableObjectMode` -respectively. These options can be used to implement parsers and -serializers with Transform streams. - -```js -const util = require('util'); -const StringDecoder = require('string_decoder').StringDecoder; -const Transform = require('stream').Transform; -util.inherits(JSONParseStream, Transform); - -// Gets \n-delimited JSON string data, and emits the parsed objects -function JSONParseStream() { - if (!(this instanceof JSONParseStream)) - return new JSONParseStream(); - - Transform.call(this, { readableObjectMode : true }); - - this._buffer = ''; - this._decoder = new StringDecoder('utf8'); -} - -JSONParseStream.prototype._transform = function(chunk, encoding, cb) { - this._buffer += this._decoder.write(chunk); - // split on newlines - var lines = this._buffer.split(/\r?\n/); - // keep the last partial line buffered - this._buffer = lines.pop(); - for (var l = 0; l < lines.length; l++) { - var line = lines[l]; - try { - var obj = JSON.parse(line); - } catch (er) { - this.emit('error', er); - return; - } - // push the parsed object out to the readable consumer - this.push(obj); - } - cb(); -}; - -JSONParseStream.prototype._flush = function(cb) { - // Just handle any leftover - var rem = this._buffer.trim(); - if (rem) { - try { - var obj = JSON.parse(rem); - } catch (er) { - this.emit('error', er); - return; - } - // push the parsed object out to the readable consumer - this.push(obj); - } - cb(); -}; -``` - -### `stream.read(0)` - -There are some cases where you want to trigger a refresh of the -underlying readable stream mechanisms, without actually consuming any -data. In that case, you can call `stream.read(0)`, which will always -return null. - -If the internal read buffer is below the `highWaterMark`, and the -stream is not currently reading, then calling `stream.read(0)` will trigger -a low-level [`stream._read()`][stream-_read] call. - -There is almost never a need to do this. However, you will see some -cases in Node.js's internals where this is done, particularly in the -Readable stream class internals. - -### `stream.push('')` - -Pushing a zero-byte string or Buffer (when not in [Object mode][]) has an -interesting side effect. Because it *is* a call to -[`stream.push()`][stream-push], it will end the `reading` process. However, it -does *not* add any data to the readable buffer, so there's nothing for -a user to consume. - -Very rarely, there are cases where you have no data to provide now, -but the consumer of your stream (or, perhaps, another bit of your own -code) will know when to check again, by calling [`stream.read(0)`][stream-read]. -In those cases, you *may* call `stream.push('')`. - -So far, the only use case for this functionality is in the -[`tls.CryptoStream`][] class, which is deprecated in Node.js/io.js v1.0. If you -find that you have to use `stream.push('')`, please consider another -approach, because it almost certainly indicates that something is -horribly wrong. - -[`'data'`]: #stream_event_data -[`'drain'`]: #stream_event_drain -[`'end'`]: #stream_event_end -[`'finish'`]: #stream_event_finish -[`'readable'`]: #stream_event_readable -[`buf.toString(encoding)`]: https://nodejs.org/docs/v6.1.0/api/buffer.html#buffer_buf_tostring_encoding_start_end -[`EventEmitter`]: https://nodejs.org/docs/v6.1.0/api/events.html#events_class_eventemitter -[`process.stderr`]: https://nodejs.org/docs/v6.1.0/api/process.html#process_process_stderr -[`process.stdin`]: https://nodejs.org/docs/v6.1.0/api/process.html#process_process_stdin -[`process.stdout`]: https://nodejs.org/docs/v6.1.0/api/process.html#process_process_stdout -[`stream.cork()`]: #stream_writable_cork -[`stream.pipe()`]: #stream_readable_pipe_destination_options -[`stream.uncork()`]: #stream_writable_uncork -[`stream.unpipe()`]: #stream_readable_unpipe_destination -[`stream.wrap()`]: #stream_readable_wrap_stream -[`tls.CryptoStream`]: https://nodejs.org/docs/v6.1.0/api/tls.html#tls_class_cryptostream -[`util.inherits()`]: https://nodejs.org/docs/v6.1.0/api/util.html#util_util_inherits_constructor_superconstructor -[API for Stream Consumers]: #stream_api_for_stream_consumers -[API for Stream Implementors]: #stream_api_for_stream_implementors -[child process stdin]: https://nodejs.org/docs/v6.1.0/api/child_process.html#child_process_child_stdin -[child process stdout and stderr]: https://nodejs.org/docs/v6.1.0/api/child_process.html#child_process_child_stdout -[Compatibility]: #stream_compatibility_with_older_node_js_versions -[crypto]: crypto.html -[Duplex]: #stream_class_stream_duplex -[fs read streams]: https://nodejs.org/docs/v6.1.0/api/fs.html#fs_class_fs_readstream -[fs write streams]: https://nodejs.org/docs/v6.1.0/api/fs.html#fs_class_fs_writestream -[HTTP requests, on the client]: https://nodejs.org/docs/v6.1.0/api/http.html#http_class_http_clientrequest -[HTTP responses, on the server]: https://nodejs.org/docs/v6.1.0/api/http.html#http_class_http_serverresponse -[http-incoming-message]: https://nodejs.org/docs/v6.1.0/api/http.html#http_class_http_incomingmessage -[Object mode]: #stream_object_mode -[Readable]: #stream_class_stream_readable -[SimpleProtocol v2]: #stream_example_simpleprotocol_parser_v2 -[stream-_flush]: #stream_transform_flush_callback -[stream-_read]: #stream_readable_read_size_1 -[stream-_transform]: #stream_transform_transform_chunk_encoding_callback -[stream-_write]: #stream_writable_write_chunk_encoding_callback_1 -[stream-_writev]: #stream_writable_writev_chunks_callback -[stream-end]: #stream_writable_end_chunk_encoding_callback -[stream-pause]: #stream_readable_pause -[stream-push]: #stream_readable_push_chunk_encoding -[stream-read]: #stream_readable_read_size -[stream-resume]: #stream_readable_resume -[stream-write]: #stream_writable_write_chunk_encoding_callback -[TCP sockets]: https://nodejs.org/docs/v6.1.0/api/net.html#net_class_net_socket -[Transform]: #stream_class_stream_transform -[Writable]: #stream_class_stream_writable -[zlib]: zlib.html diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md deleted file mode 100644 index 83275f1..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +++ /dev/null @@ -1,60 +0,0 @@ -# streams WG Meeting 2015-01-30 - -## Links - -* **Google Hangouts Video**: http://www.youtube.com/watch?v=I9nDOSGfwZg -* **GitHub Issue**: https://github.com/iojs/readable-stream/issues/106 -* **Original Minutes Google Doc**: https://docs.google.com/document/d/17aTgLnjMXIrfjgNaTUnHQO7m3xgzHR2VXBTmi03Qii4/ - -## Agenda - -Extracted from https://github.com/iojs/readable-stream/labels/wg-agenda prior to meeting. - -* adopt a charter [#105](https://github.com/iojs/readable-stream/issues/105) -* release and versioning strategy [#101](https://github.com/iojs/readable-stream/issues/101) -* simpler stream creation [#102](https://github.com/iojs/readable-stream/issues/102) -* proposal: deprecate implicit flowing of streams [#99](https://github.com/iojs/readable-stream/issues/99) - -## Minutes - -### adopt a charter - -* group: +1's all around - -### What versioning scheme should be adopted? -* group: +1’s 3.0.0 -* domenic+group: pulling in patches from other sources where appropriate -* mikeal: version independently, suggesting versions for io.js -* mikeal+domenic: work with TC to notify in advance of changes -simpler stream creation - -### streamline creation of streams -* sam: streamline creation of streams -* domenic: nice simple solution posted - but, we lose the opportunity to change the model - may not be backwards incompatible (double check keys) - - **action item:** domenic will check - -### remove implicit flowing of streams on(‘data’) -* add isFlowing / isPaused -* mikeal: worrying that we’re documenting polyfill methods – confuses users -* domenic: more reflective API is probably good, with warning labels for users -* new section for mad scientists (reflective stream access) -* calvin: name the “third state” -* mikeal: maybe borrow the name from whatwg? -* domenic: we’re missing the “third state” -* consensus: kind of difficult to name the third state -* mikeal: figure out differences in states / compat -* mathias: always flow on data – eliminates third state - * explore what it breaks - -**action items:** -* ask isaac for ability to list packages by what public io.js APIs they use (esp. Stream) -* ask rod/build for infrastructure -* **chris**: explore the “flow on data” approach -* add isPaused/isFlowing -* add new docs section -* move isPaused to that section - - diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/duplex.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/duplex.js deleted file mode 100644 index ca807af..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/duplex.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/_stream_duplex.js") diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_duplex.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_duplex.js deleted file mode 100644 index 736693b..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_duplex.js +++ /dev/null @@ -1,75 +0,0 @@ -// a duplex stream is just a stream that is both readable and writable. -// Since JS doesn't have multiple prototypal inheritance, this class -// prototypally inherits from Readable, and then parasitically from -// Writable. - -'use strict'; - -/**/ - -var objectKeys = Object.keys || function (obj) { - var keys = []; - for (var key in obj) { - keys.push(key); - }return keys; -}; -/**/ - -module.exports = Duplex; - -/**/ -var processNextTick = require('process-nextick-args'); -/**/ - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -var Readable = require('./_stream_readable'); -var Writable = require('./_stream_writable'); - -util.inherits(Duplex, Readable); - -var keys = objectKeys(Writable.prototype); -for (var v = 0; v < keys.length; v++) { - var method = keys[v]; - if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]; -} - -function Duplex(options) { - if (!(this instanceof Duplex)) return new Duplex(options); - - Readable.call(this, options); - Writable.call(this, options); - - if (options && options.readable === false) this.readable = false; - - if (options && options.writable === false) this.writable = false; - - this.allowHalfOpen = true; - if (options && options.allowHalfOpen === false) this.allowHalfOpen = false; - - this.once('end', onend); -} - -// the no-half-open enforcer -function onend() { - // if we allow half-open state, or if the writable side ended, - // then we're ok. - if (this.allowHalfOpen || this._writableState.ended) return; - - // no more data can be written. - // But allow more writes to happen in this tick. - processNextTick(onEndNT, this); -} - -function onEndNT(self) { - self.end(); -} - -function forEach(xs, f) { - for (var i = 0, l = xs.length; i < l; i++) { - f(xs[i], i); - } -} \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_passthrough.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_passthrough.js deleted file mode 100644 index d06f71f..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_passthrough.js +++ /dev/null @@ -1,26 +0,0 @@ -// a passthrough stream. -// basically just the most minimal sort of Transform stream. -// Every written chunk gets output as-is. - -'use strict'; - -module.exports = PassThrough; - -var Transform = require('./_stream_transform'); - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -util.inherits(PassThrough, Transform); - -function PassThrough(options) { - if (!(this instanceof PassThrough)) return new PassThrough(options); - - Transform.call(this, options); -} - -PassThrough.prototype._transform = function (chunk, encoding, cb) { - cb(null, chunk); -}; \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_readable.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_readable.js deleted file mode 100644 index 79914fa..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_readable.js +++ /dev/null @@ -1,893 +0,0 @@ -'use strict'; - -module.exports = Readable; - -/**/ -var processNextTick = require('process-nextick-args'); -/**/ - -/**/ -var isArray = require('isarray'); -/**/ - -Readable.ReadableState = ReadableState; - -/**/ -var EE = require('events').EventEmitter; - -var EElistenerCount = function (emitter, type) { - return emitter.listeners(type).length; -}; -/**/ - -/**/ -var Stream; -(function () { - try { - Stream = require('st' + 'ream'); - } catch (_) {} finally { - if (!Stream) Stream = require('events').EventEmitter; - } -})(); -/**/ - -var Buffer = require('buffer').Buffer; -/**/ -var bufferShim = require('buffer-shims'); -/**/ - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -/**/ -var debugUtil = require('util'); -var debug = void 0; -if (debugUtil && debugUtil.debuglog) { - debug = debugUtil.debuglog('stream'); -} else { - debug = function () {}; -} -/**/ - -var StringDecoder; - -util.inherits(Readable, Stream); - -var hasPrependListener = typeof EE.prototype.prependListener === 'function'; - -function prependListener(emitter, event, fn) { - if (hasPrependListener) return emitter.prependListener(event, fn); - - // This is a brutally ugly hack to make sure that our error handler - // is attached before any userland ones. NEVER DO THIS. This is here - // only because this code needs to continue to work with older versions - // of Node.js that do not include the prependListener() method. The goal - // is to eventually remove this hack. - if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]]; -} - -var Duplex; -function ReadableState(options, stream) { - Duplex = Duplex || require('./_stream_duplex'); - - options = options || {}; - - // object stream flag. Used to make read(n) ignore n and to - // make all the buffer merging and length checks go away - this.objectMode = !!options.objectMode; - - if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.readableObjectMode; - - // the point at which it stops calling _read() to fill the buffer - // Note: 0 is a valid value, means "don't call _read preemptively ever" - var hwm = options.highWaterMark; - var defaultHwm = this.objectMode ? 16 : 16 * 1024; - this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm; - - // cast to ints. - this.highWaterMark = ~ ~this.highWaterMark; - - this.buffer = []; - this.length = 0; - this.pipes = null; - this.pipesCount = 0; - this.flowing = null; - this.ended = false; - this.endEmitted = false; - this.reading = false; - - // a flag to be able to tell if the onwrite cb is called immediately, - // or on a later tick. We set this to true at first, because any - // actions that shouldn't happen until "later" should generally also - // not happen before the first write call. - this.sync = true; - - // whenever we return null, then we set a flag to say - // that we're awaiting a 'readable' event emission. - this.needReadable = false; - this.emittedReadable = false; - this.readableListening = false; - this.resumeScheduled = false; - - // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - this.defaultEncoding = options.defaultEncoding || 'utf8'; - - // when piping, we only care about 'readable' events that happen - // after read()ing all the bytes and not getting any pushback. - this.ranOut = false; - - // the number of writers that are awaiting a drain event in .pipe()s - this.awaitDrain = 0; - - // if true, a maybeReadMore has been scheduled - this.readingMore = false; - - this.decoder = null; - this.encoding = null; - if (options.encoding) { - if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder; - this.decoder = new StringDecoder(options.encoding); - this.encoding = options.encoding; - } -} - -var Duplex; -function Readable(options) { - Duplex = Duplex || require('./_stream_duplex'); - - if (!(this instanceof Readable)) return new Readable(options); - - this._readableState = new ReadableState(options, this); - - // legacy - this.readable = true; - - if (options && typeof options.read === 'function') this._read = options.read; - - Stream.call(this); -} - -// Manually shove something into the read() buffer. -// This returns true if the highWaterMark has not been hit yet, -// similar to how Writable.write() returns true if you should -// write() some more. -Readable.prototype.push = function (chunk, encoding) { - var state = this._readableState; - - if (!state.objectMode && typeof chunk === 'string') { - encoding = encoding || state.defaultEncoding; - if (encoding !== state.encoding) { - chunk = bufferShim.from(chunk, encoding); - encoding = ''; - } - } - - return readableAddChunk(this, state, chunk, encoding, false); -}; - -// Unshift should *always* be something directly out of read() -Readable.prototype.unshift = function (chunk) { - var state = this._readableState; - return readableAddChunk(this, state, chunk, '', true); -}; - -Readable.prototype.isPaused = function () { - return this._readableState.flowing === false; -}; - -function readableAddChunk(stream, state, chunk, encoding, addToFront) { - var er = chunkInvalid(state, chunk); - if (er) { - stream.emit('error', er); - } else if (chunk === null) { - state.reading = false; - onEofChunk(stream, state); - } else if (state.objectMode || chunk && chunk.length > 0) { - if (state.ended && !addToFront) { - var e = new Error('stream.push() after EOF'); - stream.emit('error', e); - } else if (state.endEmitted && addToFront) { - var _e = new Error('stream.unshift() after end event'); - stream.emit('error', _e); - } else { - var skipAdd; - if (state.decoder && !addToFront && !encoding) { - chunk = state.decoder.write(chunk); - skipAdd = !state.objectMode && chunk.length === 0; - } - - if (!addToFront) state.reading = false; - - // Don't add to the buffer if we've decoded to an empty string chunk and - // we're not in object mode - if (!skipAdd) { - // if we want the data now, just emit it. - if (state.flowing && state.length === 0 && !state.sync) { - stream.emit('data', chunk); - stream.read(0); - } else { - // update the buffer info. - state.length += state.objectMode ? 1 : chunk.length; - if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk); - - if (state.needReadable) emitReadable(stream); - } - } - - maybeReadMore(stream, state); - } - } else if (!addToFront) { - state.reading = false; - } - - return needMoreData(state); -} - -// if it's past the high water mark, we can push in some more. -// Also, if we have no data yet, we can stand some -// more bytes. This is to work around cases where hwm=0, -// such as the repl. Also, if the push() triggered a -// readable event, and the user called read(largeNumber) such that -// needReadable was set, then we ought to push more, so that another -// 'readable' event will be triggered. -function needMoreData(state) { - return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0); -} - -// backwards compatibility. -Readable.prototype.setEncoding = function (enc) { - if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder; - this._readableState.decoder = new StringDecoder(enc); - this._readableState.encoding = enc; - return this; -}; - -// Don't raise the hwm > 8MB -var MAX_HWM = 0x800000; -function computeNewHighWaterMark(n) { - if (n >= MAX_HWM) { - n = MAX_HWM; - } else { - // Get the next highest power of 2 - n--; - n |= n >>> 1; - n |= n >>> 2; - n |= n >>> 4; - n |= n >>> 8; - n |= n >>> 16; - n++; - } - return n; -} - -function howMuchToRead(n, state) { - if (state.length === 0 && state.ended) return 0; - - if (state.objectMode) return n === 0 ? 0 : 1; - - if (n === null || isNaN(n)) { - // only flow one buffer at a time - if (state.flowing && state.buffer.length) return state.buffer[0].length;else return state.length; - } - - if (n <= 0) return 0; - - // If we're asking for more than the target buffer level, - // then raise the water mark. Bump up to the next highest - // power of 2, to prevent increasing it excessively in tiny - // amounts. - if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n); - - // don't have that much. return null, unless we've ended. - if (n > state.length) { - if (!state.ended) { - state.needReadable = true; - return 0; - } else { - return state.length; - } - } - - return n; -} - -// you can override either this method, or the async _read(n) below. -Readable.prototype.read = function (n) { - debug('read', n); - var state = this._readableState; - var nOrig = n; - - if (typeof n !== 'number' || n > 0) state.emittedReadable = false; - - // if we're doing read(0) to trigger a readable event, but we - // already have a bunch of data in the buffer, then just trigger - // the 'readable' event and move on. - if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) { - debug('read: emitReadable', state.length, state.ended); - if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this); - return null; - } - - n = howMuchToRead(n, state); - - // if we've ended, and we're now clear, then finish it up. - if (n === 0 && state.ended) { - if (state.length === 0) endReadable(this); - return null; - } - - // All the actual chunk generation logic needs to be - // *below* the call to _read. The reason is that in certain - // synthetic stream cases, such as passthrough streams, _read - // may be a completely synchronous operation which may change - // the state of the read buffer, providing enough data when - // before there was *not* enough. - // - // So, the steps are: - // 1. Figure out what the state of things will be after we do - // a read from the buffer. - // - // 2. If that resulting state will trigger a _read, then call _read. - // Note that this may be asynchronous, or synchronous. Yes, it is - // deeply ugly to write APIs this way, but that still doesn't mean - // that the Readable class should behave improperly, as streams are - // designed to be sync/async agnostic. - // Take note if the _read call is sync or async (ie, if the read call - // has returned yet), so that we know whether or not it's safe to emit - // 'readable' etc. - // - // 3. Actually pull the requested chunks out of the buffer and return. - - // if we need a readable event, then we need to do some reading. - var doRead = state.needReadable; - debug('need readable', doRead); - - // if we currently have less than the highWaterMark, then also read some - if (state.length === 0 || state.length - n < state.highWaterMark) { - doRead = true; - debug('length less than watermark', doRead); - } - - // however, if we've ended, then there's no point, and if we're already - // reading, then it's unnecessary. - if (state.ended || state.reading) { - doRead = false; - debug('reading or ended', doRead); - } - - if (doRead) { - debug('do read'); - state.reading = true; - state.sync = true; - // if the length is currently zero, then we *need* a readable event. - if (state.length === 0) state.needReadable = true; - // call internal read method - this._read(state.highWaterMark); - state.sync = false; - } - - // If _read pushed data synchronously, then `reading` will be false, - // and we need to re-evaluate how much data we can return to the user. - if (doRead && !state.reading) n = howMuchToRead(nOrig, state); - - var ret; - if (n > 0) ret = fromList(n, state);else ret = null; - - if (ret === null) { - state.needReadable = true; - n = 0; - } - - state.length -= n; - - // If we have nothing in the buffer, then we want to know - // as soon as we *do* get something into the buffer. - if (state.length === 0 && !state.ended) state.needReadable = true; - - // If we tried to read() past the EOF, then emit end on the next tick. - if (nOrig !== n && state.ended && state.length === 0) endReadable(this); - - if (ret !== null) this.emit('data', ret); - - return ret; -}; - -function chunkInvalid(state, chunk) { - var er = null; - if (!Buffer.isBuffer(chunk) && typeof chunk !== 'string' && chunk !== null && chunk !== undefined && !state.objectMode) { - er = new TypeError('Invalid non-string/buffer chunk'); - } - return er; -} - -function onEofChunk(stream, state) { - if (state.ended) return; - if (state.decoder) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) { - state.buffer.push(chunk); - state.length += state.objectMode ? 1 : chunk.length; - } - } - state.ended = true; - - // emit 'readable' now to make sure it gets picked up. - emitReadable(stream); -} - -// Don't emit readable right away in sync mode, because this can trigger -// another read() call => stack overflow. This way, it might trigger -// a nextTick recursion warning, but that's not so bad. -function emitReadable(stream) { - var state = stream._readableState; - state.needReadable = false; - if (!state.emittedReadable) { - debug('emitReadable', state.flowing); - state.emittedReadable = true; - if (state.sync) processNextTick(emitReadable_, stream);else emitReadable_(stream); - } -} - -function emitReadable_(stream) { - debug('emit readable'); - stream.emit('readable'); - flow(stream); -} - -// at this point, the user has presumably seen the 'readable' event, -// and called read() to consume some data. that may have triggered -// in turn another _read(n) call, in which case reading = true if -// it's in progress. -// However, if we're not ended, or reading, and the length < hwm, -// then go ahead and try to read some more preemptively. -function maybeReadMore(stream, state) { - if (!state.readingMore) { - state.readingMore = true; - processNextTick(maybeReadMore_, stream, state); - } -} - -function maybeReadMore_(stream, state) { - var len = state.length; - while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) { - debug('maybeReadMore read 0'); - stream.read(0); - if (len === state.length) - // didn't get any data, stop spinning. - break;else len = state.length; - } - state.readingMore = false; -} - -// abstract method. to be overridden in specific implementation classes. -// call cb(er, data) where data is <= n in length. -// for virtual (non-string, non-buffer) streams, "length" is somewhat -// arbitrary, and perhaps not very meaningful. -Readable.prototype._read = function (n) { - this.emit('error', new Error('not implemented')); -}; - -Readable.prototype.pipe = function (dest, pipeOpts) { - var src = this; - var state = this._readableState; - - switch (state.pipesCount) { - case 0: - state.pipes = dest; - break; - case 1: - state.pipes = [state.pipes, dest]; - break; - default: - state.pipes.push(dest); - break; - } - state.pipesCount += 1; - debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts); - - var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; - - var endFn = doEnd ? onend : cleanup; - if (state.endEmitted) processNextTick(endFn);else src.once('end', endFn); - - dest.on('unpipe', onunpipe); - function onunpipe(readable) { - debug('onunpipe'); - if (readable === src) { - cleanup(); - } - } - - function onend() { - debug('onend'); - dest.end(); - } - - // when the dest drains, it reduces the awaitDrain counter - // on the source. This would be more elegant with a .once() - // handler in flow(), but adding and removing repeatedly is - // too slow. - var ondrain = pipeOnDrain(src); - dest.on('drain', ondrain); - - var cleanedUp = false; - function cleanup() { - debug('cleanup'); - // cleanup event handlers once the pipe is broken - dest.removeListener('close', onclose); - dest.removeListener('finish', onfinish); - dest.removeListener('drain', ondrain); - dest.removeListener('error', onerror); - dest.removeListener('unpipe', onunpipe); - src.removeListener('end', onend); - src.removeListener('end', cleanup); - src.removeListener('data', ondata); - - cleanedUp = true; - - // if the reader is waiting for a drain event from this - // specific writer, then it would cause it to never start - // flowing again. - // So, if this is awaiting a drain, then we just call it now. - // If we don't know, then assume that we are waiting for one. - if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain(); - } - - src.on('data', ondata); - function ondata(chunk) { - debug('ondata'); - var ret = dest.write(chunk); - if (false === ret) { - // If the user unpiped during `dest.write()`, it is possible - // to get stuck in a permanently paused state if that write - // also returned false. - // => Check whether `dest` is still a piping destination. - if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) { - debug('false write response, pause', src._readableState.awaitDrain); - src._readableState.awaitDrain++; - } - src.pause(); - } - } - - // if the dest has an error, then stop piping into it. - // however, don't suppress the throwing behavior for this. - function onerror(er) { - debug('onerror', er); - unpipe(); - dest.removeListener('error', onerror); - if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er); - } - - // Make sure our error handler is attached before userland ones. - prependListener(dest, 'error', onerror); - - // Both close and finish should trigger unpipe, but only once. - function onclose() { - dest.removeListener('finish', onfinish); - unpipe(); - } - dest.once('close', onclose); - function onfinish() { - debug('onfinish'); - dest.removeListener('close', onclose); - unpipe(); - } - dest.once('finish', onfinish); - - function unpipe() { - debug('unpipe'); - src.unpipe(dest); - } - - // tell the dest that it's being piped to - dest.emit('pipe', src); - - // start the flow if it hasn't been started already. - if (!state.flowing) { - debug('pipe resume'); - src.resume(); - } - - return dest; -}; - -function pipeOnDrain(src) { - return function () { - var state = src._readableState; - debug('pipeOnDrain', state.awaitDrain); - if (state.awaitDrain) state.awaitDrain--; - if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) { - state.flowing = true; - flow(src); - } - }; -} - -Readable.prototype.unpipe = function (dest) { - var state = this._readableState; - - // if we're not piping anywhere, then do nothing. - if (state.pipesCount === 0) return this; - - // just one destination. most common case. - if (state.pipesCount === 1) { - // passed in one, but it's not the right one. - if (dest && dest !== state.pipes) return this; - - if (!dest) dest = state.pipes; - - // got a match. - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - if (dest) dest.emit('unpipe', this); - return this; - } - - // slow case. multiple pipe destinations. - - if (!dest) { - // remove all. - var dests = state.pipes; - var len = state.pipesCount; - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - - for (var _i = 0; _i < len; _i++) { - dests[_i].emit('unpipe', this); - }return this; - } - - // try to find the right one. - var i = indexOf(state.pipes, dest); - if (i === -1) return this; - - state.pipes.splice(i, 1); - state.pipesCount -= 1; - if (state.pipesCount === 1) state.pipes = state.pipes[0]; - - dest.emit('unpipe', this); - - return this; -}; - -// set up data events if they are asked for -// Ensure readable listeners eventually get something -Readable.prototype.on = function (ev, fn) { - var res = Stream.prototype.on.call(this, ev, fn); - - // If listening to data, and it has not explicitly been paused, - // then call resume to start the flow of data on the next tick. - if (ev === 'data' && false !== this._readableState.flowing) { - this.resume(); - } - - if (ev === 'readable' && !this._readableState.endEmitted) { - var state = this._readableState; - if (!state.readableListening) { - state.readableListening = true; - state.emittedReadable = false; - state.needReadable = true; - if (!state.reading) { - processNextTick(nReadingNextTick, this); - } else if (state.length) { - emitReadable(this, state); - } - } - } - - return res; -}; -Readable.prototype.addListener = Readable.prototype.on; - -function nReadingNextTick(self) { - debug('readable nexttick read 0'); - self.read(0); -} - -// pause() and resume() are remnants of the legacy readable stream API -// If the user uses them, then switch into old mode. -Readable.prototype.resume = function () { - var state = this._readableState; - if (!state.flowing) { - debug('resume'); - state.flowing = true; - resume(this, state); - } - return this; -}; - -function resume(stream, state) { - if (!state.resumeScheduled) { - state.resumeScheduled = true; - processNextTick(resume_, stream, state); - } -} - -function resume_(stream, state) { - if (!state.reading) { - debug('resume read 0'); - stream.read(0); - } - - state.resumeScheduled = false; - stream.emit('resume'); - flow(stream); - if (state.flowing && !state.reading) stream.read(0); -} - -Readable.prototype.pause = function () { - debug('call pause flowing=%j', this._readableState.flowing); - if (false !== this._readableState.flowing) { - debug('pause'); - this._readableState.flowing = false; - this.emit('pause'); - } - return this; -}; - -function flow(stream) { - var state = stream._readableState; - debug('flow', state.flowing); - if (state.flowing) { - do { - var chunk = stream.read(); - } while (null !== chunk && state.flowing); - } -} - -// wrap an old-style stream as the async data source. -// This is *not* part of the readable stream interface. -// It is an ugly unfortunate mess of history. -Readable.prototype.wrap = function (stream) { - var state = this._readableState; - var paused = false; - - var self = this; - stream.on('end', function () { - debug('wrapped end'); - if (state.decoder && !state.ended) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) self.push(chunk); - } - - self.push(null); - }); - - stream.on('data', function (chunk) { - debug('wrapped data'); - if (state.decoder) chunk = state.decoder.write(chunk); - - // don't skip over falsy values in objectMode - if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return; - - var ret = self.push(chunk); - if (!ret) { - paused = true; - stream.pause(); - } - }); - - // proxy all the other methods. - // important when wrapping filters and duplexes. - for (var i in stream) { - if (this[i] === undefined && typeof stream[i] === 'function') { - this[i] = function (method) { - return function () { - return stream[method].apply(stream, arguments); - }; - }(i); - } - } - - // proxy certain important events. - var events = ['error', 'close', 'destroy', 'pause', 'resume']; - forEach(events, function (ev) { - stream.on(ev, self.emit.bind(self, ev)); - }); - - // when we try to consume some more bytes, simply unpause the - // underlying stream. - self._read = function (n) { - debug('wrapped _read', n); - if (paused) { - paused = false; - stream.resume(); - } - }; - - return self; -}; - -// exposed for testing purposes only. -Readable._fromList = fromList; - -// Pluck off n bytes from an array of buffers. -// Length is the combined lengths of all the buffers in the list. -function fromList(n, state) { - var list = state.buffer; - var length = state.length; - var stringMode = !!state.decoder; - var objectMode = !!state.objectMode; - var ret; - - // nothing in the list, definitely empty. - if (list.length === 0) return null; - - if (length === 0) ret = null;else if (objectMode) ret = list.shift();else if (!n || n >= length) { - // read it all, truncate the array. - if (stringMode) ret = list.join('');else if (list.length === 1) ret = list[0];else ret = Buffer.concat(list, length); - list.length = 0; - } else { - // read just some of it. - if (n < list[0].length) { - // just take a part of the first list item. - // slice is the same for buffers and strings. - var buf = list[0]; - ret = buf.slice(0, n); - list[0] = buf.slice(n); - } else if (n === list[0].length) { - // first list is a perfect match - ret = list.shift(); - } else { - // complex case. - // we have enough to cover it, but it spans past the first buffer. - if (stringMode) ret = '';else ret = bufferShim.allocUnsafe(n); - - var c = 0; - for (var i = 0, l = list.length; i < l && c < n; i++) { - var _buf = list[0]; - var cpy = Math.min(n - c, _buf.length); - - if (stringMode) ret += _buf.slice(0, cpy);else _buf.copy(ret, c, 0, cpy); - - if (cpy < _buf.length) list[0] = _buf.slice(cpy);else list.shift(); - - c += cpy; - } - } - } - - return ret; -} - -function endReadable(stream) { - var state = stream._readableState; - - // If we get here before consuming all the bytes, then that is a - // bug in node. Should never happen. - if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream'); - - if (!state.endEmitted) { - state.ended = true; - processNextTick(endReadableNT, state, stream); - } -} - -function endReadableNT(state, stream) { - // Check that we didn't get one last unshift. - if (!state.endEmitted && state.length === 0) { - state.endEmitted = true; - stream.readable = false; - stream.emit('end'); - } -} - -function forEach(xs, f) { - for (var i = 0, l = xs.length; i < l; i++) { - f(xs[i], i); - } -} - -function indexOf(xs, x) { - for (var i = 0, l = xs.length; i < l; i++) { - if (xs[i] === x) return i; - } - return -1; -} \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_transform.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_transform.js deleted file mode 100644 index dbc996e..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_transform.js +++ /dev/null @@ -1,180 +0,0 @@ -// a transform stream is a readable/writable stream where you do -// something with the data. Sometimes it's called a "filter", -// but that's not a great name for it, since that implies a thing where -// some bits pass through, and others are simply ignored. (That would -// be a valid example of a transform, of course.) -// -// While the output is causally related to the input, it's not a -// necessarily symmetric or synchronous transformation. For example, -// a zlib stream might take multiple plain-text writes(), and then -// emit a single compressed chunk some time in the future. -// -// Here's how this works: -// -// The Transform stream has all the aspects of the readable and writable -// stream classes. When you write(chunk), that calls _write(chunk,cb) -// internally, and returns false if there's a lot of pending writes -// buffered up. When you call read(), that calls _read(n) until -// there's enough pending readable data buffered up. -// -// In a transform stream, the written data is placed in a buffer. When -// _read(n) is called, it transforms the queued up data, calling the -// buffered _write cb's as it consumes chunks. If consuming a single -// written chunk would result in multiple output chunks, then the first -// outputted bit calls the readcb, and subsequent chunks just go into -// the read buffer, and will cause it to emit 'readable' if necessary. -// -// This way, back-pressure is actually determined by the reading side, -// since _read has to be called to start processing a new chunk. However, -// a pathological inflate type of transform can cause excessive buffering -// here. For example, imagine a stream where every byte of input is -// interpreted as an integer from 0-255, and then results in that many -// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in -// 1kb of data being output. In this case, you could write a very small -// amount of input, and end up with a very large amount of output. In -// such a pathological inflating mechanism, there'd be no way to tell -// the system to stop doing the transform. A single 4MB write could -// cause the system to run out of memory. -// -// However, even in such a pathological case, only a single written chunk -// would be consumed, and then the rest would wait (un-transformed) until -// the results of the previous transformed chunk were consumed. - -'use strict'; - -module.exports = Transform; - -var Duplex = require('./_stream_duplex'); - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -util.inherits(Transform, Duplex); - -function TransformState(stream) { - this.afterTransform = function (er, data) { - return afterTransform(stream, er, data); - }; - - this.needTransform = false; - this.transforming = false; - this.writecb = null; - this.writechunk = null; - this.writeencoding = null; -} - -function afterTransform(stream, er, data) { - var ts = stream._transformState; - ts.transforming = false; - - var cb = ts.writecb; - - if (!cb) return stream.emit('error', new Error('no writecb in Transform class')); - - ts.writechunk = null; - ts.writecb = null; - - if (data !== null && data !== undefined) stream.push(data); - - cb(er); - - var rs = stream._readableState; - rs.reading = false; - if (rs.needReadable || rs.length < rs.highWaterMark) { - stream._read(rs.highWaterMark); - } -} - -function Transform(options) { - if (!(this instanceof Transform)) return new Transform(options); - - Duplex.call(this, options); - - this._transformState = new TransformState(this); - - // when the writable side finishes, then flush out anything remaining. - var stream = this; - - // start out asking for a readable event once data is transformed. - this._readableState.needReadable = true; - - // we have implemented the _read method, and done the other things - // that Readable wants before the first _read call, so unset the - // sync guard flag. - this._readableState.sync = false; - - if (options) { - if (typeof options.transform === 'function') this._transform = options.transform; - - if (typeof options.flush === 'function') this._flush = options.flush; - } - - this.once('prefinish', function () { - if (typeof this._flush === 'function') this._flush(function (er) { - done(stream, er); - });else done(stream); - }); -} - -Transform.prototype.push = function (chunk, encoding) { - this._transformState.needTransform = false; - return Duplex.prototype.push.call(this, chunk, encoding); -}; - -// This is the part where you do stuff! -// override this function in implementation classes. -// 'chunk' is an input chunk. -// -// Call `push(newChunk)` to pass along transformed output -// to the readable side. You may call 'push' zero or more times. -// -// Call `cb(err)` when you are done with this chunk. If you pass -// an error, then that'll put the hurt on the whole operation. If you -// never call cb(), then you'll never get another chunk. -Transform.prototype._transform = function (chunk, encoding, cb) { - throw new Error('Not implemented'); -}; - -Transform.prototype._write = function (chunk, encoding, cb) { - var ts = this._transformState; - ts.writecb = cb; - ts.writechunk = chunk; - ts.writeencoding = encoding; - if (!ts.transforming) { - var rs = this._readableState; - if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark); - } -}; - -// Doesn't matter what the args are here. -// _transform does all the work. -// That we got here means that the readable side wants more data. -Transform.prototype._read = function (n) { - var ts = this._transformState; - - if (ts.writechunk !== null && ts.writecb && !ts.transforming) { - ts.transforming = true; - this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); - } else { - // mark that we need a transform, so that any data that comes in - // will get processed, now that we've asked for it. - ts.needTransform = true; - } -}; - -function done(stream, er) { - if (er) return stream.emit('error', er); - - // if there's nothing in the write buffer, then that means - // that nothing more will ever be provided - var ws = stream._writableState; - var ts = stream._transformState; - - if (ws.length) throw new Error('Calling transform done when ws.length != 0'); - - if (ts.transforming) throw new Error('Calling transform done when still transforming'); - - return stream.push(null); -} \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_writable.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_writable.js deleted file mode 100644 index ed5efcb..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_writable.js +++ /dev/null @@ -1,526 +0,0 @@ -// A bit simpler than readable streams. -// Implement an async ._write(chunk, encoding, cb), and it'll handle all -// the drain event emission and buffering. - -'use strict'; - -module.exports = Writable; - -/**/ -var processNextTick = require('process-nextick-args'); -/**/ - -/**/ -var asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : processNextTick; -/**/ - -Writable.WritableState = WritableState; - -/**/ -var util = require('core-util-is'); -util.inherits = require('inherits'); -/**/ - -/**/ -var internalUtil = { - deprecate: require('util-deprecate') -}; -/**/ - -/**/ -var Stream; -(function () { - try { - Stream = require('st' + 'ream'); - } catch (_) {} finally { - if (!Stream) Stream = require('events').EventEmitter; - } -})(); -/**/ - -var Buffer = require('buffer').Buffer; -/**/ -var bufferShim = require('buffer-shims'); -/**/ - -util.inherits(Writable, Stream); - -function nop() {} - -function WriteReq(chunk, encoding, cb) { - this.chunk = chunk; - this.encoding = encoding; - this.callback = cb; - this.next = null; -} - -var Duplex; -function WritableState(options, stream) { - Duplex = Duplex || require('./_stream_duplex'); - - options = options || {}; - - // object stream flag to indicate whether or not this stream - // contains buffers or objects. - this.objectMode = !!options.objectMode; - - if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.writableObjectMode; - - // the point at which write() starts returning false - // Note: 0 is a valid value, means that we always return false if - // the entire buffer is not flushed immediately on write() - var hwm = options.highWaterMark; - var defaultHwm = this.objectMode ? 16 : 16 * 1024; - this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm; - - // cast to ints. - this.highWaterMark = ~ ~this.highWaterMark; - - this.needDrain = false; - // at the start of calling end() - this.ending = false; - // when end() has been called, and returned - this.ended = false; - // when 'finish' is emitted - this.finished = false; - - // should we decode strings into buffers before passing to _write? - // this is here so that some node-core streams can optimize string - // handling at a lower level. - var noDecode = options.decodeStrings === false; - this.decodeStrings = !noDecode; - - // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - this.defaultEncoding = options.defaultEncoding || 'utf8'; - - // not an actual buffer we keep track of, but a measurement - // of how much we're waiting to get pushed to some underlying - // socket or file. - this.length = 0; - - // a flag to see when we're in the middle of a write. - this.writing = false; - - // when true all writes will be buffered until .uncork() call - this.corked = 0; - - // a flag to be able to tell if the onwrite cb is called immediately, - // or on a later tick. We set this to true at first, because any - // actions that shouldn't happen until "later" should generally also - // not happen before the first write call. - this.sync = true; - - // a flag to know if we're processing previously buffered items, which - // may call the _write() callback in the same tick, so that we don't - // end up in an overlapped onwrite situation. - this.bufferProcessing = false; - - // the callback that's passed to _write(chunk,cb) - this.onwrite = function (er) { - onwrite(stream, er); - }; - - // the callback that the user supplies to write(chunk,encoding,cb) - this.writecb = null; - - // the amount that is being written when _write is called. - this.writelen = 0; - - this.bufferedRequest = null; - this.lastBufferedRequest = null; - - // number of pending user-supplied write callbacks - // this must be 0 before 'finish' can be emitted - this.pendingcb = 0; - - // emit prefinish if the only thing we're waiting for is _write cbs - // This is relevant for synchronous Transform streams - this.prefinished = false; - - // True if the error was already emitted and should not be thrown again - this.errorEmitted = false; - - // count buffered requests - this.bufferedRequestCount = 0; - - // allocate the first CorkedRequest, there is always - // one allocated and free to use, and we maintain at most two - this.corkedRequestsFree = new CorkedRequest(this); -} - -WritableState.prototype.getBuffer = function writableStateGetBuffer() { - var current = this.bufferedRequest; - var out = []; - while (current) { - out.push(current); - current = current.next; - } - return out; -}; - -(function () { - try { - Object.defineProperty(WritableState.prototype, 'buffer', { - get: internalUtil.deprecate(function () { - return this.getBuffer(); - }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.') - }); - } catch (_) {} -})(); - -var Duplex; -function Writable(options) { - Duplex = Duplex || require('./_stream_duplex'); - - // Writable ctor is applied to Duplexes, though they're not - // instanceof Writable, they're instanceof Readable. - if (!(this instanceof Writable) && !(this instanceof Duplex)) return new Writable(options); - - this._writableState = new WritableState(options, this); - - // legacy. - this.writable = true; - - if (options) { - if (typeof options.write === 'function') this._write = options.write; - - if (typeof options.writev === 'function') this._writev = options.writev; - } - - Stream.call(this); -} - -// Otherwise people can pipe Writable streams, which is just wrong. -Writable.prototype.pipe = function () { - this.emit('error', new Error('Cannot pipe, not readable')); -}; - -function writeAfterEnd(stream, cb) { - var er = new Error('write after end'); - // TODO: defer error events consistently everywhere, not just the cb - stream.emit('error', er); - processNextTick(cb, er); -} - -// If we get something that is not a buffer, string, null, or undefined, -// and we're not in objectMode, then that's an error. -// Otherwise stream chunks are all considered to be of length=1, and the -// watermarks determine how many objects to keep in the buffer, rather than -// how many bytes or characters. -function validChunk(stream, state, chunk, cb) { - var valid = true; - var er = false; - // Always throw error if a null is written - // if we are not in object mode then throw - // if it is not a buffer, string, or undefined. - if (chunk === null) { - er = new TypeError('May not write null values to stream'); - } else if (!Buffer.isBuffer(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { - er = new TypeError('Invalid non-string/buffer chunk'); - } - if (er) { - stream.emit('error', er); - processNextTick(cb, er); - valid = false; - } - return valid; -} - -Writable.prototype.write = function (chunk, encoding, cb) { - var state = this._writableState; - var ret = false; - - if (typeof encoding === 'function') { - cb = encoding; - encoding = null; - } - - if (Buffer.isBuffer(chunk)) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding; - - if (typeof cb !== 'function') cb = nop; - - if (state.ended) writeAfterEnd(this, cb);else if (validChunk(this, state, chunk, cb)) { - state.pendingcb++; - ret = writeOrBuffer(this, state, chunk, encoding, cb); - } - - return ret; -}; - -Writable.prototype.cork = function () { - var state = this._writableState; - - state.corked++; -}; - -Writable.prototype.uncork = function () { - var state = this._writableState; - - if (state.corked) { - state.corked--; - - if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state); - } -}; - -Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) { - // node::ParseEncoding() requires lower case. - if (typeof encoding === 'string') encoding = encoding.toLowerCase(); - if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding); - this._writableState.defaultEncoding = encoding; - return this; -}; - -function decodeChunk(state, chunk, encoding) { - if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') { - chunk = bufferShim.from(chunk, encoding); - } - return chunk; -} - -// if we're already writing something, then just put this -// in the queue, and wait our turn. Otherwise, call _write -// If we return false, then we need a drain event, so set that flag. -function writeOrBuffer(stream, state, chunk, encoding, cb) { - chunk = decodeChunk(state, chunk, encoding); - - if (Buffer.isBuffer(chunk)) encoding = 'buffer'; - var len = state.objectMode ? 1 : chunk.length; - - state.length += len; - - var ret = state.length < state.highWaterMark; - // we must ensure that previous needDrain will not be reset to false. - if (!ret) state.needDrain = true; - - if (state.writing || state.corked) { - var last = state.lastBufferedRequest; - state.lastBufferedRequest = new WriteReq(chunk, encoding, cb); - if (last) { - last.next = state.lastBufferedRequest; - } else { - state.bufferedRequest = state.lastBufferedRequest; - } - state.bufferedRequestCount += 1; - } else { - doWrite(stream, state, false, len, chunk, encoding, cb); - } - - return ret; -} - -function doWrite(stream, state, writev, len, chunk, encoding, cb) { - state.writelen = len; - state.writecb = cb; - state.writing = true; - state.sync = true; - if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite); - state.sync = false; -} - -function onwriteError(stream, state, sync, er, cb) { - --state.pendingcb; - if (sync) processNextTick(cb, er);else cb(er); - - stream._writableState.errorEmitted = true; - stream.emit('error', er); -} - -function onwriteStateUpdate(state) { - state.writing = false; - state.writecb = null; - state.length -= state.writelen; - state.writelen = 0; -} - -function onwrite(stream, er) { - var state = stream._writableState; - var sync = state.sync; - var cb = state.writecb; - - onwriteStateUpdate(state); - - if (er) onwriteError(stream, state, sync, er, cb);else { - // Check if we're actually ready to finish, but don't emit yet - var finished = needFinish(state); - - if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) { - clearBuffer(stream, state); - } - - if (sync) { - /**/ - asyncWrite(afterWrite, stream, state, finished, cb); - /**/ - } else { - afterWrite(stream, state, finished, cb); - } - } -} - -function afterWrite(stream, state, finished, cb) { - if (!finished) onwriteDrain(stream, state); - state.pendingcb--; - cb(); - finishMaybe(stream, state); -} - -// Must force callback to be called on nextTick, so that we don't -// emit 'drain' before the write() consumer gets the 'false' return -// value, and has a chance to attach a 'drain' listener. -function onwriteDrain(stream, state) { - if (state.length === 0 && state.needDrain) { - state.needDrain = false; - stream.emit('drain'); - } -} - -// if there's something in the buffer waiting, then process it -function clearBuffer(stream, state) { - state.bufferProcessing = true; - var entry = state.bufferedRequest; - - if (stream._writev && entry && entry.next) { - // Fast case, write everything using _writev() - var l = state.bufferedRequestCount; - var buffer = new Array(l); - var holder = state.corkedRequestsFree; - holder.entry = entry; - - var count = 0; - while (entry) { - buffer[count] = entry; - entry = entry.next; - count += 1; - } - - doWrite(stream, state, true, state.length, buffer, '', holder.finish); - - // doWrite is almost always async, defer these to save a bit of time - // as the hot path ends with doWrite - state.pendingcb++; - state.lastBufferedRequest = null; - if (holder.next) { - state.corkedRequestsFree = holder.next; - holder.next = null; - } else { - state.corkedRequestsFree = new CorkedRequest(state); - } - } else { - // Slow case, write chunks one-by-one - while (entry) { - var chunk = entry.chunk; - var encoding = entry.encoding; - var cb = entry.callback; - var len = state.objectMode ? 1 : chunk.length; - - doWrite(stream, state, false, len, chunk, encoding, cb); - entry = entry.next; - // if we didn't call the onwrite immediately, then - // it means that we need to wait until it does. - // also, that means that the chunk and cb are currently - // being processed, so move the buffer counter past them. - if (state.writing) { - break; - } - } - - if (entry === null) state.lastBufferedRequest = null; - } - - state.bufferedRequestCount = 0; - state.bufferedRequest = entry; - state.bufferProcessing = false; -} - -Writable.prototype._write = function (chunk, encoding, cb) { - cb(new Error('not implemented')); -}; - -Writable.prototype._writev = null; - -Writable.prototype.end = function (chunk, encoding, cb) { - var state = this._writableState; - - if (typeof chunk === 'function') { - cb = chunk; - chunk = null; - encoding = null; - } else if (typeof encoding === 'function') { - cb = encoding; - encoding = null; - } - - if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); - - // .end() fully uncorks - if (state.corked) { - state.corked = 1; - this.uncork(); - } - - // ignore unnecessary end() calls. - if (!state.ending && !state.finished) endWritable(this, state, cb); -}; - -function needFinish(state) { - return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing; -} - -function prefinish(stream, state) { - if (!state.prefinished) { - state.prefinished = true; - stream.emit('prefinish'); - } -} - -function finishMaybe(stream, state) { - var need = needFinish(state); - if (need) { - if (state.pendingcb === 0) { - prefinish(stream, state); - state.finished = true; - stream.emit('finish'); - } else { - prefinish(stream, state); - } - } - return need; -} - -function endWritable(stream, state, cb) { - state.ending = true; - finishMaybe(stream, state); - if (cb) { - if (state.finished) processNextTick(cb);else stream.once('finish', cb); - } - state.ended = true; - stream.writable = false; -} - -// It seems a linked list but it is not -// there will be only 2 of these for each stream -function CorkedRequest(state) { - var _this = this; - - this.next = null; - this.entry = null; - - this.finish = function (err) { - var entry = _this.entry; - _this.entry = null; - while (entry) { - var cb = entry.callback; - state.pendingcb--; - cb(err); - entry = entry.next; - } - if (state.corkedRequestsFree) { - state.corkedRequestsFree.next = _this; - } else { - state.corkedRequestsFree = _this; - } - }; -} \ No newline at end of file diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/buffer-shims/index.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/buffer-shims/index.js deleted file mode 100644 index 1cab4c0..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/buffer-shims/index.js +++ /dev/null @@ -1,108 +0,0 @@ -'use strict'; - -var buffer = require('buffer'); -var Buffer = buffer.Buffer; -var SlowBuffer = buffer.SlowBuffer; -var MAX_LEN = buffer.kMaxLength || 2147483647; -exports.alloc = function alloc(size, fill, encoding) { - if (typeof Buffer.alloc === 'function') { - return Buffer.alloc(size, fill, encoding); - } - if (typeof encoding === 'number') { - throw new TypeError('encoding must not be number'); - } - if (typeof size !== 'number') { - throw new TypeError('size must be a number'); - } - if (size > MAX_LEN) { - throw new RangeError('size is too large'); - } - var enc = encoding; - var _fill = fill; - if (_fill === undefined) { - enc = undefined; - _fill = 0; - } - var buf = new Buffer(size); - if (typeof _fill === 'string') { - var fillBuf = new Buffer(_fill, enc); - var flen = fillBuf.length; - var i = -1; - while (++i < size) { - buf[i] = fillBuf[i % flen]; - } - } else { - buf.fill(_fill); - } - return buf; -} -exports.allocUnsafe = function allocUnsafe(size) { - if (typeof Buffer.allocUnsafe === 'function') { - return Buffer.allocUnsafe(size); - } - if (typeof size !== 'number') { - throw new TypeError('size must be a number'); - } - if (size > MAX_LEN) { - throw new RangeError('size is too large'); - } - return new Buffer(size); -} -exports.from = function from(value, encodingOrOffset, length) { - if (typeof Buffer.from === 'function' && (!global.Uint8Array || Uint8Array.from !== Buffer.from)) { - return Buffer.from(value, encodingOrOffset, length); - } - if (typeof value === 'number') { - throw new TypeError('"value" argument must not be a number'); - } - if (typeof value === 'string') { - return new Buffer(value, encodingOrOffset); - } - if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { - var offset = encodingOrOffset; - if (arguments.length === 1) { - return new Buffer(value); - } - if (typeof offset === 'undefined') { - offset = 0; - } - var len = length; - if (typeof len === 'undefined') { - len = value.byteLength - offset; - } - if (offset >= value.byteLength) { - throw new RangeError('\'offset\' is out of bounds'); - } - if (len > value.byteLength - offset) { - throw new RangeError('\'length\' is out of bounds'); - } - return new Buffer(value.slice(offset, offset + len)); - } - if (Buffer.isBuffer(value)) { - var out = new Buffer(value.length); - value.copy(out, 0, 0, value.length); - return out; - } - if (value) { - if (Array.isArray(value) || (typeof ArrayBuffer !== 'undefined' && value.buffer instanceof ArrayBuffer) || 'length' in value) { - return new Buffer(value); - } - if (value.type === 'Buffer' && Array.isArray(value.data)) { - return new Buffer(value.data); - } - } - - throw new TypeError('First argument must be a string, Buffer, ' + 'ArrayBuffer, Array, or array-like object.'); -} -exports.allocUnsafeSlow = function allocUnsafeSlow(size) { - if (typeof Buffer.allocUnsafeSlow === 'function') { - return Buffer.allocUnsafeSlow(size); - } - if (typeof size !== 'number') { - throw new TypeError('size must be a number'); - } - if (size >= MAX_LEN) { - throw new RangeError('size is too large'); - } - return new SlowBuffer(size); -} diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/buffer-shims/license.md b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/buffer-shims/license.md deleted file mode 100644 index 01cfaef..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/buffer-shims/license.md +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright (c) 2016 Calvin Metcalf - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -**THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE.** diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/buffer-shims/package.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/buffer-shims/package.json deleted file mode 100644 index fe079c9..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/buffer-shims/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "buffer-shims", - "version": "1.0.0", - "description": "some shims for node buffers", - "main": "index.js", - "scripts": { - "test": "tape test/*.js" - }, - "files": [ - "index.js" - ], - "license": "MIT", - "devDependencies": { - "tape": "^4.5.1" - }, - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/calvinmetcalf/buffer-shims.git" - }, - "gitHead": "ea89b3857ab5b8203957922a84e9a48cf4c47e0a", - "bugs": { - "url": "https://github.com/calvinmetcalf/buffer-shims/issues" - }, - "_id": "buffer-shims@1.0.0", - "_shasum": "9978ce317388c649ad8793028c3477ef044a8b51", - "_from": "buffer-shims@>=1.0.0 <2.0.0", - "_npmVersion": "3.8.6", - "_nodeVersion": "5.11.0", - "_npmUser": { - "name": "cwmma", - "email": "calvin.metcalf@gmail.com" - }, - "dist": { - "shasum": "9978ce317388c649ad8793028c3477ef044a8b51", - "tarball": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz" - }, - "maintainers": [ - { - "name": "cwmma", - "email": "calvin.metcalf@gmail.com" - } - ], - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/buffer-shims-1.0.0.tgz_1462560889323_0.8640750856138766" - }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "readme": "ERROR: No README data found!", - "homepage": "https://github.com/calvinmetcalf/buffer-shims#readme" -} diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/buffer-shims/readme.md b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/buffer-shims/readme.md deleted file mode 100644 index 7ea6475..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/buffer-shims/readme.md +++ /dev/null @@ -1,21 +0,0 @@ -buffer-shims -=== - -functions to make sure the new buffer methods work in older browsers. - -```js -var bufferShim = require('buffer-shims'); -bufferShim.from('foo'); -bufferShim.alloc(9, 'cafeface', 'hex'); -bufferShim.allocUnsafe(15); -bufferShim.allocUnsafeSlow(21); -``` - -should just use the original in newer nodes and on older nodes uses fallbacks. - -Known Issues -=== -- this does not patch the buffer object, only the constructor stuff -- it's actually a polyfill - -![](https://i.imgur.com/zxII3jJ.gif) diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/.npmignore b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/.npmignore deleted file mode 100644 index 3c3629e..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/.travis.yml b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/.travis.yml deleted file mode 100644 index cc4dba2..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - "0.8" - - "0.10" diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/Makefile b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/Makefile deleted file mode 100644 index 787d56e..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/Makefile +++ /dev/null @@ -1,6 +0,0 @@ - -test: - @node_modules/.bin/tape test.js - -.PHONY: test - diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/README.md b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/README.md deleted file mode 100644 index 16d2c59..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/README.md +++ /dev/null @@ -1,60 +0,0 @@ - -# isarray - -`Array#isArray` for older browsers. - -[![build status](https://secure.travis-ci.org/juliangruber/isarray.svg)](http://travis-ci.org/juliangruber/isarray) -[![downloads](https://img.shields.io/npm/dm/isarray.svg)](https://www.npmjs.org/package/isarray) - -[![browser support](https://ci.testling.com/juliangruber/isarray.png) -](https://ci.testling.com/juliangruber/isarray) - -## Usage - -```js -var isArray = require('isarray'); - -console.log(isArray([])); // => true -console.log(isArray({})); // => false -``` - -## Installation - -With [npm](http://npmjs.org) do - -```bash -$ npm install isarray -``` - -Then bundle for the browser with -[browserify](https://github.com/substack/browserify). - -With [component](http://component.io) do - -```bash -$ component install juliangruber/isarray -``` - -## License - -(MIT) - -Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/component.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/component.json deleted file mode 100644 index 9e31b68..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/component.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name" : "isarray", - "description" : "Array#isArray for older browsers", - "version" : "0.0.1", - "repository" : "juliangruber/isarray", - "homepage": "https://github.com/juliangruber/isarray", - "main" : "index.js", - "scripts" : [ - "index.js" - ], - "dependencies" : {}, - "keywords": ["browser","isarray","array"], - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" - }, - "license": "MIT" -} diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/index.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/index.js deleted file mode 100644 index a57f634..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/index.js +++ /dev/null @@ -1,5 +0,0 @@ -var toString = {}.toString; - -module.exports = Array.isArray || function (arr) { - return toString.call(arr) == '[object Array]'; -}; diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/package.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/package.json deleted file mode 100644 index e86d232..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/package.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "name": "isarray", - "description": "Array#isArray for older browsers", - "version": "1.0.0", - "repository": { - "type": "git", - "url": "git://github.com/juliangruber/isarray.git" - }, - "homepage": "https://github.com/juliangruber/isarray", - "main": "index.js", - "dependencies": {}, - "devDependencies": { - "tape": "~2.13.4" - }, - "keywords": [ - "browser", - "isarray", - "array" - ], - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" - }, - "license": "MIT", - "testling": { - "files": "test.js", - "browsers": [ - "ie/8..latest", - "firefox/17..latest", - "firefox/nightly", - "chrome/22..latest", - "chrome/canary", - "opera/12..latest", - "opera/next", - "safari/5.1..latest", - "ipad/6.0..latest", - "iphone/6.0..latest", - "android-browser/4.2..latest" - ] - }, - "scripts": { - "test": "tape test.js" - }, - "gitHead": "2a23a281f369e9ae06394c0fb4d2381355a6ba33", - "bugs": { - "url": "https://github.com/juliangruber/isarray/issues" - }, - "_id": "isarray@1.0.0", - "_shasum": "bb935d48582cba168c06834957a54a3e07124f11", - "_from": "isarray@>=1.0.0 <1.1.0", - "_npmVersion": "3.3.12", - "_nodeVersion": "5.1.0", - "_npmUser": { - "name": "juliangruber", - "email": "julian@juliangruber.com" - }, - "dist": { - "shasum": "bb935d48582cba168c06834957a54a3e07124f11", - "tarball": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - }, - "maintainers": [ - { - "name": "juliangruber", - "email": "julian@juliangruber.com" - } - ], - "directories": {}, - "_resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/test.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/test.js deleted file mode 100644 index e0c3444..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/test.js +++ /dev/null @@ -1,20 +0,0 @@ -var isArray = require('./'); -var test = require('tape'); - -test('is array', function(t){ - t.ok(isArray([])); - t.notOk(isArray({})); - t.notOk(isArray(null)); - t.notOk(isArray(false)); - - var obj = {}; - obj[0] = true; - t.notOk(isArray(obj)); - - var arr = []; - arr.foo = 'bar'; - t.ok(isArray(arr)); - - t.end(); -}); - diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/.travis.yml b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/.travis.yml deleted file mode 100644 index 36201b1..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -language: node_js -node_js: - - "0.8" - - "0.10" - - "0.11" - - "0.12" - - "1.7.1" - - 1 - - 2 - - 3 - - 4 - - 5 diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/index.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/index.js deleted file mode 100644 index a4f40f8..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/index.js +++ /dev/null @@ -1,43 +0,0 @@ -'use strict'; - -if (!process.version || - process.version.indexOf('v0.') === 0 || - process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) { - module.exports = nextTick; -} else { - module.exports = process.nextTick; -} - -function nextTick(fn, arg1, arg2, arg3) { - if (typeof fn !== 'function') { - throw new TypeError('"callback" argument must be a function'); - } - var len = arguments.length; - var args, i; - switch (len) { - case 0: - case 1: - return process.nextTick(fn); - case 2: - return process.nextTick(function afterTickOne() { - fn.call(null, arg1); - }); - case 3: - return process.nextTick(function afterTickTwo() { - fn.call(null, arg1, arg2); - }); - case 4: - return process.nextTick(function afterTickThree() { - fn.call(null, arg1, arg2, arg3); - }); - default: - args = new Array(len - 1); - i = 0; - while (i < args.length) { - args[i++] = arguments[i]; - } - return process.nextTick(function afterTick() { - fn.apply(null, args); - }); - } -} diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/license.md b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/license.md deleted file mode 100644 index c67e353..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/license.md +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright (c) 2015 Calvin Metcalf - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -**THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE.** diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/package.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/package.json deleted file mode 100644 index 211b098..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/package.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "process-nextick-args", - "version": "1.0.7", - "description": "process.nextTick but always with args", - "main": "index.js", - "scripts": { - "test": "node test.js" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/calvinmetcalf/process-nextick-args.git" - }, - "author": "", - "license": "MIT", - "bugs": { - "url": "https://github.com/calvinmetcalf/process-nextick-args/issues" - }, - "homepage": "https://github.com/calvinmetcalf/process-nextick-args", - "devDependencies": { - "tap": "~0.2.6" - }, - "gitHead": "5c00899ab01dd32f93ad4b5743da33da91404f39", - "_id": "process-nextick-args@1.0.7", - "_shasum": "150e20b756590ad3f91093f25a4f2ad8bff30ba3", - "_from": "process-nextick-args@>=1.0.6 <1.1.0", - "_npmVersion": "3.8.6", - "_nodeVersion": "5.11.0", - "_npmUser": { - "name": "cwmma", - "email": "calvin.metcalf@gmail.com" - }, - "dist": { - "shasum": "150e20b756590ad3f91093f25a4f2ad8bff30ba3", - "tarball": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" - }, - "maintainers": [ - { - "name": "cwmma", - "email": "calvin.metcalf@gmail.com" - } - ], - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/process-nextick-args-1.0.7.tgz_1462394251778_0.36989671061746776" - }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/readme.md b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/readme.md deleted file mode 100644 index 78e7cfa..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/readme.md +++ /dev/null @@ -1,18 +0,0 @@ -process-nextick-args -===== - -[![Build Status](https://travis-ci.org/calvinmetcalf/process-nextick-args.svg?branch=master)](https://travis-ci.org/calvinmetcalf/process-nextick-args) - -```bash -npm install --save process-nextick-args -``` - -Always be able to pass arguments to process.nextTick, no matter the platform - -```js -var nextTick = require('process-nextick-args'); - -nextTick(function (a, b, c) { - console.log(a, b, c); -}, 'step', 3, 'profit'); -``` diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/test.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/test.js deleted file mode 100644 index ef15721..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/process-nextick-args/test.js +++ /dev/null @@ -1,24 +0,0 @@ -var test = require("tap").test; -var nextTick = require('./'); - -test('should work', function (t) { - t.plan(5); - nextTick(function (a) { - t.ok(a); - nextTick(function (thing) { - t.equals(thing, 7); - }, 7); - }, true); - nextTick(function (a, b, c) { - t.equals(a, 'step'); - t.equals(b, 3); - t.equals(c, 'profit'); - }, 'step', 3, 'profit'); -}); - -test('correct number of arguments', function (t) { - t.plan(1); - nextTick(function () { - t.equals(2, arguments.length, 'correct number'); - }, 1, 2); -}); diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/History.md b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/History.md deleted file mode 100644 index acc8675..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/History.md +++ /dev/null @@ -1,16 +0,0 @@ - -1.0.2 / 2015-10-07 -================== - - * use try/catch when checking `localStorage` (#3, @kumavis) - -1.0.1 / 2014-11-25 -================== - - * browser: use `console.warn()` for deprecation calls - * browser: more jsdocs - -1.0.0 / 2014-04-30 -================== - - * initial commit diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/LICENSE b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/LICENSE deleted file mode 100644 index 6a60e8c..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -(The MIT License) - -Copyright (c) 2014 Nathan Rajlich - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/README.md b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/README.md deleted file mode 100644 index 75622fa..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/README.md +++ /dev/null @@ -1,53 +0,0 @@ -util-deprecate -============== -### The Node.js `util.deprecate()` function with browser support - -In Node.js, this module simply re-exports the `util.deprecate()` function. - -In the web browser (i.e. via browserify), a browser-specific implementation -of the `util.deprecate()` function is used. - - -## API - -A `deprecate()` function is the only thing exposed by this module. - -``` javascript -// setup: -exports.foo = deprecate(foo, 'foo() is deprecated, use bar() instead'); - - -// users see: -foo(); -// foo() is deprecated, use bar() instead -foo(); -foo(); -``` - - -## License - -(The MIT License) - -Copyright (c) 2014 Nathan Rajlich - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/browser.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/browser.js deleted file mode 100644 index 549ae2f..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/browser.js +++ /dev/null @@ -1,67 +0,0 @@ - -/** - * Module exports. - */ - -module.exports = deprecate; - -/** - * Mark that a method should not be used. - * Returns a modified function which warns once by default. - * - * If `localStorage.noDeprecation = true` is set, then it is a no-op. - * - * If `localStorage.throwDeprecation = true` is set, then deprecated functions - * will throw an Error when invoked. - * - * If `localStorage.traceDeprecation = true` is set, then deprecated functions - * will invoke `console.trace()` instead of `console.error()`. - * - * @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.warn(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) { - // accessing global.localStorage can trigger a DOMException in sandboxed iframes - try { - if (!global.localStorage) return false; - } catch (_) { - return false; - } - var val = global.localStorage[name]; - if (null == val) return false; - return String(val).toLowerCase() === 'true'; -} diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/node.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/node.js deleted file mode 100644 index 5e6fcff..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/node.js +++ /dev/null @@ -1,6 +0,0 @@ - -/** - * For Node.js, simply re-export the core `util.deprecate` function. - */ - -module.exports = require('util').deprecate; diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/package.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/package.json deleted file mode 100644 index a018135..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/node_modules/util-deprecate/package.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "name": "util-deprecate", - "version": "1.0.2", - "description": "The Node.js `util.deprecate()` function with browser support", - "main": "node.js", - "browser": "browser.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "git://github.com/TooTallNate/util-deprecate.git" - }, - "keywords": [ - "util", - "deprecate", - "browserify", - "browser", - "node" - ], - "author": { - "name": "Nathan Rajlich", - "email": "nathan@tootallnate.net", - "url": "http://n8.io/" - }, - "license": "MIT", - "bugs": { - "url": "https://github.com/TooTallNate/util-deprecate/issues" - }, - "homepage": "https://github.com/TooTallNate/util-deprecate", - "gitHead": "475fb6857cd23fafff20c1be846c1350abf8e6d4", - "_id": "util-deprecate@1.0.2", - "_shasum": "450d4dc9fa70de732762fbd2d4a28981419a0ccf", - "_from": "util-deprecate@>=1.0.1 <1.1.0", - "_npmVersion": "2.14.4", - "_nodeVersion": "4.1.2", - "_npmUser": { - "name": "tootallnate", - "email": "nathan@tootallnate.net" - }, - "maintainers": [ - { - "name": "tootallnate", - "email": "nathan@tootallnate.net" - } - ], - "dist": { - "shasum": "450d4dc9fa70de732762fbd2d4a28981419a0ccf", - "tarball": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/package.json b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/package.json deleted file mode 100644 index 43ad2c2..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/package.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "name": "readable-stream", - "version": "2.1.4", - "description": "Streams3, a user-land copy of the stream library from Node.js", - "main": "readable.js", - "dependencies": { - "buffer-shims": "^1.0.0", - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - }, - "devDependencies": { - "assert": "~1.4.0", - "nyc": "^6.4.0", - "tap": "~0.7.1", - "tape": "~4.5.1", - "zuul": "~3.9.0", - "zuul-ngrok": "^4.0.0" - }, - "scripts": { - "test": "tap test/parallel/*.js test/ours/*.js", - "browser": "npm run write-zuul && zuul -- test/browser.js", - "write-zuul": "printf \"ui: tape\ntunnel: ngrok\nbrowsers:\n - name: $BROWSER_NAME\n version: $BROWSER_VERSION\n\">.zuul.yml", - "local": "zuul --local -- test/browser.js", - "cover": "nyc npm test", - "report": "nyc report --reporter=lcov" - }, - "repository": { - "type": "git", - "url": "git://github.com/nodejs/readable-stream.git" - }, - "keywords": [ - "readable", - "stream", - "pipe" - ], - "browser": { - "util": false - }, - "nyc": { - "include": [ - "lib/**.js" - ] - }, - "license": "MIT", - "gitHead": "7752832fba237929388dea6c96911a0a6379abfc", - "bugs": { - "url": "https://github.com/nodejs/readable-stream/issues" - }, - "_id": "readable-stream@2.1.4", - "_shasum": "70b9791c6fcb8480db44bd155a0f6bb58f172468", - "_from": "readable-stream@>=2.0.2 <3.0.0", - "_npmVersion": "3.8.6", - "_nodeVersion": "5.11.0", - "_npmUser": { - "name": "cwmma", - "email": "calvin.metcalf@gmail.com" - }, - "dist": { - "shasum": "70b9791c6fcb8480db44bd155a0f6bb58f172468", - "tarball": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz" - }, - "maintainers": [ - { - "name": "isaacs", - "email": "isaacs@npmjs.com" - }, - { - "name": "tootallnate", - "email": "nathan@tootallnate.net" - }, - { - "name": "rvagg", - "email": "rod@vagg.org" - }, - { - "name": "cwmma", - "email": "calvin.metcalf@gmail.com" - } - ], - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/readable-stream-2.1.4.tgz_1463679605032_0.6917394688352942" - }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz", - "readme": "ERROR: No README data found!", - "homepage": "https://github.com/nodejs/readable-stream#readme" -} diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/passthrough.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/passthrough.js deleted file mode 100644 index 27e8d8a..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/passthrough.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/_stream_passthrough.js") diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/readable.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/readable.js deleted file mode 100644 index be2688a..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/readable.js +++ /dev/null @@ -1,16 +0,0 @@ -var Stream = (function (){ - try { - return require('st' + 'ream'); // hack to fix a circular dependency issue when used with browserify - } catch(_){} -}()); -exports = module.exports = require('./lib/_stream_readable.js'); -exports.Stream = Stream || exports; -exports.Readable = exports; -exports.Writable = require('./lib/_stream_writable.js'); -exports.Duplex = require('./lib/_stream_duplex.js'); -exports.Transform = require('./lib/_stream_transform.js'); -exports.PassThrough = require('./lib/_stream_passthrough.js'); - -if (!process.browser && process.env.READABLE_STREAM === 'disable' && Stream) { - module.exports = Stream; -} diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/transform.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/transform.js deleted file mode 100644 index 5d482f0..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/transform.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/_stream_transform.js") diff --git a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/writable.js b/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/writable.js deleted file mode 100644 index e1e9efd..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/node_modules/readable-stream/writable.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/_stream_writable.js") diff --git a/node_modules/jsdom/node_modules/htmlparser2/package.json b/node_modules/jsdom/node_modules/htmlparser2/package.json deleted file mode 100644 index f8ce6d9..0000000 --- a/node_modules/jsdom/node_modules/htmlparser2/package.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "name": "htmlparser2", - "description": "Fast & forgiving HTML/XML/RSS parser", - "version": "3.9.1", - "author": { - "name": "Felix Boehm", - "email": "me@feedic.com" - }, - "keywords": [ - "html", - "parser", - "streams", - "xml", - "dom", - "rss", - "feed", - "atom" - ], - "repository": { - "type": "git", - "url": "git://github.com/fb55/htmlparser2.git" - }, - "bugs": { - "url": "http://github.com/fb55/htmlparser2/issues" - }, - "directories": { - "lib": "lib/" - }, - "main": "lib/index.js", - "files": [ - "lib" - ], - "scripts": { - "lcov": "istanbul cover _mocha --report lcovonly -- -R spec", - "coveralls": "npm run lint && npm run lcov && (cat coverage/lcov.info | coveralls || exit 0)", - "test": "mocha && npm run lint", - "lint": "eslint lib test" - }, - "dependencies": { - "domelementtype": "^1.3.0", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" - }, - "devDependencies": { - "coveralls": "^2.11.4", - "istanbul": "^0.4.3", - "mocha": "^2.2.5", - "eslint": "^2.12.0", - "mocha-lcov-reporter": "^1.2.0" - }, - "browser": { - "readable-stream": false - }, - "license": "MIT", - "gitHead": "f4651bd5dc1315a9949ff24361cce012b105861f", - "homepage": "https://github.com/fb55/htmlparser2#readme", - "_id": "htmlparser2@3.9.1", - "_shasum": "621b7a58bc9acd003f7af0a2c9a00aa67c8505d2", - "_from": "htmlparser2@>=3.7.3 <4.0.0", - "_npmVersion": "3.9.6", - "_nodeVersion": "6.2.1", - "_npmUser": { - "name": "feedic", - "email": "me@feedic.com" - }, - "dist": { - "shasum": "621b7a58bc9acd003f7af0a2c9a00aa67c8505d2", - "tarball": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.1.tgz" - }, - "maintainers": [ - { - "name": "feedic", - "email": "me@feedic.com" - } - ], - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/htmlparser2-3.9.1.tgz_1465693408619_0.5511430425103754" - }, - "_resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.1.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/nwmatcher/LICENSE b/node_modules/jsdom/node_modules/nwmatcher/LICENSE deleted file mode 100644 index 2d71068..0000000 --- a/node_modules/jsdom/node_modules/nwmatcher/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2007-2016 Diego Perini (http://www.iport.it) - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/jsdom/node_modules/nwmatcher/README.md b/node_modules/jsdom/node_modules/nwmatcher/README.md deleted file mode 100644 index bd35cee..0000000 --- a/node_modules/jsdom/node_modules/nwmatcher/README.md +++ /dev/null @@ -1,107 +0,0 @@ -# [NWMatcher](http://dperini.github.io/nwmatcher/) - -A fast CSS selector engine and matcher. - - -## Installation - -To include NWMatcher in a standard web page: - -```html - -``` - -To use it with Node.js: - -``` -$ npm install nwmatcher -``` - -NWMatcher currently supports browsers (as a global, `NW.Dom`) and headless environments (as a CommonJS module). - - -## Supported Selectors - -Here is a list of all the CSS2/CSS3 [Supported selectors](https://github.com/dperini/nwmatcher/wiki/CSS-supported-selectors). - - -## Features and Compliance - -You can read more about NWMatcher [features and compliance](https://github.com/dperini/nwmatcher/wiki/Features-and-compliance) on the wiki. - - -## API - -### DOM Selection - -#### `first( selector, context )` - -Returns a reference to the first element matching `selector`, starting at `context`. - -#### `match( element, selector, context )` - -Returns `true` if `element` matches `selector`, starting at `context`; returns `false` otherwise. - -#### `select( selector, context, callback )` - -Returns an array of all the elements matching `selector`, starting at `context`. If `callback` is provided, it is invoked for each matching element. - - -### DOM Helpers - -#### `byId( id, from )` - -Returns a reference to the first element with ID `id`, optionally filtered to descendants of the element `from`. - -#### `byTag( tag, from )` - -Returns an array of elements having the specified tag name `tag`, optionally filtered to descendants of the element `from`. - -#### `byClass( class, from )` - -Returns an array of elements having the specified class name `class`, optionally filtered to descendants of the element `from`. - -#### `byName( name, from )` - -Returns an array of elements having the specified value `name` for their name attribute, optionally filtered to descendants of the element `from`. - -#### `getAttribute( element, attribute )` - -Return the value read from the attribute of `element` with name `attribute`, as a string. - -#### `hasAttribute( element, attribute )` - -Returns true `element` has an attribute with name `attribute` set; returns `false` otherwise. - - -### Engine Configuration - -#### `configure( options )` - -The following options exist and can be set to `true` or `false`: - -* `CACHING`: enable caching of results -* `SHORTCUTS`: allow accepting mangled selectors -* `SIMPLENOT`: disallow nested complex `:not()` selectors -* `UNIQUE_ID`: disallow multiple elements with same ID -* `USE_QSAPI`: enable native `querySelectorAll` if available -* `USE_HTML5`: enable special HTML5 rules, related to the relationship between `:checked` and `:selected` -* `VERBOSITY`: choose between throwing errors or just console warnings - -Example: - -```js -NW.Dom.configure( { USE_QSAPI: false, VERBOSITY: false } ); -``` - -#### `registerOperator( symbol, resolver )` - -Registers a new symbol and its matching resolver in the operators table. Example: - -```js -NW.Dom.registerOperator( '!=', 'n!="%m"' ); -``` - -#### `registerSelector( name, rexp, func )` - -Registers a new selector, with the matching regular expression and the appropriate resolver function, in the selectors table. diff --git a/node_modules/jsdom/node_modules/nwmatcher/package.json b/node_modules/jsdom/node_modules/nwmatcher/package.json deleted file mode 100644 index 05aaad4..0000000 --- a/node_modules/jsdom/node_modules/nwmatcher/package.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "name": "nwmatcher", - "version": "1.3.8", - "description": "A CSS3-compliant JavaScript selector engine.", - "homepage": "http://javascript.nwbox.com/NWMatcher/", - "main": "./src/nwmatcher", - "keywords": [ - "css", - "matcher", - "selector", - "ender" - ], - "licenses": [ - { - "type": "MIT", - "url": "http://javascript.nwbox.com/NWMatcher/MIT-LICENSE" - } - ], - "author": { - "name": "Diego Perini", - "email": "diego.perini@gmail.com", - "url": "http://www.iport.it/" - }, - "maintainers": [ - { - "name": "rvagg", - "email": "rod@vagg.org" - }, - { - "name": "diego", - "email": "diego.perini@gmail.com" - } - ], - "bugs": { - "url": "http://github.com/dperini/nwmatcher/issues" - }, - "repository": { - "type": "git", - "url": "git://github.com/dperini/nwmatcher.git" - }, - "ender": "./lib/ender/bridge.js", - "gitHead": "c3b4a41db1f1faf080d603b919c4aa485059ff83", - "_id": "nwmatcher@1.3.8", - "scripts": {}, - "_shasum": "34edb93de1aa6cb4448b573c9f2a059300241157", - "_from": "nwmatcher@>=1.3.4 <2.0.0", - "_npmVersion": "3.8.9", - "_nodeVersion": "6.2.0", - "_npmUser": { - "name": "diego", - "email": "diego.perini@gmail.com" - }, - "dist": { - "shasum": "34edb93de1aa6cb4448b573c9f2a059300241157", - "tarball": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.3.8.tgz" - }, - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/nwmatcher-1.3.8.tgz_1465816031258_0.5114992917515337" - }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.3.8.tgz", - "readme": "ERROR: No README data found!" -} diff --git a/node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-cache.js b/node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-cache.js deleted file mode 100644 index a4a4255..0000000 --- a/node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-cache.js +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Copyright (C) 2007-2016 Diego Perini - * All rights reserved. - * - * Caching/memoization module for NWMatcher - * - * Added capabilities: - * - * - Mutation Events are feature tested and used safely - * - handle caching different document types HTML/XML/SVG - * - store result sets for different selectors / contexts - * - simultaneously control mutation on multiple documents - * - */ - -(function(global) { - - // export the public API for CommonJS implementations, - // for headless JS engines or for standard web browsers - var Dom = - // as CommonJS/NodeJS module - typeof exports == 'object' ? exports : - // create or extend NW namespace - ((global.NW || (global.NW = global.Object())) && - (global.NW.Dom || (global.NW.Dom = global.Object()))), - - Contexts = global.Object(), - Results = global.Object(), - - isEnabled = false, - isExpired = true, - isPaused = false, - - context = global.document, - root = context.documentElement, - - // last time cache initialization was called - lastCalled = 0, - - // minimum time allowed between calls to the cache initialization - minCacheRest = 15, //ms - - mutationTest = - function(type, callback) { - var isSupported = false, - root = document.documentElement, - div = document.createElement('div'), - handler = function() { isSupported = true; }; - root.insertBefore(div, root.firstChild); - div.addEventListener(type, handler, true); - if (callback && callback.call) callback(div); - div.removeEventListener(type, handler, true); - root.removeChild(div); - return isSupported; - }, - - // check for Mutation Events, DOMAttrModified should be - // enough to ensure DOMNodeInserted/DOMNodeRemoved exist - HACKED_MUTATION_EVENTS = false, - - NATIVE_MUTATION_EVENTS = root.addEventListener ? - mutationTest('DOMAttrModified', function(e) { e.setAttribute('id', 'nw'); }) : false, - - loadResults = - function(selector, from, doc, root) { - if (isEnabled && !isPaused) { - if (!isExpired) { - if (Results[selector] && Contexts[selector] === from) { - return Results[selector]; - } - } else { - // pause caching while we are getting - // hammered by dom mutations (jdalton) - now = (new global.Date).getTime(); - if ((now - lastCalled) < minCacheRest) { - isPaused = isExpired = true; - global.setTimeout(function() { isPaused = false; }, minCacheRest); - } else setCache(true, doc); - lastCalled = now; - } - } - return undefined; - }, - - saveResults = - function(selector, from, doc, data) { - Contexts[selector] = from; - Results[selector] = data; - return; - }, - - /*-------------------------------- CACHING ---------------------------------*/ - - // invoked by mutation events to expire cached parts - mutationWrapper = - function(event) { - var d = event.target.ownerDocument || event.target; - stopMutation(d); - expireCache(d); - }, - - // append mutation events - startMutation = - function(d) { - if (!d.isCaching && d.addEventListener) { - // FireFox/Opera/Safari/KHTML have support for Mutation Events - d.addEventListener('DOMAttrModified', mutationWrapper, true); - d.addEventListener('DOMNodeInserted', mutationWrapper, true); - d.addEventListener('DOMNodeRemoved', mutationWrapper, true); - d.isCaching = true; - } - }, - - // remove mutation events - stopMutation = - function(d) { - if (d.isCaching && d.removeEventListener) { - d.removeEventListener('DOMAttrModified', mutationWrapper, true); - d.removeEventListener('DOMNodeInserted', mutationWrapper, true); - d.removeEventListener('DOMNodeRemoved', mutationWrapper, true); - d.isCaching = false; - } - }, - - // enable/disable context caching system - // @d optional document context (iframe, xml document) - // script loading context will be used as default context - setCache = - function(enable, d) { - if (!!enable) { - isExpired = false; - startMutation(d); - } else { - isExpired = true; - stopMutation(d); - } - isEnabled = !!enable; - }, - - // expire complete cache - // can be invoked by Mutation Events or - // programmatically by other code/scripts - // document context is mandatory no checks - expireCache = - function(d) { - isExpired = true; - Contexts = global.Object(); - Results = global.Object(); - }; - - if (!NATIVE_MUTATION_EVENTS && root.addEventListener && Element && Element.prototype) { - if (mutationTest('DOMNodeInserted', function(e) { e.appendChild(document.createElement('div')); }) && - mutationTest('DOMNodeRemoved', function(e) { e.removeChild(e.appendChild(document.createElement('div'))); })) { - HACKED_MUTATION_EVENTS = true; - Element.prototype._setAttribute = Element.prototype.setAttribute; - Element.prototype.setAttribute = - function(name, val) { - this._setAttribute(name, val); - mutationWrapper({ - target: this, - type: 'DOMAttrModified', - attrName: name, - attrValue: val }); - }; - } - } - - isEnabled = NATIVE_MUTATION_EVENTS || HACKED_MUTATION_EVENTS; - - /*------------------------------- PUBLIC API -------------------------------*/ - - // save results into cache - Dom.saveResults = saveResults; - - // load results from cache - Dom.loadResults = loadResults; - - // expire DOM tree cache - Dom.expireCache = expireCache; - - // enable/disable cache - Dom.setCache = setCache; - -})(this); diff --git a/node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-jquery.js b/node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-jquery.js deleted file mode 100644 index 4ef48bd..0000000 --- a/node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-jquery.js +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright (C) 2007-2016 Diego Perini - * All rights reserved. - * - * this is just a small example to show - * how an extension for NWMatcher could be - * adapted to handle special jQuery selectors - * - * Child Selectors - * :even, :odd, :eq, :lt, :gt, :first, :last, :nth - * - * Pseudo Selectors - * :has, :button, :header, :input, :checkbox, :radio, :file, :image - * :password, :reset, :submit, :text, :hidden, :visible, :parent - * - */ - -// for structural pseudo-classes extensions -NW.Dom.registerSelector( - 'jquery:child', - /^\:((?:(nth|eq|lt|gt)\(([^()]*)\))|(?:even|odd|first|last))(.*)/i, - (function(global) { - - return function(match, source, selector) { - - var status = true, ACCEPT_NODE = NW.Dom.ACCEPT_NODE; - - switch (match[1].toLowerCase()) { - case 'odd': - source = source.replace(ACCEPT_NODE, 'if((x=x^1)==0){' + ACCEPT_NODE + '}'); - break; - case 'even': - source = source.replace(ACCEPT_NODE, 'if((x=x^1)==1){' + ACCEPT_NODE + '}'); - break; - case 'first': - source = 'n=h.getElementsByTagName(e.nodeName);if(n.length&&n[0]===e){' + source + '}'; - break; - case 'last': - source = 'n=h.getElementsByTagName(e.nodeName);if(n.length&&n[n.length-1]===e){' + source + '}'; - break; - default: - switch (match[2].toLowerCase()) { - case 'nth': - source = 'n=h.getElementsByTagName(e.nodeName);if(n.length&&n[' + match[3] + ']===e){' + source + '}'; - break; - case 'eq': - source = source.replace(ACCEPT_NODE, 'if(x++==' + match[3] + '){' + ACCEPT_NODE + '}'); - break; - case 'lt': - source = source.replace(ACCEPT_NODE, 'if(x++<' + match[3] + '){' + ACCEPT_NODE + '}'); - break; - case 'gt': - source = source.replace(ACCEPT_NODE, 'if(x++>' + match[3] + '){' + ACCEPT_NODE + '}'); - break; - default: - status = false; - break; - } - break; - } - - // compiler will add this to "source" - return global.Object({ - 'source': source, - 'status': status - }); - - }; - - })(this)); - -// for element pseudo-classes extensions -NW.Dom.registerSelector( - 'jquery:pseudo', - /^\:(has|checkbox|file|image|password|radio|reset|submit|text|button|input|header|hidden|visible|parent)(?:\(\s*(["']*)?([^'"()]*)\2\s*\))?(.*)/i, - (function(global) { - - return function(match, source) { - - var status = true, ACCEPT_NODE = NW.Dom.ACCEPT_NODE; - - switch(match[1].toLowerCase()) { - case 'has': - source = source.replace(ACCEPT_NODE, 'if(e.getElementsByTagName("' + match[3].replace(/^\s|\s$/g, '') + '")[0]){' + ACCEPT_NODE + '}'); - break; - case 'checkbox': - case 'file': - case 'image': - case 'password': - case 'radio': - case 'reset': - case 'submit': - case 'text': - // :checkbox, :file, :image, :password, :radio, :reset, :submit, :text - source = 'if(/^' + match[1] + '$/i.test(e.type)){' + source + '}'; - break; - case 'button': - case 'input': - source = 'if(e.type||/button/i.test(e.nodeName)){' + source + '}'; - break; - case 'header': - source = 'if(/h[1-6]/i.test(e.nodeName)){' + source + '}'; - break; - case 'hidden': - source = 'if(!e.offsetWidth&&!e.offsetHeight){' + source + '}'; - break; - case 'visible': - source = 'if(e.offsetWidth||e.offsetHeight){' + source + '}'; - break; - case 'parent': - source += 'if(e.firstChild){' + source + '}'; - break; - default: - status = false; - break; - } - - // compiler will add this to "source" - return global.Object({ - 'source': source, - 'status': status - }); - - }; - - })(this)); diff --git a/node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-pseudos.js b/node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-pseudos.js deleted file mode 100644 index f1964c8..0000000 --- a/node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-pseudos.js +++ /dev/null @@ -1,273 +0,0 @@ -/* - * Copyright (C) 2007-2016 Diego Perini - * All rights reserved. - * - * CSS3 pseudo-classes extension for NWMatcher - * - * Added capabilities: - * - * - structural pseudo-classes - * - * :root, :empty, - * :nth-child(), nth-of-type(), - * :nth-last-child(), nth-last-of-type(), - * :first-child, :last-child, :only-child - * :first-of-type, :last-of-type, :only-of-type - * - * - negation, language, target and UI element pseudo-classes - * - * :not(), :target, :lang(), :target - * :link, :visited, :active, :focus, :hover, - * :checked, :disabled, :enabled, :selected - */ - -(function(global) { - - var LINK_NODES = global.Object({ - 'a': 1, 'A': 1, - 'area': 1, 'AREA': 1, - 'link': 1, 'LINK': 1 - }), - - root = document.documentElement, - - contains = 'compareDocumentPosition' in root ? - function(container, element) { - return (container.compareDocumentPosition(element) & 16) == 16; - } : 'contains' in root ? - function(container, element) { - return element.nodeType == 1 && container.contains(element); - } : - function(container, element) { - while ((element = element.parentNode) && element.nodeType == 1) { - if (element === container) return true; - } - return false; - }, - - isLink = - function(element) { - return element.getAttribute('href') && LINK_NODES[element.nodeName]; - }, - - isEmpty = - function(node) { - node = node.firstChild; - while (node) { - if (node.nodeType == 3 || node.nodeName > '@') return false; - node = node.nextSibling; - } - return true; - }, - - nthElement = - function(element, last) { - var count = 1, succ = last ? 'nextSibling' : 'previousSibling'; - while ((element = element[succ])) { - if (element.nodeName > '@') ++count; - } - return count; - }, - - nthOfType = - function(element, last) { - var count = 1, succ = last ? 'nextSibling' : 'previousSibling', type = element.nodeName; - while ((element = element[succ])) { - if (element.nodeName == type) ++count; - } - return count; - }; - - NW.Dom.Snapshot['contains'] = contains; - - NW.Dom.Snapshot['isLink'] = isLink; - NW.Dom.Snapshot['isEmpty'] = isEmpty; - NW.Dom.Snapshot['nthOfType'] = nthOfType; - NW.Dom.Snapshot['nthElement'] = nthElement; - -})(this); - -NW.Dom.registerSelector( - 'nwmatcher:spseudos', - /^\:(root|empty|(?:first|last|only)(?:-child|-of-type)|nth(?:-last)?(?:-child|-of-type)\(\s*(even|odd|(?:[-+]{0,1}\d*n\s*)?[-+]{0,1}\s*\d*)\s*\))?(.*)/i, - (function(global) { - - return function(match, source) { - - var a, n, b, status = true, test, type; - - switch (match[1]) { - - case 'root': - if (match[3]) - source = 'if(e===h||s.contains(h,e)){' + source + '}'; - else - source = 'if(e===h){' + source + '}'; - break; - - case 'empty': - source = 'if(s.isEmpty(e)){' + source + '}'; - break; - - default: - if (match[1] && match[2]) { - - if (match[2] == 'n') { - source = 'if(e!==h){' + source + '}'; - break; - } else if (match[2] == 'even') { - a = 2; - b = 0; - } else if (match[2] == 'odd') { - a = 2; - b = 1; - } else { - b = ((n = match[2].match(/(-?\d+)$/)) ? global.parseInt(n[1], 10) : 0); - a = ((n = match[2].match(/(-?\d*)n/i)) ? global.parseInt(n[1], 10) : 0); - if (n && n[1] == '-') a = -1; - } - test = a > 1 ? - (/last/i.test(match[1])) ? '(n-(' + b + '))%' + a + '==0' : - 'n>=' + b + '&&(n-(' + b + '))%' + a + '==0' : a < -1 ? - (/last/i.test(match[1])) ? '(n-(' + b + '))%' + a + '==0' : - 'n<=' + b + '&&(n-(' + b + '))%' + a + '==0' : a === 0 ? - 'n==' + b : a == -1 ? 'n<=' + b : 'n>=' + b; - source = - 'if(e!==h){' + - 'n=s[' + (/-of-type/i.test(match[1]) ? '"nthOfType"' : '"nthElement"') + ']' + - '(e,' + (/last/i.test(match[1]) ? 'true' : 'false') + ');' + - 'if(' + test + '){' + source + '}' + - '}'; - - } else if (match[1]) { - - a = /first/i.test(match[1]) ? 'previous' : 'next'; - n = /only/i.test(match[1]) ? 'previous' : 'next'; - b = /first|last/i.test(match[1]); - type = /-of-type/i.test(match[1]) ? '&&n.nodeName!==e.nodeName' : '&&n.nodeName<"@"'; - source = 'if(e!==h){' + - ( 'n=e;while((n=n.' + a + 'Sibling)' + type + ');if(!n){' + (b ? source : - 'n=e;while((n=n.' + n + 'Sibling)' + type + ');if(!n){' + source + '}') + '}' ) + '}'; - - } else { - - status = false; - - } - break; - } - - return global.Object({ - 'source': source, - 'status': status - }); - - }; - - })(this)); - -NW.Dom.registerSelector( - 'nwmatcher:dpseudos', - /^\:(link|visited|target|active|focus|hover|checked|disabled|enabled|selected|lang\(([-\w]{2,})\)|not\(\s*(:nth(?:-last)?(?:-child|-of-type)\(\s*(?:even|odd|(?:[-+]{0,1}\d*n\s*)?[-+]{0,1}\s*\d*)\s*\)|[^()]*)\s*\))?(.*)/i, - (function(global) { - - var doc = global.document, - Config = NW.Dom.Config, - Tokens = NW.Dom.Tokens, - - reTrimSpace = global.RegExp('^\\s+|\\s+$', 'g'), - - reSimpleNot = global.RegExp('^((?!:not)' + - '(' + Tokens.prefixes + '|' + Tokens.identifier + - '|\\([^()]*\\))+|\\[' + Tokens.attributes + '\\])$'); - - return function(match, source) { - - var expr, status = true, test; - - switch (match[1].match(/^\w+/)[0]) { - - case 'not': - expr = match[3].replace(reTrimSpace, ''); - if (Config.SIMPLENOT && !reSimpleNot.test(expr)) { - NW.Dom.emit('Negation pseudo-class only accepts simple selectors "' + selector + '"'); - } else { - if ('compatMode' in doc) { - source = 'if(!' + NW.Dom.compile(expr, '', false) + '(e,s,r,d,h,g)){' + source + '}'; - } else { - source = 'if(!s.match(e, "' + expr.replace(/\x22/g, '\\"') + '",g)){' + source +'}'; - } - } - break; - - case 'checked': - source = 'if((typeof e.form!=="undefined"&&(/^(?:radio|checkbox)$/i).test(e.type)&&e.checked)' + - (Config.USE_HTML5 ? '||(/^option$/i.test(e.nodeName)&&(e.selected||e.checked))' : '') + - '){' + source + '}'; - break; - - case 'disabled': - source = 'if(((typeof e.form!=="undefined"' + - (Config.USE_HTML5 ? '' : '&&!(/^hidden$/i).test(e.type)') + - ')||s.isLink(e))&&e.disabled===true){' + source + '}'; - break; - - case 'enabled': - source = 'if(((typeof e.form!=="undefined"' + - (Config.USE_HTML5 ? '' : '&&!(/^hidden$/i).test(e.type)') + - ')||s.isLink(e))&&e.disabled===false){' + source + '}'; - break; - - case 'lang': - test = ''; - if (match[2]) test = match[2].substr(0, 2) + '-'; - source = 'do{(n=e.lang||"").toLowerCase();' + - 'if((n==""&&h.lang=="' + match[2].toLowerCase() + '")||' + - '(n&&(n=="' + match[2].toLowerCase() + - '"||n.substr(0,3)=="' + test.toLowerCase() + '")))' + - '{' + source + 'break;}}while((e=e.parentNode)&&e!==g);'; - break; - - case 'target': - source = 'if(e.id==d.location.hash.slice(1)){' + source + '}'; - break; - - case 'link': - source = 'if(s.isLink(e)&&!e.visited){' + source + '}'; - break; - - case 'visited': - source = 'if(s.isLink(e)&&e.visited){' + source + '}'; - break; - - case 'active': - source = 'if(e===d.activeElement){' + source + '}'; - break; - - case 'hover': - source = 'if(e===d.hoverElement){' + source + '}'; - break; - - case 'focus': - source = 'hasFocus' in doc ? - 'if(e===d.activeElement&&d.hasFocus()&&(e.type||e.href||typeof e.tabIndex=="number")){' + source + '}' : - 'if(e===d.activeElement&&(e.type||e.href)){' + source + '}'; - break; - - case 'selected': - source = 'if(/^option$/i.test(e.nodeName)&&(e.selected||e.checked)){' + source + '}'; - break; - - default: - status = false; - break; - } - - return global.Object({ - 'source': source, - 'status': status - }); - - }; - - })(this)); diff --git a/node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-shortcuts.js b/node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-shortcuts.js deleted file mode 100644 index 2f61110..0000000 --- a/node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-shortcuts.js +++ /dev/null @@ -1,35 +0,0 @@ -NW.Dom.shortcuts = (function() { - - // match missing R/L context - var nextID = 0, - reLeftContext = /^[\x20\t\n\r\f]*[>+~]/, - reRightContext = /[>+~][\x20\t\n\r\f]*$/; - - return function(selector, from, alt) { - - // add left context if missing - if (reLeftContext.test(selector)) { - if (from.nodeType == 9) { - selector = '* ' + selector; - } else if (/html|body/i.test(from.nodeName)) { - selector = from.nodeName + ' ' + selector; - } else if (alt) { - selector = NW.Dom.shortcuts(selector, alt); - } else if (from.nodeType == 1 && from.id) { - selector = '#' + from.id + ' ' + selector; - } else { - ++nextID; - selector = '#' + (from.id = 'NW' + nextID) + ' ' + selector; - //NW.Dom.emit('Unable to resolve a context for the shortcut selector "' + selector + '"'); - } - } - - // add right context if missing - if (reRightContext.test(selector)) { - selector += ' *'; - } - - return selector; - }; - -})(); diff --git a/node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-traversal.js b/node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-traversal.js deleted file mode 100644 index 9d2b62f..0000000 --- a/node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-traversal.js +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Element Traversal methods from Juriy Zaytsev (kangax) - * used to emulate Prototype up/down/previous/next methods - */ - -(function(D){ - - // TODO: all of this needs tests - var match = D.match, select = D.select, root = document.documentElement, - - // Use the Element Traversal API if available. - nextElement = 'nextElementSibling', - previousElement = 'previousElementSibling', - parentElement = 'parentElement'; - - // Fall back to the DOM Level 1 API. - if (!(nextElement in root)) nextElement = 'nextSibling'; - if (!(previousElement in root)) previousElement = 'previousSibling'; - if (!(parentElement in root)) parentElement = 'parentNode'; - - function walkElements(property, element, expr) { - var i = 0, isIndex = typeof expr == 'number'; - if (typeof expr == 'undefined') { - isIndex = true; - expr = 0; - } - while ((element = element[property])) { - if (element.nodeType != 1) continue; - if (isIndex) { - ++i; - if (i == expr) return element; - } else if (match(element, expr)) { - return element; - } - } - return null; - } - - /** - * @method up - * @param {HTMLElement} element element to walk from - * @param {String | Number} expr CSS expression or an index - * @return {HTMLElement | null} - */ - function up(element, expr) { - return walkElements(parentElement, element, expr); - } - /** - * @method next - * @param {HTMLElement} element element to walk from - * @param {String | Number} expr CSS expression or an index - * @return {HTMLElement | null} - */ - function next(element, expr) { - return walkElements(nextElement, element, expr); - } - /** - * @method previous - * @param {HTMLElement} element element to walk from - * @param {String | Number} expr CSS expression or an index - * @return {HTMLElement | null} - */ - function previous(element, expr) { - return walkElements(previousElement, element, expr); - } - /** - * @method down - * @param {HTMLElement} element element to walk from - * @param {String | Number} expr CSS expression or an index - * @return {HTMLElement | null} - */ - function down(element, expr) { - var isIndex = typeof expr == 'number', descendants, index, descendant; - if (expr === null) { - element = element.firstChild; - while (element && element.nodeType != 1) element = element[nextElement]; - return element; - } - if (!isIndex && match(element, expr) || isIndex && expr === 0) return element; - descendants = select('*', element); - if (isIndex) return descendants[expr] || null; - index = 0; - while ((descendant = descendants[index]) && !match(descendant, expr)) { ++index; } - return descendant || null; - } - D.up = up; - D.down = down; - D.next = next; - D.previous = previous; -})(NW.Dom); diff --git a/node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-webforms.js b/node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-webforms.js deleted file mode 100644 index f77737f..0000000 --- a/node_modules/jsdom/node_modules/nwmatcher/src/modules/nwmatcher-webforms.js +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright (C) 2007-2016 Diego Perini - * All rights reserved. - * - * this is just a small example to show - * how an extension for NWMatcher could be - * adapted to handle WebForms/HTML5 selectors - * - * Pseudo Selectors - * :default, :indeterminate, :optional, :required, - * :valid, :invalid, :in-range, :out-of-range, - * :read-only, :read-write - * :has, :matches (not yet in a defined specification) - * - */ - -// for UI pseudo-classes extensions (WebForms/HTML5) -NW.Dom.registerSelector( - 'html5:pseudos', - /^\:(default|indeterminate|optional|required|valid|invalid|in-range|out-of-range|read-only|read-write)(.*)/, - (function(global) { - - return function(match, source) { - - var status = true, - - HTML5PseudoClasses = global.Object({ - 'default': 4, 'indeterminate': 4, 'invalid': 4, 'valid': 4, - 'optional': 4, 'required': 4, 'read-write': 4, 'read-only': 4 - }); - - switch (match[1]) { - - // HTML5 UI element states (form controls) - case 'default': - // only radio buttons, check boxes and option elements - source = 'if(((typeof e.form!=="undefined"&&(/radio|checkbox/i).test(e.type))||/option/i.test(e.nodeName))&&(e.defaultChecked||e.defaultSelected)){' + source + '}'; - break; - - case 'indeterminate': - // only radio buttons, check boxes and option elements - source = 'if(typeof e.form!=="undefined"&&(/radio|checkbox/i).test(e.type)&&s.select("[checked]",e.form).length===0){' + source + '}'; - break; - - case 'optional': - // only fields for which "required" applies - source = 'if(typeof e.form!=="undefined"&&typeof e.required!="undefined"&&!e.required){' + source + '}'; - break; - - case 'required': - // only fields for which "required" applies - source = 'if(typeof e.form!=="undefined"&&typeof e.required!="undefined"&&e.required){' + source + '}'; - break; - - case 'read-write': - // only fields for which "readOnly" applies - source = 'if(typeof e.form!=="undefined"&&typeof e.readOnly!="undefined"&&!e.readOnly){' + source + '}'; - break; - - case 'read-only': - // only fields for which "readOnly" applies - source = 'if(typeof e.form!=="undefined"&&typeof e.readOnly!="undefined"&&e.readOnly){' + source + '}'; - break; - - case 'invalid': - // only fields for which validity applies - source = 'if(typeof e.form!=="undefined"&&typeof e.validity=="object"&&!e.validity.valid){' + source + '}'; - break; - - case 'valid': - // only fields for which validity applies - source = 'if(typeof e.form!=="undefined"&&typeof e.validity=="object"&&e.validity.valid){' + source + '}'; - break; - - case 'in-range': - // only fields for which validity applies - source = 'if(typeof e.form!=="undefined"&&' + - '(s.getAttribute(e,"min")||s.getAttribute(e,"max"))&&' + - 'typeof e.validity=="object"&&!e.validity.typeMismatch&&' + - '!e.validity.rangeUnderflow&&!e.validity.rangeOverflow){' + source + '}'; - break; - - case 'out-of-range': - // only fields for which validity applies - source = 'if(typeof e.form!=="undefined"&&' + - '(s.getAttribute(e,"min")||s.getAttribute(e,"max"))&&' + - 'typeof e.validity=="object"&&(e.validity.rangeUnderflow||e.validity.rangeOverflow)){' + source + '}'; - break; - - default: - status = false; - break; - - } - - // compiler will add this to "source" - return global.Object({ - 'source': source, - 'status': status - }); - - }; - - })(this)); diff --git a/node_modules/jsdom/node_modules/nwmatcher/src/nwmatcher-base.js b/node_modules/jsdom/node_modules/nwmatcher/src/nwmatcher-base.js deleted file mode 100644 index 68947de..0000000 --- a/node_modules/jsdom/node_modules/nwmatcher/src/nwmatcher-base.js +++ /dev/null @@ -1,747 +0,0 @@ -/* - * Copyright (C) 2007-2016 Diego Perini - * All rights reserved. - * - * nwmatcher-base.js - A fast CSS selector engine and matcher - * - * Author: Diego Perini - * Version: 1.3.8 - * Created: 20070722 - * Release: 20160613 - * - * License: - * http://javascript.nwbox.com/NWMatcher/MIT-LICENSE - * Download: - * http://javascript.nwbox.com/NWMatcher/nwmatcher.js - */ - -(function(global, factory) { - - if (typeof module == 'object' && typeof exports == 'object') { - module.exports = function (browserGlobal) { - // passed global does not contain - // references to native objects - browserGlobal.console = console; - browserGlobal.parseInt = parseInt; - browserGlobal.Function = Function; - browserGlobal.Boolean = Boolean; - browserGlobal.Number = Number; - browserGlobal.RegExp = RegExp; - browserGlobal.String = String; - browserGlobal.Object = Object; - browserGlobal.Array = Array; - browserGlobal.Error = Error; - browserGlobal.Date = Date; - browserGlobal.Math = Math; - var exports = browserGlobal.Object(); - factory(browserGlobal, exports); - return exports; - }; - module.factory = factory; - } else { - factory(global, - (global.NW || (global.NW = global.Object())) && - (global.NW.Dom || (global.NW.Dom = global.Object()))); - global.NW.Dom.factory = factory; - } - -})(this, function(global, exports) { - - var version = 'nwmatcher-1.3.8', - - Dom = exports, - - doc = global.document, - root = doc.documentElement, - - slice = global.Array.slice, - - isSingleMatch, - isSingleSelect, - - lastSlice, - lastContext, - lastPosition, - - lastMatcher, - lastSelector, - - lastPartsMatch, - lastPartsSelect, - - prefixes = '[#.:]?', - operators = '([~*^$|!]?={1})', - whitespace = '[\\x20\\t\\n\\r\\f]*', - combinators = '[\\x20]|[>+~](?=[^>+~])', - pseudoparms = '(?:[-+]?\\d*n)?[-+]?\\d*', - - quotedvalue = '"[^"\\\\]*(?:\\\\.[^"\\\\]*)*"' + "|'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'", - skipgroup = '\\[.*\\]|\\(.*\\)|\\{.*\\}', - - encoding = '(?:[-\\w]|[^\\x00-\\xa0]|\\\\.)', - identifier = '(?:-?[_a-zA-Z]{1}[-\\w]*|[^\\x00-\\xa0]+|\\\\.+)+', - - attrcheck = '(' + quotedvalue + '|' + identifier + ')', - attributes = whitespace + '(' + encoding + '*:?' + encoding + '+)' + - whitespace + '(?:' + operators + whitespace + attrcheck + ')?' + whitespace, - - attrmatcher = attributes.replace(attrcheck, '([\\x22\\x27]*)((?:\\\\?.)*?)\\3'), - - pseudoclass = '((?:' + - pseudoparms + '|' + quotedvalue + '|' + - prefixes + '|' + encoding + '+|' + - '\\[' + attributes + '\\]|' + - '\\(.+\\)|' + whitespace + '|' + - ',)+)', - - extensions = '.+', - - standardValidator = - '(?=[\\x20\\t\\n\\r\\f]*[^>+~(){}<>])' + - '(' + - '\\*' + - '|(?:' + prefixes + identifier + ')' + - '|' + combinators + - '|\\[' + attributes + '\\]' + - '|\\(' + pseudoclass + '\\)' + - '|\\{' + extensions + '\\}' + - '|(?:,|' + whitespace + ')' + - ')+', - - extendedValidator = standardValidator.replace(pseudoclass, '.*'), - - reValidator = global.RegExp(standardValidator), - - reTrimSpaces = global.RegExp('^' + - whitespace + '|' + whitespace + '$', 'g'), - - reSplitGroup = global.RegExp('(' + - '[^,\\\\()[\\]]+' + - '|\\[[^[\\]]*\\]|\\[.*\\]' + - '|\\([^()]+\\)|\\(.*\\)' + - '|\\{[^{}]+\\}|\\{.*\\}' + - '|\\\\.' + - ')+', 'g'), - - reSplitToken = global.RegExp('(' + - '\\[' + attributes + '\\]|' + - '\\(' + pseudoclass + '\\)|' + - '\\\\.|[^\\x20\\t\\n\\r\\f>+~])+', 'g'), - - reWhiteSpace = /[\x20\t\n\r\f]+/g, - - reOptimizeSelector = global.RegExp(identifier + '|^$'), - - ATTR_BOOLEAN = global.Object({ - checked: 1, disabled: 1, ismap: 1, - multiple: 1, readonly: 1, selected: 1 - }), - - ATTR_DEFAULT = global.Object({ - value: 'defaultValue', - checked: 'defaultChecked', - selected: 'defaultSelected' - }), - - ATTR_URIDATA = global.Object({ - action: 2, cite: 2, codebase: 2, data: 2, href: 2, - longdesc: 2, lowsrc: 2, src: 2, usemap: 2 - }), - - Selectors = global.Object(), - - Operators = global.Object({ - '=': "n=='%m'", - '^=': "n.indexOf('%m')==0", - '*=': "n.indexOf('%m')>-1", - '|=': "(n+'-').indexOf('%m-')==0", - '~=': "(' '+n+' ').indexOf(' %m ')>-1", - '$=': "n.substr(n.length-'%m'.length)=='%m'" - }), - - Optimize = global.Object({ - ID: global.RegExp('^\\*?#(' + encoding + '+)|' + skipgroup), - TAG: global.RegExp('^(' + encoding + '+)|' + skipgroup), - CLASS: global.RegExp('^\\*?\\.(' + encoding + '+$)|' + skipgroup) - }), - - Patterns = global.Object({ - universal: /^\*(.*)/, - id: global.RegExp('^#(' + encoding + '+)(.*)'), - tagName: global.RegExp('^(' + encoding + '+)(.*)'), - className: global.RegExp('^\\.(' + encoding + '+)(.*)'), - attribute: global.RegExp('^\\[' + attrmatcher + '\\](.*)'), - children: /^[\x20\t\n\r\f]*\>[\x20\t\n\r\f]*(.*)/, - adjacent: /^[\x20\t\n\r\f]*\+[\x20\t\n\r\f]*(.*)/, - relative: /^[\x20\t\n\r\f]*\~[\x20\t\n\r\f]*(.*)/, - ancestor: /^[\x20\t\n\r\f]+(.*)/ - }), - - QUIRKS_MODE, - XML_DOCUMENT, - - GEBTN = 'getElementsByTagName' in doc, - GEBCN = 'getElementsByClassName' in doc, - - IE_LT_9 = typeof doc.addEventListener != 'function', - - INSENSITIVE_MAP = global.Object({ - 'class': 0, - 'href': 1, 'lang': 1, 'src': 1, 'style': 1, 'title': 1, - 'type': 1, 'xmlns': 1, 'xml:lang': 1, 'xml:space': 1 - }), - - TO_UPPER_CASE = IE_LT_9 ? '.toUpperCase()' : '', - - ACCEPT_NODE = 'r[r.length]=c[k];if(f&&false===f(c[k]))break main;else continue main;', - REJECT_NODE = IE_LT_9 ? 'if(e.nodeName<"A")continue;' : '', - - Config = global.Object({ - CACHING: false, - SIMPLENOT: true, - UNIQUE_ID: true, - USE_HTML5: true, - VERBOSITY: true - }), - - configure = - function(option) { - if (typeof option == 'string') { return Config[option] || Config; } - if (typeof option != 'object') { return false; } - for (var i in option) { - Config[i] = !!option[i]; - if (i == 'SIMPLENOT') { - matchContexts = global.Object(); - matchResolvers = global.Object(); - selectContexts = global.Object(); - selectResolvers = global.Object(); - } - } - reValidator = global.RegExp(Config.SIMPLENOT ? - standardValidator : extendedValidator); - return true; - }, - - concatCall = - function(data, elements, callback) { - var i = -1, element; - while ((element = elements[++i])) { - if (false === callback(data[data.length] = element)) { break; } - } - return data; - }, - - emit = - function(message) { - if (Config.VERBOSITY) { throw global.Error(message); } - if (global.console && global.console.log) { - global.console.log(message); - } - }, - - switchContext = - function(from, force) { - var oldDoc = doc; - lastContext = from; - doc = from.ownerDocument || from; - if (force || oldDoc !== doc) { - root = doc.documentElement; - XML_DOCUMENT = doc.createElement('DiV').nodeName == 'DiV'; - QUIRKS_MODE = !XML_DOCUMENT && - typeof doc.compatMode == 'string' ? - doc.compatMode.indexOf('CSS') < 0 : - (function() { - var style = doc.createElement('div').style; - return style && (style.width = 1) && style.width == '1px'; - })(); - - Config.CACHING && Dom.setCache(true, doc); - } - }, - - convertEscapes = - function(str) { - return str.replace(/\\([0-9a-fA-F]{1,6}\x20?|.)|([\x22\x27])/g, function(substring, p1, p2) { - var codePoint, highHex, highSurrogate, lowHex, lowSurrogate; - - if (p2) { - return '\\' + p2; - } - - if (/^[0-9a-fA-F]/.test(p1)) { - codePoint = parseInt(p1, 16); - - if (codePoint < 0 || codePoint > 0x10ffff) { - return '\\ufffd'; - } - - if (codePoint <= 0xffff) { - lowHex = '000' + codePoint.toString(16); - return '\\u' + lowHex.substr(lowHex.length - 4); - } - - codePoint -= 0x10000; - highSurrogate = (codePoint >> 10) + 0xd800; - lowSurrogate = (codePoint % 0x400) + 0xdc00; - highHex = '000' + highSurrogate.toString(16); - lowHex = '000' + lowSurrogate.toString(16); - - return '\\u' + highHex.substr(highHex.length - 4) + - '\\u' + lowHex.substr(lowHex.length - 4); - } - - if (/^[\\\x22\x27]/.test(p1)) { - return substring; - } - - return p1; - }); - }, - - byIdRaw = - function(id, elements) { - var i = 0, element = null; - while ((element = elements[i])) { - if (element.getAttribute('id') == id) { - break; - } - ++i; - } - return element; - }, - - _byId = !('fileSize' in doc) ? - function(id, from) { - id = id.replace(/\\([^\\]{1})/g, '$1'); - return from.getElementById && from.getElementById(id) || - byIdRaw(id, from.getElementsByTagName('*')); - } : - function(id, from) { - var element = null; - id = id.replace(/\\([^\\]{1})/g, '$1'); - if (XML_DOCUMENT || from.nodeType != 9) { - return byIdRaw(id, from.getElementsByTagName('*')); - } - if ((element = from.getElementById(id)) && - element.name == id && from.getElementsByName) { - return byIdRaw(id, from.getElementsByName(id)); - } - return element; - }, - - byId = - function(id, from) { - from || (from = doc); - if (lastContext !== from) { switchContext(from); } - return _byId(id, from); - }, - - byTagRaw = - function(tag, from) { - var any = tag == '*', element = from, elements = global.Array(), next = element.firstChild; - any || (tag = tag.toUpperCase()); - while ((element = next)) { - if (element.tagName > '@' && (any || element.tagName.toUpperCase() == tag)) { - elements[elements.length] = element; - } - if ((next = element.firstChild || element.nextSibling)) continue; - while (!next && (element = element.parentNode) && element !== from) { - next = element.nextSibling; - } - } - return elements; - }, - - getAttribute = - function(node, attribute) { - attribute = attribute.toLowerCase(); - if (typeof node[attribute] == 'object') { - return node.attributes[attribute] && - node.attributes[attribute].value; - } - return ( - attribute == 'type' ? node.getAttribute(attribute) : - ATTR_URIDATA[attribute] ? node.getAttribute(attribute, 2) : - ATTR_BOOLEAN[attribute] ? node.getAttribute(attribute) ? attribute : 'false' : - (node = node.getAttributeNode(attribute)) && node.value); - }, - - hasAttribute = root.hasAttribute ? - function(node, attribute) { - return node.hasAttribute(attribute); - } : - function(node, attribute) { - var obj = node.getAttributeNode(attribute = attribute.toLowerCase()); - return ATTR_DEFAULT[attribute] && attribute != 'value' ? - node[ATTR_DEFAULT[attribute]] : obj && obj.specified; - }, - - compile = - function(selector, source, mode) { - - var parts = typeof selector == 'string' ? selector.match(reSplitGroup) : selector; - - typeof source == 'string' || (source = ''); - - if (parts.length == 1) { - source += compileSelector(parts[0], mode ? ACCEPT_NODE : 'f&&f(k);return true;', mode); - } else { - var i = -1, seen = global.Object(), token; - while ((token = parts[++i])) { - token = token.replace(reTrimSpaces, ''); - if (!seen[token] && (seen[token] = true)) { - source += compileSelector(token, mode ? ACCEPT_NODE : 'f&&f(k);return true;', mode); - } - } - } - - if (mode) - return global.Function('c,s,r,d,h,g,f,v', - 'var N,n,x=0,k=-1,e;main:while((e=c[++k])){' + source + '}return r;'); - else - return global.Function('e,s,r,d,h,g,f,v', - 'var N,n,x=0,k=e;' + source + 'return false;'); - }, - - FILTER = - 'var z=v[@]||(v[@]=[]),l=z.length-1;' + - 'while(l>=0&&z[l]!==e)--l;' + - 'if(l!==-1){break;}' + - 'z[z.length]=e;', - - compileSelector = - function(selector, source, mode) { - - var k = 0, expr, match, name, result, status, test, type; - - while (selector) { - - k++; - - if ((match = selector.match(Patterns.universal))) { - expr = ''; - } - - else if ((match = selector.match(Patterns.id))) { - source = 'if(' + (XML_DOCUMENT ? - 's.getAttribute(e,"id")' : - '(e.submit?s.getAttribute(e,"id"):e.id)') + - '=="' + match[1] + '"' + - '){' + source + '}'; - } - - else if ((match = selector.match(Patterns.tagName))) { - source = 'if(e.nodeName' + (XML_DOCUMENT ? - '=="' + match[1] + '"' : TO_UPPER_CASE + - '=="' + match[1].toUpperCase() + '"') + - '){' + source + '}'; - } - - else if ((match = selector.match(Patterns.className))) { - source = 'if((n=' + (XML_DOCUMENT ? - 'e.getAttribute("class")' : 'e.className') + - ')&&n.length&&(" "+' + (QUIRKS_MODE ? 'n.toLowerCase()' : 'n') + - '.replace(' + reWhiteSpace + '," ")+" ").indexOf(" ' + - (QUIRKS_MODE ? match[1].toLowerCase() : match[1]) + ' ")>-1' + - '){' + source + '}'; - } - - else if ((match = selector.match(Patterns.attribute))) { - if (match[2] && !Operators[match[2]]) { - emit('Unsupported operator in attribute selectors "' + selector + '"'); - return ''; - } - test = 'false'; - if (match[2] && match[4] && (test = Operators[match[2]])) { - match[4] = convertEscapes(match[4]); - INSENSITIVE_MAP['class'] = QUIRKS_MODE ? 1 : 0; - type = INSENSITIVE_MAP[match[1].toLowerCase()]; - test = test.replace(/\%m/g, type ? match[4].toLowerCase() : match[4]); - } else if (match[2] == '!=' || match[2] == '=') { - test = 'n' + match[2] + '=""'; - } - source = 'if(n=s.hasAttribute(e,"' + match[1] + '")){' + - (match[2] ? 'n=s.getAttribute(e,"' + match[1] + '")' : '') + - (type && match[2] ? '.toLowerCase();' : ';') + - 'if(' + (match[2] ? test : 'n') + '){' + source + '}}'; - } - - else if ((match = selector.match(Patterns.adjacent))) { - source = (mode ? '' : FILTER.replace(/@/g, k)) + source; - source = 'var N' + k + '=e;while(e&&(e=e.previousSibling)){if(e.nodeName>"@"){' + source + 'break;}}e=N' + k + ';'; - } - - else if ((match = selector.match(Patterns.relative))) { - source = (mode ? '' : FILTER.replace(/@/g, k)) + source; - source = 'var N' + k + '=e;e=e.parentNode.firstChild;while(e&&e!==N' + k + '){if(e.nodeName>"@"){' + source + '}e=e.nextSibling;}e=N' + k + ';'; - } - - else if ((match = selector.match(Patterns.children))) { - source = (mode ? '' : FILTER.replace(/@/g, k)) + source; - source = 'var N' + k + '=e;while(e&&e!==h&&e!==g&&(e=e.parentNode)){' + source + 'break;}e=N' + k + ';'; - } - - else if ((match = selector.match(Patterns.ancestor))) { - source = (mode ? '' : FILTER.replace(/@/g, k)) + source; - source = 'var N' + k + '=e;while(e&&e!==h&&e!==g&&(e=e.parentNode)){' + source + '}e=N' + k + ';'; - } - - else { - - expr = false; - status = false; - for (expr in Selectors) { - if ((match = selector.match(Selectors[expr].Expression)) && match[1]) { - result = Selectors[expr].Callback(match, source); - source = result.source; - status = result.status; - if (status) { break; } - } - } - - if (!status) { - emit('Unknown pseudo-class selector "' + selector + '"'); - return ''; - } - - if (!expr) { - emit('Unknown token in selector "' + selector + '"'); - return ''; - } - - } - - if (!match) { - emit('Invalid syntax in selector "' + selector + '"'); - return ''; - } - - selector = match && match[match.length - 1]; - } - - return source; - }, - - match = - function(element, selector, from, callback) { - - var parts; - - if (!(element && element.nodeType == 1)) { - emit('Invalid element argument'); - return false; - } else if (typeof selector != 'string') { - emit('Invalid selector argument'); - return false; - } else if (lastContext !== from) { - switchContext(from || (from = element.ownerDocument)); - } - - selector = selector.replace(reTrimSpaces, ''); - - Config.SHORTCUTS && (selector = Dom.shortcuts(selector, element, from)); - - if (lastMatcher != selector) { - if ((parts = selector.match(reValidator)) && parts[0] == selector) { - isSingleMatch = (parts = selector.match(reSplitGroup)).length < 2; - lastMatcher = selector; - lastPartsMatch = parts; - } else { - emit('The string "' + selector + '", is not a valid CSS selector'); - return false; - } - } else parts = lastPartsMatch; - - if (!matchResolvers[selector] || matchContexts[selector] !== from) { - matchResolvers[selector] = compile(isSingleMatch ? [selector] : parts, '', false); - matchContexts[selector] = from; - } - - return matchResolvers[selector](element, Snapshot, [ ], doc, root, from, callback, { }); - }, - - first = - function(selector, from) { - return select(selector, from, function() { return false; })[0] || null; - }, - - select = - function(selector, from, callback) { - - var i, changed, element, elements, parts, token, original = selector; - - if (arguments.length === 0) { - emit('Not enough arguments'); - return [ ]; - } else if (typeof selector != 'string') { - return [ ]; - } else if (from && !(/1|9|11/).test(from.nodeType)) { - emit('Invalid or illegal context element'); - return [ ]; - } else if (lastContext !== from) { - switchContext(from || (from = doc)); - } - - if (Config.CACHING && (elements = Dom.loadResults(original, from, doc, root))) { - return callback ? concatCall([ ], elements, callback) : elements; - } - - selector = selector.replace(reTrimSpaces, ''); - - Config.SHORTCUTS && (selector = Dom.shortcuts(selector, from)); - - if ((changed = lastSelector != selector)) { - if ((parts = selector.match(reValidator)) && parts[0] == selector) { - isSingleSelect = (parts = selector.match(reSplitGroup)).length < 2; - lastSelector = selector; - lastPartsSelect = parts; - } else { - emit('The string "' + selector + '", is not a valid CSS selector'); - return [ ]; - } - } else parts = lastPartsSelect; - - if (from.nodeType == 11) { - - elements = byTagRaw('*', from); - - } else if (isSingleSelect) { - - if (changed) { - parts = selector.match(reSplitToken); - token = parts[parts.length - 1]; - lastSlice = token.split(':not'); - lastSlice = lastSlice[lastSlice.length - 1]; - lastPosition = selector.length - token.length; - } - - if (Config.UNIQUE_ID && (parts = lastSlice.match(Optimize.ID)) && (token = parts[1])) { - if ((element = _byId(token, from))) { - if (match(element, selector)) { - callback && callback(element); - elements = global.Array(element); - } else elements = global.Array(); - } - } - - else if (Config.UNIQUE_ID && (parts = selector.match(Optimize.ID)) && (token = parts[1])) { - if ((element = _byId(token, doc))) { - if ('#' + token == selector) { - callback && callback(element); - elements = global.Array(element); - } else if (/[>+~]/.test(selector)) { - from = element.parentNode; - } else { - from = element; - } - } else elements = global.Array(); - } - - if (elements) { - Config.CACHING && Dom.saveResults(original, from, doc, elements); - return elements; - } - - if (!XML_DOCUMENT && GEBTN && (parts = lastSlice.match(Optimize.TAG)) && (token = parts[1])) { - if ((elements = from.getElementsByTagName(token)).length === 0) return [ ]; - selector = selector.slice(0, lastPosition) + selector.slice(lastPosition).replace(token, '*'); - } - - else if (!XML_DOCUMENT && GEBCN && (parts = lastSlice.match(Optimize.CLASS)) && (token = parts[1])) { - if ((elements = from.getElementsByClassName(token.replace(/\\([^\\]{1})/g, '$1'))).length === 0) return [ ]; - selector = selector.slice(0, lastPosition) + selector.slice(lastPosition).replace('.' + token, - reOptimizeSelector.test(selector.charAt(selector.indexOf(token) - 1)) ? '' : '*'); - } - - } - - if (!elements) { - if (IE_LT_9) { - elements = /^(?:applet|object)$/i.test(from.nodeName) ? - from.childNodes : from.all; - } else { - elements = from.getElementsByTagName('*'); - } - } - - if (!selectResolvers[selector] || selectContexts[selector] !== from) { - selectResolvers[selector] = compile(isSingleSelect ? [selector] : parts, REJECT_NODE, true); - selectContexts[selector] = from; - } - - elements = selectResolvers[selector](elements, Snapshot, [ ], doc, root, from, callback, { }); - - Config.CACHING && Dom.saveResults(original, from, doc, elements); - - return elements; - }, - - FN = function(x) { return x; }, - - matchContexts = global.Object(), - matchResolvers = global.Object(), - - selectContexts = global.Object(), - selectResolvers = global.Object(), - - Snapshot = global.Object({ - byId: _byId, - match: match, - select: select, - getAttribute: getAttribute, - hasAttribute: hasAttribute - }); - - Tokens = global.Object({ - prefixes: prefixes, - encoding: encoding, - operators: operators, - whitespace: whitespace, - identifier: identifier, - attributes: attributes, - combinators: combinators, - pseudoclass: pseudoclass, - pseudoparms: pseudoparms, - quotedvalue: quotedvalue - }); - - Dom.ACCEPT_NODE = ACCEPT_NODE; - - Dom.byId = byId; - Dom.match = match; - Dom.first = first; - Dom.select = select; - Dom.compile = compile; - Dom.configure = configure; - - Dom.setCache = FN; - Dom.shortcuts = FN; - Dom.loadResults = FN; - Dom.saveResults = FN; - - Dom.emit = emit; - Dom.Config = Config; - Dom.Snapshot = Snapshot; - - Dom.Operators = Operators; - Dom.Selectors = Selectors; - - Dom.Tokens = Tokens; - Dom.Version = version; - - Dom.registerOperator = - function(symbol, resolver) { - Operators[symbol] || (Operators[symbol] = resolver); - }; - - Dom.registerSelector = - function(name, rexp, func) { - Selectors[name] || (Selectors[name] = global.Object({ - Expression: rexp, - Callback: func - })); - }; - - switchContext(doc, true); - -}); diff --git a/node_modules/jsdom/node_modules/nwmatcher/src/nwmatcher-noqsa.js b/node_modules/jsdom/node_modules/nwmatcher/src/nwmatcher-noqsa.js deleted file mode 100644 index 0fdddb6..0000000 --- a/node_modules/jsdom/node_modules/nwmatcher/src/nwmatcher-noqsa.js +++ /dev/null @@ -1,906 +0,0 @@ -/* - * Copyright (C) 2007-2016 Diego Perini - * All rights reserved. - * - * nwmatcher-noqsa.js - A fast CSS selector engine and matcher - * - * Author: Diego Perini - * Version: 1.3.8 - * Created: 20070722 - * Release: 20160613 - * - * License: - * http://javascript.nwbox.com/NWMatcher/MIT-LICENSE - * Download: - * http://javascript.nwbox.com/NWMatcher/nwmatcher.js - */ - -(function(global, factory) { - - if (typeof module == 'object' && typeof exports == 'object') { - module.exports = function (browserGlobal) { - // passed global does not contain - // references to native objects - browserGlobal.console = console; - browserGlobal.parseInt = parseInt; - browserGlobal.Function = Function; - browserGlobal.Boolean = Boolean; - browserGlobal.Number = Number; - browserGlobal.RegExp = RegExp; - browserGlobal.String = String; - browserGlobal.Object = Object; - browserGlobal.Array = Array; - browserGlobal.Error = Error; - browserGlobal.Date = Date; - browserGlobal.Math = Math; - var exports = browserGlobal.Object(); - factory(browserGlobal, exports); - return exports; - }; - module.factory = factory; - } else { - factory(global, - (global.NW || (global.NW = global.Object())) && - (global.NW.Dom || (global.NW.Dom = global.Object()))); - global.NW.Dom.factory = factory; - } - -})(this, function(global, exports) { - - var version = 'nwmatcher-1.3.8', - - Dom = exports, - - doc = global.document, - root = doc.documentElement, - - isSingleMatch, - isSingleSelect, - - lastSlice, - lastContext, - lastPosition, - - lastMatcher, - lastSelector, - - lastPartsMatch, - lastPartsSelect, - - operators = '([~*^$|!]?={1})', - combinators = '[\\s]|[>+~](?=[^>+~])', - pseudoparms = '(?:[-+]?\\d*n)?[-+]?\\d*', - - quotedvalue = '"[^"\\\\]*(?:\\\\.[^"\\\\]*)*"' + "|'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'", - skipgroup = '\\[.*\\]|\\(.*\\)|\\{.*\\}', - - encoding = '(?:[-\\w]|[^\\x00-\\xa0]|\\\\.)', - identifier = '(?:-?[_a-zA-Z]{1}[-\\w]*|[^\\x00-\\xa0]+|\\\\.+)+', - - attrcheck = '(' + quotedvalue + '|' + identifier + ')', - attributes = '\\s*(' + encoding + '*:?' + encoding + '+)\\s*(?:' + operators + '\\s*' + attrcheck + ')?\\s*', - - attrmatcher = attributes.replace(attrcheck, '([\\x22\\x27]*)((?:\\\\?.)*?)\\3'), - - pseudoclass = '((?:' + - pseudoparms + '|' + quotedvalue + '|' + - '[#.:]?|' + encoding + '+|' + - '\\[' + attributes + '\\]|' + - '\\(.+\\)|\\s*|' + - ',)+)', - - extensions = '.+', - - standardValidator = - '(?=\\s*[^>+~(){}<>])' + - '(' + - '\\*' + - '|(?:[#.:]?' + identifier + ')' + - '|' + combinators + - '|\\[' + attributes + '\\]' + - '|\\(' + pseudoclass + '\\)' + - '|\\{' + extensions + '\\}' + - '|(?:,|\\s*)' + - ')+', - - extendedValidator = standardValidator.replace(pseudoclass, '.*'), - - reValidator = global.RegExp(standardValidator), - - reTrimSpaces = /^\s*|\s*$/g, - - reSimpleNot = global.RegExp('^(' + - '(?!:not)' + - '([#.:]?' + - '|' + identifier + - '|\\([^()]*\\))+' + - '|\\[' + attributes + '\\]' + - ')$'), - - reSplitGroup = /([^,\\()[\]]+|\[[^[\]]*\]|\[.*\]|\([^()]+\)|\(.*\)|\{[^{}]+\}|\{.*\}|\\.)+/g, - - reSplitToken = global.RegExp('(' + - '\\[' + attributes + '\\]|' + - '\\(' + pseudoclass + '\\)|' + - '\\\\.|[^\\s>+~])+', 'g'), - - reOptimizeSelector = global.RegExp(identifier + '|^$'), - - QUIRKS_MODE, - XML_DOCUMENT, - - GEBTN = 'getElementsByTagName' in doc, - GEBCN = 'getElementsByClassName' in doc, - - LINK_NODES = global.Object({ a: 1, A: 1, area: 1, AREA: 1, link: 1, LINK: 1 }), - - ATTR_BOOLEAN = global.Object({ - checked: 1, disabled: 1, ismap: 1, - multiple: 1, readonly: 1, selected: 1 - }), - - ATTR_DEFAULT = global.Object({ - value: 'defaultValue', - checked: 'defaultChecked', - selected: 'defaultSelected' - }), - - ATTR_URIDATA = global.Object({ - action: 2, cite: 2, codebase: 2, data: 2, href: 2, - longdesc: 2, lowsrc: 2, src: 2, usemap: 2 - }), - - Selectors = global.Object({ - }), - - Operators = global.Object({ - '=': "n=='%m'", - '^=': "n.indexOf('%m')==0", - '*=': "n.indexOf('%m')>-1", - '|=': "(n+'-').indexOf('%m-')==0", - '~=': "(' '+n+' ').indexOf(' %m ')>-1", - '$=': "n.substr(n.length-'%m'.length)=='%m'" - }), - - Optimize = global.Object({ - ID: global.RegExp('^\\*?#(' + encoding + '+)|' + skipgroup), - TAG: global.RegExp('^(' + encoding + '+)|' + skipgroup), - CLASS: global.RegExp('^\\*?\\.(' + encoding + '+$)|' + skipgroup) - }), - - Patterns = global.Object({ - spseudos: /^\:(root|empty|(?:first|last|only)(?:-child|-of-type)|nth(?:-last)?(?:-child|-of-type)\(\s*(even|odd|(?:[-+]{0,1}\d*n\s*)?[-+]{0,1}\s*\d*)\s*\))?(.*)/i, - dpseudos: /^\:(link|visited|target|active|focus|hover|checked|disabled|enabled|selected|lang\(([-\w]{2,})\)|not\(\s*(:nth(?:-last)?(?:-child|-of-type)\(\s*(?:even|odd|(?:[-+]{0,1}\d*n\s*)?[-+]{0,1}\s*\d*)\s*\)|[^()]*)\s*\))?(.*)/i, - attribute: global.RegExp('^\\[' + attrmatcher + '\\](.*)'), - children: /^\s*\>\s*(.*)/, - adjacent: /^\s*\+\s*(.*)/, - relative: /^\s*\~\s*(.*)/, - ancestor: /^\s+(.*)/, - universal: /^\*(.*)/, - id: global.RegExp('^#(' + encoding + '+)(.*)'), - tagName: global.RegExp('^(' + encoding + '+)(.*)'), - className: global.RegExp('^\\.(' + encoding + '+)(.*)') - }), - - concatCall = - function(data, elements, callback) { - var i = -1, element; - while ((element = elements[++i])) { - if (false === callback(data[data.length] = element)) { break; } - } - return data; - }, - - switchContext = - function(from, force) { - var oldDoc = doc; - lastContext = from; - doc = from.ownerDocument || from; - if (force || oldDoc !== doc) { - root = doc.documentElement; - XML_DOCUMENT = doc.createElement('DiV').nodeName == 'DiV'; - QUIRKS_MODE = !XML_DOCUMENT && - typeof doc.compatMode == 'string' ? - doc.compatMode.indexOf('CSS') < 0 : - (function() { - var style = doc.createElement('div').style; - return style && (style.width = 1) && style.width == '1px'; - })(); - - Config.CACHING && Dom.setCache(true, doc); - } - }, - - convertEscapes = - function(str) { - return str.replace(/\\([0-9a-fA-F]{1,6}\x20?|.)|([\x22\x27])/g, function(substring, p1, p2) { - var codePoint, highHex, highSurrogate, lowHex, lowSurrogate; - - if (p2) { - return '\\' + p2; - } - - if (/^[0-9a-fA-F]/.test(p1)) { - codePoint = parseInt(p1, 16); - - if (codePoint < 0 || codePoint > 0x10ffff) { - return '\\ufffd'; - } - - if (codePoint <= 0xffff) { - lowHex = '000' + codePoint.toString(16); - return '\\u' + lowHex.substr(lowHex.length - 4); - } - - codePoint -= 0x10000; - highSurrogate = (codePoint >> 10) + 0xd800; - lowSurrogate = (codePoint % 0x400) + 0xdc00; - highHex = '000' + highSurrogate.toString(16); - lowHex = '000' + lowSurrogate.toString(16); - - return '\\u' + highHex.substr(highHex.length - 4) + - '\\u' + lowHex.substr(lowHex.length - 4); - } - - if (/^[\\\x22\x27]/.test(p1)) { - return substring; - } - - return p1; - }); - }, - - byIdRaw = - function(id, elements) { - var i = -1, element = null; - while ((element = elements[++i])) { - if (element.getAttribute('id') == id) { - break; - } - } - return element; - }, - - _byId = !('fileSize' in doc) ? - function(id, from) { - id = id.replace(/\\([^\\]{1})/g, '$1'); - return from.getElementById && from.getElementById(id) || - byIdRaw(id, from.getElementsByTagName('*')); - } : - function(id, from) { - var element = null; - id = id.replace(/\\([^\\]{1})/g, '$1'); - if (XML_DOCUMENT || from.nodeType != 9) { - return byIdRaw(id, from.getElementsByTagName('*')); - } - if ((element = from.getElementById(id)) && - element.name == id && from.getElementsByName) { - return byIdRaw(id, from.getElementsByName(id)); - } - return element; - }, - - byId = - function(id, from) { - from || (from = doc); - if (lastContext !== from) { switchContext(from); } - return _byId(id, from); - }, - - byTagRaw = - function(tag, from) { - var any = tag == '*', element = from, elements = global.Array(), next = element.firstChild; - any || (tag = tag.toUpperCase()); - while ((element = next)) { - if (element.tagName > '@' && (any || element.tagName.toUpperCase() == tag)) { - elements[elements.length] = element; - } - if ((next = element.firstChild || element.nextSibling)) continue; - while (!next && (element = element.parentNode) && element !== from) { - next = element.nextSibling; - } - } - return elements; - }, - - contains = 'compareDocumentPosition' in root ? - function(container, element) { - return (container.compareDocumentPosition(element) & 16) == 16; - } : 'contains' in root ? - function(container, element) { - return element.nodeType == 1 && container.contains(element); - } : - function(container, element) { - while ((element = element.parentNode) && element.nodeType == 1) { - if (element === container) return true; - } - return false; - }, - - getAttribute = - function(node, attribute) { - attribute = attribute.toLowerCase(); - if (typeof node[attribute] == 'object') { - return node.attributes[attribute] && - node.attributes[attribute].value; - } - return ( - attribute == 'type' ? node.getAttribute(attribute) : - ATTR_URIDATA[attribute] ? node.getAttribute(attribute, 2) : - ATTR_BOOLEAN[attribute] ? node.getAttribute(attribute) ? attribute : 'false' : - (node = node.getAttributeNode(attribute)) && node.value); - }, - - hasAttribute = root.hasAttribute ? - function(node, attribute) { - return node.hasAttribute(attribute); - } : - function(node, attribute) { - var obj = node.getAttributeNode(attribute = attribute.toLowerCase()); - return ATTR_DEFAULT[attribute] && attribute != 'value' ? - node[ATTR_DEFAULT[attribute]] : obj && obj.specified; - }, - - isLink = - function(element) { - return element.getAttribute('href') && LINK_NODES[element.nodeName]; - }, - - isEmpty = - function(node) { - node = node.firstChild; - while (node) { - if (node.nodeType == 3 || node.nodeName > '@') return false; - node = node.nextSibling; - } - return true; - }, - - nthElement = - function(element, last) { - var count = 1, succ = last ? 'nextSibling' : 'previousSibling'; - while ((element = element[succ])) { - if (element.nodeName > '@') ++count; - } - return count; - }, - - nthOfType = - function(element, last) { - var count = 1, succ = last ? 'nextSibling' : 'previousSibling', type = element.nodeName; - while ((element = element[succ])) { - if (element.nodeName == type) ++count; - } - return count; - }, - - configure = - function(option) { - if (typeof option == 'string') { return Config[option] || Config; } - if (typeof option != 'object') { return false; } - for (var i in option) { - Config[i] = !!option[i]; - if (i == 'SIMPLENOT') { - matchContexts = global.Object(); - matchResolvers = global.Object(); - selectContexts = global.Object(); - selectResolvers = global.Object(); - } - } - reValidator = global.RegExp(Config.SIMPLENOT ? - standardValidator : extendedValidator); - return true; - }, - - emit = - function(message) { - if (Config.VERBOSITY) { throw global.Error(message); } - if (global.console && global.console.log) { - global.console.log(message); - } - }, - - Config = global.Object({ - CACHING: false, - SIMPLENOT: true, - UNIQUE_ID: true, - USE_HTML5: true, - VERBOSITY: true - }), - - IE_LT_9 = typeof doc.addEventListener != 'function', - - INSENSITIVE_MAP = global.Object({ - 'class': 0, - 'href': 1, 'lang': 1, 'src': 1, 'style': 1, 'title': 1, - 'type': 1, 'xmlns': 1, 'xml:lang': 1, 'xml:space': 1 - }), - - TO_UPPER_CASE = IE_LT_9 ? '.toUpperCase()' : '', - - ACCEPT_NODE = 'r[r.length]=c[k];if(f&&false===f(c[k]))break main;else continue main;', - REJECT_NODE = IE_LT_9 ? 'if(e.nodeName<"A")continue;' : '', - - compile = - function(selector, source, mode) { - - var parts = typeof selector == 'string' ? selector.match(reSplitGroup) : selector; - - typeof source == 'string' || (source = ''); - - if (parts.length == 1) { - source += compileSelector(parts[0], mode ? ACCEPT_NODE : 'f&&f(k);return true;', mode); - } else { - var i = -1, seen = global.Object(), token; - while ((token = parts[++i])) { - token = token.replace(reTrimSpaces, ''); - if (!seen[token] && (seen[token] = true)) { - source += compileSelector(token, mode ? ACCEPT_NODE : 'f&&f(k);return true;', mode); - } - } - } - - if (mode) { - return global.Function('c,s,r,d,h,g,f,v', - 'var N,n,x=0,k=-1,e;main:while((e=c[++k])){' + source + '}return r;'); - } else { - return global.Function('e,s,r,d,h,g,f,v', - 'var N,n,x=0,k=e;' + source + 'return false;'); - } - }, - - FILTER = - 'var z=v[@]||(v[@]=[]),l=z.length-1;' + - 'while(l>=0&&z[l]!==e)--l;' + - 'if(l!==-1){break;}' + - 'z[z.length]=e;', - - compileSelector = - function(selector, source, mode) { - - var a, b, n, k = 0, expr, match, name, result, status, test, type; - - while (selector) { - - k++; - - if ((match = selector.match(Patterns.universal))) { - expr = ''; - } - - else if ((match = selector.match(Patterns.id))) { - source = 'if(' + (XML_DOCUMENT ? - 's.getAttribute(e,"id")' : - '(e.submit?s.getAttribute(e,"id"):e.id)') + - '=="' + match[1] + '"' + - '){' + source + '}'; - } - - else if ((match = selector.match(Patterns.tagName))) { - source = 'if(e.nodeName' + (XML_DOCUMENT ? - '=="' + match[1] + '"' : TO_UPPER_CASE + - '=="' + match[1].toUpperCase() + '"') + - '){' + source + '}'; - } - - else if ((match = selector.match(Patterns.className))) { - source = 'if((n=' + (XML_DOCUMENT ? - 'e.getAttribute("class")' : 'e.className') + - ')&&n.length&&(" "+' + (QUIRKS_MODE ? 'n.toLowerCase()' : 'n') + - '.replace(/\\s+/g," ")+" ").indexOf(" ' + - (QUIRKS_MODE ? match[1].toLowerCase() : match[1]) + ' ")>-1' + - '){' + source + '}'; - } - - else if ((match = selector.match(Patterns.attribute))) { - if (match[2] && !Operators[match[2]]) { - emit('Unsupported operator in attribute selectors "' + selector + '"'); - return ''; - } - test = 'false'; - if (match[2] && match[4] && (test = Operators[match[2]])) { - match[4] = convertEscapes(match[4]); - INSENSITIVE_MAP['class'] = QUIRKS_MODE ? 1 : 0; - type = INSENSITIVE_MAP[match[1].toLowerCase()]; - test = test.replace(/\%m/g, type ? match[4].toLowerCase() : match[4]); - } else if (match[2] == '!=' || match[2] == '=') { - test = 'n' + match[2] + '=""'; - } - source = 'if(n=s.hasAttribute(e,"' + match[1] + '")){' + - (match[2] ? 'n=s.getAttribute(e,"' + match[1] + '")' : '') + - (type && match[2] ? '.toLowerCase();' : ';') + - 'if(' + (match[2] ? test : 'n') + '){' + source + '}}'; - } - - else if ((match = selector.match(Patterns.adjacent))) { - source = (mode ? '' : FILTER.replace(/@/g, k)) + source; - source = 'var N' + k + '=e;while(e&&(e=e.previousSibling)){if(e.nodeName>"@"){' + source + 'break;}}e=N' + k + ';'; - } - - else if ((match = selector.match(Patterns.relative))) { - source = (mode ? '' : FILTER.replace(/@/g, k)) + source; - source = 'var N' + k + '=e;e=e.parentNode.firstChild;while(e&&e!==N' + k + '){if(e.nodeName>"@"){' + source + '}e=e.nextSibling;}e=N' + k + ';'; - } - - else if ((match = selector.match(Patterns.children))) { - source = (mode ? '' : FILTER.replace(/@/g, k)) + source; - source = 'var N' + k + '=e;while(e&&e!==h&&e!==g&&(e=e.parentNode)){' + source + 'break;}e=N' + k + ';'; - } - - else if ((match = selector.match(Patterns.ancestor))) { - source = (mode ? '' : FILTER.replace(/@/g, k)) + source; - source = 'var N' + k + '=e;while(e&&e!==h&&e!==g&&(e=e.parentNode)){' + source + '}e=N' + k + ';'; - } - - else if ((match = selector.match(Patterns.spseudos)) && match[1]) { - switch (match[1]) { - case 'root': - if (match[3]) { - source = 'if(e===h||s.contains(h,e)){' + source + '}'; - } else { - source = 'if(e===h){' + source + '}'; - } - break; - case 'empty': - source = 'if(s.isEmpty(e)){' + source + '}'; - break; - default: - if (match[1] && match[2]) { - if (match[2] == 'n') { - source = 'if(e!==h){' + source + '}'; - break; - } else if (match[2] == 'even') { - a = 2; - b = 0; - } else if (match[2] == 'odd') { - a = 2; - b = 1; - } else { - b = ((n = match[2].match(/(-?\d+)$/)) ? global.parseInt(n[1], 10) : 0); - a = ((n = match[2].match(/(-?\d*)n/i)) ? global.parseInt(n[1], 10) : 0); - if (n && n[1] == '-') a = -1; - } - test = a > 1 ? - (/last/i.test(match[1])) ? '(n-(' + b + '))%' + a + '==0' : - 'n>=' + b + '&&(n-(' + b + '))%' + a + '==0' : a < -1 ? - (/last/i.test(match[1])) ? '(n-(' + b + '))%' + a + '==0' : - 'n<=' + b + '&&(n-(' + b + '))%' + a + '==0' : a === 0 ? - 'n==' + b : a == -1 ? 'n<=' + b : 'n>=' + b; - source = - 'if(e!==h){' + - 'n=s[' + (/-of-type/i.test(match[1]) ? '"nthOfType"' : '"nthElement"') + ']' + - '(e,' + (/last/i.test(match[1]) ? 'true' : 'false') + ');' + - 'if(' + test + '){' + source + '}' + - '}'; - } else { - a = /first/i.test(match[1]) ? 'previous' : 'next'; - n = /only/i.test(match[1]) ? 'previous' : 'next'; - b = /first|last/i.test(match[1]); - type = /-of-type/i.test(match[1]) ? '&&n.nodeName!=e.nodeName' : '&&n.nodeName<"@"'; - source = 'if(e!==h){' + - ( 'n=e;while((n=n.' + a + 'Sibling)' + type + ');if(!n){' + (b ? source : - 'n=e;while((n=n.' + n + 'Sibling)' + type + ');if(!n){' + source + '}') + '}' ) + '}'; - } - break; - } - } - - else if ((match = selector.match(Patterns.dpseudos)) && match[1]) { - switch (match[1].match(/^\w+/)[0]) { - case 'not': - expr = match[3].replace(reTrimSpaces, ''); - if (Config.SIMPLENOT && !reSimpleNot.test(expr)) { - emit('Negation pseudo-class only accepts simple selectors "' + selector + '"'); - return ''; - } else { - if ('compatMode' in doc) { - source = 'if(!' + compile(expr, '', false) + '(e,s,r,d,h,g)){' + source + '}'; - } else { - source = 'if(!s.match(e, "' + expr.replace(/\x22/g, '\\"') + '",g)){' + source +'}'; - } - } - break; - case 'checked': - source = 'if((typeof e.form!=="undefined"&&(/^(?:radio|checkbox)$/i).test(e.type)&&e.checked)' + - (Config.USE_HTML5 ? '||(/^option$/i.test(e.nodeName)&&(e.selected||e.checked))' : '') + - '){' + source + '}'; - break; - case 'disabled': - source = 'if(((typeof e.form!=="undefined"' + - (Config.USE_HTML5 ? '' : '&&!(/^hidden$/i).test(e.type)') + - ')||s.isLink(e))&&e.disabled===true){' + source + '}'; - break; - case 'enabled': - source = 'if(((typeof e.form!=="undefined"' + - (Config.USE_HTML5 ? '' : '&&!(/^hidden$/i).test(e.type)') + - ')||s.isLink(e))&&e.disabled===false){' + source + '}'; - break; - case 'lang': - test = ''; - if (match[2]) test = match[2].substr(0, 2) + '-'; - source = 'do{(n=e.lang||"").toLowerCase();' + - 'if((n==""&&h.lang=="' + match[2].toLowerCase() + '")||' + - '(n&&(n=="' + match[2].toLowerCase() + - '"||n.substr(0,3)=="' + test.toLowerCase() + '")))' + - '{' + source + 'break;}}while((e=e.parentNode)&&e!==g);'; - break; - case 'target': - source = 'if(e.id==d.location.hash.slice(1)){' + source + '}'; - break; - case 'link': - source = 'if(s.isLink(e)&&!e.visited){' + source + '}'; - break; - case 'visited': - source = 'if(s.isLink(e)&&e.visited){' + source + '}'; - break; - case 'active': - source = 'if(e===d.activeElement){' + source + '}'; - break; - case 'hover': - source = 'if(e===d.hoverElement){' + source + '}'; - break; - case 'focus': - source = 'hasFocus' in doc ? - 'if(e===d.activeElement&&d.hasFocus()&&(e.type||e.href||typeof e.tabIndex=="number")){' + source + '}' : - 'if(e===d.activeElement&&(e.type||e.href)){' + source + '}'; - break; - case 'selected': - source = 'if(/^option$/i.test(e.nodeName)&&(e.selected||e.checked)){' + source + '}'; - break; - default: - break; - } - } - - else { - - expr = false; - status = false; - for (expr in Selectors) { - if ((match = selector.match(Selectors[expr].Expression)) && match[1]) { - result = Selectors[expr].Callback(match, source); - source = result.source; - status = result.status; - if (status) { break; } - } - } - - if (!status) { - emit('Unknown pseudo-class selector "' + selector + '"'); - return ''; - } - - if (!expr) { - emit('Unknown token in selector "' + selector + '"'); - return ''; - } - - } - - if (!match) { - emit('Invalid syntax in selector "' + selector + '"'); - return ''; - } - - selector = match && match[match.length - 1]; - } - - return source; - }, - - match = - function(element, selector, from, callback) { - - var parts; - - if (!(element && element.nodeType == 1)) { - emit('Invalid element argument'); - return false; - } else if (typeof selector != 'string') { - emit('Invalid selector argument'); - return false; - } else if (lastContext !== from) { - switchContext(from || (from = element.ownerDocument)); - } - - selector = selector.replace(reTrimSpaces, ''); - - Config.SHORTCUTS && (selector = Dom.shortcuts(selector, element, from)); - - if (lastMatcher != selector) { - if ((parts = selector.match(reValidator)) && parts[0] == selector) { - isSingleMatch = (parts = selector.match(reSplitGroup)).length < 2; - lastMatcher = selector; - lastPartsMatch = parts; - } else { - emit('The string "' + selector + '", is not a valid CSS selector'); - return false; - } - } else parts = lastPartsMatch; - - if (!matchResolvers[selector] || matchContexts[selector] !== from) { - matchResolvers[selector] = compile(isSingleMatch ? [selector] : parts, '', false); - matchContexts[selector] = from; - } - - return matchResolvers[selector](element, Snapshot, [ ], doc, root, from, callback, { }); - }, - - first = - function(selector, from) { - return select(selector, from, function() { return false; })[0] || null; - }, - - select = - function(selector, from, callback) { - - var i, changed, element, elements, parts, token, original = selector; - - if (arguments.length === 0) { - emit('Not enough arguments'); - return [ ]; - } else if (typeof selector != 'string') { - return [ ]; - } else if (from && !(/1|9|11/).test(from.nodeType)) { - emit('Invalid or illegal context element'); - return [ ]; - } else if (lastContext !== from) { - switchContext(from || (from = doc)); - } - - if (Config.CACHING && (elements = Dom.loadResults(original, from, doc, root))) { - return callback ? concatCall([ ], elements, callback) : elements; - } - - selector = selector.replace(reTrimSpaces, ''); - - Config.SHORTCUTS && (selector = Dom.shortcuts(selector, from)); - - if ((changed = lastSelector != selector)) { - if ((parts = selector.match(reValidator)) && parts[0] == selector) { - isSingleSelect = (parts = selector.match(reSplitGroup)).length < 2; - lastSelector = selector; - lastPartsSelect = parts; - } else { - emit('The string "' + selector + '", is not a valid CSS selector'); - return [ ]; - } - } else parts = lastPartsSelect; - - if (from.nodeType == 11) { - - elements = byTagRaw('*', from); - - } else if (isSingleSelect) { - - if (changed) { - parts = selector.match(reSplitToken); - token = parts[parts.length - 1]; - lastSlice = token.split(':not'); - lastSlice = lastSlice[lastSlice.length - 1]; - lastPosition = selector.length - token.length; - } - - if (Config.UNIQUE_ID && (parts = lastSlice.match(Optimize.ID)) && (token = parts[1])) { - if ((element = _byId(token, from))) { - if (match(element, selector)) { - callback && callback(element); - elements = global.Array(element); - } else elements = global.Array(); - } - } - - else if (Config.UNIQUE_ID && (parts = selector.match(Optimize.ID)) && (token = parts[1])) { - if ((element = _byId(token, doc))) { - if ('#' + token == selector) { - callback && callback(element); - elements = global.Array(element); - } else if (/[>+~]/.test(selector)) { - from = element.parentNode; - } else { - from = element; - } - } else elements = global.Array(); - } - - if (elements) { - Config.CACHING && Dom.saveResults(original, from, doc, elements); - return elements; - } - - if (!XML_DOCUMENT && GEBTN && (parts = lastSlice.match(Optimize.TAG)) && (token = parts[1])) { - if ((elements = from.getElementsByTagName(token)).length === 0) { return [ ]; } - selector = selector.slice(0, lastPosition) + selector.slice(lastPosition).replace(token, '*'); - } - - else if (!XML_DOCUMENT && GEBCN && (parts = lastSlice.match(Optimize.CLASS)) && (token = parts[1])) { - if ((elements = from.getElementsByClassName(token.replace(/\\([^\\]{1})/g, '$1'))).length === 0) { return [ ]; } - selector = selector.slice(0, lastPosition) + selector.slice(lastPosition).replace('.' + token, - reOptimizeSelector.test(selector.charAt(selector.indexOf(token) - 1)) ? '' : '*'); - } - - } - - if (!elements) { - if (IE_LT_9) { - elements = /^(?:applet|object)$/i.test(from.nodeName) ? from.childNodes : from.all; - } else { - elements = from.getElementsByTagName('*'); - } - } - - if (!selectResolvers[selector] || selectContexts[selector] !== from) { - selectResolvers[selector] = compile(isSingleSelect ? [selector] : parts, REJECT_NODE, true); - selectContexts[selector] = from; - } - - elements = selectResolvers[selector](elements, Snapshot, [ ], doc, root, from, callback, { }); - - Config.CACHING && Dom.saveResults(original, from, doc, elements); - - return elements; - }, - - FN = function(x) { return x; }, - - matchContexts = global.Object(), - matchResolvers = global.Object(), - - selectContexts = global.Object(), - selectResolvers = global.Object(), - - Snapshot = global.Object({ - byId: _byId, - match: match, - select: select, - isLink: isLink, - isEmpty: isEmpty, - contains: contains, - nthOfType: nthOfType, - nthElement: nthElement, - getAttribute: getAttribute, - hasAttribute: hasAttribute - }); - - Dom.ACCEPT_NODE = ACCEPT_NODE; - - Dom.byId = byId; - Dom.match = match; - Dom.first = first; - Dom.select = select; - Dom.compile = compile; - Dom.contains = contains; - Dom.configure = configure; - Dom.getAttribute = getAttribute; - Dom.hasAttribute = hasAttribute; - - Dom.setCache = FN; - Dom.shortcuts = FN; - Dom.loadResults = FN; - Dom.saveResults = FN; - - Dom.emit = emit; - Dom.Config = Config; - Dom.Snapshot = Snapshot; - - Dom.Operators = Operators; - Dom.Selectors = Selectors; - - Dom.Version = version; - - Dom.registerOperator = - function(symbol, resolver) { - Operators[symbol] || (Operators[symbol] = resolver); - }; - - Dom.registerSelector = - function(name, rexp, func) { - Selectors[name] || (Selectors[name] = global.Object({ - Expression: rexp, - Callback: func - })); - }; - - switchContext(doc, true); - -}); diff --git a/node_modules/jsdom/node_modules/nwmatcher/src/nwmatcher.js b/node_modules/jsdom/node_modules/nwmatcher/src/nwmatcher.js deleted file mode 100644 index 61456b9..0000000 --- a/node_modules/jsdom/node_modules/nwmatcher/src/nwmatcher.js +++ /dev/null @@ -1,1726 +0,0 @@ -/* - * Copyright (C) 2007-2016 Diego Perini - * All rights reserved. - * - * nwmatcher.js - A fast CSS selector engine and matcher - * - * Author: Diego Perini - * Version: 1.3.8 - * Created: 20070722 - * Release: 20160613 - * - * License: - * http://javascript.nwbox.com/NWMatcher/MIT-LICENSE - * Download: - * http://javascript.nwbox.com/NWMatcher/nwmatcher.js - */ - -(function(global, factory) { - - if (typeof module == 'object' && typeof exports == 'object') { - // in a Node.js environment, the nwmatcher functions will operate on - // the passed "browserGlobal" and will be returned in an object - module.exports = function (browserGlobal) { - // passed global does not contain - // references to native objects - browserGlobal.console = console; - browserGlobal.parseInt = parseInt; - browserGlobal.Function = Function; - browserGlobal.Boolean = Boolean; - browserGlobal.Number = Number; - browserGlobal.RegExp = RegExp; - browserGlobal.String = String; - browserGlobal.Object = Object; - browserGlobal.Array = Array; - browserGlobal.Error = Error; - browserGlobal.Date = Date; - browserGlobal.Math = Math; - var exports = browserGlobal.Object(); - factory(browserGlobal, exports); - return exports; - }; - module.factory = factory; - } else { - // in a browser environment, the nwmatcher functions will operate on - // the "global" loading them and be attached to "global.NW.Dom" - factory(global, - (global.NW || (global.NW = global.Object())) && - (global.NW.Dom || (global.NW.Dom = global.Object()))); - global.NW.Dom.factory = factory; - } - -})(this, function(global, exports) { - - var version = 'nwmatcher-1.3.8', - - Dom = exports, - - // processing context & root element - doc = global.document, - root = doc.documentElement, - - // save utility methods references - slice = global.Array.prototype.slice, - string = global.Object.prototype.toString, - - // persist previous parsed data - isSingleMatch, - isSingleSelect, - - lastSlice, - lastContext, - lastPosition, - - lastMatcher, - lastSelector, - - lastPartsMatch, - lastPartsSelect, - - // accepted prefix identifiers - // (id, class & pseudo-class) - prefixes = '[#.:]?', - - // accepted attribute operators - operators = '([~*^$|!]?={1})', - - // accepted whitespace characters - whitespace = '[\\x20\\t\\n\\r\\f]*', - - // 4 combinators F E, F>E, F+E, F~E - combinators = '[\\x20]|[>+~](?=[^>+~])', - - // an+b format params for pseudo-classes - pseudoparms = '(?:[-+]?\\d*n)?[-+]?\\d*', - - // CSS quoted string values - quotedvalue = '"[^"\\\\]*(?:\\\\.[^"\\\\]*)*"' + "|'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'", - - // skip round brackets groups - skipround = '\\([^()]+\\)|\\(.*\\)', - // skip curly brackets groups - skipcurly = '\\{[^{}]+\\}|\\{.*\\}', - // skip square brackets groups - skipsquare = '\\[[^[\\]]*\\]|\\[.*\\]', - - // skip [ ], ( ), { } brackets groups - skipgroup = '\\[.*\\]|\\(.*\\)|\\{.*\\}', - - // http://www.w3.org/TR/css3-syntax/#characters - // unicode/ISO 10646 characters 161 and higher - // NOTE: Safari 2.0.x crashes with escaped (\\) - // Unicode ranges in regular expressions so we - // use a negated character range class instead - encoding = '(?:[-\\w]|[^\\x00-\\xa0]|\\\\.)', - - // CSS identifier syntax - identifier = '(?:-?[_a-zA-Z]{1}[-\\w]*|[^\\x00-\\xa0]+|\\\\.+)+', - - // build attribute string - attrcheck = '(' + quotedvalue + '|' + identifier + ')', - attributes = whitespace + '(' + encoding + '*:?' + encoding + '+)' + - whitespace + '(?:' + operators + whitespace + attrcheck + ')?' + whitespace, - attrmatcher = attributes.replace(attrcheck, '([\\x22\\x27]*)((?:\\\\?.)*?)\\3'), - - // build pseudoclass string - pseudoclass = '((?:' + - // an+b parameters or quoted string - pseudoparms + '|' + quotedvalue + '|' + - // id, class, pseudo-class selector - prefixes + '|' + encoding + '+|' + - // nested HTML attribute selector - '\\[' + attributes + '\\]|' + - // nested pseudo-class selector - '\\(.+\\)|' + whitespace + '|' + - // nested pseudos/separators - ',)+)', - - // placeholder for extensions - extensions = '.+', - - // CSS3: syntax scanner and - // one pass validation only - // using regular expression - standardValidator = - // discard start - '(?=[\\x20\\t\\n\\r\\f]*[^>+~(){}<>])' + - // open match group - '(' + - //universal selector - '\\*' + - // id/class/tag/pseudo-class identifier - '|(?:' + prefixes + identifier + ')' + - // combinator selector - '|' + combinators + - // HTML attribute selector - '|\\[' + attributes + '\\]' + - // pseudo-classes parameters - '|\\(' + pseudoclass + '\\)' + - // dom properties selector (extension) - '|\\{' + extensions + '\\}' + - // selector group separator (comma) - '|(?:,|' + whitespace + ')' + - // close match group - ')+', - - // validator for complex selectors in ':not()' pseudo-classes - extendedValidator = standardValidator.replace(pseudoclass, '.*'), - - // validator for standard selectors as default - reValidator = new global.RegExp(standardValidator), - - // whitespace is any combination of these 5 character [\x20\t\n\r\f] - // http://www.w3.org/TR/css3-selectors/#selector-syntax - reTrimSpaces = new global.RegExp('^' + - whitespace + '|' + whitespace + '$', 'g'), - - // only allow simple selectors nested in ':not()' pseudo-classes - reSimpleNot = new global.RegExp('^(' + - '(?!:not)' + - '(' + prefixes + - '|' + identifier + - '|\\([^()]*\\))+' + - '|\\[' + attributes + '\\]' + - ')$'), - - // split comma groups, exclude commas from - // quotes '' "" and from brackets () [] {} - reSplitGroup = new global.RegExp('(' + - '[^,\\\\()[\\]]+' + - '|' + skipsquare + - '|' + skipround + - '|' + skipcurly + - '|\\\\.' + - ')+', 'g'), - - // split last, right most, selector group token - reSplitToken = new global.RegExp('(' + - '\\[' + attributes + '\\]|' + - '\\(' + pseudoclass + '\\)|' + - '\\\\.|[^\\x20\\t\\r\\n\\f>+~])+', 'g'), - - // for in excess whitespace removal - reWhiteSpace = /[\x20\t\n\r\f]+/g, - - reOptimizeSelector = new global.RegExp(identifier + '|^$'), - - /*----------------------------- FEATURE TESTING ----------------------------*/ - - // detect native methods - isNative = (function() { - var re = / \w+\(/, - isnative = String(Object.prototype.toString).replace(re, ' ('); - return function(method) { - return method && typeof method != 'string' && - isnative == String(method).replace(re, ' ('); - }; - })(), - - // NATIVE_XXXXX true if method exist and is callable - // detect if DOM methods are native in browsers - NATIVE_FOCUS = isNative(doc.hasFocus), - NATIVE_QSAPI = isNative(doc.querySelector), - NATIVE_GEBID = isNative(doc.getElementById), - NATIVE_GEBTN = isNative(root.getElementsByTagName), - NATIVE_GEBCN = isNative(root.getElementsByClassName), - - // detect native getAttribute/hasAttribute methods, - // frameworks extend these to elements, but it seems - // this does not work for XML namespaced attributes, - // used to check both getAttribute/hasAttribute in IE - NATIVE_GET_ATTRIBUTE = isNative(root.getAttribute), - NATIVE_HAS_ATTRIBUTE = isNative(root.hasAttribute), - - // check if slice() can convert nodelist to array - // see http://yura.thinkweb2.com/cft/ - NATIVE_SLICE_PROTO = - (function() { - var isBuggy = false; - try { - isBuggy = !!slice.call(doc.childNodes, 0)[0]; - } catch(e) { } - return isBuggy; - })(), - - // supports the new traversal API - NATIVE_TRAVERSAL_API = - 'nextElementSibling' in root && 'previousElementSibling' in root, - - // BUGGY_XXXXX true if method is feature tested and has known bugs - // detect buggy gEBID - BUGGY_GEBID = NATIVE_GEBID ? - (function() { - var isBuggy = true, x = 'x' + global.String(+new global.Date), - a = doc.createElementNS ? 'a' : ''; - (a = doc.createElement(a)).name = x; - root.insertBefore(a, root.firstChild); - isBuggy = !!doc.getElementById(x); - root.removeChild(a); - return isBuggy; - })() : - true, - - // detect IE gEBTN comment nodes bug - BUGGY_GEBTN = NATIVE_GEBTN ? - (function() { - var div = doc.createElement('div'); - div.appendChild(doc.createComment('')); - return !!div.getElementsByTagName('*')[0]; - })() : - true, - - // detect Opera gEBCN second class and/or UTF8 bugs as well as Safari 3.2 - // caching class name results and not detecting when changed, - // tests are based on the jQuery selector test suite - BUGGY_GEBCN = NATIVE_GEBCN ? - (function() { - var isBuggy, div = doc.createElement('div'), test = '\u53f0\u5317'; - - // Opera tests - div.appendChild(doc.createElement('span')). - setAttribute('class', test + 'abc ' + test); - div.appendChild(doc.createElement('span')). - setAttribute('class', 'x'); - - isBuggy = !div.getElementsByClassName(test)[0]; - - // Safari test - div.lastChild.className = test; - return isBuggy || div.getElementsByClassName(test).length != 2; - })() : - true, - - // detect IE bug with dynamic attributes - BUGGY_GET_ATTRIBUTE = NATIVE_GET_ATTRIBUTE ? - (function() { - var input = doc.createElement('input'); - input.setAttribute('value', 5); - return input.defaultValue != 5; - })() : - true, - - // detect IE bug with non-standard boolean attributes - BUGGY_HAS_ATTRIBUTE = NATIVE_HAS_ATTRIBUTE ? - (function() { - var option = doc.createElement('option'); - option.setAttribute('selected', 'selected'); - return !option.hasAttribute('selected'); - })() : - true, - - // detect Safari bug with selected option elements - BUGGY_SELECTED = - (function() { - var select = doc.createElement('select'); - select.appendChild(doc.createElement('option')); - return !select.firstChild.selected; - })(), - - // initialized with the loading context - // and reset for each different context - BUGGY_QUIRKS_GEBCN, - BUGGY_QUIRKS_QSAPI, - - QUIRKS_MODE, - XML_DOCUMENT, - - // detect Opera browser - OPERA = /opera/i.test(string.call(global.opera)), - - // skip simple selector optimizations for Opera >= 11 - OPERA_QSAPI = OPERA && global.parseFloat(global.opera.version()) >= 11, - - // check Selector API implementations - RE_BUGGY_QSAPI = NATIVE_QSAPI ? - (function() { - var pattern = new global.Array(), context, element, - - expect = function(selector, element, n) { - var result = false; - context.appendChild(element); - try { result = context.querySelectorAll(selector).length == n; } catch(e) { } - while (context.firstChild) { context.removeChild(context.firstChild); } - return result; - }; - - // certain bugs can only be detected in standard documents - // to avoid writing a live loading document create a fake one - if (doc.implementation && doc.implementation.createDocument) { - // use a shadow document body as context - context = doc.implementation.createDocument('', '', null). - appendChild(doc.createElement('html')). - appendChild(doc.createElement('head')).parentNode. - appendChild(doc.createElement('body')); - } else { - // use an unattached div node as context - context = doc.createElement('div'); - } - - // fix for Safari 8.x and other engines that - // fail querying filtered sibling combinators - element = doc.createElement('div'); - element.innerHTML = '


'; - expect('p#a+*', element, 0) && - pattern.push('\\w+#\\w+.*[+~]'); - - // ^= $= *= operators bugs with empty values (Opera 10 / IE8) - element = doc.createElement('p'); - element.setAttribute('class', ''); - expect('[class^=""]', element, 1) && - pattern.push('[*^$]=[\\x20\\t\\n\\r\\f]*(?:""|' + "'')"); - - // :checked bug with option elements (Firefox 3.6.x) - // it wrongly includes 'selected' options elements - // HTML5 rules says selected options also match - element = doc.createElement('option'); - element.setAttribute('selected', 'selected'); - expect(':checked', element, 0) && - pattern.push(':checked'); - - // :enabled :disabled bugs with hidden fields (Firefox 3.5) - // http://www.w3.org/TR/html5/links.html#selector-enabled - // http://www.w3.org/TR/css3-selectors/#enableddisabled - // not supported by IE8 Query Selector - element = doc.createElement('input'); - element.setAttribute('type', 'hidden'); - expect(':enabled', element, 0) && - pattern.push(':enabled', ':disabled'); - - // :link bugs with hyperlinks matching (Firefox/Safari) - element = doc.createElement('link'); - element.setAttribute('href', 'x'); - expect(':link', element, 1) || - pattern.push(':link'); - - // avoid attribute selectors for IE QSA - if (BUGGY_HAS_ATTRIBUTE) { - // IE fails in reading: - // - original values for input/textarea - // - original boolean values for controls - pattern.push('\\[[\\x20\\t\\n\\r\\f]*(?:checked|disabled|ismap|multiple|readonly|selected|value)'); - } - - return pattern.length ? - new global.RegExp(pattern.join('|')) : - { 'test': function() { return false; } }; - - })() : - true, - - // matches class selectors - RE_CLASS = new global.RegExp('(?:\\[[\\x20\\t\\n\\r\\f]*class\\b|\\.' + identifier + ')'), - - // matches simple id, tag & class selectors - RE_SIMPLE_SELECTOR = new global.RegExp( - BUGGY_GEBTN && BUGGY_GEBCN || OPERA ? - '^#?-?[_a-zA-Z]{1}' + encoding + '*$' : BUGGY_GEBTN ? - '^[.#]?-?[_a-zA-Z]{1}' + encoding + '*$' : BUGGY_GEBCN ? - '^(?:\\*|#-?[_a-zA-Z]{1}' + encoding + '*)$' : - '^(?:\\*|[.#]?-?[_a-zA-Z]{1}' + encoding + '*)$'), - - /*----------------------------- LOOKUP OBJECTS -----------------------------*/ - - LINK_NODES = new global.Object({ 'a': 1, 'A': 1, 'area': 1, 'AREA': 1, 'link': 1, 'LINK': 1 }), - - // boolean attributes should return attribute name instead of true/false - ATTR_BOOLEAN = new global.Object({ - 'checked': 1, 'disabled': 1, 'ismap': 1, - 'multiple': 1, 'readonly': 1, 'selected': 1 - }), - - // dynamic attributes that needs to be checked against original HTML value - ATTR_DEFAULT = new global.Object({ - 'value': 'defaultValue', - 'checked': 'defaultChecked', - 'selected': 'defaultSelected' - }), - - // attributes referencing URI data values need special treatment in IE - ATTR_URIDATA = new global.Object({ - 'action': 2, 'cite': 2, 'codebase': 2, 'data': 2, 'href': 2, - 'longdesc': 2, 'lowsrc': 2, 'src': 2, 'usemap': 2 - }), - - // HTML 5 draft specifications - // http://www.whatwg.org/specs/web-apps/current-work/#selectors - HTML_TABLE = new global.Object({ - // class attribute must be treated case-insensitive in HTML quirks mode - // initialized by default to Standard Mode (case-sensitive), - // set dynamically by the attribute resolver - 'class': 0, - 'accept': 1, 'accept-charset': 1, 'align': 1, 'alink': 1, 'axis': 1, - 'bgcolor': 1, 'charset': 1, 'checked': 1, 'clear': 1, 'codetype': 1, 'color': 1, - 'compact': 1, 'declare': 1, 'defer': 1, 'dir': 1, 'direction': 1, 'disabled': 1, - 'enctype': 1, 'face': 1, 'frame': 1, 'hreflang': 1, 'http-equiv': 1, 'lang': 1, - 'language': 1, 'link': 1, 'media': 1, 'method': 1, 'multiple': 1, 'nohref': 1, - 'noresize': 1, 'noshade': 1, 'nowrap': 1, 'readonly': 1, 'rel': 1, 'rev': 1, - 'rules': 1, 'scope': 1, 'scrolling': 1, 'selected': 1, 'shape': 1, 'target': 1, - 'text': 1, 'type': 1, 'valign': 1, 'valuetype': 1, 'vlink': 1 - }), - - // the following attributes must be treated case-insensitive in XHTML mode - // Niels Leenheer http://rakaz.nl/item/css_selector_bugs_case_sensitivity - XHTML_TABLE = new global.Object({ - 'accept': 1, 'accept-charset': 1, 'alink': 1, 'axis': 1, - 'bgcolor': 1, 'charset': 1, 'codetype': 1, 'color': 1, - 'enctype': 1, 'face': 1, 'hreflang': 1, 'http-equiv': 1, - 'lang': 1, 'language': 1, 'link': 1, 'media': 1, 'rel': 1, - 'rev': 1, 'target': 1, 'text': 1, 'type': 1, 'vlink': 1 - }), - - /*-------------------------- REGULAR EXPRESSIONS ---------------------------*/ - - // placeholder to add functionalities - Selectors = new global.Object({ - // as a simple example this will check - // for chars not in standard ascii table - // - // 'mySpecialSelector': { - // 'Expression': /\u0080-\uffff/, - // 'Callback': mySelectorCallback - // } - // - // 'mySelectorCallback' will be invoked - // only after passing all other standard - // checks and only if none of them worked - }), - - // attribute operators - Operators = new global.Object({ - '=': "n=='%m'", - '^=': "n.indexOf('%m')==0", - '*=': "n.indexOf('%m')>-1", - '|=': "(n+'-').indexOf('%m-')==0", - '~=': "(' '+n+' ').indexOf(' %m ')>-1", - '$=': "n.substr(n.length-'%m'.length)=='%m'" - }), - - // optimization expressions - Optimize = new global.Object({ - ID: new global.RegExp('^\\*?#(' + encoding + '+)|' + skipgroup), - TAG: new global.RegExp('^(' + encoding + '+)|' + skipgroup), - CLASS: new global.RegExp('^\\*?\\.(' + encoding + '+$)|' + skipgroup) - }), - - // precompiled Regular Expressions - Patterns = new global.Object({ - // structural pseudo-classes and child selectors - spseudos: /^\:(root|empty|(?:first|last|only)(?:-child|-of-type)|nth(?:-last)?(?:-child|-of-type)\(\s*(even|odd|(?:[-+]{0,1}\d*n\s*)?[-+]{0,1}\s*\d*)\s*\))?(.*)/i, - // uistates + dynamic + negation pseudo-classes - dpseudos: /^\:(link|visited|target|active|focus|hover|checked|disabled|enabled|selected|lang\(([-\w]{2,})\)|not\(\s*(:nth(?:-last)?(?:-child|-of-type)\(\s*(?:even|odd|(?:[-+]{0,1}\d*n\s*)?[-+]{0,1}\s*\d*)\s*\)|[^()]*)\s*\))?(.*)/i, - // element attribute matcher - attribute: new global.RegExp('^\\[' + attrmatcher + '\\](.*)'), - // E > F - children: /^[\x20\t\n\r\f]*\>[\x20\t\n\r\f]*(.*)/, - // E + F - adjacent: /^[\x20\t\n\r\f]*\+[\x20\t\n\r\f]*(.*)/, - // E ~ F - relative: /^[\x20\t\n\r\f]*\~[\x20\t\n\r\f]*(.*)/, - // E F - ancestor: /^[\x20\t\n\r\f]+(.*)/, - // all - universal: /^\*(.*)/, - // id - id: new global.RegExp('^#(' + encoding + '+)(.*)'), - // tag - tagName: new global.RegExp('^(' + encoding + '+)(.*)'), - // class - className: new global.RegExp('^\\.(' + encoding + '+)(.*)') - }), - - /*------------------------------ UTIL METHODS ------------------------------*/ - - // concat elements to data - concatList = - function(data, elements) { - var i = -1, element; - if (!data.length && global.Array.slice) - return global.Array.slice(elements); - while ((element = elements[++i])) - data[data.length] = element; - return data; - }, - - // concat elements to data and callback - concatCall = - function(data, elements, callback) { - var i = -1, element; - while ((element = elements[++i])) { - if (false === callback(data[data.length] = element)) { break; } - } - return data; - }, - - // change context specific variables - switchContext = - function(from, force) { - var div, oldDoc = doc; - // save passed context - lastContext = from; - // set new context document - doc = from.ownerDocument || from; - if (force || oldDoc !== doc) { - // set document root - root = doc.documentElement; - // set host environment flags - XML_DOCUMENT = doc.createElement('DiV').nodeName == 'DiV'; - - // In quirks mode css class names are case insensitive. - // In standards mode they are case sensitive. See docs: - // https://developer.mozilla.org/en/Mozilla_Quirks_Mode_Behavior - // http://www.whatwg.org/specs/web-apps/current-work/#selectors - QUIRKS_MODE = !XML_DOCUMENT && - typeof doc.compatMode == 'string' ? - doc.compatMode.indexOf('CSS') < 0 : - (function() { - var style = doc.createElement('div').style; - return style && (style.width = 1) && style.width == '1px'; - })(); - - div = doc.createElement('div'); - div.appendChild(doc.createElement('p')).setAttribute('class', 'xXx'); - div.appendChild(doc.createElement('p')).setAttribute('class', 'xxx'); - - // GEBCN buggy in quirks mode, match count is: - // Firefox 3.0+ [xxx = 1, xXx = 1] - // Opera 10.63+ [xxx = 0, xXx = 2] - BUGGY_QUIRKS_GEBCN = - !XML_DOCUMENT && NATIVE_GEBCN && QUIRKS_MODE && - (div.getElementsByClassName('xxx').length != 2 || - div.getElementsByClassName('xXx').length != 2); - - // QSAPI buggy in quirks mode, match count is: - // At least Chrome 4+, Firefox 3.5+, Opera 10.x+, Safari 4+ [xxx = 1, xXx = 2] - // Safari 3.2 QSA doesn't work with mixedcase in quirksmode [xxx = 1, xXx = 0] - // https://bugs.webkit.org/show_bug.cgi?id=19047 - // must test the attribute selector '[class~=xxx]' - // before '.xXx' or the bug may not present itself - BUGGY_QUIRKS_QSAPI = - !XML_DOCUMENT && NATIVE_QSAPI && QUIRKS_MODE && - (div.querySelectorAll('[class~=xxx]').length != 2 || - div.querySelectorAll('.xXx').length != 2); - - Config.CACHING && Dom.setCache(true, doc); - } - }, - - // convert a CSS string or identifier containing escape sequence to a - // javascript string with javascript escape sequences - convertEscapes = - function(str) { - return str.replace(/\\([0-9a-fA-F]{1,6}\x20?|.)|([\x22\x27])/g, function(substring, p1, p2) { - var codePoint, highHex, highSurrogate, lowHex, lowSurrogate; - - if (p2) { - // unescaped " or ' - return '\\' + p2; - } - - if (/^[0-9a-fA-F]/.test(p1)) { - // \1f23 - codePoint = parseInt(p1, 16); - - if (codePoint < 0 || codePoint > 0x10ffff) { - // the replacement character - return '\\ufffd'; - } - - // javascript strings are in UTF-16 - if (codePoint <= 0xffff) { - // Basic - lowHex = '000' + codePoint.toString(16); - return '\\u' + lowHex.substr(lowHex.length - 4); - } - - // Supplementary - codePoint -= 0x10000; - highSurrogate = (codePoint >> 10) + 0xd800; - lowSurrogate = (codePoint % 0x400) + 0xdc00; - highHex = '000' + highSurrogate.toString(16); - lowHex = '000' + lowSurrogate.toString(16); - - return '\\u' + highHex.substr(highHex.length - 4) + - '\\u' + lowHex.substr(lowHex.length - 4); - } - - if (/^[\\\x22\x27]/.test(p1)) { - // \' \" - return substring; - } - - // \g \h \. \# etc - return p1; - }); - }, - - /*------------------------------ DOM METHODS -------------------------------*/ - - // element by id (raw) - // @return reference or null - byIdRaw = - function(id, elements) { - var i = -1, element = null; - while ((element = elements[++i])) { - if (element.getAttribute('id') == id) { - break; - } - } - return element; - }, - - // element by id - // @return reference or null - _byId = !BUGGY_GEBID ? - function(id, from) { - id = id.replace(/\\([^\\]{1})/g, '$1'); - return from.getElementById && from.getElementById(id) || - byIdRaw(id, from.getElementsByTagName('*')); - } : - function(id, from) { - var element = null; - id = id.replace(/\\([^\\]{1})/g, '$1'); - if (XML_DOCUMENT || from.nodeType != 9) { - return byIdRaw(id, from.getElementsByTagName('*')); - } - if ((element = from.getElementById(id)) && - element.name == id && from.getElementsByName) { - return byIdRaw(id, from.getElementsByName(id)); - } - return element; - }, - - // publicly exposed byId - // @return reference or null - byId = - function(id, from) { - from || (from = doc); - if (lastContext !== from) { switchContext(from); } - return _byId(id, from); - }, - - // elements by tag (raw) - // @return array - byTagRaw = - function(tag, from) { - var any = tag == '*', element = from, elements = new global.Array(), next = element.firstChild; - any || (tag = tag.toUpperCase()); - while ((element = next)) { - if (element.tagName > '@' && (any || element.tagName.toUpperCase() == tag)) { - elements[elements.length] = element; - } - if ((next = element.firstChild || element.nextSibling)) continue; - while (!next && (element = element.parentNode) && element !== from) { - next = element.nextSibling; - } - } - return elements; - }, - - // elements by tag - // @return array - _byTag = !BUGGY_GEBTN && NATIVE_SLICE_PROTO ? - function(tag, from) { - return XML_DOCUMENT || from.nodeType == 11 ? byTagRaw(tag, from) : - slice.call(from.getElementsByTagName(tag), 0); - } : - function(tag, from) { - var i = -1, j = i, data = new global.Array(), - element, elements = from.getElementsByTagName(tag); - if (tag == '*') { - while ((element = elements[++i])) { - if (element.nodeName > '@') - data[++j] = element; - } - } else { - while ((element = elements[++i])) { - data[i] = element; - } - } - return data; - }, - - // publicly exposed byTag - // @return array - byTag = - function(tag, from) { - from || (from = doc); - if (lastContext !== from) { switchContext(from); } - return _byTag(tag, from); - }, - - // publicly exposed byName - // @return array - byName = - function(name, from) { - return select('[name="' + name.replace(/\\([^\\]{1})/g, '$1') + '"]', from); - }, - - // elements by class (raw) - // @return array - byClassRaw = - function(name, from) { - var i = -1, j = i, data = new global.Array(), element, elements = _byTag('*', from), n; - name = ' ' + (QUIRKS_MODE ? name.toLowerCase() : name).replace(/\\([^\\]{1})/g, '$1') + ' '; - while ((element = elements[++i])) { - n = XML_DOCUMENT ? element.getAttribute('class') : element.className; - if (n && n.length && (' ' + (QUIRKS_MODE ? n.toLowerCase() : n). - replace(reWhiteSpace, ' ') + ' ').indexOf(name) > -1) { - data[++j] = element; - } - } - return data; - }, - - // elements by class - // @return array - _byClass = - function(name, from) { - return (BUGGY_GEBCN || BUGGY_QUIRKS_GEBCN || XML_DOCUMENT || !from.getElementsByClassName) ? - byClassRaw(name, from) : slice.call(from.getElementsByClassName(name.replace(/\\([^\\]{1})/g, '$1')), 0); - }, - - // publicly exposed byClass - // @return array - byClass = - function(name, from) { - from || (from = doc); - if (lastContext !== from) { switchContext(from); } - return _byClass(name, from); - }, - - // check element is descendant of container - // @return boolean - contains = 'compareDocumentPosition' in root ? - function(container, element) { - return (container.compareDocumentPosition(element) & 16) == 16; - } : 'contains' in root ? - function(container, element) { - return container !== element && container.contains(element); - } : - function(container, element) { - while ((element = element.parentNode)) { - if (element === container) return true; - } - return false; - }, - - // attribute value - // @return string - getAttribute = !BUGGY_GET_ATTRIBUTE ? - function(node, attribute) { - return node.getAttribute(attribute); - } : - function(node, attribute) { - attribute = attribute.toLowerCase(); - if (typeof node[attribute] == 'object') { - return node.attributes[attribute] && - node.attributes[attribute].value; - } - return ( - // 'type' can only be read by using native getAttribute - attribute == 'type' ? node.getAttribute(attribute) : - // specific URI data attributes (parameter 2 to fix IE bug) - ATTR_URIDATA[attribute] ? node.getAttribute(attribute, 2) : - // boolean attributes should return name instead of true/false - ATTR_BOOLEAN[attribute] ? node.getAttribute(attribute) ? attribute : 'false' : - (node = node.getAttributeNode(attribute)) && node.value); - }, - - // attribute presence - // @return boolean - hasAttribute = !BUGGY_HAS_ATTRIBUTE ? - function(node, attribute) { - return XML_DOCUMENT ? - !!node.getAttribute(attribute) : - node.hasAttribute(attribute); - } : - function(node, attribute) { - // read the node attribute object - var obj = node.getAttributeNode(attribute = attribute.toLowerCase()); - return ATTR_DEFAULT[attribute] && attribute != 'value' ? - node[ATTR_DEFAULT[attribute]] : obj && obj.specified; - }, - - // check node emptyness - // @return boolean - isEmpty = - function(node) { - node = node.firstChild; - while (node) { - if (node.nodeType == 3 || node.nodeName > '@') return false; - node = node.nextSibling; - } - return true; - }, - - // check if element matches the :link pseudo - // @return boolean - isLink = - function(element) { - return hasAttribute(element,'href') && LINK_NODES[element.nodeName]; - }, - - // child position by nodeType - // @return number - nthElement = - function(element, last) { - var count = 1, succ = last ? 'nextSibling' : 'previousSibling'; - while ((element = element[succ])) { - if (element.nodeName > '@') ++count; - } - return count; - }, - - // child position by nodeName - // @return number - nthOfType = - function(element, last) { - var count = 1, succ = last ? 'nextSibling' : 'previousSibling', type = element.nodeName; - while ((element = element[succ])) { - if (element.nodeName == type) ++count; - } - return count; - }, - - /*------------------------------- DEBUGGING --------------------------------*/ - - // get/set (string/object) working modes - configure = - function(option) { - if (typeof option == 'string') { return Config[option] || Config; } - if (typeof option != 'object') { return false; } - for (var i in option) { - Config[i] = !!option[i]; - if (i == 'SIMPLENOT') { - matchContexts = new global.Object(); - matchResolvers = new global.Object(); - selectContexts = new global.Object(); - selectResolvers = new global.Object(); - if (!Config[i]) { Config['USE_QSAPI'] = false; } - } else if (i == 'USE_QSAPI') { - Config[i] = !!option[i] && NATIVE_QSAPI; - } - } - reValidator = new global.RegExp(Config.SIMPLENOT ? - standardValidator : extendedValidator); - return true; - }, - - // control user notifications - emit = - function(message) { - if (Config.VERBOSITY) { throw new global.Error(message); } - if (global.console && global.console.log) { - global.console.log(message); - } - }, - - Config = new global.Object({ - - // used to enable/disable caching of result sets - CACHING: false, - - // by default do not add missing left/right context - // to selector string shortcuts like "+div" or "ul>" - // callable Dom.shortcuts method has to be available - SHORTCUTS: false, - - // by default disable complex selectors nested in - // ':not()' pseudo-classes, as for specifications - SIMPLENOT: true, - - // strict QSA match all non-unique IDs (false) - // speed & libs compat match unique ID (true) - UNIQUE_ID: true, - - // HTML5 handling for the ":checked" pseudo-class - USE_HTML5: true, - - // controls enabling the Query Selector API branch - USE_QSAPI: NATIVE_QSAPI, - - // controls the engine error/warning notifications - VERBOSITY: true - - }), - - /*---------------------------- COMPILER METHODS ----------------------------*/ - - // code string reused to build compiled functions - ACCEPT_NODE = 'r[r.length]=c[k];if(f&&false===f(c[k]))break main;else continue main;', - - // compile a comma separated group of selector - // @mode boolean true for select, false for match - // return a compiled function - compile = - function(selector, source, mode) { - - var parts = typeof selector == 'string' ? selector.match(reSplitGroup) : selector; - - // ensures that source is a string - typeof source == 'string' || (source = ''); - - if (parts.length == 1) { - source += compileSelector(parts[0], mode ? ACCEPT_NODE : 'f&&f(k);return true;', mode); - } else { - // for each selector in the group - var i = -1, seen = new global.Object(), token; - while ((token = parts[++i])) { - token = token.replace(reTrimSpaces, ''); - // avoid repeating the same token - // in comma separated group (p, p) - if (!seen[token] && (seen[token] = true)) { - source += compileSelector(token, mode ? ACCEPT_NODE : 'f&&f(k);return true;', mode); - } - } - } - - if (mode) { - // for select method - return new global.Function('c,s,r,d,h,g,f,v', - 'var N,n,x=0,k=-1,e;main:while((e=c[++k])){' + source + '}return r;'); - } else { - // for match method - return new global.Function('e,s,r,d,h,g,f,v', - 'var N,n,x=0,k=e;' + source + 'return false;'); - } - }, - - // allows to cache already visited nodes - FILTER = - 'var z=v[@]||(v[@]=[]),l=z.length-1;' + - 'while(l>=0&&z[l]!==e)--l;' + - 'if(l!==-1){break;}' + - 'z[z.length]=e;', - - // compile a CSS3 string selector into ad-hoc javascript matching function - // @return string (to be compiled) - compileSelector = - function(selector, source, mode) { - - var a, b, n, k = 0, expr, match, result, status, test, type; - - while (selector) { - - k++; - - // *** Universal selector - // * match all (empty block, do not remove) - if ((match = selector.match(Patterns.universal))) { - // do nothing, handled in the compiler where - // BUGGY_GEBTN return comment nodes (ex: IE) - expr = ''; - } - - // *** ID selector - // #Foo Id case sensitive - else if ((match = selector.match(Patterns.id))) { - // document can contain conflicting elements (id/name) - // prototype selector unit need this method to recover bad HTML forms - source = 'if(' + (XML_DOCUMENT ? - 's.getAttribute(e,"id")' : - '(e.submit?s.getAttribute(e,"id"):e.id)') + - '=="' + match[1] + '"' + - '){' + source + '}'; - } - - // *** Type selector - // Foo Tag (case insensitive) - else if ((match = selector.match(Patterns.tagName))) { - // both tagName and nodeName properties may be upper/lower case - // depending on their creation NAMESPACE in createElementNS() - source = 'if(e.nodeName' + (XML_DOCUMENT ? - '=="' + match[1] + '"' : '.toUpperCase()' + - '=="' + match[1].toUpperCase() + '"') + - '){' + source + '}'; - } - - // *** Class selector - // .Foo Class (case sensitive) - else if ((match = selector.match(Patterns.className))) { - // W3C CSS3 specs: element whose "class" attribute has been assigned a - // list of whitespace-separated values, see section 6.4 Class selectors - // and notes at the bottom; explicitly non-normative in this specification. - source = 'if((n=' + (XML_DOCUMENT ? - 's.getAttribute(e,"class")' : 'e.className') + - ')&&n.length&&(" "+' + (QUIRKS_MODE ? 'n.toLowerCase()' : 'n') + - '.replace(' + reWhiteSpace + '," ")+" ").indexOf(" ' + - (QUIRKS_MODE ? match[1].toLowerCase() : match[1]) + ' ")>-1' + - '){' + source + '}'; - } - - // *** Attribute selector - // [attr] [attr=value] [attr="value"] [attr='value'] and !=, *=, ~=, |=, ^=, $= - // case sensitivity is treated differently depending on the document type (see map) - else if ((match = selector.match(Patterns.attribute))) { - - // xml namespaced attribute ? - expr = match[1].split(':'); - expr = expr.length == 2 ? expr[1] : expr[0] + ''; - - if (match[2] && !Operators[match[2]]) { - emit('Unsupported operator in attribute selectors "' + selector + '"'); - return ''; - } - - test = 'false'; - - // replace Operators parameter if needed - if (match[2] && match[4] && (test = Operators[match[2]])) { - match[4] = convertEscapes(match[4]); - // case treatment depends on document - HTML_TABLE['class'] = QUIRKS_MODE ? 1 : 0; - type = (XML_DOCUMENT ? XHTML_TABLE : HTML_TABLE)[expr.toLowerCase()]; - test = test.replace(/\%m/g, type ? match[4].toLowerCase() : match[4]); - } else if (match[2] == '!=' || match[2] == '=') { - test = 'n' + match[2] + '=""'; - } - - source = 'if(n=s.hasAttribute(e,"' + match[1] + '")){' + - (match[2] ? 'n=s.getAttribute(e,"' + match[1] + '")' : '') + - (type && match[2] ? '.toLowerCase();' : ';') + - 'if(' + (match[2] ? test : 'n') + '){' + source + '}}'; - - } - - // *** Adjacent sibling combinator - // E + F (F adiacent sibling of E) - else if ((match = selector.match(Patterns.adjacent))) { - source = (mode ? '' : FILTER.replace(/@/g, k)) + source; - source = NATIVE_TRAVERSAL_API ? - 'var N' + k + '=e;while(e&&(e=e.previousElementSibling)){' + source + 'break;}e=N' + k + ';' : - 'var N' + k + '=e;while(e&&(e=e.previousSibling)){if(e.nodeName>"@"){' + source + 'break;}}e=N' + k + ';'; - } - - // *** General sibling combinator - // E ~ F (F relative sibling of E) - else if ((match = selector.match(Patterns.relative))) { - source = (mode ? '' : FILTER.replace(/@/g, k)) + source; - source = NATIVE_TRAVERSAL_API ? - ('var N' + k + '=e;e=e.parentNode.firstElementChild;' + - 'while(e&&e!==N' + k + '){' + source + 'e=e.nextElementSibling;}e=N' + k + ';') : - ('var N' + k + '=e;e=e.parentNode.firstChild;' + - 'while(e&&e!==N' + k + '){if(e.nodeName>"@"){' + source + '}e=e.nextSibling;}e=N' + k + ';'); - } - - // *** Child combinator - // E > F (F children of E) - else if ((match = selector.match(Patterns.children))) { - source = (mode ? '' : FILTER.replace(/@/g, k)) + source; - source = 'var N' + k + '=e;while(e&&e!==h&&e!==g&&(e=e.parentNode)){' + source + 'break;}e=N' + k + ';'; - } - - // *** Descendant combinator - // E F (E ancestor of F) - else if ((match = selector.match(Patterns.ancestor))) { - source = (mode ? '' : FILTER.replace(/@/g, k)) + source; - source = 'var N' + k + '=e;while(e&&e!==h&&e!==g&&(e=e.parentNode)){' + source + '}e=N' + k + ';'; - } - - // *** Structural pseudo-classes - // :root, :empty, - // :first-child, :last-child, :only-child, - // :first-of-type, :last-of-type, :only-of-type, - // :nth-child(), :nth-last-child(), :nth-of-type(), :nth-last-of-type() - else if ((match = selector.match(Patterns.spseudos)) && match[1]) { - - switch (match[1]) { - case 'root': - // element root of the document - if (match[3]) { - source = 'if(e===h||s.contains(h,e)){' + source + '}'; - } else { - source = 'if(e===h){' + source + '}'; - } - break; - - case 'empty': - // element that has no children - source = 'if(s.isEmpty(e)){' + source + '}'; - break; - - default: - if (match[1] && match[2]) { - if (match[2] == 'n') { - source = 'if(e!==h){' + source + '}'; - break; - } else if (match[2] == 'even') { - a = 2; - b = 0; - } else if (match[2] == 'odd') { - a = 2; - b = 1; - } else { - // assumes correct "an+b" format, "b" before "a" to keep "n" values - b = ((n = match[2].match(/(-?\d+)$/)) ? global.parseInt(n[1], 10) : 0); - a = ((n = match[2].match(/(-?\d*)n/i)) ? global.parseInt(n[1], 10) : 0); - if (n && n[1] == '-') a = -1; - } - - // build test expression out of structural pseudo (an+b) parameters - // see here: http://www.w3.org/TR/css3-selectors/#nth-child-pseudo - test = a > 1 ? - (/last/i.test(match[1])) ? '(n-(' + b + '))%' + a + '==0' : - 'n>=' + b + '&&(n-(' + b + '))%' + a + '==0' : a < -1 ? - (/last/i.test(match[1])) ? '(n-(' + b + '))%' + a + '==0' : - 'n<=' + b + '&&(n-(' + b + '))%' + a + '==0' : a === 0 ? - 'n==' + b : a == -1 ? 'n<=' + b : 'n>=' + b; - - // 4 cases: 1 (nth) x 4 (child, of-type, last-child, last-of-type) - source = - 'if(e!==h){' + - 'n=s[' + (/-of-type/i.test(match[1]) ? '"nthOfType"' : '"nthElement"') + ']' + - '(e,' + (/last/i.test(match[1]) ? 'true' : 'false') + ');' + - 'if(' + test + '){' + source + '}' + - '}'; - - } else { - // 6 cases: 3 (first, last, only) x 1 (child) x 2 (-of-type) - a = /first/i.test(match[1]) ? 'previous' : 'next'; - n = /only/i.test(match[1]) ? 'previous' : 'next'; - b = /first|last/i.test(match[1]); - - type = /-of-type/i.test(match[1]) ? '&&n.nodeName!=e.nodeName' : '&&n.nodeName<"@"'; - - source = 'if(e!==h){' + - ( 'n=e;while((n=n.' + a + 'Sibling)' + type + ');if(!n){' + (b ? source : - 'n=e;while((n=n.' + n + 'Sibling)' + type + ');if(!n){' + source + '}') + '}' ) + '}'; - } - break; - } - - } - - // *** negation, user action and target pseudo-classes - // *** UI element states and dynamic pseudo-classes - // CSS3 :not, :checked, :enabled, :disabled, :target - // CSS3 :active, :hover, :focus - // CSS3 :link, :visited - else if ((match = selector.match(Patterns.dpseudos)) && match[1]) { - - switch (match[1].match(/^\w+/)[0]) { - // CSS3 negation pseudo-class - case 'not': - // compile nested selectors, DO NOT pass the callback parameter - // SIMPLENOT allow disabling complex selectors nested - // in ':not()' pseudo-classes, breaks some test units - expr = match[3].replace(reTrimSpaces, ''); - - if (Config.SIMPLENOT && !reSimpleNot.test(expr)) { - // see above, log error but continue execution - emit('Negation pseudo-class only accepts simple selectors "' + selector + '"'); - return ''; - } else { - if ('compatMode' in doc) { - source = 'if(!' + compile(expr, '', false) + '(e,s,r,d,h,g)){' + source + '}'; - } else { - source = 'if(!s.match(e, "' + expr.replace(/\x22/g, '\\"') + '",g)){' + source +'}'; - } - } - break; - - // CSS3 UI element states - case 'checked': - // for radio buttons checkboxes (HTML4) and options (HTML5) - source = 'if((typeof e.form!=="undefined"&&(/^(?:radio|checkbox)$/i).test(e.type)&&e.checked)' + - (Config.USE_HTML5 ? '||(/^option$/i.test(e.nodeName)&&(e.selected||e.checked))' : '') + - '){' + source + '}'; - break; - case 'disabled': - // does not consider hidden input fields - source = 'if(((typeof e.form!=="undefined"' + - (Config.USE_HTML5 ? '' : '&&!(/^hidden$/i).test(e.type)') + - ')||s.isLink(e))&&e.disabled===true){' + source + '}'; - break; - case 'enabled': - // does not consider hidden input fields - source = 'if(((typeof e.form!=="undefined"' + - (Config.USE_HTML5 ? '' : '&&!(/^hidden$/i).test(e.type)') + - ')||s.isLink(e))&&e.disabled===false){' + source + '}'; - break; - - // CSS3 lang pseudo-class - case 'lang': - test = ''; - if (match[2]) test = match[2].substr(0, 2) + '-'; - source = 'do{(n=e.lang||"").toLowerCase();' + - 'if((n==""&&h.lang=="' + match[2].toLowerCase() + '")||' + - '(n&&(n=="' + match[2].toLowerCase() + - '"||n.substr(0,3)=="' + test.toLowerCase() + '")))' + - '{' + source + 'break;}}while((e=e.parentNode)&&e!==g);'; - break; - - // CSS3 target pseudo-class - case 'target': - source = 'if(e.id==d.location.hash.slice(1)){' + source + '}'; - break; - - // CSS3 dynamic pseudo-classes - case 'link': - source = 'if(s.isLink(e)&&!e.visited){' + source + '}'; - break; - case 'visited': - source = 'if(s.isLink(e)&&e.visited){' + source + '}'; - break; - - // CSS3 user action pseudo-classes IE & FF3 have native support - // these capabilities may be emulated by some event managers - case 'active': - if (XML_DOCUMENT) break; - source = 'if(e===d.activeElement){' + source + '}'; - break; - case 'hover': - if (XML_DOCUMENT) break; - source = 'if(e===d.hoverElement){' + source + '}'; - break; - case 'focus': - if (XML_DOCUMENT) break; - source = NATIVE_FOCUS ? - 'if(e===d.activeElement&&d.hasFocus()&&(e.type||e.href||typeof e.tabIndex=="number")){' + source + '}' : - 'if(e===d.activeElement&&(e.type||e.href)){' + source + '}'; - break; - - // CSS2 selected pseudo-classes, not part of current CSS3 drafts - // the 'selected' property is only available for option elements - case 'selected': - // fix Safari selectedIndex property bug - expr = BUGGY_SELECTED ? '||(n=e.parentNode)&&n.options[n.selectedIndex]===e' : ''; - source = 'if(/^option$/i.test(e.nodeName)&&(e.selected||e.checked' + expr + ')){' + source + '}'; - break; - - default: - break; - } - - } - - else { - - // this is where external extensions are - // invoked if expressions match selectors - expr = false; - status = false; - for (expr in Selectors) { - if ((match = selector.match(Selectors[expr].Expression)) && match[1]) { - result = Selectors[expr].Callback(match, source); - source = result.source; - status = result.status; - if (status) { break; } - } - } - - // if an extension fails to parse the selector - // it must return a false boolean in "status" - if (!status) { - // log error but continue execution, don't throw real exceptions - // because blocking following processes maybe is not a good idea - emit('Unknown pseudo-class selector "' + selector + '"'); - return ''; - } - - if (!expr) { - // see above, log error but continue execution - emit('Unknown token in selector "' + selector + '"'); - return ''; - } - - } - - // error if no matches found by the pattern scan - if (!match) { - emit('Invalid syntax in selector "' + selector + '"'); - return ''; - } - - // ensure "match" is not null or empty since - // we do not throw real DOMExceptions above - selector = match && match[match.length - 1]; - } - - return source; - }, - - /*----------------------------- QUERY METHODS ------------------------------*/ - - // match element with selector - // @return boolean - match = - function(element, selector, from, callback) { - - var parts; - - if (!(element && element.nodeType == 1)) { - emit('Invalid element argument'); - return false; - } else if (typeof selector != 'string') { - emit('Invalid selector argument'); - return false; - } else if (from && from.nodeType == 1 && !contains(from, element)) { - return false; - } else if (lastContext !== from) { - // reset context data when it changes - // and ensure context is set to a default - switchContext(from || (from = element.ownerDocument)); - } - - selector = selector.replace(reTrimSpaces, ''); - - Config.SHORTCUTS && (selector = Dom.shortcuts(selector, element, from)); - - if (lastMatcher != selector) { - // process valid selector strings - if ((parts = selector.match(reValidator)) && parts[0] == selector) { - isSingleMatch = (parts = selector.match(reSplitGroup)).length < 2; - // save passed selector - lastMatcher = selector; - lastPartsMatch = parts; - } else { - emit('The string "' + selector + '", is not a valid CSS selector'); - return false; - } - } else parts = lastPartsMatch; - - // compile matcher resolvers if necessary - if (!matchResolvers[selector] || matchContexts[selector] !== from) { - matchResolvers[selector] = compile(isSingleMatch ? [selector] : parts, '', false); - matchContexts[selector] = from; - } - - return matchResolvers[selector](element, Snapshot, [ ], doc, root, from, callback, new global.Object()); - }, - - // select only the first element - // matching selector (document ordered) - first = - function(selector, from) { - return select(selector, from, function() { return false; })[0] || null; - }, - - // select elements matching selector - // using new Query Selector API - // or cross-browser client API - // @return array - select = - function(selector, from, callback) { - - var i, changed, element, elements, parts, token, original = selector; - - if (arguments.length === 0) { - emit('Not enough arguments'); - return [ ]; - } else if (typeof selector != 'string') { - return [ ]; - } else if (from && !(/1|9|11/).test(from.nodeType)) { - emit('Invalid or illegal context element'); - return [ ]; - } else if (lastContext !== from) { - // reset context data when it changes - // and ensure context is set to a default - switchContext(from || (from = doc)); - } - - if (Config.CACHING && (elements = Dom.loadResults(original, from, doc, root))) { - return callback ? concatCall([ ], elements, callback) : elements; - } - - if (!OPERA_QSAPI && RE_SIMPLE_SELECTOR.test(selector)) { - switch (selector.charAt(0)) { - case '#': - if (Config.UNIQUE_ID) { - elements = (element = _byId(selector.slice(1), from)) ? [ element ] : [ ]; - } - break; - case '.': - elements = _byClass(selector.slice(1), from); - break; - default: - elements = _byTag(selector, from); - break; - } - } - - else if (!XML_DOCUMENT && Config.USE_QSAPI && - !(BUGGY_QUIRKS_QSAPI && RE_CLASS.test(selector)) && - !RE_BUGGY_QSAPI.test(selector)) { - try { - elements = from.querySelectorAll(selector); - } catch(e) { } - } - - if (elements) { - elements = callback ? concatCall([ ], elements, callback) : - NATIVE_SLICE_PROTO ? slice.call(elements) : concatList([ ], elements); - Config.CACHING && Dom.saveResults(original, from, doc, elements); - return elements; - } - - selector = selector.replace(reTrimSpaces, ''); - - Config.SHORTCUTS && (selector = Dom.shortcuts(selector, from)); - - if ((changed = lastSelector != selector)) { - // process valid selector strings - if ((parts = selector.match(reValidator)) && parts[0] == selector) { - isSingleSelect = (parts = selector.match(reSplitGroup)).length < 2; - // save passed selector - lastSelector = selector; - lastPartsSelect = parts; - } else { - emit('The string "' + selector + '", is not a valid CSS selector'); - return [ ]; - } - } else parts = lastPartsSelect; - - // commas separators are treated sequentially to maintain order - if (from.nodeType == 11) { - - elements = byTagRaw('*', from); - - } else if (!XML_DOCUMENT && isSingleSelect) { - - if (changed) { - // get right most selector token - parts = selector.match(reSplitToken); - token = parts[parts.length - 1]; - - // only last slice before :not rules - lastSlice = token.split(':not'); - lastSlice = lastSlice[lastSlice.length - 1]; - - // position where token was found - lastPosition = selector.length - token.length; - } - - // ID optimization RTL, to reduce number of elements to visit - if (Config.UNIQUE_ID && (parts = lastSlice.match(Optimize.ID)) && (token = parts[1])) { - if ((element = _byId(token, from))) { - if (match(element, selector)) { - callback && callback(element); - elements = new global.Array(element); - } else elements = new global.Array(); - } - } - - // ID optimization LTR, to reduce selection context searches - else if (Config.UNIQUE_ID && (parts = selector.match(Optimize.ID)) && (token = parts[1])) { - if ((element = _byId(token, doc))) { - if ('#' + token == selector) { - callback && callback(element); - elements = new global.Array(element); - } else if (/[>+~]/.test(selector)) { - from = element.parentNode; - } else { - from = element; - } - } else elements = new global.Array(); - } - - if (elements) { - Config.CACHING && Dom.saveResults(original, from, doc, elements); - return elements; - } - - if (!NATIVE_GEBCN && (parts = lastSlice.match(Optimize.TAG)) && (token = parts[1])) { - if ((elements = _byTag(token, from)).length === 0) { return [ ]; } - selector = selector.slice(0, lastPosition) + selector.slice(lastPosition).replace(token, '*'); - } - - else if ((parts = lastSlice.match(Optimize.CLASS)) && (token = parts[1])) { - if ((elements = _byClass(token, from)).length === 0) { return [ ]; } - if (reOptimizeSelector.test(selector.charAt(selector.indexOf(token) - 1))) { - selector = selector.slice(0, lastPosition) + selector.slice(lastPosition).replace('.' + token, ''); - } else { - selector = selector.slice(0, lastPosition) + selector.slice(lastPosition).replace('.' + token, '*'); - } - } - - else if ((parts = selector.match(Optimize.CLASS)) && (token = parts[1])) { - if ((elements = _byClass(token, from)).length === 0) { return [ ]; } - for (i = 0, els = new global.Array(); elements.length > i; ++i) { - els = concatList(els, elements[i].getElementsByTagName('*')); - } - elements = els; - if (reOptimizeSelector.test(selector.charAt(selector.indexOf(token) - 1))) { - selector = selector.slice(0, lastPosition) + selector.slice(lastPosition).replace('.' + token, ''); - } else { - selector = selector.slice(0, lastPosition) + selector.slice(lastPosition).replace('.' + token, '*'); - } - } - - else if (NATIVE_GEBCN && (parts = lastSlice.match(Optimize.TAG)) && (token = parts[1])) { - if ((elements = _byTag(token, from)).length === 0) { return [ ]; } - selector = selector.slice(0, lastPosition) + selector.slice(lastPosition).replace(token, '*'); - } - - } - - if (!elements) { - elements = /^(?:applet|object)$/i.test(from.nodeName) ? from.childNodes : _byTag('*', from); - } - // end of prefiltering pass - - // compile selector resolver if necessary - if (!selectResolvers[selector] || selectContexts[selector] !== from) { - selectResolvers[selector] = compile(isSingleSelect ? [selector] : parts, '', true); - selectContexts[selector] = from; - } - - elements = selectResolvers[selector](elements, Snapshot, [ ], doc, root, from, callback, new global.Object()); - - Config.CACHING && Dom.saveResults(original, from, doc, elements); - - return elements; - }, - - /*-------------------------------- STORAGE ---------------------------------*/ - - // empty function handler - FN = function(x) { return x; }, - - // compiled match functions returning booleans - matchContexts = new global.Object(), - matchResolvers = new global.Object(), - - // compiled select functions returning collections - selectContexts = new global.Object(), - selectResolvers = new global.Object(), - - // used to pass methods to compiled functions - Snapshot = new global.Object({ - - // element indexing methods - nthElement: nthElement, - nthOfType: nthOfType, - - // element inspection methods - getAttribute: getAttribute, - hasAttribute: hasAttribute, - - // element selection methods - byClass: _byClass, - byName: byName, - byTag: _byTag, - byId: _byId, - - // helper/check methods - contains: contains, - isEmpty: isEmpty, - isLink: isLink, - - // selection/matching - select: select, - match: match - }), - - Tokens = new global.Object({ - prefixes: prefixes, - encoding: encoding, - operators: operators, - whitespace: whitespace, - identifier: identifier, - attributes: attributes, - combinators: combinators, - pseudoclass: pseudoclass, - pseudoparms: pseudoparms, - quotedvalue: quotedvalue - }); - - /*------------------------------- PUBLIC API -------------------------------*/ - - // code referenced by extensions - Dom.ACCEPT_NODE = ACCEPT_NODE; - - // retrieve element by id attr - Dom.byId = byId; - - // retrieve elements by tag name - Dom.byTag = byTag; - - // retrieve elements by name attr - Dom.byName = byName; - - // retrieve elements by class name - Dom.byClass = byClass; - - // read the value of the attribute - // as was in the original HTML code - Dom.getAttribute = getAttribute; - - // check for the attribute presence - // as was in the original HTML code - Dom.hasAttribute = hasAttribute; - - // element match selector, return boolean true/false - Dom.match = match; - - // first element match only, return element or null - Dom.first = first; - - // elements matching selector, starting from element - Dom.select = select; - - // compile selector into ad-hoc javascript resolver - Dom.compile = compile; - - // check that two elements are ancestor/descendant - Dom.contains = contains; - - // handle selector engine configuration settings - Dom.configure = configure; - - // initialize caching for each document - Dom.setCache = FN; - - // load previously collected result set - Dom.loadResults = FN; - - // save previously collected result set - Dom.saveResults = FN; - - // handle missing context in selector strings - Dom.shortcuts = FN; - - // log resolvers errors/warnings - Dom.emit = emit; - - // options enabing specific engine functionality - Dom.Config = Config; - - // pass methods references to compiled resolvers - Dom.Snapshot = Snapshot; - - // operators descriptor - // for attribute operators extensions - Dom.Operators = Operators; - - // selectors descriptor - // for pseudo-class selectors extensions - Dom.Selectors = Selectors; - - // export string patterns - Dom.Tokens = Tokens; - - // export version string - Dom.Version = version; - - // add or overwrite user defined operators - Dom.registerOperator = - function(symbol, resolver) { - Operators[symbol] || (Operators[symbol] = resolver); - }; - - // add selector patterns for user defined callbacks - Dom.registerSelector = - function(name, rexp, func) { - Selectors[name] || (Selectors[name] = new global.Object({ - Expression: rexp, - Callback: func - })); - }; - - /*---------------------------------- INIT ----------------------------------*/ - - // init context specific variables - switchContext(doc, true); - -}); diff --git a/node_modules/jsdom/node_modules/parse5/CHANGELOG.md b/node_modules/jsdom/node_modules/parse5/CHANGELOG.md deleted file mode 100644 index 2ec67d9..0000000 --- a/node_modules/jsdom/node_modules/parse5/CHANGELOG.md +++ /dev/null @@ -1,69 +0,0 @@ -## 1.5.1 - * Fix: Qualified tag name emission in Serializer (GH [#79](https://github.com/inikulin/parse5/issues/79)). - -## 1.5.0 - * Add: Location info for the element start and end tags (by @sakagg). - -## 1.4.2 - * Fix: htmlparser2 tree adapter `DocumentType.data` property rendering (GH [#45](https://github.com/inikulin/parse5/issues/45)). - -## 1.4.1 - * Fix: Location info handling for the implicitly generated `` and `` elements (GH [#44](https://github.com/inikulin/parse5/issues/44)). - -## 1.4.0 - * Add: Parser [decodeHtmlEntities](https://github.com/inikulin/parse5#optionsdecodehtmlentities) option. - * Add: SimpleApiParser [decodeHtmlEntities](https://github.com/inikulin/parse5#optionsdecodehtmlentities-1) option. - * Add: Parser [locationInfo](https://github.com/inikulin/parse5#optionslocationinfo) option. - * Add: SimpleApiParser [locationInfo](https://github.com/inikulin/parse5#optionslocationinfo-1) option. - -## 1.3.2 - * Fix: `
` processing in `