smock 0.1.217 → 0.1.218
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/app/assets/javascripts/modules/category_dropdown.coffee +0 -1
- data/examples/pages/homepage.html +1 -0
- data/node_modules/exports-loader/.npmignore +1 -0
- data/node_modules/exports-loader/README.md +18 -0
- data/node_modules/exports-loader/index.js +36 -0
- data/node_modules/exports-loader/node_modules/loader-utils/.npmignore +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/README.md +129 -0
- data/node_modules/exports-loader/node_modules/loader-utils/index.js +229 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/.bin/json5 +41 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/.npmignore +0 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/LICENCE +23 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/README.md +214 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/big.js +1026 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/big.min.js +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/doc/bigAPI.html +1026 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/package.json +61 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/perf/big-vs-bigdecimal.html +678 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/perf/bigtime.js +324 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_GWT/BigDecTest.class +0 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_GWT/BigDecTest.java +60 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_GWT/LICENCE.txt +205 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_GWT/bigdecimal.js +592 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_GWT/bugs.js +53 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_ICU4J/BigDecimal-all-last.js +5724 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_ICU4J/BigDecimal-all-last.min.js +61 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_ICU4J/LICENCE.txt +30 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/abs.js +555 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/browser/big-vs-number.html +249 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/browser/every-test.html +66 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/browser/single-test.html +26 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/cmp.js +4305 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/div.js +9978 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/every-test.js +31 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/minus.js +1793 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/mod.js +1838 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/plus.js +1916 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/pow.js +1233 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/round.js +5173 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/sqrt.js +788 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/times.js +2159 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/toExponential.js +472 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/toFixed.js +1030 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/toPrecision.js +508 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/big.js/test/toString.js +1068 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/.npmignore +4 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/CHANGELOG.md +56 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/Makefile +27 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/README.md +173 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/lib/cli.js +41 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/lib/json5.js +462 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/lib/require.js +18 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/package.json +66 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/package.json5 +24 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/empty-array.json +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/leading-comma-array.js +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/lone-trailing-comma-array.js +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/no-comma-array.txt +4 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/regular-array.json +5 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/trailing-comma-array.json5 +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/block-comment-following-array-element.json5 +6 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/block-comment-following-top-level-value.json5 +5 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/block-comment-in-string.json +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/block-comment-preceding-top-level-value.json5 +5 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/block-comment-with-asterisks.json5 +7 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/inline-comment-following-array-element.json5 +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/inline-comment-following-top-level-value.json5 +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/inline-comment-in-string.json +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/inline-comment-preceding-top-level-value.json5 +2 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/top-level-block-comment.txt +4 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/top-level-inline-comment.txt +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/unterminated-block-comment.txt +5 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/misc/empty.txt +0 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/misc/npm-package.json +106 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/misc/npm-package.json5 +106 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/misc/readme-example.json5 +23 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/decimal-literal-with-exponent.json +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/decimal-literal-with-negative-exponent.json +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/decimal-literal.json +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/hexadecimal-literal-with-lowercase-letter.json5 +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/hexadecimal-literal-with-no-digits.txt +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/hexadecimal-literal-with-uppercase-x.json5 +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/hexadecimal-literal.json5 +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/leading-decimal-point.json5 +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/negative-decimal-literal.json +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/negative-hexadecimal-literal.json5 +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/negative-leading-decimal-point.json5 +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/noctal-literal-with-octal-digit-after-leading-zero.js +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/noctal-literal.js +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/octal-literal.txt +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/trailing-decimal-point-with-exponent.js +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/trailing-decimal-point.js +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/zero-literal.json +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/empty-object.json +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/illegal-unquoted-key-number.txt +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/illegal-unquoted-key-symbol.txt +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/leading-comma-object.txt +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/lone-trailing-comma-object.txt +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/no-comma-object.txt +4 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/reserved-unquoted-key.json5 +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/single-quoted-key.json5 +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/trailing-comma-object.json5 +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/unquoted-keys.json5 +8 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/strings/escaped-single-quoted-string.json5 +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/strings/multi-line-string.json5 +2 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/strings/single-quoted-string.json5 +1 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/todo/unicode-escaped-unquoted-key.json5 +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/todo/unicode-unquoted-key.json5 +3 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/parse.js +74 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/readme.md +23 -0
- data/node_modules/exports-loader/node_modules/loader-utils/node_modules/json5/test/require.js +18 -0
- data/node_modules/exports-loader/node_modules/loader-utils/package.json +54 -0
- data/node_modules/exports-loader/node_modules/loader-utils/test/index.js +62 -0
- data/node_modules/exports-loader/node_modules/source-map/.npmignore +2 -0
- data/node_modules/exports-loader/node_modules/source-map/.travis.yml +4 -0
- data/node_modules/exports-loader/node_modules/source-map/CHANGELOG.md +194 -0
- data/node_modules/exports-loader/node_modules/source-map/LICENSE +28 -0
- data/node_modules/exports-loader/node_modules/source-map/Makefile.dryice.js +166 -0
- data/node_modules/exports-loader/node_modules/source-map/README.md +475 -0
- data/node_modules/exports-loader/node_modules/source-map/build/assert-shim.js +56 -0
- data/node_modules/exports-loader/node_modules/source-map/build/mini-require.js +152 -0
- data/node_modules/exports-loader/node_modules/source-map/build/prefix-source-map.jsm +20 -0
- data/node_modules/exports-loader/node_modules/source-map/build/prefix-utils.jsm +18 -0
- data/node_modules/exports-loader/node_modules/source-map/build/suffix-browser.js +8 -0
- data/node_modules/exports-loader/node_modules/source-map/build/suffix-source-map.jsm +6 -0
- data/node_modules/exports-loader/node_modules/source-map/build/suffix-utils.jsm +21 -0
- data/node_modules/exports-loader/node_modules/source-map/build/test-prefix.js +8 -0
- data/node_modules/exports-loader/node_modules/source-map/build/test-suffix.js +3 -0
- data/node_modules/exports-loader/node_modules/source-map/lib/source-map.js +8 -0
- data/node_modules/exports-loader/node_modules/source-map/lib/source-map/array-set.js +97 -0
- data/node_modules/exports-loader/node_modules/source-map/lib/source-map/base64-vlq.js +142 -0
- data/node_modules/exports-loader/node_modules/source-map/lib/source-map/base64.js +42 -0
- data/node_modules/exports-loader/node_modules/source-map/lib/source-map/binary-search.js +80 -0
- data/node_modules/exports-loader/node_modules/source-map/lib/source-map/mapping-list.js +86 -0
- data/node_modules/exports-loader/node_modules/source-map/lib/source-map/source-map-consumer.js +575 -0
- data/node_modules/exports-loader/node_modules/source-map/lib/source-map/source-map-generator.js +400 -0
- data/node_modules/exports-loader/node_modules/source-map/lib/source-map/source-node.js +414 -0
- data/node_modules/exports-loader/node_modules/source-map/lib/source-map/util.js +319 -0
- data/node_modules/exports-loader/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
- data/node_modules/exports-loader/node_modules/source-map/node_modules/amdefine/README.md +171 -0
- data/node_modules/exports-loader/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
- data/node_modules/exports-loader/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
- data/node_modules/exports-loader/node_modules/source-map/node_modules/amdefine/package.json +37 -0
- data/node_modules/exports-loader/node_modules/source-map/package.json +186 -0
- data/node_modules/exports-loader/node_modules/source-map/test/run-tests.js +62 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/test-api.js +26 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/test-array-set.js +104 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/test-base64-vlq.js +23 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/test-base64.js +35 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/test-dog-fooding.js +84 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/test-source-map-consumer.js +702 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/test-source-map-generator.js +679 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/test-source-node.js +612 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/test-util.js +216 -0
- data/node_modules/exports-loader/node_modules/source-map/test/source-map/util.js +192 -0
- data/node_modules/exports-loader/package.json +46 -0
- data/node_modules/imports-loader/.npmignore +1 -0
- data/node_modules/imports-loader/README.md +17 -0
- data/node_modules/imports-loader/index.js +46 -0
- data/node_modules/imports-loader/node_modules/loader-utils/.npmignore +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/README.md +129 -0
- data/node_modules/imports-loader/node_modules/loader-utils/index.js +229 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/.bin/json5 +41 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/.npmignore +0 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/LICENCE +23 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/README.md +214 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/big.js +1026 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/big.min.js +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/doc/bigAPI.html +1026 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/package.json +61 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/perf/big-vs-bigdecimal.html +678 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/perf/bigtime.js +324 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_GWT/BigDecTest.class +0 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_GWT/BigDecTest.java +60 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_GWT/LICENCE.txt +205 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_GWT/bigdecimal.js +592 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_GWT/bugs.js +53 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_ICU4J/BigDecimal-all-last.js +5724 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_ICU4J/BigDecimal-all-last.min.js +61 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/perf/lib/bigdecimal_ICU4J/LICENCE.txt +30 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/abs.js +555 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/browser/big-vs-number.html +249 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/browser/every-test.html +66 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/browser/single-test.html +26 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/cmp.js +4305 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/div.js +9978 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/every-test.js +31 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/minus.js +1793 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/mod.js +1838 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/plus.js +1916 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/pow.js +1233 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/round.js +5173 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/sqrt.js +788 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/times.js +2159 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/toExponential.js +472 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/toFixed.js +1030 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/toPrecision.js +508 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/big.js/test/toString.js +1068 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/.npmignore +4 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/CHANGELOG.md +56 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/Makefile +27 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/README.md +173 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/lib/cli.js +41 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/lib/json5.js +462 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/lib/require.js +18 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/package.json +66 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/package.json5 +24 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/empty-array.json +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/leading-comma-array.js +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/lone-trailing-comma-array.js +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/no-comma-array.txt +4 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/regular-array.json +5 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/arrays/trailing-comma-array.json5 +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/block-comment-following-array-element.json5 +6 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/block-comment-following-top-level-value.json5 +5 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/block-comment-in-string.json +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/block-comment-preceding-top-level-value.json5 +5 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/block-comment-with-asterisks.json5 +7 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/inline-comment-following-array-element.json5 +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/inline-comment-following-top-level-value.json5 +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/inline-comment-in-string.json +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/inline-comment-preceding-top-level-value.json5 +2 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/top-level-block-comment.txt +4 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/top-level-inline-comment.txt +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/comments/unterminated-block-comment.txt +5 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/misc/empty.txt +0 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/misc/npm-package.json +106 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/misc/npm-package.json5 +106 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/misc/readme-example.json5 +23 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/decimal-literal-with-exponent.json +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/decimal-literal-with-negative-exponent.json +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/decimal-literal.json +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/hexadecimal-literal-with-lowercase-letter.json5 +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/hexadecimal-literal-with-no-digits.txt +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/hexadecimal-literal-with-uppercase-x.json5 +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/hexadecimal-literal.json5 +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/leading-decimal-point.json5 +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/negative-decimal-literal.json +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/negative-hexadecimal-literal.json5 +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/negative-leading-decimal-point.json5 +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/noctal-literal-with-octal-digit-after-leading-zero.js +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/noctal-literal.js +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/octal-literal.txt +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/trailing-decimal-point-with-exponent.js +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/trailing-decimal-point.js +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/numbers/zero-literal.json +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/empty-object.json +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/illegal-unquoted-key-number.txt +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/illegal-unquoted-key-symbol.txt +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/leading-comma-object.txt +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/lone-trailing-comma-object.txt +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/no-comma-object.txt +4 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/reserved-unquoted-key.json5 +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/single-quoted-key.json5 +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/trailing-comma-object.json5 +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/objects/unquoted-keys.json5 +8 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/strings/escaped-single-quoted-string.json5 +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/strings/multi-line-string.json5 +2 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/strings/single-quoted-string.json5 +1 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/todo/unicode-escaped-unquoted-key.json5 +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse-cases/todo/unicode-unquoted-key.json5 +3 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/parse.js +74 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/readme.md +23 -0
- data/node_modules/imports-loader/node_modules/loader-utils/node_modules/json5/test/require.js +18 -0
- data/node_modules/imports-loader/node_modules/loader-utils/package.json +53 -0
- data/node_modules/imports-loader/node_modules/loader-utils/test/index.js +62 -0
- data/node_modules/imports-loader/node_modules/source-map/.npmignore +2 -0
- data/node_modules/imports-loader/node_modules/source-map/.travis.yml +4 -0
- data/node_modules/imports-loader/node_modules/source-map/CHANGELOG.md +194 -0
- data/node_modules/imports-loader/node_modules/source-map/LICENSE +28 -0
- data/node_modules/imports-loader/node_modules/source-map/Makefile.dryice.js +166 -0
- data/node_modules/imports-loader/node_modules/source-map/README.md +475 -0
- data/node_modules/imports-loader/node_modules/source-map/build/assert-shim.js +56 -0
- data/node_modules/imports-loader/node_modules/source-map/build/mini-require.js +152 -0
- data/node_modules/imports-loader/node_modules/source-map/build/prefix-source-map.jsm +20 -0
- data/node_modules/imports-loader/node_modules/source-map/build/prefix-utils.jsm +18 -0
- data/node_modules/imports-loader/node_modules/source-map/build/suffix-browser.js +8 -0
- data/node_modules/imports-loader/node_modules/source-map/build/suffix-source-map.jsm +6 -0
- data/node_modules/imports-loader/node_modules/source-map/build/suffix-utils.jsm +21 -0
- data/node_modules/imports-loader/node_modules/source-map/build/test-prefix.js +8 -0
- data/node_modules/imports-loader/node_modules/source-map/build/test-suffix.js +3 -0
- data/node_modules/imports-loader/node_modules/source-map/lib/source-map.js +8 -0
- data/node_modules/imports-loader/node_modules/source-map/lib/source-map/array-set.js +97 -0
- data/node_modules/imports-loader/node_modules/source-map/lib/source-map/base64-vlq.js +142 -0
- data/node_modules/imports-loader/node_modules/source-map/lib/source-map/base64.js +42 -0
- data/node_modules/imports-loader/node_modules/source-map/lib/source-map/binary-search.js +80 -0
- data/node_modules/imports-loader/node_modules/source-map/lib/source-map/mapping-list.js +86 -0
- data/node_modules/imports-loader/node_modules/source-map/lib/source-map/source-map-consumer.js +575 -0
- data/node_modules/imports-loader/node_modules/source-map/lib/source-map/source-map-generator.js +400 -0
- data/node_modules/imports-loader/node_modules/source-map/lib/source-map/source-node.js +414 -0
- data/node_modules/imports-loader/node_modules/source-map/lib/source-map/util.js +319 -0
- data/node_modules/imports-loader/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
- data/node_modules/imports-loader/node_modules/source-map/node_modules/amdefine/README.md +171 -0
- data/node_modules/imports-loader/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
- data/node_modules/imports-loader/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
- data/node_modules/imports-loader/node_modules/source-map/node_modules/amdefine/package.json +37 -0
- data/node_modules/imports-loader/node_modules/source-map/package.json +186 -0
- data/node_modules/imports-loader/node_modules/source-map/test/run-tests.js +62 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/test-api.js +26 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/test-array-set.js +104 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/test-base64-vlq.js +23 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/test-base64.js +35 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/test-dog-fooding.js +84 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/test-source-map-consumer.js +702 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/test-source-map-generator.js +679 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/test-source-node.js +612 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/test-util.js +216 -0
- data/node_modules/imports-loader/node_modules/source-map/test/source-map/util.js +192 -0
- data/node_modules/imports-loader/package.json +46 -0
- data/package.json +4 -2
- data/webpack.config.js +3 -6
- metadata +312 -5
- data/app/assets/javascripts/vendor/jquery.js +0 -10346
@@ -0,0 +1,42 @@
|
|
1
|
+
/* -*- Mode: js; js-indent-level: 2; -*- */
|
2
|
+
/*
|
3
|
+
* Copyright 2011 Mozilla Foundation and contributors
|
4
|
+
* Licensed under the New BSD license. See LICENSE or:
|
5
|
+
* http://opensource.org/licenses/BSD-3-Clause
|
6
|
+
*/
|
7
|
+
if (typeof define !== 'function') {
|
8
|
+
var define = require('amdefine')(module, require);
|
9
|
+
}
|
10
|
+
define(function (require, exports, module) {
|
11
|
+
|
12
|
+
var charToIntMap = {};
|
13
|
+
var intToCharMap = {};
|
14
|
+
|
15
|
+
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
|
16
|
+
.split('')
|
17
|
+
.forEach(function (ch, index) {
|
18
|
+
charToIntMap[ch] = index;
|
19
|
+
intToCharMap[index] = ch;
|
20
|
+
});
|
21
|
+
|
22
|
+
/**
|
23
|
+
* Encode an integer in the range of 0 to 63 to a single base 64 digit.
|
24
|
+
*/
|
25
|
+
exports.encode = function base64_encode(aNumber) {
|
26
|
+
if (aNumber in intToCharMap) {
|
27
|
+
return intToCharMap[aNumber];
|
28
|
+
}
|
29
|
+
throw new TypeError("Must be between 0 and 63: " + aNumber);
|
30
|
+
};
|
31
|
+
|
32
|
+
/**
|
33
|
+
* Decode a single base 64 digit to an integer.
|
34
|
+
*/
|
35
|
+
exports.decode = function base64_decode(aChar) {
|
36
|
+
if (aChar in charToIntMap) {
|
37
|
+
return charToIntMap[aChar];
|
38
|
+
}
|
39
|
+
throw new TypeError("Not a valid base 64 digit: " + aChar);
|
40
|
+
};
|
41
|
+
|
42
|
+
});
|
@@ -0,0 +1,80 @@
|
|
1
|
+
/* -*- Mode: js; js-indent-level: 2; -*- */
|
2
|
+
/*
|
3
|
+
* Copyright 2011 Mozilla Foundation and contributors
|
4
|
+
* Licensed under the New BSD license. See LICENSE or:
|
5
|
+
* http://opensource.org/licenses/BSD-3-Clause
|
6
|
+
*/
|
7
|
+
if (typeof define !== 'function') {
|
8
|
+
var define = require('amdefine')(module, require);
|
9
|
+
}
|
10
|
+
define(function (require, exports, module) {
|
11
|
+
|
12
|
+
/**
|
13
|
+
* Recursive implementation of binary search.
|
14
|
+
*
|
15
|
+
* @param aLow Indices here and lower do not contain the needle.
|
16
|
+
* @param aHigh Indices here and higher do not contain the needle.
|
17
|
+
* @param aNeedle The element being searched for.
|
18
|
+
* @param aHaystack The non-empty array being searched.
|
19
|
+
* @param aCompare Function which takes two elements and returns -1, 0, or 1.
|
20
|
+
*/
|
21
|
+
function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare) {
|
22
|
+
// This function terminates when one of the following is true:
|
23
|
+
//
|
24
|
+
// 1. We find the exact element we are looking for.
|
25
|
+
//
|
26
|
+
// 2. We did not find the exact element, but we can return the index of
|
27
|
+
// the next closest element that is less than that element.
|
28
|
+
//
|
29
|
+
// 3. We did not find the exact element, and there is no next-closest
|
30
|
+
// element which is less than the one we are searching for, so we
|
31
|
+
// return -1.
|
32
|
+
var mid = Math.floor((aHigh - aLow) / 2) + aLow;
|
33
|
+
var cmp = aCompare(aNeedle, aHaystack[mid], true);
|
34
|
+
if (cmp === 0) {
|
35
|
+
// Found the element we are looking for.
|
36
|
+
return mid;
|
37
|
+
}
|
38
|
+
else if (cmp > 0) {
|
39
|
+
// aHaystack[mid] is greater than our needle.
|
40
|
+
if (aHigh - mid > 1) {
|
41
|
+
// The element is in the upper half.
|
42
|
+
return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare);
|
43
|
+
}
|
44
|
+
// We did not find an exact match, return the next closest one
|
45
|
+
// (termination case 2).
|
46
|
+
return mid;
|
47
|
+
}
|
48
|
+
else {
|
49
|
+
// aHaystack[mid] is less than our needle.
|
50
|
+
if (mid - aLow > 1) {
|
51
|
+
// The element is in the lower half.
|
52
|
+
return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare);
|
53
|
+
}
|
54
|
+
// The exact needle element was not found in this haystack. Determine if
|
55
|
+
// we are in termination case (2) or (3) and return the appropriate thing.
|
56
|
+
return aLow < 0 ? -1 : aLow;
|
57
|
+
}
|
58
|
+
}
|
59
|
+
|
60
|
+
/**
|
61
|
+
* This is an implementation of binary search which will always try and return
|
62
|
+
* the index of next lowest value checked if there is no exact hit. This is
|
63
|
+
* because mappings between original and generated line/col pairs are single
|
64
|
+
* points, and there is an implicit region between each of them, so a miss
|
65
|
+
* just means that you aren't on the very start of a region.
|
66
|
+
*
|
67
|
+
* @param aNeedle The element you are looking for.
|
68
|
+
* @param aHaystack The array that is being searched.
|
69
|
+
* @param aCompare A function which takes the needle and an element in the
|
70
|
+
* array and returns -1, 0, or 1 depending on whether the needle is less
|
71
|
+
* than, equal to, or greater than the element, respectively.
|
72
|
+
*/
|
73
|
+
exports.search = function search(aNeedle, aHaystack, aCompare) {
|
74
|
+
if (aHaystack.length === 0) {
|
75
|
+
return -1;
|
76
|
+
}
|
77
|
+
return recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, aCompare)
|
78
|
+
};
|
79
|
+
|
80
|
+
});
|
@@ -0,0 +1,86 @@
|
|
1
|
+
/* -*- Mode: js; js-indent-level: 2; -*- */
|
2
|
+
/*
|
3
|
+
* Copyright 2014 Mozilla Foundation and contributors
|
4
|
+
* Licensed under the New BSD license. See LICENSE or:
|
5
|
+
* http://opensource.org/licenses/BSD-3-Clause
|
6
|
+
*/
|
7
|
+
if (typeof define !== 'function') {
|
8
|
+
var define = require('amdefine')(module, require);
|
9
|
+
}
|
10
|
+
define(function (require, exports, module) {
|
11
|
+
|
12
|
+
var util = require('./util');
|
13
|
+
|
14
|
+
/**
|
15
|
+
* Determine whether mappingB is after mappingA with respect to generated
|
16
|
+
* position.
|
17
|
+
*/
|
18
|
+
function generatedPositionAfter(mappingA, mappingB) {
|
19
|
+
// Optimized for most common case
|
20
|
+
var lineA = mappingA.generatedLine;
|
21
|
+
var lineB = mappingB.generatedLine;
|
22
|
+
var columnA = mappingA.generatedColumn;
|
23
|
+
var columnB = mappingB.generatedColumn;
|
24
|
+
return lineB > lineA || lineB == lineA && columnB >= columnA ||
|
25
|
+
util.compareByGeneratedPositions(mappingA, mappingB) <= 0;
|
26
|
+
}
|
27
|
+
|
28
|
+
/**
|
29
|
+
* A data structure to provide a sorted view of accumulated mappings in a
|
30
|
+
* performance conscious manner. It trades a neglibable overhead in general
|
31
|
+
* case for a large speedup in case of mappings being added in order.
|
32
|
+
*/
|
33
|
+
function MappingList() {
|
34
|
+
this._array = [];
|
35
|
+
this._sorted = true;
|
36
|
+
// Serves as infimum
|
37
|
+
this._last = {generatedLine: -1, generatedColumn: 0};
|
38
|
+
}
|
39
|
+
|
40
|
+
/**
|
41
|
+
* Iterate through internal items. This method takes the same arguments that
|
42
|
+
* `Array.prototype.forEach` takes.
|
43
|
+
*
|
44
|
+
* NOTE: The order of the mappings is NOT guaranteed.
|
45
|
+
*/
|
46
|
+
MappingList.prototype.unsortedForEach =
|
47
|
+
function MappingList_forEach(aCallback, aThisArg) {
|
48
|
+
this._array.forEach(aCallback, aThisArg);
|
49
|
+
};
|
50
|
+
|
51
|
+
/**
|
52
|
+
* Add the given source mapping.
|
53
|
+
*
|
54
|
+
* @param Object aMapping
|
55
|
+
*/
|
56
|
+
MappingList.prototype.add = function MappingList_add(aMapping) {
|
57
|
+
var mapping;
|
58
|
+
if (generatedPositionAfter(this._last, aMapping)) {
|
59
|
+
this._last = aMapping;
|
60
|
+
this._array.push(aMapping);
|
61
|
+
} else {
|
62
|
+
this._sorted = false;
|
63
|
+
this._array.push(aMapping);
|
64
|
+
}
|
65
|
+
};
|
66
|
+
|
67
|
+
/**
|
68
|
+
* Returns the flat, sorted array of mappings. The mappings are sorted by
|
69
|
+
* generated position.
|
70
|
+
*
|
71
|
+
* WARNING: This method returns internal data without copying, for
|
72
|
+
* performance. The return value must NOT be mutated, and should be treated as
|
73
|
+
* an immutable borrow. If you want to take ownership, you must make your own
|
74
|
+
* copy.
|
75
|
+
*/
|
76
|
+
MappingList.prototype.toArray = function MappingList_toArray() {
|
77
|
+
if (!this._sorted) {
|
78
|
+
this._array.sort(util.compareByGeneratedPositions);
|
79
|
+
this._sorted = true;
|
80
|
+
}
|
81
|
+
return this._array;
|
82
|
+
};
|
83
|
+
|
84
|
+
exports.MappingList = MappingList;
|
85
|
+
|
86
|
+
});
|
data/node_modules/imports-loader/node_modules/source-map/lib/source-map/source-map-consumer.js
ADDED
@@ -0,0 +1,575 @@
|
|
1
|
+
/* -*- Mode: js; js-indent-level: 2; -*- */
|
2
|
+
/*
|
3
|
+
* Copyright 2011 Mozilla Foundation and contributors
|
4
|
+
* Licensed under the New BSD license. See LICENSE or:
|
5
|
+
* http://opensource.org/licenses/BSD-3-Clause
|
6
|
+
*/
|
7
|
+
if (typeof define !== 'function') {
|
8
|
+
var define = require('amdefine')(module, require);
|
9
|
+
}
|
10
|
+
define(function (require, exports, module) {
|
11
|
+
|
12
|
+
var util = require('./util');
|
13
|
+
var binarySearch = require('./binary-search');
|
14
|
+
var ArraySet = require('./array-set').ArraySet;
|
15
|
+
var base64VLQ = require('./base64-vlq');
|
16
|
+
|
17
|
+
/**
|
18
|
+
* A SourceMapConsumer instance represents a parsed source map which we can
|
19
|
+
* query for information about the original file positions by giving it a file
|
20
|
+
* position in the generated source.
|
21
|
+
*
|
22
|
+
* The only parameter is the raw source map (either as a JSON string, or
|
23
|
+
* already parsed to an object). According to the spec, source maps have the
|
24
|
+
* following attributes:
|
25
|
+
*
|
26
|
+
* - version: Which version of the source map spec this map is following.
|
27
|
+
* - sources: An array of URLs to the original source files.
|
28
|
+
* - names: An array of identifiers which can be referrenced by individual mappings.
|
29
|
+
* - sourceRoot: Optional. The URL root from which all sources are relative.
|
30
|
+
* - sourcesContent: Optional. An array of contents of the original source files.
|
31
|
+
* - mappings: A string of base64 VLQs which contain the actual mappings.
|
32
|
+
* - file: Optional. The generated file this source map is associated with.
|
33
|
+
*
|
34
|
+
* Here is an example source map, taken from the source map spec[0]:
|
35
|
+
*
|
36
|
+
* {
|
37
|
+
* version : 3,
|
38
|
+
* file: "out.js",
|
39
|
+
* sourceRoot : "",
|
40
|
+
* sources: ["foo.js", "bar.js"],
|
41
|
+
* names: ["src", "maps", "are", "fun"],
|
42
|
+
* mappings: "AA,AB;;ABCDE;"
|
43
|
+
* }
|
44
|
+
*
|
45
|
+
* [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#
|
46
|
+
*/
|
47
|
+
function SourceMapConsumer(aSourceMap) {
|
48
|
+
var sourceMap = aSourceMap;
|
49
|
+
if (typeof aSourceMap === 'string') {
|
50
|
+
sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, ''));
|
51
|
+
}
|
52
|
+
|
53
|
+
var version = util.getArg(sourceMap, 'version');
|
54
|
+
var sources = util.getArg(sourceMap, 'sources');
|
55
|
+
// Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which
|
56
|
+
// requires the array) to play nice here.
|
57
|
+
var names = util.getArg(sourceMap, 'names', []);
|
58
|
+
var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);
|
59
|
+
var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);
|
60
|
+
var mappings = util.getArg(sourceMap, 'mappings');
|
61
|
+
var file = util.getArg(sourceMap, 'file', null);
|
62
|
+
|
63
|
+
// Once again, Sass deviates from the spec and supplies the version as a
|
64
|
+
// string rather than a number, so we use loose equality checking here.
|
65
|
+
if (version != this._version) {
|
66
|
+
throw new Error('Unsupported version: ' + version);
|
67
|
+
}
|
68
|
+
|
69
|
+
// Some source maps produce relative source paths like "./foo.js" instead of
|
70
|
+
// "foo.js". Normalize these first so that future comparisons will succeed.
|
71
|
+
// See bugzil.la/1090768.
|
72
|
+
sources = sources.map(util.normalize);
|
73
|
+
|
74
|
+
// Pass `true` below to allow duplicate names and sources. While source maps
|
75
|
+
// are intended to be compressed and deduplicated, the TypeScript compiler
|
76
|
+
// sometimes generates source maps with duplicates in them. See Github issue
|
77
|
+
// #72 and bugzil.la/889492.
|
78
|
+
this._names = ArraySet.fromArray(names, true);
|
79
|
+
this._sources = ArraySet.fromArray(sources, true);
|
80
|
+
|
81
|
+
this.sourceRoot = sourceRoot;
|
82
|
+
this.sourcesContent = sourcesContent;
|
83
|
+
this._mappings = mappings;
|
84
|
+
this.file = file;
|
85
|
+
}
|
86
|
+
|
87
|
+
/**
|
88
|
+
* Create a SourceMapConsumer from a SourceMapGenerator.
|
89
|
+
*
|
90
|
+
* @param SourceMapGenerator aSourceMap
|
91
|
+
* The source map that will be consumed.
|
92
|
+
* @returns SourceMapConsumer
|
93
|
+
*/
|
94
|
+
SourceMapConsumer.fromSourceMap =
|
95
|
+
function SourceMapConsumer_fromSourceMap(aSourceMap) {
|
96
|
+
var smc = Object.create(SourceMapConsumer.prototype);
|
97
|
+
|
98
|
+
smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);
|
99
|
+
smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);
|
100
|
+
smc.sourceRoot = aSourceMap._sourceRoot;
|
101
|
+
smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),
|
102
|
+
smc.sourceRoot);
|
103
|
+
smc.file = aSourceMap._file;
|
104
|
+
|
105
|
+
smc.__generatedMappings = aSourceMap._mappings.toArray().slice();
|
106
|
+
smc.__originalMappings = aSourceMap._mappings.toArray().slice()
|
107
|
+
.sort(util.compareByOriginalPositions);
|
108
|
+
|
109
|
+
return smc;
|
110
|
+
};
|
111
|
+
|
112
|
+
/**
|
113
|
+
* The version of the source mapping spec that we are consuming.
|
114
|
+
*/
|
115
|
+
SourceMapConsumer.prototype._version = 3;
|
116
|
+
|
117
|
+
/**
|
118
|
+
* The list of original sources.
|
119
|
+
*/
|
120
|
+
Object.defineProperty(SourceMapConsumer.prototype, 'sources', {
|
121
|
+
get: function () {
|
122
|
+
return this._sources.toArray().map(function (s) {
|
123
|
+
return this.sourceRoot != null ? util.join(this.sourceRoot, s) : s;
|
124
|
+
}, this);
|
125
|
+
}
|
126
|
+
});
|
127
|
+
|
128
|
+
// `__generatedMappings` and `__originalMappings` are arrays that hold the
|
129
|
+
// parsed mapping coordinates from the source map's "mappings" attribute. They
|
130
|
+
// are lazily instantiated, accessed via the `_generatedMappings` and
|
131
|
+
// `_originalMappings` getters respectively, and we only parse the mappings
|
132
|
+
// and create these arrays once queried for a source location. We jump through
|
133
|
+
// these hoops because there can be many thousands of mappings, and parsing
|
134
|
+
// them is expensive, so we only want to do it if we must.
|
135
|
+
//
|
136
|
+
// Each object in the arrays is of the form:
|
137
|
+
//
|
138
|
+
// {
|
139
|
+
// generatedLine: The line number in the generated code,
|
140
|
+
// generatedColumn: The column number in the generated code,
|
141
|
+
// source: The path to the original source file that generated this
|
142
|
+
// chunk of code,
|
143
|
+
// originalLine: The line number in the original source that
|
144
|
+
// corresponds to this chunk of generated code,
|
145
|
+
// originalColumn: The column number in the original source that
|
146
|
+
// corresponds to this chunk of generated code,
|
147
|
+
// name: The name of the original symbol which generated this chunk of
|
148
|
+
// code.
|
149
|
+
// }
|
150
|
+
//
|
151
|
+
// All properties except for `generatedLine` and `generatedColumn` can be
|
152
|
+
// `null`.
|
153
|
+
//
|
154
|
+
// `_generatedMappings` is ordered by the generated positions.
|
155
|
+
//
|
156
|
+
// `_originalMappings` is ordered by the original positions.
|
157
|
+
|
158
|
+
SourceMapConsumer.prototype.__generatedMappings = null;
|
159
|
+
Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', {
|
160
|
+
get: function () {
|
161
|
+
if (!this.__generatedMappings) {
|
162
|
+
this.__generatedMappings = [];
|
163
|
+
this.__originalMappings = [];
|
164
|
+
this._parseMappings(this._mappings, this.sourceRoot);
|
165
|
+
}
|
166
|
+
|
167
|
+
return this.__generatedMappings;
|
168
|
+
}
|
169
|
+
});
|
170
|
+
|
171
|
+
SourceMapConsumer.prototype.__originalMappings = null;
|
172
|
+
Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', {
|
173
|
+
get: function () {
|
174
|
+
if (!this.__originalMappings) {
|
175
|
+
this.__generatedMappings = [];
|
176
|
+
this.__originalMappings = [];
|
177
|
+
this._parseMappings(this._mappings, this.sourceRoot);
|
178
|
+
}
|
179
|
+
|
180
|
+
return this.__originalMappings;
|
181
|
+
}
|
182
|
+
});
|
183
|
+
|
184
|
+
SourceMapConsumer.prototype._nextCharIsMappingSeparator =
|
185
|
+
function SourceMapConsumer_nextCharIsMappingSeparator(aStr) {
|
186
|
+
var c = aStr.charAt(0);
|
187
|
+
return c === ";" || c === ",";
|
188
|
+
};
|
189
|
+
|
190
|
+
/**
|
191
|
+
* Parse the mappings in a string in to a data structure which we can easily
|
192
|
+
* query (the ordered arrays in the `this.__generatedMappings` and
|
193
|
+
* `this.__originalMappings` properties).
|
194
|
+
*/
|
195
|
+
SourceMapConsumer.prototype._parseMappings =
|
196
|
+
function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {
|
197
|
+
var generatedLine = 1;
|
198
|
+
var previousGeneratedColumn = 0;
|
199
|
+
var previousOriginalLine = 0;
|
200
|
+
var previousOriginalColumn = 0;
|
201
|
+
var previousSource = 0;
|
202
|
+
var previousName = 0;
|
203
|
+
var str = aStr;
|
204
|
+
var temp = {};
|
205
|
+
var mapping;
|
206
|
+
|
207
|
+
while (str.length > 0) {
|
208
|
+
if (str.charAt(0) === ';') {
|
209
|
+
generatedLine++;
|
210
|
+
str = str.slice(1);
|
211
|
+
previousGeneratedColumn = 0;
|
212
|
+
}
|
213
|
+
else if (str.charAt(0) === ',') {
|
214
|
+
str = str.slice(1);
|
215
|
+
}
|
216
|
+
else {
|
217
|
+
mapping = {};
|
218
|
+
mapping.generatedLine = generatedLine;
|
219
|
+
|
220
|
+
// Generated column.
|
221
|
+
base64VLQ.decode(str, temp);
|
222
|
+
mapping.generatedColumn = previousGeneratedColumn + temp.value;
|
223
|
+
previousGeneratedColumn = mapping.generatedColumn;
|
224
|
+
str = temp.rest;
|
225
|
+
|
226
|
+
if (str.length > 0 && !this._nextCharIsMappingSeparator(str)) {
|
227
|
+
// Original source.
|
228
|
+
base64VLQ.decode(str, temp);
|
229
|
+
mapping.source = this._sources.at(previousSource + temp.value);
|
230
|
+
previousSource += temp.value;
|
231
|
+
str = temp.rest;
|
232
|
+
if (str.length === 0 || this._nextCharIsMappingSeparator(str)) {
|
233
|
+
throw new Error('Found a source, but no line and column');
|
234
|
+
}
|
235
|
+
|
236
|
+
// Original line.
|
237
|
+
base64VLQ.decode(str, temp);
|
238
|
+
mapping.originalLine = previousOriginalLine + temp.value;
|
239
|
+
previousOriginalLine = mapping.originalLine;
|
240
|
+
// Lines are stored 0-based
|
241
|
+
mapping.originalLine += 1;
|
242
|
+
str = temp.rest;
|
243
|
+
if (str.length === 0 || this._nextCharIsMappingSeparator(str)) {
|
244
|
+
throw new Error('Found a source and line, but no column');
|
245
|
+
}
|
246
|
+
|
247
|
+
// Original column.
|
248
|
+
base64VLQ.decode(str, temp);
|
249
|
+
mapping.originalColumn = previousOriginalColumn + temp.value;
|
250
|
+
previousOriginalColumn = mapping.originalColumn;
|
251
|
+
str = temp.rest;
|
252
|
+
|
253
|
+
if (str.length > 0 && !this._nextCharIsMappingSeparator(str)) {
|
254
|
+
// Original name.
|
255
|
+
base64VLQ.decode(str, temp);
|
256
|
+
mapping.name = this._names.at(previousName + temp.value);
|
257
|
+
previousName += temp.value;
|
258
|
+
str = temp.rest;
|
259
|
+
}
|
260
|
+
}
|
261
|
+
|
262
|
+
this.__generatedMappings.push(mapping);
|
263
|
+
if (typeof mapping.originalLine === 'number') {
|
264
|
+
this.__originalMappings.push(mapping);
|
265
|
+
}
|
266
|
+
}
|
267
|
+
}
|
268
|
+
|
269
|
+
this.__generatedMappings.sort(util.compareByGeneratedPositions);
|
270
|
+
this.__originalMappings.sort(util.compareByOriginalPositions);
|
271
|
+
};
|
272
|
+
|
273
|
+
/**
|
274
|
+
* Find the mapping that best matches the hypothetical "needle" mapping that
|
275
|
+
* we are searching for in the given "haystack" of mappings.
|
276
|
+
*/
|
277
|
+
SourceMapConsumer.prototype._findMapping =
|
278
|
+
function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,
|
279
|
+
aColumnName, aComparator) {
|
280
|
+
// To return the position we are searching for, we must first find the
|
281
|
+
// mapping for the given position and then return the opposite position it
|
282
|
+
// points to. Because the mappings are sorted, we can use binary search to
|
283
|
+
// find the best mapping.
|
284
|
+
|
285
|
+
if (aNeedle[aLineName] <= 0) {
|
286
|
+
throw new TypeError('Line must be greater than or equal to 1, got '
|
287
|
+
+ aNeedle[aLineName]);
|
288
|
+
}
|
289
|
+
if (aNeedle[aColumnName] < 0) {
|
290
|
+
throw new TypeError('Column must be greater than or equal to 0, got '
|
291
|
+
+ aNeedle[aColumnName]);
|
292
|
+
}
|
293
|
+
|
294
|
+
return binarySearch.search(aNeedle, aMappings, aComparator);
|
295
|
+
};
|
296
|
+
|
297
|
+
/**
|
298
|
+
* Compute the last column for each generated mapping. The last column is
|
299
|
+
* inclusive.
|
300
|
+
*/
|
301
|
+
SourceMapConsumer.prototype.computeColumnSpans =
|
302
|
+
function SourceMapConsumer_computeColumnSpans() {
|
303
|
+
for (var index = 0; index < this._generatedMappings.length; ++index) {
|
304
|
+
var mapping = this._generatedMappings[index];
|
305
|
+
|
306
|
+
// Mappings do not contain a field for the last generated columnt. We
|
307
|
+
// can come up with an optimistic estimate, however, by assuming that
|
308
|
+
// mappings are contiguous (i.e. given two consecutive mappings, the
|
309
|
+
// first mapping ends where the second one starts).
|
310
|
+
if (index + 1 < this._generatedMappings.length) {
|
311
|
+
var nextMapping = this._generatedMappings[index + 1];
|
312
|
+
|
313
|
+
if (mapping.generatedLine === nextMapping.generatedLine) {
|
314
|
+
mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;
|
315
|
+
continue;
|
316
|
+
}
|
317
|
+
}
|
318
|
+
|
319
|
+
// The last mapping for each line spans the entire line.
|
320
|
+
mapping.lastGeneratedColumn = Infinity;
|
321
|
+
}
|
322
|
+
};
|
323
|
+
|
324
|
+
/**
|
325
|
+
* Returns the original source, line, and column information for the generated
|
326
|
+
* source's line and column positions provided. The only argument is an object
|
327
|
+
* with the following properties:
|
328
|
+
*
|
329
|
+
* - line: The line number in the generated source.
|
330
|
+
* - column: The column number in the generated source.
|
331
|
+
*
|
332
|
+
* and an object is returned with the following properties:
|
333
|
+
*
|
334
|
+
* - source: The original source file, or null.
|
335
|
+
* - line: The line number in the original source, or null.
|
336
|
+
* - column: The column number in the original source, or null.
|
337
|
+
* - name: The original identifier, or null.
|
338
|
+
*/
|
339
|
+
SourceMapConsumer.prototype.originalPositionFor =
|
340
|
+
function SourceMapConsumer_originalPositionFor(aArgs) {
|
341
|
+
var needle = {
|
342
|
+
generatedLine: util.getArg(aArgs, 'line'),
|
343
|
+
generatedColumn: util.getArg(aArgs, 'column')
|
344
|
+
};
|
345
|
+
|
346
|
+
var index = this._findMapping(needle,
|
347
|
+
this._generatedMappings,
|
348
|
+
"generatedLine",
|
349
|
+
"generatedColumn",
|
350
|
+
util.compareByGeneratedPositions);
|
351
|
+
|
352
|
+
if (index >= 0) {
|
353
|
+
var mapping = this._generatedMappings[index];
|
354
|
+
|
355
|
+
if (mapping.generatedLine === needle.generatedLine) {
|
356
|
+
var source = util.getArg(mapping, 'source', null);
|
357
|
+
if (source != null && this.sourceRoot != null) {
|
358
|
+
source = util.join(this.sourceRoot, source);
|
359
|
+
}
|
360
|
+
return {
|
361
|
+
source: source,
|
362
|
+
line: util.getArg(mapping, 'originalLine', null),
|
363
|
+
column: util.getArg(mapping, 'originalColumn', null),
|
364
|
+
name: util.getArg(mapping, 'name', null)
|
365
|
+
};
|
366
|
+
}
|
367
|
+
}
|
368
|
+
|
369
|
+
return {
|
370
|
+
source: null,
|
371
|
+
line: null,
|
372
|
+
column: null,
|
373
|
+
name: null
|
374
|
+
};
|
375
|
+
};
|
376
|
+
|
377
|
+
/**
|
378
|
+
* Returns the original source content. The only argument is the url of the
|
379
|
+
* original source file. Returns null if no original source content is
|
380
|
+
* availible.
|
381
|
+
*/
|
382
|
+
SourceMapConsumer.prototype.sourceContentFor =
|
383
|
+
function SourceMapConsumer_sourceContentFor(aSource) {
|
384
|
+
if (!this.sourcesContent) {
|
385
|
+
return null;
|
386
|
+
}
|
387
|
+
|
388
|
+
if (this.sourceRoot != null) {
|
389
|
+
aSource = util.relative(this.sourceRoot, aSource);
|
390
|
+
}
|
391
|
+
|
392
|
+
if (this._sources.has(aSource)) {
|
393
|
+
return this.sourcesContent[this._sources.indexOf(aSource)];
|
394
|
+
}
|
395
|
+
|
396
|
+
var url;
|
397
|
+
if (this.sourceRoot != null
|
398
|
+
&& (url = util.urlParse(this.sourceRoot))) {
|
399
|
+
// XXX: file:// URIs and absolute paths lead to unexpected behavior for
|
400
|
+
// many users. We can help them out when they expect file:// URIs to
|
401
|
+
// behave like it would if they were running a local HTTP server. See
|
402
|
+
// https://bugzilla.mozilla.org/show_bug.cgi?id=885597.
|
403
|
+
var fileUriAbsPath = aSource.replace(/^file:\/\//, "");
|
404
|
+
if (url.scheme == "file"
|
405
|
+
&& this._sources.has(fileUriAbsPath)) {
|
406
|
+
return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]
|
407
|
+
}
|
408
|
+
|
409
|
+
if ((!url.path || url.path == "/")
|
410
|
+
&& this._sources.has("/" + aSource)) {
|
411
|
+
return this.sourcesContent[this._sources.indexOf("/" + aSource)];
|
412
|
+
}
|
413
|
+
}
|
414
|
+
|
415
|
+
throw new Error('"' + aSource + '" is not in the SourceMap.');
|
416
|
+
};
|
417
|
+
|
418
|
+
/**
|
419
|
+
* Returns the generated line and column information for the original source,
|
420
|
+
* line, and column positions provided. The only argument is an object with
|
421
|
+
* the following properties:
|
422
|
+
*
|
423
|
+
* - source: The filename of the original source.
|
424
|
+
* - line: The line number in the original source.
|
425
|
+
* - column: The column number in the original source.
|
426
|
+
*
|
427
|
+
* and an object is returned with the following properties:
|
428
|
+
*
|
429
|
+
* - line: The line number in the generated source, or null.
|
430
|
+
* - column: The column number in the generated source, or null.
|
431
|
+
*/
|
432
|
+
SourceMapConsumer.prototype.generatedPositionFor =
|
433
|
+
function SourceMapConsumer_generatedPositionFor(aArgs) {
|
434
|
+
var needle = {
|
435
|
+
source: util.getArg(aArgs, 'source'),
|
436
|
+
originalLine: util.getArg(aArgs, 'line'),
|
437
|
+
originalColumn: util.getArg(aArgs, 'column')
|
438
|
+
};
|
439
|
+
|
440
|
+
if (this.sourceRoot != null) {
|
441
|
+
needle.source = util.relative(this.sourceRoot, needle.source);
|
442
|
+
}
|
443
|
+
|
444
|
+
var index = this._findMapping(needle,
|
445
|
+
this._originalMappings,
|
446
|
+
"originalLine",
|
447
|
+
"originalColumn",
|
448
|
+
util.compareByOriginalPositions);
|
449
|
+
|
450
|
+
if (index >= 0) {
|
451
|
+
var mapping = this._originalMappings[index];
|
452
|
+
|
453
|
+
return {
|
454
|
+
line: util.getArg(mapping, 'generatedLine', null),
|
455
|
+
column: util.getArg(mapping, 'generatedColumn', null),
|
456
|
+
lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)
|
457
|
+
};
|
458
|
+
}
|
459
|
+
|
460
|
+
return {
|
461
|
+
line: null,
|
462
|
+
column: null,
|
463
|
+
lastColumn: null
|
464
|
+
};
|
465
|
+
};
|
466
|
+
|
467
|
+
/**
|
468
|
+
* Returns all generated line and column information for the original source
|
469
|
+
* and line provided. The only argument is an object with the following
|
470
|
+
* properties:
|
471
|
+
*
|
472
|
+
* - source: The filename of the original source.
|
473
|
+
* - line: The line number in the original source.
|
474
|
+
*
|
475
|
+
* and an array of objects is returned, each with the following properties:
|
476
|
+
*
|
477
|
+
* - line: The line number in the generated source, or null.
|
478
|
+
* - column: The column number in the generated source, or null.
|
479
|
+
*/
|
480
|
+
SourceMapConsumer.prototype.allGeneratedPositionsFor =
|
481
|
+
function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {
|
482
|
+
// When there is no exact match, SourceMapConsumer.prototype._findMapping
|
483
|
+
// returns the index of the closest mapping less than the needle. By
|
484
|
+
// setting needle.originalColumn to Infinity, we thus find the last
|
485
|
+
// mapping for the given line, provided such a mapping exists.
|
486
|
+
var needle = {
|
487
|
+
source: util.getArg(aArgs, 'source'),
|
488
|
+
originalLine: util.getArg(aArgs, 'line'),
|
489
|
+
originalColumn: Infinity
|
490
|
+
};
|
491
|
+
|
492
|
+
if (this.sourceRoot != null) {
|
493
|
+
needle.source = util.relative(this.sourceRoot, needle.source);
|
494
|
+
}
|
495
|
+
|
496
|
+
var mappings = [];
|
497
|
+
|
498
|
+
var index = this._findMapping(needle,
|
499
|
+
this._originalMappings,
|
500
|
+
"originalLine",
|
501
|
+
"originalColumn",
|
502
|
+
util.compareByOriginalPositions);
|
503
|
+
if (index >= 0) {
|
504
|
+
var mapping = this._originalMappings[index];
|
505
|
+
|
506
|
+
while (mapping && mapping.originalLine === needle.originalLine) {
|
507
|
+
mappings.push({
|
508
|
+
line: util.getArg(mapping, 'generatedLine', null),
|
509
|
+
column: util.getArg(mapping, 'generatedColumn', null),
|
510
|
+
lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)
|
511
|
+
});
|
512
|
+
|
513
|
+
mapping = this._originalMappings[--index];
|
514
|
+
}
|
515
|
+
}
|
516
|
+
|
517
|
+
return mappings.reverse();
|
518
|
+
};
|
519
|
+
|
520
|
+
SourceMapConsumer.GENERATED_ORDER = 1;
|
521
|
+
SourceMapConsumer.ORIGINAL_ORDER = 2;
|
522
|
+
|
523
|
+
/**
|
524
|
+
* Iterate over each mapping between an original source/line/column and a
|
525
|
+
* generated line/column in this source map.
|
526
|
+
*
|
527
|
+
* @param Function aCallback
|
528
|
+
* The function that is called with each mapping.
|
529
|
+
* @param Object aContext
|
530
|
+
* Optional. If specified, this object will be the value of `this` every
|
531
|
+
* time that `aCallback` is called.
|
532
|
+
* @param aOrder
|
533
|
+
* Either `SourceMapConsumer.GENERATED_ORDER` or
|
534
|
+
* `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to
|
535
|
+
* iterate over the mappings sorted by the generated file's line/column
|
536
|
+
* order or the original's source/line/column order, respectively. Defaults to
|
537
|
+
* `SourceMapConsumer.GENERATED_ORDER`.
|
538
|
+
*/
|
539
|
+
SourceMapConsumer.prototype.eachMapping =
|
540
|
+
function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {
|
541
|
+
var context = aContext || null;
|
542
|
+
var order = aOrder || SourceMapConsumer.GENERATED_ORDER;
|
543
|
+
|
544
|
+
var mappings;
|
545
|
+
switch (order) {
|
546
|
+
case SourceMapConsumer.GENERATED_ORDER:
|
547
|
+
mappings = this._generatedMappings;
|
548
|
+
break;
|
549
|
+
case SourceMapConsumer.ORIGINAL_ORDER:
|
550
|
+
mappings = this._originalMappings;
|
551
|
+
break;
|
552
|
+
default:
|
553
|
+
throw new Error("Unknown order of iteration.");
|
554
|
+
}
|
555
|
+
|
556
|
+
var sourceRoot = this.sourceRoot;
|
557
|
+
mappings.map(function (mapping) {
|
558
|
+
var source = mapping.source;
|
559
|
+
if (source != null && sourceRoot != null) {
|
560
|
+
source = util.join(sourceRoot, source);
|
561
|
+
}
|
562
|
+
return {
|
563
|
+
source: source,
|
564
|
+
generatedLine: mapping.generatedLine,
|
565
|
+
generatedColumn: mapping.generatedColumn,
|
566
|
+
originalLine: mapping.originalLine,
|
567
|
+
originalColumn: mapping.originalColumn,
|
568
|
+
name: mapping.name
|
569
|
+
};
|
570
|
+
}).forEach(aCallback, context);
|
571
|
+
};
|
572
|
+
|
573
|
+
exports.SourceMapConsumer = SourceMapConsumer;
|
574
|
+
|
575
|
+
});
|