aboutsummaryrefslogtreecommitdiff
path: root/node_modules/istanbul-lib-instrument
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2016-11-03 01:33:53 +0100
committerFlorian Dold <florian.dold@gmail.com>2016-11-03 01:33:53 +0100
commitd1291f67551c58168af43698a359cb5ddfd266b0 (patch)
tree55a13ed29fe1915e3f42f1b1b7038dafa2e975a7 /node_modules/istanbul-lib-instrument
parentd0a0695fb5d34996850723f7d4b1b59c3df909c2 (diff)
downloadwallet-core-d1291f67551c58168af43698a359cb5ddfd266b0.tar.xz
node_modules
Diffstat (limited to 'node_modules/istanbul-lib-instrument')
-rw-r--r--node_modules/istanbul-lib-instrument/.nyc_output/7b502358b3b753fdfd3ea908241822c5.json1
-rw-r--r--node_modules/istanbul-lib-instrument/.nyc_output/90393c02039ac688911f97e2beef256f.json1
-rw-r--r--node_modules/istanbul-lib-instrument/CHANGELOG.md20
-rw-r--r--node_modules/istanbul-lib-instrument/dist/constants.js19
-rw-r--r--node_modules/istanbul-lib-instrument/dist/index.js9
-rw-r--r--node_modules/istanbul-lib-instrument/dist/instrumenter.js2
-rw-r--r--node_modules/istanbul-lib-instrument/dist/read-coverage.js78
-rw-r--r--node_modules/istanbul-lib-instrument/dist/visitor.js15
l---------node_modules/istanbul-lib-instrument/node_modules/.bin/babylon1
l---------node_modules/istanbul-lib-instrument/node_modules/.bin/semver1
-rw-r--r--node_modules/istanbul-lib-instrument/node_modules/semver/LICENSE15
-rw-r--r--node_modules/istanbul-lib-instrument/node_modules/semver/README.md350
-rwxr-xr-xnode_modules/istanbul-lib-instrument/node_modules/semver/bin/semver133
-rw-r--r--node_modules/istanbul-lib-instrument/node_modules/semver/package.json22
-rw-r--r--node_modules/istanbul-lib-instrument/node_modules/semver/range.bnf16
-rw-r--r--node_modules/istanbul-lib-instrument/node_modules/semver/semver.js1203
-rw-r--r--node_modules/istanbul-lib-instrument/package.json146
17 files changed, 1922 insertions, 110 deletions
diff --git a/node_modules/istanbul-lib-instrument/.nyc_output/7b502358b3b753fdfd3ea908241822c5.json b/node_modules/istanbul-lib-instrument/.nyc_output/7b502358b3b753fdfd3ea908241822c5.json
new file mode 100644
index 000000000..e02309737
--- /dev/null
+++ b/node_modules/istanbul-lib-instrument/.nyc_output/7b502358b3b753fdfd3ea908241822c5.json
@@ -0,0 +1 @@
+{"/Users/benjamincoe/bcoe/istanbul-lib-instrument/src/index.js":{"path":"/Users/benjamincoe/bcoe/istanbul-lib-instrument/src/index.js","statementMap":{"0":{"start":{"line":12,"column":4},"end":{"line":12,"column":34}}},"fnMap":{"0":{"name":"createInstrumenter","decl":{"start":{"line":11,"column":9},"end":{"line":11,"column":27}},"loc":{"start":{"line":11,"column":34},"end":{"line":13,"column":1}}}},"branchMap":{},"s":{"0":1},"f":{"0":1},"b":{},"hash":"798db42fb9d107fddc4118cc15815d3e06eeac70"},"/Users/benjamincoe/bcoe/istanbul-lib-instrument/src/instrumenter.js":{"path":"/Users/benjamincoe/bcoe/istanbul-lib-instrument/src/instrumenter.js","statementMap":{"0":{"start":{"line":12,"column":4},"end":{"line":21,"column":6}},"1":{"start":{"line":41,"column":8},"end":{"line":41,"column":45}},"2":{"start":{"line":42,"column":8},"end":{"line":42,"column":33}},"3":{"start":{"line":43,"column":8},"end":{"line":43,"column":30}},"4":{"start":{"line":51,"column":26},"end":{"line":55,"column":9}},"5":{"start":{"line":52,"column":12},"end":{"line":54,"column":13}},"6":{"start":{"line":53,"column":16},"end":{"line":53,"column":42}},"7":{"start":{"line":56,"column":24},"end":{"line":56,"column":37}},"8":{"start":{"line":57,"column":8},"end":{"line":59,"column":11}},"9":{"start":{"line":58,"column":12},"end":{"line":58,"column":37}},"10":{"start":{"line":60,"column":8},"end":{"line":60,"column":20}},"11":{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},"12":{"start":{"line":74,"column":12},"end":{"line":74,"column":53}},"13":{"start":{"line":76,"column":8},"end":{"line":76,"column":68}},"14":{"start":{"line":77,"column":21},"end":{"line":77,"column":30}},"15":{"start":{"line":78,"column":20},"end":{"line":81,"column":10}},"16":{"start":{"line":82,"column":19},"end":{"line":84,"column":10}},"17":{"start":{"line":85,"column":21},"end":{"line":85,"column":23}},"18":{"start":{"line":86,"column":24},"end":{"line":93,"column":9}},"19":{"start":{"line":90,"column":20},"end":{"line":90,"column":43}},"20":{"start":{"line":94,"column":8},"end":{"line":94,"column":31}},"21":{"start":{"line":96,"column":32},"end":{"line":100,"column":9}},"22":{"start":{"line":101,"column":24},"end":{"line":101,"column":60}},"23":{"start":{"line":102,"column":8},"end":{"line":102,"column":48}},"24":{"start":{"line":103,"column":8},"end":{"line":103,"column":37}},"25":{"start":{"line":104,"column":19},"end":{"line":104,"column":49}},"26":{"start":{"line":105,"column":8},"end":{"line":107,"column":9}},"27":{"start":{"line":106,"column":12},"end":{"line":106,"column":50}},"28":{"start":{"line":108,"column":8},"end":{"line":108,"column":28}},"29":{"start":{"line":120,"column":8},"end":{"line":123,"column":9}},"30":{"start":{"line":121,"column":12},"end":{"line":121,"column":32}},"31":{"start":{"line":122,"column":12},"end":{"line":122,"column":28}},"32":{"start":{"line":124,"column":8},"end":{"line":129,"column":9}},"33":{"start":{"line":125,"column":22},"end":{"line":125,"column":57}},"34":{"start":{"line":126,"column":12},"end":{"line":126,"column":32}},"35":{"start":{"line":128,"column":12},"end":{"line":128,"column":25}},"36":{"start":{"line":136,"column":8},"end":{"line":136,"column":33}},"37":{"start":{"line":143,"column":8},"end":{"line":143,"column":30}}},"fnMap":{"0":{"name":"defaultOpts","decl":{"start":{"line":11,"column":9},"end":{"line":11,"column":20}},"loc":{"start":{"line":11,"column":23},"end":{"line":22,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":40,"column":4},"end":{"line":40,"column":5}},"loc":{"start":{"line":40,"column":36},"end":{"line":44,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":50,"column":4},"end":{"line":50,"column":5}},"loc":{"start":{"line":50,"column":24},"end":{"line":61,"column":5}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":51,"column":26},"end":{"line":51,"column":27}},"loc":{"start":{"line":51,"column":50},"end":{"line":55,"column":9}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":57,"column":37},"end":{"line":57,"column":38}},"loc":{"start":{"line":57,"column":50},"end":{"line":59,"column":9}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":72,"column":4},"end":{"line":72,"column":5}},"loc":{"start":{"line":72,"column":35},"end":{"line":109,"column":5}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":89,"column":22},"end":{"line":89,"column":23}},"loc":{"start":{"line":89,"column":38},"end":{"line":91,"column":17}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":119,"column":4},"end":{"line":119,"column":5}},"loc":{"start":{"line":119,"column":41},"end":{"line":130,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":135,"column":4},"end":{"line":135,"column":5}},"loc":{"start":{"line":135,"column":23},"end":{"line":137,"column":5}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":142,"column":4},"end":{"line":142,"column":5}},"loc":{"start":{"line":142,"column":20},"end":{"line":144,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":40,"column":16},"end":{"line":40,"column":34}},"type":"default-arg","locations":[{"start":{"line":40,"column":21},"end":{"line":40,"column":34}}]},"1":{"loc":{"start":{"line":52,"column":12},"end":{"line":54,"column":13}},"type":"if","locations":[{"start":{"line":52,"column":12},"end":{"line":54,"column":13}},{"start":{"line":52,"column":12},"end":{"line":54,"column":13}}]},"2":{"loc":{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},"type":"if","locations":[{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},{"start":{"line":73,"column":8},"end":{"line":75,"column":9}}]},"3":{"loc":{"start":{"line":76,"column":19},"end":{"line":76,"column":67}},"type":"binary-expr","locations":[{"start":{"line":76,"column":19},"end":{"line":76,"column":27}},{"start":{"line":76,"column":31},"end":{"line":76,"column":67}}]},"4":{"loc":{"start":{"line":80,"column":24},"end":{"line":80,"column":60}},"type":"cond-expr","locations":[{"start":{"line":80,"column":41},"end":{"line":80,"column":49}},{"start":{"line":80,"column":52},"end":{"line":80,"column":60}}]},"5":{"loc":{"start":{"line":105,"column":8},"end":{"line":107,"column":9}},"type":"if","locations":[{"start":{"line":105,"column":8},"end":{"line":107,"column":9}},{"start":{"line":105,"column":8},"end":{"line":107,"column":9}}]},"6":{"loc":{"start":{"line":105,"column":12},"end":{"line":105,"column":41}},"type":"binary-expr","locations":[{"start":{"line":105,"column":12},"end":{"line":105,"column":14}},{"start":{"line":105,"column":18},"end":{"line":105,"column":41}}]},"7":{"loc":{"start":{"line":120,"column":8},"end":{"line":123,"column":9}},"type":"if","locations":[{"start":{"line":120,"column":8},"end":{"line":123,"column":9}},{"start":{"line":120,"column":8},"end":{"line":123,"column":9}}]},"8":{"loc":{"start":{"line":120,"column":12},"end":{"line":120,"column":55}},"type":"binary-expr","locations":[{"start":{"line":120,"column":12},"end":{"line":120,"column":21}},{"start":{"line":120,"column":25},"end":{"line":120,"column":55}}]}},"s":{"0":163,"1":162,"2":162,"3":162,"4":162,"5":1296,"6":1121,"7":162,"8":162,"9":1296,"10":162,"11":161,"12":1,"13":160,"14":160,"15":160,"16":157,"17":157,"18":157,"19":157,"20":157,"21":157,"22":157,"23":157,"24":157,"25":157,"26":157,"27":1,"28":157,"29":3,"30":2,"31":2,"32":3,"33":3,"34":2,"35":1,"36":157,"37":1},"f":{"0":163,"1":162,"2":162,"3":1296,"4":1296,"5":161,"6":157,"7":3,"8":157,"9":1},"b":{"0":[1],"1":[1121,175],"2":[1,160],"3":[160,3],"4":[2,158],"5":[1,156],"6":[157,1],"7":[2,1],"8":[3,2]},"hash":"e781aefc22affceb979a8b295b23310c87d5017c"},"/Users/benjamincoe/bcoe/istanbul-lib-instrument/src/visitor.js":{"path":"/Users/benjamincoe/bcoe/istanbul-lib-instrument/src/visitor.js","statementMap":{"0":{"start":{"line":7,"column":19},"end":{"line":7,"column":67}},"1":{"start":{"line":9,"column":22},"end":{"line":9,"column":57}},"2":{"start":{"line":13,"column":15},"end":{"line":13,"column":30}},"3":{"start":{"line":14,"column":4},"end":{"line":14,"column":26}},"4":{"start":{"line":15,"column":4},"end":{"line":15,"column":80}},"5":{"start":{"line":22,"column":8},"end":{"line":22,"column":46}},"6":{"start":{"line":23,"column":8},"end":{"line":23,"column":24}},"7":{"start":{"line":24,"column":8},"end":{"line":24,"column":31}},"8":{"start":{"line":25,"column":8},"end":{"line":25,"column":54}},"9":{"start":{"line":26,"column":8},"end":{"line":26,"column":27}},"10":{"start":{"line":27,"column":8},"end":{"line":27,"column":37}},"11":{"start":{"line":33,"column":8},"end":{"line":33,"column":49}},"12":{"start":{"line":38,"column":19},"end":{"line":38,"column":23}},"13":{"start":{"line":39,"column":8},"end":{"line":47,"column":9}},"14":{"start":{"line":40,"column":12},"end":{"line":46,"column":15}},"15":{"start":{"line":41,"column":26},"end":{"line":41,"column":91}},"16":{"start":{"line":42,"column":31},"end":{"line":42,"column":50}},"17":{"start":{"line":43,"column":16},"end":{"line":45,"column":17}},"18":{"start":{"line":44,"column":20},"end":{"line":44,"column":37}},"19":{"start":{"line":48,"column":8},"end":{"line":48,"column":20}},"20":{"start":{"line":53,"column":21},"end":{"line":53,"column":25}},"21":{"start":{"line":54,"column":27},"end":{"line":65,"column":9}},"22":{"start":{"line":55,"column":12},"end":{"line":57,"column":13}},"23":{"start":{"line":56,"column":16},"end":{"line":56,"column":23}},"24":{"start":{"line":58,"column":12},"end":{"line":64,"column":15}},"25":{"start":{"line":59,"column":26},"end":{"line":59,"column":91}},"26":{"start":{"line":60,"column":31},"end":{"line":60,"column":53}},"27":{"start":{"line":61,"column":16},"end":{"line":63,"column":17}},"28":{"start":{"line":62,"column":20},"end":{"line":62,"column":54}},"29":{"start":{"line":66,"column":8},"end":{"line":66,"column":41}},"30":{"start":{"line":67,"column":8},"end":{"line":67,"column":42}},"31":{"start":{"line":72,"column":18},"end":{"line":72,"column":27}},"32":{"start":{"line":74,"column":8},"end":{"line":74,"column":40}},"33":{"start":{"line":77,"column":8},"end":{"line":79,"column":9}},"34":{"start":{"line":78,"column":12},"end":{"line":78,"column":19}},"35":{"start":{"line":81,"column":21},"end":{"line":81,"column":36}},"36":{"start":{"line":82,"column":8},"end":{"line":85,"column":9}},"37":{"start":{"line":83,"column":12},"end":{"line":83,"column":32}},"38":{"start":{"line":84,"column":12},"end":{"line":84,"column":19}},"39":{"start":{"line":87,"column":8},"end":{"line":89,"column":9}},"40":{"start":{"line":88,"column":12},"end":{"line":88,"column":32}},"41":{"start":{"line":96,"column":8},"end":{"line":98,"column":9}},"42":{"start":{"line":97,"column":12},"end":{"line":97,"column":35}},"43":{"start":{"line":100,"column":8},"end":{"line":100,"column":34}},"44":{"start":{"line":105,"column":8},"end":{"line":105,"column":42}},"45":{"start":{"line":106,"column":8},"end":{"line":106,"column":35}},"46":{"start":{"line":111,"column":18},"end":{"line":111,"column":30}},"47":{"start":{"line":112,"column":8},"end":{"line":114,"column":9}},"48":{"start":{"line":113,"column":12},"end":{"line":113,"column":24}},"49":{"start":{"line":115,"column":8},"end":{"line":115,"column":23}},"50":{"start":{"line":120,"column":18},"end":{"line":120,"column":28}},"51":{"start":{"line":121,"column":22},"end":{"line":124,"column":26}},"52":{"start":{"line":123,"column":25},"end":{"line":123,"column":77}},"53":{"start":{"line":124,"column":25},"end":{"line":124,"column":26}},"54":{"start":{"line":126,"column":8},"end":{"line":134,"column":10}},"55":{"start":{"line":138,"column":18},"end":{"line":138,"column":28}},"56":{"start":{"line":139,"column":8},"end":{"line":147,"column":9}},"57":{"start":{"line":140,"column":12},"end":{"line":140,"column":69}},"58":{"start":{"line":141,"column":15},"end":{"line":147,"column":9}},"59":{"start":{"line":142,"column":12},"end":{"line":142,"column":64}},"60":{"start":{"line":143,"column":56},"end":{"line":147,"column":9}},"61":{"start":{"line":144,"column":12},"end":{"line":144,"column":75}},"62":{"start":{"line":146,"column":12},"end":{"line":146,"column":85}},"63":{"start":{"line":152,"column":8},"end":{"line":154,"column":9}},"64":{"start":{"line":155,"column":22},"end":{"line":155,"column":58}},"65":{"start":{"line":156,"column":26},"end":{"line":156,"column":57}},"66":{"start":{"line":157,"column":8},"end":{"line":157,"column":44}},"67":{"start":{"line":161,"column":18},"end":{"line":161,"column":28}},"68":{"start":{"line":163,"column":8},"end":{"line":165,"column":9}},"69":{"start":{"line":166,"column":18},"end":{"line":166,"column":27}},"70":{"start":{"line":167,"column":19},"end":{"line":167,"column":23}},"71":{"start":{"line":169,"column":8},"end":{"line":181,"column":9}},"72":{"start":{"line":172,"column":16},"end":{"line":174,"column":17}},"73":{"start":{"line":173,"column":20},"end":{"line":173,"column":36}},"74":{"start":{"line":175,"column":16},"end":{"line":175,"column":22}},"75":{"start":{"line":177,"column":16},"end":{"line":179,"column":17}},"76":{"start":{"line":178,"column":20},"end":{"line":178,"column":36}},"77":{"start":{"line":180,"column":16},"end":{"line":180,"column":22}},"78":{"start":{"line":182,"column":8},"end":{"line":187,"column":9}},"79":{"start":{"line":183,"column":12},"end":{"line":186,"column":14}},"80":{"start":{"line":188,"column":21},"end":{"line":188,"column":70}},"81":{"start":{"line":189,"column":22},"end":{"line":189,"column":74}},"82":{"start":{"line":190,"column":26},"end":{"line":190,"column":57}},"83":{"start":{"line":191,"column":21},"end":{"line":191,"column":37}},"84":{"start":{"line":193,"column":8},"end":{"line":197,"column":9}},"85":{"start":{"line":194,"column":12},"end":{"line":194,"column":69}},"86":{"start":{"line":201,"column":22},"end":{"line":201,"column":61}},"87":{"start":{"line":202,"column":8},"end":{"line":202,"column":53}},"88":{"start":{"line":206,"column":26},"end":{"line":206,"column":83}},"89":{"start":{"line":207,"column":8},"end":{"line":207,"column":44}},"90":{"start":{"line":211,"column":8},"end":{"line":213,"column":9}},"91":{"start":{"line":212,"column":12},"end":{"line":212,"column":19}},"92":{"start":{"line":214,"column":8},"end":{"line":226,"column":9}},"93":{"start":{"line":215,"column":25},"end":{"line":215,"column":43}},"94":{"start":{"line":216,"column":12},"end":{"line":219,"column":13}},"95":{"start":{"line":217,"column":16},"end":{"line":217,"column":70}},"96":{"start":{"line":218,"column":16},"end":{"line":218,"column":72}},"97":{"start":{"line":221,"column":12},"end":{"line":225,"column":15}},"98":{"start":{"line":240,"column":18},"end":{"line":240,"column":55}},"99":{"start":{"line":242,"column":25},"end":{"line":251,"column":5}},"100":{"start":{"line":243,"column":8},"end":{"line":243,"column":27}},"101":{"start":{"line":244,"column":8},"end":{"line":246,"column":9}},"102":{"start":{"line":245,"column":12},"end":{"line":245,"column":19}},"103":{"start":{"line":247,"column":21},"end":{"line":247,"column":25}},"104":{"start":{"line":248,"column":8},"end":{"line":250,"column":11}},"105":{"start":{"line":249,"column":12},"end":{"line":249,"column":37}},"106":{"start":{"line":252,"column":17},"end":{"line":254,"column":5}},"107":{"start":{"line":253,"column":8},"end":{"line":253,"column":32}},"108":{"start":{"line":255,"column":4},"end":{"line":258,"column":6}},"109":{"start":{"line":262,"column":4},"end":{"line":262,"column":38}},"110":{"start":{"line":273,"column":4},"end":{"line":273,"column":37}},"111":{"start":{"line":277,"column":4},"end":{"line":277,"column":50}},"112":{"start":{"line":281,"column":4},"end":{"line":283,"column":5}},"113":{"start":{"line":282,"column":8},"end":{"line":282,"column":55}},"114":{"start":{"line":287,"column":14},"end":{"line":287,"column":24}},"115":{"start":{"line":288,"column":4},"end":{"line":290,"column":5}},"116":{"start":{"line":289,"column":8},"end":{"line":289,"column":47}},"117":{"start":{"line":291,"column":4},"end":{"line":294,"column":5}},"118":{"start":{"line":292,"column":8},"end":{"line":292,"column":56}},"119":{"start":{"line":293,"column":8},"end":{"line":293,"column":46}},"120":{"start":{"line":298,"column":4},"end":{"line":300,"column":6}},"121":{"start":{"line":299,"column":8},"end":{"line":299,"column":45}},"122":{"start":{"line":304,"column":14},"end":{"line":304,"column":23}},"123":{"start":{"line":305,"column":14},"end":{"line":305,"column":24}},"124":{"start":{"line":306,"column":4},"end":{"line":319,"column":5}},"125":{"start":{"line":307,"column":21},"end":{"line":307,"column":31}},"126":{"start":{"line":308,"column":8},"end":{"line":308,"column":29}},"127":{"start":{"line":309,"column":8},"end":{"line":313,"column":11}},"128":{"start":{"line":315,"column":8},"end":{"line":315,"column":26}},"129":{"start":{"line":318,"column":8},"end":{"line":318,"column":34}},"130":{"start":{"line":323,"column":14},"end":{"line":323,"column":23}},"131":{"start":{"line":324,"column":15},"end":{"line":324,"column":30}},"132":{"start":{"line":325,"column":19},"end":{"line":325,"column":32}},"133":{"start":{"line":326,"column":21},"end":{"line":326,"column":36}},"134":{"start":{"line":327,"column":17},"end":{"line":327,"column":48}},"135":{"start":{"line":329,"column":4},"end":{"line":333,"column":5}},"136":{"start":{"line":330,"column":8},"end":{"line":330,"column":53}},"137":{"start":{"line":332,"column":8},"end":{"line":332,"column":72}},"138":{"start":{"line":334,"column":4},"end":{"line":338,"column":5}},"139":{"start":{"line":335,"column":8},"end":{"line":335,"column":52}},"140":{"start":{"line":337,"column":8},"end":{"line":337,"column":71}},"141":{"start":{"line":342,"column":14},"end":{"line":342,"column":57}},"142":{"start":{"line":343,"column":4},"end":{"line":343,"column":45}},"143":{"start":{"line":347,"column":14},"end":{"line":347,"column":24}},"144":{"start":{"line":348,"column":14},"end":{"line":348,"column":62}},"145":{"start":{"line":350,"column":4},"end":{"line":352,"column":5}},"146":{"start":{"line":353,"column":22},"end":{"line":353,"column":63}},"147":{"start":{"line":354,"column":4},"end":{"line":354,"column":67}},"148":{"start":{"line":358,"column":14},"end":{"line":358,"column":23}},"149":{"start":{"line":359,"column":17},"end":{"line":359,"column":63}},"150":{"start":{"line":360,"column":16},"end":{"line":360,"column":42}},"151":{"start":{"line":361,"column":16},"end":{"line":361,"column":41}},"152":{"start":{"line":363,"column":4},"end":{"line":365,"column":5}},"153":{"start":{"line":364,"column":8},"end":{"line":364,"column":65}},"154":{"start":{"line":366,"column":4},"end":{"line":368,"column":5}},"155":{"start":{"line":367,"column":8},"end":{"line":367,"column":64}},"156":{"start":{"line":373,"column":14},"end":{"line":373,"column":24}},"157":{"start":{"line":374,"column":4},"end":{"line":376,"column":5}},"158":{"start":{"line":375,"column":8},"end":{"line":375,"column":15}},"159":{"start":{"line":377,"column":17},"end":{"line":377,"column":19}},"160":{"start":{"line":378,"column":4},"end":{"line":378,"column":39}},"161":{"start":{"line":379,"column":14},"end":{"line":379,"column":62}},"162":{"start":{"line":380,"column":4},"end":{"line":391,"column":5}},"163":{"start":{"line":381,"column":21},"end":{"line":381,"column":30}},"164":{"start":{"line":382,"column":21},"end":{"line":382,"column":44}},"165":{"start":{"line":383,"column":8},"end":{"line":385,"column":9}},"166":{"start":{"line":384,"column":12},"end":{"line":384,"column":21}},"167":{"start":{"line":386,"column":26},"end":{"line":386,"column":67}},"168":{"start":{"line":387,"column":8},"end":{"line":389,"column":9}},"169":{"start":{"line":388,"column":12},"end":{"line":388,"column":21}},"170":{"start":{"line":390,"column":8},"end":{"line":390,"column":82}},"171":{"start":{"line":394,"column":20},"end":{"line":422,"column":1}},"172":{"start":{"line":424,"column":25},"end":{"line":438,"column":2}},"173":{"start":{"line":458,"column":14},"end":{"line":458,"column":19}},"174":{"start":{"line":459,"column":23},"end":{"line":459,"column":60}},"175":{"start":{"line":460,"column":4},"end":{"line":485,"column":6}},"176":{"start":{"line":462,"column":12},"end":{"line":462,"column":51}},"177":{"start":{"line":465,"column":12},"end":{"line":465,"column":36}},"178":{"start":{"line":466,"column":33},"end":{"line":466,"column":56}},"179":{"start":{"line":467,"column":12},"end":{"line":467,"column":50}},"180":{"start":{"line":468,"column":25},"end":{"line":468,"column":91}},"181":{"start":{"line":469,"column":33},"end":{"line":469,"column":60}},"182":{"start":{"line":470,"column":12},"end":{"line":470,"column":43}},"183":{"start":{"line":471,"column":23},"end":{"line":477,"column":14}},"184":{"start":{"line":478,"column":12},"end":{"line":478,"column":31}},"185":{"start":{"line":479,"column":12},"end":{"line":479,"column":39}},"186":{"start":{"line":480,"column":12},"end":{"line":483,"column":14}}},"fnMap":{"0":{"name":"genVar","decl":{"start":{"line":12,"column":9},"end":{"line":12,"column":15}},"loc":{"start":{"line":12,"column":26},"end":{"line":16,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":4},"end":{"line":21,"column":5}},"loc":{"start":{"line":21,"column":39},"end":{"line":28,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":4},"end":{"line":32,"column":5}},"loc":{"start":{"line":32,"column":23},"end":{"line":34,"column":5}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":37,"column":4},"end":{"line":37,"column":5}},"loc":{"start":{"line":37,"column":18},"end":{"line":49,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":40,"column":41},"end":{"line":40,"column":42}},"loc":{"start":{"line":40,"column":54},"end":{"line":46,"column":13}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":52,"column":4},"end":{"line":52,"column":5}},"loc":{"start":{"line":52,"column":34},"end":{"line":68,"column":5}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":54,"column":27},"end":{"line":54,"column":28}},"loc":{"start":{"line":54,"column":41},"end":{"line":65,"column":9}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":58,"column":29},"end":{"line":58,"column":30}},"loc":{"start":{"line":58,"column":42},"end":{"line":64,"column":13}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":71,"column":4},"end":{"line":71,"column":5}},"loc":{"start":{"line":71,"column":18},"end":{"line":90,"column":5}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":94,"column":4},"end":{"line":94,"column":5}},"loc":{"start":{"line":94,"column":17},"end":{"line":101,"column":5}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":104,"column":4},"end":{"line":104,"column":5}},"loc":{"start":{"line":104,"column":31},"end":{"line":107,"column":5}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":110,"column":4},"end":{"line":110,"column":5}},"loc":{"start":{"line":110,"column":24},"end":{"line":116,"column":5}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":119,"column":4},"end":{"line":119,"column":5}},"loc":{"start":{"line":119,"column":30},"end":{"line":135,"column":5}}},"13":{"name":"(anonymous_13)","decl":{"start":{"line":123,"column":18},"end":{"line":123,"column":19}},"loc":{"start":{"line":123,"column":25},"end":{"line":123,"column":77}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":124,"column":18},"end":{"line":124,"column":19}},"loc":{"start":{"line":124,"column":25},"end":{"line":124,"column":26}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":137,"column":4},"end":{"line":137,"column":5}},"loc":{"start":{"line":137,"column":35},"end":{"line":148,"column":5}}},"16":{"name":"(anonymous_16)","decl":{"start":{"line":150,"column":4},"end":{"line":150,"column":5}},"loc":{"start":{"line":150,"column":33},"end":{"line":158,"column":5}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":160,"column":4},"end":{"line":160,"column":5}},"loc":{"start":{"line":160,"column":32},"end":{"line":198,"column":5}}},"18":{"name":"(anonymous_18)","decl":{"start":{"line":200,"column":4},"end":{"line":200,"column":5}},"loc":{"start":{"line":200,"column":40},"end":{"line":203,"column":5}}},"19":{"name":"(anonymous_19)","decl":{"start":{"line":205,"column":4},"end":{"line":205,"column":5}},"loc":{"start":{"line":205,"column":47},"end":{"line":208,"column":5}}},"20":{"name":"(anonymous_20)","decl":{"start":{"line":210,"column":4},"end":{"line":210,"column":5}},"loc":{"start":{"line":210,"column":52},"end":{"line":227,"column":5}}},"21":{"name":"entries","decl":{"start":{"line":239,"column":9},"end":{"line":239,"column":16}},"loc":{"start":{"line":239,"column":19},"end":{"line":259,"column":1}}},"22":{"name":"(anonymous_22)","decl":{"start":{"line":242,"column":25},"end":{"line":242,"column":26}},"loc":{"start":{"line":242,"column":47},"end":{"line":251,"column":5}}},"23":{"name":"(anonymous_23)","decl":{"start":{"line":248,"column":22},"end":{"line":248,"column":23}},"loc":{"start":{"line":248,"column":35},"end":{"line":250,"column":9}}},"24":{"name":"(anonymous_24)","decl":{"start":{"line":252,"column":17},"end":{"line":252,"column":18}},"loc":{"start":{"line":252,"column":39},"end":{"line":254,"column":5}}},"25":{"name":"coverStatement","decl":{"start":{"line":261,"column":9},"end":{"line":261,"column":23}},"loc":{"start":{"line":261,"column":30},"end":{"line":263,"column":1}}},"26":{"name":"coverFunction","decl":{"start":{"line":272,"column":9},"end":{"line":272,"column":22}},"loc":{"start":{"line":272,"column":29},"end":{"line":274,"column":1}}},"27":{"name":"coverVariableDeclarator","decl":{"start":{"line":276,"column":9},"end":{"line":276,"column":32}},"loc":{"start":{"line":276,"column":39},"end":{"line":278,"column":1}}},"28":{"name":"skipInit","decl":{"start":{"line":280,"column":9},"end":{"line":280,"column":17}},"loc":{"start":{"line":280,"column":24},"end":{"line":284,"column":1}}},"29":{"name":"makeBlock","decl":{"start":{"line":286,"column":9},"end":{"line":286,"column":18}},"loc":{"start":{"line":286,"column":25},"end":{"line":295,"column":1}}},"30":{"name":"blockProp","decl":{"start":{"line":297,"column":9},"end":{"line":297,"column":18}},"loc":{"start":{"line":297,"column":25},"end":{"line":301,"column":1}}},"31":{"name":"(anonymous_31)","decl":{"start":{"line":298,"column":11},"end":{"line":298,"column":12}},"loc":{"start":{"line":298,"column":27},"end":{"line":300,"column":5}}},"32":{"name":"convertArrowExpression","decl":{"start":{"line":303,"column":9},"end":{"line":303,"column":31}},"loc":{"start":{"line":303,"column":38},"end":{"line":320,"column":1}}},"33":{"name":"coverIfBranches","decl":{"start":{"line":322,"column":9},"end":{"line":322,"column":24}},"loc":{"start":{"line":322,"column":31},"end":{"line":339,"column":1}}},"34":{"name":"createSwitchBranch","decl":{"start":{"line":341,"column":9},"end":{"line":341,"column":27}},"loc":{"start":{"line":341,"column":34},"end":{"line":344,"column":1}}},"35":{"name":"coverSwitchCase","decl":{"start":{"line":346,"column":9},"end":{"line":346,"column":24}},"loc":{"start":{"line":346,"column":31},"end":{"line":355,"column":1}}},"36":{"name":"coverTernary","decl":{"start":{"line":357,"column":9},"end":{"line":357,"column":21}},"loc":{"start":{"line":357,"column":28},"end":{"line":369,"column":1}}},"37":{"name":"coverLogicalExpression","decl":{"start":{"line":372,"column":9},"end":{"line":372,"column":31}},"loc":{"start":{"line":372,"column":38},"end":{"line":392,"column":1}}},"38":{"name":"programVisitor","decl":{"start":{"line":457,"column":9},"end":{"line":457,"column":23}},"loc":{"start":{"line":457,"column":105},"end":{"line":486,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":33,"column":15},"end":{"line":33,"column":48}},"type":"binary-expr","locations":[{"start":{"line":33,"column":15},"end":{"line":33,"column":30}},{"start":{"line":33,"column":34},"end":{"line":33,"column":48}}]},"1":{"loc":{"start":{"line":39,"column":8},"end":{"line":47,"column":9}},"type":"if","locations":[{"start":{"line":39,"column":8},"end":{"line":47,"column":9}},{"start":{"line":39,"column":8},"end":{"line":47,"column":9}}]},"2":{"loc":{"start":{"line":41,"column":27},"end":{"line":41,"column":83}},"type":"binary-expr","locations":[{"start":{"line":41,"column":27},"end":{"line":41,"column":34}}]},"3":{"loc":{"start":{"line":43,"column":16},"end":{"line":45,"column":17}},"type":"if","locations":[{"start":{"line":43,"column":16},"end":{"line":45,"column":17}},{"start":{"line":43,"column":16},"end":{"line":45,"column":17}}]},"4":{"loc":{"start":{"line":55,"column":12},"end":{"line":57,"column":13}},"type":"if","locations":[{"start":{"line":55,"column":12},"end":{"line":57,"column":13}},{"start":{"line":55,"column":12},"end":{"line":57,"column":13}}]},"5":{"loc":{"start":{"line":59,"column":27},"end":{"line":59,"column":83}},"type":"binary-expr","locations":[{"start":{"line":59,"column":27},"end":{"line":59,"column":34}}]},"6":{"loc":{"start":{"line":61,"column":16},"end":{"line":63,"column":17}},"type":"if","locations":[{"start":{"line":61,"column":16},"end":{"line":63,"column":17}},{"start":{"line":61,"column":16},"end":{"line":63,"column":17}}]},"7":{"loc":{"start":{"line":77,"column":8},"end":{"line":79,"column":9}},"type":"if","locations":[{"start":{"line":77,"column":8},"end":{"line":79,"column":9}},{"start":{"line":77,"column":8},"end":{"line":79,"column":9}}]},"8":{"loc":{"start":{"line":82,"column":8},"end":{"line":85,"column":9}},"type":"if","locations":[{"start":{"line":82,"column":8},"end":{"line":85,"column":9}},{"start":{"line":82,"column":8},"end":{"line":85,"column":9}}]},"9":{"loc":{"start":{"line":87,"column":8},"end":{"line":89,"column":9}},"type":"if","locations":[{"start":{"line":87,"column":8},"end":{"line":89,"column":9}},{"start":{"line":87,"column":8},"end":{"line":89,"column":9}}]},"10":{"loc":{"start":{"line":96,"column":8},"end":{"line":98,"column":9}},"type":"if","locations":[{"start":{"line":96,"column":8},"end":{"line":98,"column":9}},{"start":{"line":96,"column":8},"end":{"line":98,"column":9}}]},"11":{"loc":{"start":{"line":105,"column":23},"end":{"line":105,"column":41}},"type":"binary-expr","locations":[{"start":{"line":105,"column":23},"end":{"line":105,"column":35}},{"start":{"line":105,"column":39},"end":{"line":105,"column":41}}]},"12":{"loc":{"start":{"line":112,"column":8},"end":{"line":114,"column":9}},"type":"if","locations":[{"start":{"line":112,"column":8},"end":{"line":114,"column":9}},{"start":{"line":112,"column":8},"end":{"line":114,"column":9}}]},"13":{"loc":{"start":{"line":121,"column":22},"end":{"line":124,"column":26}},"type":"cond-expr","locations":[{"start":{"line":123,"column":18},"end":{"line":123,"column":77}},{"start":{"line":124,"column":18},"end":{"line":124,"column":26}}]},"14":{"loc":{"start":{"line":139,"column":8},"end":{"line":147,"column":9}},"type":"if","locations":[{"start":{"line":139,"column":8},"end":{"line":147,"column":9}},{"start":{"line":139,"column":8},"end":{"line":147,"column":9}}]},"15":{"loc":{"start":{"line":141,"column":15},"end":{"line":147,"column":9}},"type":"if","locations":[{"start":{"line":141,"column":15},"end":{"line":147,"column":9}},{"start":{"line":141,"column":15},"end":{"line":147,"column":9}}]},"16":{"loc":{"start":{"line":143,"column":56},"end":{"line":147,"column":9}},"type":"if","locations":[{"start":{"line":143,"column":56},"end":{"line":147,"column":9}},{"start":{"line":143,"column":56},"end":{"line":147,"column":9}}]},"17":{"loc":{"start":{"line":152,"column":8},"end":{"line":154,"column":9}},"type":"if","locations":[{"start":{"line":152,"column":8},"end":{"line":154,"column":9}}]},"18":{"loc":{"start":{"line":152,"column":14},"end":{"line":152,"column":40}},"type":"binary-expr","locations":[{"start":{"line":152,"column":14},"end":{"line":152,"column":23}},{"start":{"line":152,"column":27},"end":{"line":152,"column":40}}]},"19":{"loc":{"start":{"line":163,"column":8},"end":{"line":165,"column":9}},"type":"if","locations":[{"start":{"line":163,"column":8},"end":{"line":165,"column":9}}]},"20":{"loc":{"start":{"line":163,"column":14},"end":{"line":163,"column":40}},"type":"binary-expr","locations":[{"start":{"line":163,"column":14},"end":{"line":163,"column":23}},{"start":{"line":163,"column":27},"end":{"line":163,"column":40}}]},"21":{"loc":{"start":{"line":169,"column":8},"end":{"line":181,"column":9}},"type":"switch","locations":[{"start":{"line":170,"column":12},"end":{"line":175,"column":22}},{"start":{"line":176,"column":12},"end":{"line":180,"column":22}}]},"22":{"loc":{"start":{"line":172,"column":16},"end":{"line":174,"column":17}},"type":"if","locations":[{"start":{"line":172,"column":16},"end":{"line":174,"column":17}}]},"23":{"loc":{"start":{"line":177,"column":16},"end":{"line":179,"column":17}},"type":"if","locations":[{"start":{"line":177,"column":16},"end":{"line":179,"column":17}},{"start":{"line":177,"column":16},"end":{"line":179,"column":17}}]},"24":{"loc":{"start":{"line":182,"column":8},"end":{"line":187,"column":9}},"type":"if","locations":[{"start":{"line":182,"column":8},"end":{"line":187,"column":9}},{"start":{"line":182,"column":8},"end":{"line":187,"column":9}}]},"25":{"loc":{"start":{"line":188,"column":21},"end":{"line":188,"column":70}},"type":"cond-expr","locations":[{"start":{"line":188,"column":36},"end":{"line":188,"column":53}},{"start":{"line":188,"column":56},"end":{"line":188,"column":70}}]},"26":{"loc":{"start":{"line":193,"column":8},"end":{"line":197,"column":9}},"type":"if","locations":[{"start":{"line":193,"column":8},"end":{"line":197,"column":9}}]},"27":{"loc":{"start":{"line":206,"column":62},"end":{"line":206,"column":82}},"type":"binary-expr","locations":[{"start":{"line":206,"column":62},"end":{"line":206,"column":65}},{"start":{"line":206,"column":69},"end":{"line":206,"column":82}}]},"28":{"loc":{"start":{"line":211,"column":8},"end":{"line":213,"column":9}},"type":"if","locations":[{"start":{"line":211,"column":8},"end":{"line":213,"column":9}},{"start":{"line":211,"column":8},"end":{"line":213,"column":9}}]},"29":{"loc":{"start":{"line":214,"column":8},"end":{"line":226,"column":9}},"type":"if","locations":[{"start":{"line":214,"column":8},"end":{"line":226,"column":9}},{"start":{"line":214,"column":8},"end":{"line":226,"column":9}}]},"30":{"loc":{"start":{"line":216,"column":12},"end":{"line":219,"column":13}},"type":"if","locations":[{"start":{"line":216,"column":12},"end":{"line":219,"column":13}},{"start":{"line":216,"column":12},"end":{"line":219,"column":13}}]},"31":{"loc":{"start":{"line":244,"column":8},"end":{"line":246,"column":9}},"type":"if","locations":[{"start":{"line":244,"column":8},"end":{"line":246,"column":9}},{"start":{"line":244,"column":8},"end":{"line":246,"column":9}}]},"32":{"loc":{"start":{"line":281,"column":4},"end":{"line":283,"column":5}},"type":"if","locations":[{"start":{"line":281,"column":4},"end":{"line":283,"column":5}},{"start":{"line":281,"column":4},"end":{"line":283,"column":5}}]},"33":{"loc":{"start":{"line":288,"column":4},"end":{"line":290,"column":5}},"type":"if","locations":[{"start":{"line":288,"column":4},"end":{"line":290,"column":5}},{"start":{"line":288,"column":4},"end":{"line":290,"column":5}}]},"34":{"loc":{"start":{"line":291,"column":4},"end":{"line":294,"column":5}},"type":"if","locations":[{"start":{"line":291,"column":4},"end":{"line":294,"column":5}},{"start":{"line":291,"column":4},"end":{"line":294,"column":5}}]},"35":{"loc":{"start":{"line":306,"column":4},"end":{"line":319,"column":5}},"type":"if","locations":[{"start":{"line":306,"column":4},"end":{"line":319,"column":5}},{"start":{"line":306,"column":4},"end":{"line":319,"column":5}}]},"36":{"loc":{"start":{"line":329,"column":4},"end":{"line":333,"column":5}},"type":"if","locations":[{"start":{"line":329,"column":4},"end":{"line":333,"column":5}},{"start":{"line":329,"column":4},"end":{"line":333,"column":5}}]},"37":{"loc":{"start":{"line":334,"column":4},"end":{"line":338,"column":5}},"type":"if","locations":[{"start":{"line":334,"column":4},"end":{"line":338,"column":5}},{"start":{"line":334,"column":4},"end":{"line":338,"column":5}}]},"38":{"loc":{"start":{"line":350,"column":4},"end":{"line":352,"column":5}},"type":"if","locations":[{"start":{"line":350,"column":4},"end":{"line":352,"column":5}}]},"39":{"loc":{"start":{"line":363,"column":4},"end":{"line":365,"column":5}},"type":"if","locations":[{"start":{"line":363,"column":4},"end":{"line":365,"column":5}},{"start":{"line":363,"column":4},"end":{"line":365,"column":5}}]},"40":{"loc":{"start":{"line":366,"column":4},"end":{"line":368,"column":5}},"type":"if","locations":[{"start":{"line":366,"column":4},"end":{"line":368,"column":5}},{"start":{"line":366,"column":4},"end":{"line":368,"column":5}}]},"41":{"loc":{"start":{"line":374,"column":4},"end":{"line":376,"column":5}},"type":"if","locations":[{"start":{"line":374,"column":4},"end":{"line":376,"column":5}},{"start":{"line":374,"column":4},"end":{"line":376,"column":5}}]},"42":{"loc":{"start":{"line":383,"column":8},"end":{"line":385,"column":9}},"type":"if","locations":[{"start":{"line":383,"column":8},"end":{"line":385,"column":9}},{"start":{"line":383,"column":8},"end":{"line":385,"column":9}}]},"43":{"loc":{"start":{"line":387,"column":8},"end":{"line":389,"column":9}},"type":"if","locations":[{"start":{"line":387,"column":8},"end":{"line":389,"column":9}},{"start":{"line":387,"column":8},"end":{"line":389,"column":9}}]},"44":{"loc":{"start":{"line":457,"column":31},"end":{"line":457,"column":60}},"type":"default-arg","locations":[{"start":{"line":457,"column":48},"end":{"line":457,"column":60}}]},"45":{"loc":{"start":{"line":457,"column":62},"end":{"line":457,"column":103}},"type":"default-arg","locations":[{"start":{"line":457,"column":69},"end":{"line":457,"column":103}}]}},"s":{"0":1,"1":1,"2":157,"3":157,"4":157,"5":157,"6":157,"7":157,"8":157,"9":157,"10":157,"11":1948,"12":2104,"13":2104,"14":170,"15":39,"16":39,"17":39,"18":35,"19":2104,"20":1948,"21":1948,"22":3896,"23":3599,"24":297,"25":35,"26":35,"27":35,"28":1,"29":1948,"30":1948,"31":1948,"32":1948,"33":1948,"34":26,"35":1922,"36":1922,"37":11,"38":11,"39":1911,"40":12,"41":1948,"42":23,"43":1948,"44":39,"45":39,"46":1954,"47":1954,"48":1899,"49":55,"50":956,"51":956,"52":304,"53":652,"54":956,"55":862,"56":862,"57":208,"58":654,"59":546,"60":108,"61":108,"62":0,"63":642,"64":627,"65":627,"66":627,"67":25,"68":25,"69":25,"70":25,"71":25,"72":11,"73":11,"74":11,"75":5,"76":2,"77":5,"78":25,"79":12,"80":25,"81":25,"82":25,"83":25,"84":25,"85":25,"86":304,"87":304,"88":235,"89":235,"90":45,"91":0,"92":45,"93":18,"94":18,"95":16,"96":16,"97":27,"98":27,"99":27,"100":1948,"101":1948,"102":911,"103":1037,"104":1037,"105":1142,"106":27,"107":1948,"108":27,"109":546,"110":25,"111":96,"112":17,"113":12,"114":251,"115":251,"116":44,"117":251,"118":131,"119":131,"120":8,"121":251,"122":8,"123":8,"124":8,"125":6,"126":6,"127":6,"128":6,"129":6,"130":109,"131":109,"132":109,"133":109,"134":109,"135":109,"136":5,"137":104,"138":109,"139":5,"140":104,"141":17,"142":17,"143":43,"144":43,"145":43,"146":43,"147":43,"148":14,"149":14,"150":14,"151":14,"152":14,"153":13,"154":14,"155":14,"156":16,"157":16,"158":3,"159":13,"160":13,"161":13,"162":13,"163":27,"164":27,"165":27,"166":1,"167":26,"168":26,"169":0,"170":26,"171":1,"172":1,"173":157,"174":157,"175":157,"176":157,"177":157,"178":157,"179":157,"180":157,"181":157,"182":157,"183":157,"184":157,"185":157,"186":157},"f":{"0":157,"1":157,"2":1948,"3":2104,"4":39,"5":1948,"6":3896,"7":35,"8":1948,"9":1948,"10":39,"11":1954,"12":956,"13":304,"14":652,"15":862,"16":642,"17":25,"18":304,"19":235,"20":45,"21":27,"22":1948,"23":1142,"24":1948,"25":546,"26":25,"27":96,"28":17,"29":251,"30":8,"31":251,"32":8,"33":109,"34":17,"35":43,"36":14,"37":16,"38":157},"b":{"0":[1948,1899],"1":[170,1934],"2":[39],"3":[35,4],"4":[3599,297],"5":[35],"6":[1,34],"7":[26,1922],"8":[11,1911],"9":[12,1899],"10":[23,1925],"11":[39,39],"12":[1899,55],"13":[304,652],"14":[208,654],"15":[546,108],"16":[108,0],"17":[627],"18":[642,627],"19":[25],"20":[25,25],"21":[11,5],"22":[11],"23":[2,3],"24":[12,13],"25":[13,12],"26":[25],"27":[235,27],"28":[0,45],"29":[18,27],"30":[16,2],"31":[911,1037],"32":[12,5],"33":[44,207],"34":[131,120],"35":[6,2],"36":[5,104],"37":[5,104],"38":[43],"39":[13,1],"40":[14,0],"41":[3,13],"42":[1,26],"43":[0,26],"44":[0],"45":[0]},"hash":"6495f8b3227e694f5124e377c6f0e545da797d67"},"/Users/benjamincoe/bcoe/istanbul-lib-instrument/src/source-coverage.js":{"path":"/Users/benjamincoe/bcoe/istanbul-lib-instrument/src/source-coverage.js","statementMap":{"0":{"start":{"line":4,"column":4},"end":{"line":13,"column":6}},"1":{"start":{"line":27,"column":8},"end":{"line":27,"column":25}},"2":{"start":{"line":28,"column":8},"end":{"line":34,"column":10}},"3":{"start":{"line":38,"column":16},"end":{"line":38,"column":32}},"4":{"start":{"line":39,"column":8},"end":{"line":39,"column":55}},"5":{"start":{"line":40,"column":8},"end":{"line":40,"column":27}},"6":{"start":{"line":41,"column":8},"end":{"line":41,"column":30}},"7":{"start":{"line":42,"column":8},"end":{"line":42,"column":17}},"8":{"start":{"line":46,"column":16},"end":{"line":46,"column":32}},"9":{"start":{"line":47,"column":8},"end":{"line":47,"column":47}},"10":{"start":{"line":48,"column":8},"end":{"line":52,"column":10}},"11":{"start":{"line":53,"column":8},"end":{"line":53,"column":27}},"12":{"start":{"line":54,"column":8},"end":{"line":54,"column":30}},"13":{"start":{"line":55,"column":8},"end":{"line":55,"column":17}},"14":{"start":{"line":59,"column":16},"end":{"line":59,"column":32}},"15":{"start":{"line":60,"column":8},"end":{"line":60,"column":28}},"16":{"start":{"line":61,"column":8},"end":{"line":65,"column":10}},"17":{"start":{"line":66,"column":8},"end":{"line":66,"column":30}},"18":{"start":{"line":67,"column":8},"end":{"line":67,"column":17}},"19":{"start":{"line":71,"column":20},"end":{"line":71,"column":45}},"20":{"start":{"line":72,"column":21},"end":{"line":72,"column":38}},"21":{"start":{"line":75,"column":8},"end":{"line":77,"column":9}},"22":{"start":{"line":78,"column":8},"end":{"line":78,"column":54}},"23":{"start":{"line":79,"column":8},"end":{"line":79,"column":23}},"24":{"start":{"line":80,"column":8},"end":{"line":80,"column":33}},"25":{"start":{"line":85,"column":18},"end":{"line":85,"column":37}},"26":{"start":{"line":86,"column":23},"end":{"line":86,"column":34}},"27":{"start":{"line":87,"column":8},"end":{"line":92,"column":11}},"28":{"start":{"line":88,"column":12},"end":{"line":91,"column":13}},"29":{"start":{"line":89,"column":16},"end":{"line":89,"column":30}},"30":{"start":{"line":90,"column":16},"end":{"line":90,"column":35}}},"fnMap":{"0":{"name":"cloneLocation","decl":{"start":{"line":3,"column":9},"end":{"line":3,"column":22}},"loc":{"start":{"line":3,"column":28},"end":{"line":14,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":4},"end":{"line":26,"column":5}},"loc":{"start":{"line":26,"column":27},"end":{"line":35,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":37,"column":4},"end":{"line":37,"column":5}},"loc":{"start":{"line":37,"column":22},"end":{"line":43,"column":5}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":45,"column":4},"end":{"line":45,"column":5}},"loc":{"start":{"line":45,"column":33},"end":{"line":56,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":58,"column":4},"end":{"line":58,"column":5}},"loc":{"start":{"line":58,"column":25},"end":{"line":68,"column":5}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":70,"column":4},"end":{"line":70,"column":5}},"loc":{"start":{"line":70,"column":34},"end":{"line":81,"column":5}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":83,"column":4},"end":{"line":83,"column":5}},"loc":{"start":{"line":83,"column":13},"end":{"line":93,"column":5}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":87,"column":33},"end":{"line":87,"column":34}},"loc":{"start":{"line":87,"column":46},"end":{"line":92,"column":9}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":18},"end":{"line":6,"column":39}},"type":"binary-expr","locations":[{"start":{"line":6,"column":18},"end":{"line":6,"column":21}},{"start":{"line":6,"column":25},"end":{"line":6,"column":39}}]},"1":{"loc":{"start":{"line":7,"column":20},"end":{"line":7,"column":43}},"type":"binary-expr","locations":[{"start":{"line":7,"column":20},"end":{"line":7,"column":23}},{"start":{"line":7,"column":27},"end":{"line":7,"column":43}}]},"2":{"loc":{"start":{"line":10,"column":18},"end":{"line":10,"column":37}},"type":"binary-expr","locations":[{"start":{"line":10,"column":18},"end":{"line":10,"column":21}},{"start":{"line":10,"column":25},"end":{"line":10,"column":37}}]},"3":{"loc":{"start":{"line":11,"column":20},"end":{"line":11,"column":41}},"type":"binary-expr","locations":[{"start":{"line":11,"column":20},"end":{"line":11,"column":23}},{"start":{"line":11,"column":27},"end":{"line":11,"column":41}}]},"4":{"loc":{"start":{"line":47,"column":15},"end":{"line":47,"column":46}},"type":"binary-expr","locations":[{"start":{"line":47,"column":15},"end":{"line":47,"column":19}},{"start":{"line":47,"column":23},"end":{"line":47,"column":46}}]},"5":{"loc":{"start":{"line":75,"column":8},"end":{"line":77,"column":9}},"type":"if","locations":[{"start":{"line":75,"column":8},"end":{"line":77,"column":9}}]},"6":{"loc":{"start":{"line":88,"column":12},"end":{"line":91,"column":13}},"type":"if","locations":[{"start":{"line":88,"column":12},"end":{"line":91,"column":13}},{"start":{"line":88,"column":12},"end":{"line":91,"column":13}}]}},"s":{"0":1134,"1":157,"2":157,"3":627,"4":627,"5":627,"6":627,"7":627,"8":25,"9":25,"10":25,"11":25,"12":25,"13":25,"14":153,"15":153,"16":153,"17":153,"18":153,"19":304,"20":304,"21":304,"22":304,"23":304,"24":304,"25":157,"26":157,"27":157,"28":153,"29":1,"30":1},"f":{"0":1134,"1":157,"2":627,"3":25,"4":153,"5":304,"6":157,"7":153},"b":{"0":[1134,1134],"1":[1134,1134],"2":[1134,1134],"3":[1134,1134],"4":[25,12],"5":[304],"6":[1,152]},"hash":"4e936fda45d04eb0cd742a22f579020751606ec8"},"/Users/benjamincoe/bcoe/istanbul-lib-instrument/src/constants.js":{"path":"/Users/benjamincoe/bcoe/istanbul-lib-instrument/src/constants.js","statementMap":{"0":{"start":{"line":6,"column":19},"end":{"line":6,"column":25}},"1":{"start":{"line":8,"column":25},"end":{"line":8,"column":42}},"2":{"start":{"line":10,"column":27},"end":{"line":10,"column":92}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1},"f":{},"b":{},"hash":"a89e43e2b22e8d69cb89355d5632b5cc8f69d8f5"},"/Users/benjamincoe/bcoe/istanbul-lib-instrument/src/read-coverage.js":{"path":"/Users/benjamincoe/bcoe/istanbul-lib-instrument/src/read-coverage.js","statementMap":{"0":{"start":{"line":7,"column":4},"end":{"line":9,"column":5}},"1":{"start":{"line":8,"column":8},"end":{"line":8,"column":49}},"2":{"start":{"line":12,"column":16},"end":{"line":18,"column":6}},"3":{"start":{"line":21,"column":4},"end":{"line":36,"column":7}},"4":{"start":{"line":23,"column":29},"end":{"line":23,"column":33}},"5":{"start":{"line":24,"column":12},"end":{"line":34,"column":13}},"6":{"start":{"line":28,"column":35},"end":{"line":28,"column":63}},"7":{"start":{"line":29,"column":16},"end":{"line":31,"column":17}},"8":{"start":{"line":30,"column":20},"end":{"line":30,"column":27}},"9":{"start":{"line":32,"column":16},"end":{"line":32,"column":58}},"10":{"start":{"line":33,"column":16},"end":{"line":33,"column":28}},"11":{"start":{"line":38,"column":4},"end":{"line":40,"column":5}},"12":{"start":{"line":39,"column":8},"end":{"line":39,"column":20}},"13":{"start":{"line":42,"column":19},"end":{"line":42,"column":21}},"14":{"start":{"line":44,"column":4},"end":{"line":55,"column":5}},"15":{"start":{"line":45,"column":24},"end":{"line":45,"column":51}},"16":{"start":{"line":46,"column":8},"end":{"line":48,"column":9}},"17":{"start":{"line":47,"column":12},"end":{"line":47,"column":24}},"18":{"start":{"line":49,"column":26},"end":{"line":49,"column":50}},"19":{"start":{"line":50,"column":22},"end":{"line":50,"column":42}},"20":{"start":{"line":51,"column":8},"end":{"line":53,"column":9}},"21":{"start":{"line":52,"column":12},"end":{"line":52,"column":24}},"22":{"start":{"line":54,"column":8},"end":{"line":54,"column":34}},"23":{"start":{"line":57,"column":4},"end":{"line":57,"column":42}},"24":{"start":{"line":59,"column":4},"end":{"line":59,"column":18}}},"fnMap":{"0":{"name":"readInitialCoverage","decl":{"start":{"line":6,"column":24},"end":{"line":6,"column":43}},"loc":{"start":{"line":6,"column":51},"end":{"line":60,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":22,"column":24},"end":{"line":22,"column":25}},"loc":{"start":{"line":22,"column":40},"end":{"line":35,"column":9}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":9,"column":5}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":9,"column":5}},{"start":{"line":7,"column":4},"end":{"line":9,"column":5}}]},"1":{"loc":{"start":{"line":24,"column":12},"end":{"line":34,"column":13}},"type":"if","locations":[{"start":{"line":24,"column":12},"end":{"line":34,"column":13}},{"start":{"line":24,"column":12},"end":{"line":34,"column":13}}]},"2":{"loc":{"start":{"line":24,"column":16},"end":{"line":26,"column":43}},"type":"binary-expr","locations":[{"start":{"line":24,"column":16},"end":{"line":24,"column":30}},{"start":{"line":25,"column":16},"end":{"line":25,"column":40}},{"start":{"line":26,"column":16},"end":{"line":26,"column":43}}]},"3":{"loc":{"start":{"line":29,"column":16},"end":{"line":31,"column":17}},"type":"if","locations":[{"start":{"line":29,"column":16},"end":{"line":31,"column":17}},{"start":{"line":29,"column":16},"end":{"line":31,"column":17}}]},"4":{"loc":{"start":{"line":29,"column":20},"end":{"line":29,"column":77}},"type":"binary-expr","locations":[{"start":{"line":29,"column":20},"end":{"line":29,"column":41}},{"start":{"line":29,"column":45},"end":{"line":29,"column":77}}]},"5":{"loc":{"start":{"line":38,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":38,"column":4},"end":{"line":40,"column":5}},{"start":{"line":38,"column":4},"end":{"line":40,"column":5}}]},"6":{"loc":{"start":{"line":46,"column":8},"end":{"line":48,"column":9}},"type":"if","locations":[{"start":{"line":46,"column":8},"end":{"line":48,"column":9}},{"start":{"line":46,"column":8},"end":{"line":48,"column":9}}]},"7":{"loc":{"start":{"line":51,"column":8},"end":{"line":53,"column":9}},"type":"if","locations":[{"start":{"line":51,"column":8},"end":{"line":53,"column":9}},{"start":{"line":51,"column":8},"end":{"line":53,"column":9}}]}},"s":{"0":150,"1":0,"2":150,"3":150,"4":10028,"5":10028,"6":150,"7":150,"8":0,"9":150,"10":150,"11":150,"12":0,"13":150,"14":150,"15":600,"16":600,"17":0,"18":600,"19":600,"20":600,"21":0,"22":600,"23":150,"24":150},"f":{"0":150,"1":10028},"b":{"0":[0,150],"1":[150,9878],"2":[10028,10028,8444],"3":[0,150],"4":[150,150],"5":[0,150],"6":[0,600],"7":[0,600]},"hash":"a886dac5f16a53ac74ba10dbce70090b7d8e8eaa"}} \ No newline at end of file
diff --git a/node_modules/istanbul-lib-instrument/.nyc_output/90393c02039ac688911f97e2beef256f.json b/node_modules/istanbul-lib-instrument/.nyc_output/90393c02039ac688911f97e2beef256f.json
new file mode 100644
index 000000000..9e26dfeeb
--- /dev/null
+++ b/node_modules/istanbul-lib-instrument/.nyc_output/90393c02039ac688911f97e2beef256f.json
@@ -0,0 +1 @@
+{} \ No newline at end of file
diff --git a/node_modules/istanbul-lib-instrument/CHANGELOG.md b/node_modules/istanbul-lib-instrument/CHANGELOG.md
index 9966b7eca..ec35a89bb 100644
--- a/node_modules/istanbul-lib-instrument/CHANGELOG.md
+++ b/node_modules/istanbul-lib-instrument/CHANGELOG.md
@@ -2,6 +2,26 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
+<a name="1.2.0"></a>
+# [1.2.0](https://github.com/istanbuljs/istanbul-lib-instrument/compare/v1.1.4...v1.2.0) (2016-10-25)
+
+
+### Features
+
+* implement function to extract empty coverage data from an instrumented file ([#28](https://github.com/istanbuljs/istanbul-lib-instrument/issues/28)) ([06d0ef6](https://github.com/istanbuljs/istanbul-lib-instrument/commit/06d0ef6))
+
+
+
+<a name="1.1.4"></a>
+## [1.1.4](https://github.com/istanbuljs/istanbul-lib-instrument/compare/v1.1.3...v1.1.4) (2016-10-17)
+
+
+### Bug Fixes
+
+* hoist coverage variable to very top of file ([#26](https://github.com/istanbuljs/istanbul-lib-instrument/issues/26)) ([0225e8c](https://github.com/istanbuljs/istanbul-lib-instrument/commit/0225e8c))
+
+
+
<a name="1.1.3"></a>
## [1.1.3](https://github.com/istanbuljs/istanbul-lib-instrument/compare/v1.1.2...v1.1.3) (2016-09-13)
diff --git a/node_modules/istanbul-lib-instrument/dist/constants.js b/node_modules/istanbul-lib-instrument/dist/constants.js
new file mode 100644
index 000000000..9ab743249
--- /dev/null
+++ b/node_modules/istanbul-lib-instrument/dist/constants.js
@@ -0,0 +1,19 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.MAGIC_VALUE = exports.MAGIC_KEY = exports.SHA = undefined;
+
+var _semver = require('semver');
+
+var _package = require('../package.json');
+
+var _crypto = require('crypto');
+
+// function to use for creating hashes
+var SHA = exports.SHA = 'sha1';
+// name of coverage data magic key
+var MAGIC_KEY = exports.MAGIC_KEY = '_coverageSchema';
+// name of coverage data magic value
+var MAGIC_VALUE = exports.MAGIC_VALUE = (0, _crypto.createHash)(SHA).update(_package.name + '@' + (0, _semver.major)(_package.version)).digest('hex'); \ No newline at end of file
diff --git a/node_modules/istanbul-lib-instrument/dist/index.js b/node_modules/istanbul-lib-instrument/dist/index.js
index 8cf21074c..4a5a979f0 100644
--- a/node_modules/istanbul-lib-instrument/dist/index.js
+++ b/node_modules/istanbul-lib-instrument/dist/index.js
@@ -3,7 +3,7 @@
Object.defineProperty(exports, "__esModule", {
value: true
});
-exports.programVisitor = exports.createInstrumenter = undefined;
+exports.readInitialCoverage = exports.programVisitor = exports.createInstrumenter = undefined;
var _instrumenter = require('./instrumenter');
@@ -13,6 +13,10 @@ var _visitor = require('./visitor');
var _visitor2 = _interopRequireDefault(_visitor);
+var _readCoverage = require('./read-coverage');
+
+var _readCoverage2 = _interopRequireDefault(_readCoverage);
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
@@ -26,4 +30,5 @@ function createInstrumenter(opts) {
}
exports.createInstrumenter = createInstrumenter;
-exports.programVisitor = _visitor2.default; \ No newline at end of file
+exports.programVisitor = _visitor2.default;
+exports.readInitialCoverage = _readCoverage2.default; \ No newline at end of file
diff --git a/node_modules/istanbul-lib-instrument/dist/instrumenter.js b/node_modules/istanbul-lib-instrument/dist/instrumenter.js
index f4c14d950..1307bfd8a 100644
--- a/node_modules/istanbul-lib-instrument/dist/instrumenter.js
+++ b/node_modules/istanbul-lib-instrument/dist/instrumenter.js
@@ -67,7 +67,7 @@ function defaultOpts() {
var Instrumenter = function () {
function Instrumenter() {
- var opts = arguments.length <= 0 || arguments[0] === undefined ? defaultOpts() : arguments[0];
+ var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultOpts();
_classCallCheck(this, Instrumenter);
diff --git a/node_modules/istanbul-lib-instrument/dist/read-coverage.js b/node_modules/istanbul-lib-instrument/dist/read-coverage.js
new file mode 100644
index 000000000..73e74291a
--- /dev/null
+++ b/node_modules/istanbul-lib-instrument/dist/read-coverage.js
@@ -0,0 +1,78 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = readInitialCoverage;
+
+var _constants = require('./constants');
+
+var _babylon = require('babylon');
+
+var _babelTraverse = require('babel-traverse');
+
+var _babelTraverse2 = _interopRequireDefault(_babelTraverse);
+
+var _babelTypes = require('babel-types');
+
+var t = _interopRequireWildcard(_babelTypes);
+
+function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+function readInitialCoverage(code) {
+ if (typeof code !== 'string') {
+ throw new Error('Code must be a string');
+ }
+
+ // Parse as leniently as possible
+ var ast = (0, _babylon.parse)(code, {
+ allowImportExportEverywhere: true,
+ allowReturnOutsideFunction: true,
+ allowSuperOutsideMethod: true,
+ sourceType: "script", // I think ?
+ plugins: ["*"]
+ });
+
+ var covScope = void 0;
+ (0, _babelTraverse2.default)(ast, {
+ ObjectProperty: function ObjectProperty(path) {
+ var node = path.node;
+
+ if (!node.computed && t.isIdentifier(node.key) && node.key.name === _constants.MAGIC_KEY) {
+ var magicValue = path.get('value').evaluate();
+ if (!magicValue.confident || magicValue.value !== _constants.MAGIC_VALUE) {
+ return;
+ }
+ covScope = path.scope.getFunctionParent();
+ path.stop();
+ }
+ }
+ });
+
+ if (!covScope) {
+ return null;
+ }
+
+ var result = {};
+
+ var _arr = ['path', 'hash', 'gcv', 'coverageData'];
+ for (var _i = 0; _i < _arr.length; _i++) {
+ var key = _arr[_i];
+ var binding = covScope.getOwnBinding(key);
+ if (!binding) {
+ return null;
+ }
+ var valuePath = binding.path.get('init');
+ var value = valuePath.evaluate();
+ if (!value.confident) {
+ return null;
+ }
+ result[key] = value.value;
+ }
+
+ delete result.coverageData[_constants.MAGIC_KEY];
+
+ return result;
+} \ No newline at end of file
diff --git a/node_modules/istanbul-lib-instrument/dist/visitor.js b/node_modules/istanbul-lib-instrument/dist/visitor.js
index c1308b24c..55a616848 100644
--- a/node_modules/istanbul-lib-instrument/dist/visitor.js
+++ b/node_modules/istanbul-lib-instrument/dist/visitor.js
@@ -8,6 +8,8 @@ var _createClass = function () { function defineProperties(target, props) { for
var _sourceCoverage = require('./source-coverage');
+var _constants = require('./constants');
+
var _crypto = require('crypto');
var _babelTemplate = require('babel-template');
@@ -18,8 +20,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-// function to use for creating hashes
-var SHA = 'sha1';
// istanbul ignore comment pattern
var COMMENT_RE = /^\s*istanbul\s+ignore\s+(if|else|next)(?=\W|$)/;
// source map URL pattern
@@ -27,7 +27,7 @@ var SOURCE_MAP_RE = /[#@]\s*sourceMappingURL=(.*)\s*$/m;
// generate a variable name from hashing the supplied file path
function genVar(filename) {
- var hash = (0, _crypto.createHash)(SHA);
+ var hash = (0, _crypto.createHash)(_constants.SHA);
hash.update(filename);
return 'cov_' + parseInt(hash.digest('hex').substr(0, 12), 16).toString(36);
}
@@ -486,8 +486,8 @@ var coverageTemplate = (0, _babelTemplate2.default)('\n var COVERAGE_VAR = (f
* @param {string} [opts.coverageVariable=__coverage__] the global coverage variable name.
*/
function programVisitor(types) {
- var sourceFilePath = arguments.length <= 1 || arguments[1] === undefined ? 'unknown.js' : arguments[1];
- var opts = arguments.length <= 2 || arguments[2] === undefined ? { coverageVariable: '__coverage__' } : arguments[2];
+ var sourceFilePath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'unknown.js';
+ var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : { coverageVariable: '__coverage__' };
var T = types;
var visitState = new VisitState(types, sourceFilePath);
@@ -498,8 +498,10 @@ function programVisitor(types) {
exit: function exit(path) {
visitState.cov.freeze();
var coverageData = visitState.cov.toJSON();
- var hash = (0, _crypto.createHash)(SHA).update(JSON.stringify(coverageData)).digest('hex');
+ coverageData[_constants.MAGIC_KEY] = _constants.MAGIC_VALUE;
+ var hash = (0, _crypto.createHash)(_constants.SHA).update(JSON.stringify(coverageData)).digest('hex');
var coverageNode = T.valueToNode(coverageData);
+ delete coverageData[_constants.MAGIC_KEY];
var cv = coverageTemplate({
GLOBAL_COVERAGE_VAR: T.stringLiteral(opts.coverageVariable),
COVERAGE_VAR: T.identifier(visitState.varName),
@@ -507,6 +509,7 @@ function programVisitor(types) {
INITIAL: coverageNode,
HASH: T.stringLiteral(hash)
});
+ cv._blockHoist = 3;
path.node.body.unshift(cv);
return {
fileCoverage: coverageData,
diff --git a/node_modules/istanbul-lib-instrument/node_modules/.bin/babylon b/node_modules/istanbul-lib-instrument/node_modules/.bin/babylon
new file mode 120000
index 000000000..7ceac0182
--- /dev/null
+++ b/node_modules/istanbul-lib-instrument/node_modules/.bin/babylon
@@ -0,0 +1 @@
+../../../babylon/bin/babylon.js \ No newline at end of file
diff --git a/node_modules/istanbul-lib-instrument/node_modules/.bin/semver b/node_modules/istanbul-lib-instrument/node_modules/.bin/semver
new file mode 120000
index 000000000..58b26795f
--- /dev/null
+++ b/node_modules/istanbul-lib-instrument/node_modules/.bin/semver
@@ -0,0 +1 @@
+../../../normalize-package-data/node_modules/semver/bin/semver \ No newline at end of file
diff --git a/node_modules/istanbul-lib-instrument/node_modules/semver/LICENSE b/node_modules/istanbul-lib-instrument/node_modules/semver/LICENSE
new file mode 100644
index 000000000..19129e315
--- /dev/null
+++ b/node_modules/istanbul-lib-instrument/node_modules/semver/LICENSE
@@ -0,0 +1,15 @@
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/node_modules/istanbul-lib-instrument/node_modules/semver/README.md b/node_modules/istanbul-lib-instrument/node_modules/semver/README.md
new file mode 100644
index 000000000..cbd956549
--- /dev/null
+++ b/node_modules/istanbul-lib-instrument/node_modules/semver/README.md
@@ -0,0 +1,350 @@
+semver(1) -- The semantic versioner for npm
+===========================================
+
+## Usage
+
+ $ npm install semver
+ $ node
+ var semver = require('semver')
+
+ semver.valid('1.2.3') // '1.2.3'
+ semver.valid('a.b.c') // null
+ semver.clean(' =v1.2.3 ') // '1.2.3'
+ semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true
+ semver.gt('1.2.3', '9.8.7') // false
+ semver.lt('1.2.3', '9.8.7') // true
+
+As a command-line utility:
+
+ $ semver -h
+
+ SemVer 5.1.0
+
+ A JavaScript implementation of the http://semver.org/ specification
+ Copyright Isaac Z. Schlueter
+
+ Usage: semver [options] <version> [<version> [...]]
+ Prints valid versions sorted by SemVer precedence
+
+ Options:
+ -r --range <range>
+ Print versions that match the specified range.
+
+ -i --increment [<level>]
+ Increment a version by the specified level. Level can
+ be one of: major, minor, patch, premajor, preminor,
+ prepatch, or prerelease. Default level is 'patch'.
+ Only one version may be specified.
+
+ --preid <identifier>
+ Identifier to be used to prefix premajor, preminor,
+ prepatch or prerelease version increments.
+
+ -l --loose
+ Interpret versions and ranges loosely
+
+ Program exits successfully if any valid version satisfies
+ all supplied ranges, and prints all satisfying versions.
+
+ If no satisfying versions are found, then exits failure.
+
+ Versions are printed in ascending order, so supplying
+ multiple versions to the utility will just sort them.
+
+## Versions
+
+A "version" is described by the `v2.0.0` specification found at
+<http://semver.org/>.
+
+A leading `"="` or `"v"` character is stripped off and ignored.
+
+## Ranges
+
+A `version range` is a set of `comparators` which specify versions
+that satisfy the range.
+
+A `comparator` is composed of an `operator` and a `version`. The set
+of primitive `operators` is:
+
+* `<` Less than
+* `<=` Less than or equal to
+* `>` Greater than
+* `>=` Greater than or equal to
+* `=` Equal. If no operator is specified, then equality is assumed,
+ so this operator is optional, but MAY be included.
+
+For example, the comparator `>=1.2.7` would match the versions
+`1.2.7`, `1.2.8`, `2.5.3`, and `1.3.9`, but not the versions `1.2.6`
+or `1.1.0`.
+
+Comparators can be joined by whitespace to form a `comparator set`,
+which is satisfied by the **intersection** of all of the comparators
+it includes.
+
+A range is composed of one or more comparator sets, joined by `||`. A
+version matches a range if and only if every comparator in at least
+one of the `||`-separated comparator sets is satisfied by the version.
+
+For example, the range `>=1.2.7 <1.3.0` would match the versions
+`1.2.7`, `1.2.8`, and `1.2.99`, but not the versions `1.2.6`, `1.3.0`,
+or `1.1.0`.
+
+The range `1.2.7 || >=1.2.9 <2.0.0` would match the versions `1.2.7`,
+`1.2.9`, and `1.4.6`, but not the versions `1.2.8` or `2.0.0`.
+
+### Prerelease Tags
+
+If a version has a prerelease tag (for example, `1.2.3-alpha.3`) then
+it will only be allowed to satisfy comparator sets if at least one
+comparator with the same `[major, minor, patch]` tuple also has a
+prerelease tag.
+
+For example, the range `>1.2.3-alpha.3` would be allowed to match the
+version `1.2.3-alpha.7`, but it would *not* be satisfied by
+`3.4.5-alpha.9`, even though `3.4.5-alpha.9` is technically "greater
+than" `1.2.3-alpha.3` according to the SemVer sort rules. The version
+range only accepts prerelease tags on the `1.2.3` version. The
+version `3.4.5` *would* satisfy the range, because it does not have a
+prerelease flag, and `3.4.5` is greater than `1.2.3-alpha.7`.
+
+The purpose for this behavior is twofold. First, prerelease versions
+frequently are updated very quickly, and contain many breaking changes
+that are (by the author's design) not yet fit for public consumption.
+Therefore, by default, they are excluded from range matching
+semantics.
+
+Second, a user who has opted into using a prerelease version has
+clearly indicated the intent to use *that specific* set of
+alpha/beta/rc versions. By including a prerelease tag in the range,
+the user is indicating that they are aware of the risk. However, it
+is still not appropriate to assume that they have opted into taking a
+similar risk on the *next* set of prerelease versions.
+
+#### Prerelease Identifiers
+
+The method `.inc` takes an additional `identifier` string argument that
+will append the value of the string as a prerelease identifier:
+
+```javascript
+> semver.inc('1.2.3', 'prerelease', 'beta')
+'1.2.4-beta.0'
+```
+
+command-line example:
+
+```shell
+$ semver 1.2.3 -i prerelease --preid beta
+1.2.4-beta.0
+```
+
+Which then can be used to increment further:
+
+```shell
+$ semver 1.2.4-beta.0 -i prerelease
+1.2.4-beta.1
+```
+
+### Advanced Range Syntax
+
+Advanced range syntax desugars to primitive comparators in
+deterministic ways.
+
+Advanced ranges may be combined in the same way as primitive
+comparators using white space or `||`.
+
+#### Hyphen Ranges `X.Y.Z - A.B.C`
+
+Specifies an inclusive set.
+
+* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`
+
+If a partial version is provided as the first version in the inclusive
+range, then the missing pieces are replaced with zeroes.
+
+* `1.2 - 2.3.4` := `>=1.2.0 <=2.3.4`
+
+If a partial version is provided as the second version in the
+inclusive range, then all versions that start with the supplied parts
+of the tuple are accepted, but nothing that would be greater than the
+provided tuple parts.
+
+* `1.2.3 - 2.3` := `>=1.2.3 <2.4.0`
+* `1.2.3 - 2` := `>=1.2.3 <3.0.0`
+
+#### X-Ranges `1.2.x` `1.X` `1.2.*` `*`
+
+Any of `X`, `x`, or `*` may be used to "stand in" for one of the
+numeric values in the `[major, minor, patch]` tuple.
+
+* `*` := `>=0.0.0` (Any version satisfies)
+* `1.x` := `>=1.0.0 <2.0.0` (Matching major version)
+* `1.2.x` := `>=1.2.0 <1.3.0` (Matching major and minor versions)
+
+A partial version range is treated as an X-Range, so the special
+character is in fact optional.
+
+* `""` (empty string) := `*` := `>=0.0.0`
+* `1` := `1.x.x` := `>=1.0.0 <2.0.0`
+* `1.2` := `1.2.x` := `>=1.2.0 <1.3.0`
+
+#### Tilde Ranges `~1.2.3` `~1.2` `~1`
+
+Allows patch-level changes if a minor version is specified on the
+comparator. Allows minor-level changes if not.
+
+* `~1.2.3` := `>=1.2.3 <1.(2+1).0` := `>=1.2.3 <1.3.0`
+* `~1.2` := `>=1.2.0 <1.(2+1).0` := `>=1.2.0 <1.3.0` (Same as `1.2.x`)
+* `~1` := `>=1.0.0 <(1+1).0.0` := `>=1.0.0 <2.0.0` (Same as `1.x`)
+* `~0.2.3` := `>=0.2.3 <0.(2+1).0` := `>=0.2.3 <0.3.0`
+* `~0.2` := `>=0.2.0 <0.(2+1).0` := `>=0.2.0 <0.3.0` (Same as `0.2.x`)
+* `~0` := `>=0.0.0 <(0+1).0.0` := `>=0.0.0 <1.0.0` (Same as `0.x`)
+* `~1.2.3-beta.2` := `>=1.2.3-beta.2 <1.3.0` Note that prereleases in
+ the `1.2.3` version will be allowed, if they are greater than or
+ equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but
+ `1.2.4-beta.2` would not, because it is a prerelease of a
+ different `[major, minor, patch]` tuple.
+
+#### Caret Ranges `^1.2.3` `^0.2.5` `^0.0.4`
+
+Allows changes that do not modify the left-most non-zero digit in the
+`[major, minor, patch]` tuple. In other words, this allows patch and
+minor updates for versions `1.0.0` and above, patch updates for
+versions `0.X >=0.1.0`, and *no* updates for versions `0.0.X`.
+
+Many authors treat a `0.x` version as if the `x` were the major
+"breaking-change" indicator.
+
+Caret ranges are ideal when an author may make breaking changes
+between `0.2.4` and `0.3.0` releases, which is a common practice.
+However, it presumes that there will *not* be breaking changes between
+`0.2.4` and `0.2.5`. It allows for changes that are presumed to be
+additive (but non-breaking), according to commonly observed practices.
+
+* `^1.2.3` := `>=1.2.3 <2.0.0`
+* `^0.2.3` := `>=0.2.3 <0.3.0`
+* `^0.0.3` := `>=0.0.3 <0.0.4`
+* `^1.2.3-beta.2` := `>=1.2.3-beta.2 <2.0.0` Note that prereleases in
+ the `1.2.3` version will be allowed, if they are greater than or
+ equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but
+ `1.2.4-beta.2` would not, because it is a prerelease of a
+ different `[major, minor, patch]` tuple.
+* `^0.0.3-beta` := `>=0.0.3-beta <0.0.4` Note that prereleases in the
+ `0.0.3` version *only* will be allowed, if they are greater than or
+ equal to `beta`. So, `0.0.3-pr.2` would be allowed.
+
+When parsing caret ranges, a missing `patch` value desugars to the
+number `0`, but will allow flexibility within that value, even if the
+major and minor versions are both `0`.
+
+* `^1.2.x` := `>=1.2.0 <2.0.0`
+* `^0.0.x` := `>=0.0.0 <0.1.0`
+* `^0.0` := `>=0.0.0 <0.1.0`
+
+A missing `minor` and `patch` values will desugar to zero, but also
+allow flexibility within those values, even if the major version is
+zero.
+
+* `^1.x` := `>=1.0.0 <2.0.0`
+* `^0.x` := `>=0.0.0 <1.0.0`
+
+### Range Grammar
+
+Putting all this together, here is a Backus-Naur grammar for ranges,
+for the benefit of parser authors:
+
+```bnf
+range-set ::= range ( logical-or range ) *
+logical-or ::= ( ' ' ) * '||' ( ' ' ) *
+range ::= hyphen | simple ( ' ' simple ) * | ''
+hyphen ::= partial ' - ' partial
+simple ::= primitive | partial | tilde | caret
+primitive ::= ( '<' | '>' | '>=' | '<=' | '=' | ) partial
+partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )?
+xr ::= 'x' | 'X' | '*' | nr
+nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) *
+tilde ::= '~' partial
+caret ::= '^' partial
+qualifier ::= ( '-' pre )? ( '+' build )?
+pre ::= parts
+build ::= parts
+parts ::= part ( '.' part ) *
+part ::= nr | [-0-9A-Za-z]+
+```
+
+## Functions
+
+All methods and classes take a final `loose` boolean argument that, if
+true, will be more forgiving about not-quite-valid semver strings.
+The resulting output will always be 100% strict, of course.
+
+Strict-mode Comparators and Ranges will be strict about the SemVer
+strings that they parse.
+
+* `valid(v)`: Return the parsed version, or null if it's not valid.
+* `inc(v, release)`: Return the version incremented by the release
+ type (`major`, `premajor`, `minor`, `preminor`, `patch`,
+ `prepatch`, or `prerelease`), or null if it's not valid
+ * `premajor` in one call will bump the version up to the next major
+ version and down to a prerelease of that major version.
+ `preminor`, and `prepatch` work the same way.
+ * If called from a non-prerelease version, the `prerelease` will work the
+ same as `prepatch`. It increments the patch version, then makes a
+ prerelease. If the input version is already a prerelease it simply
+ increments it.
+* `prerelease(v)`: Returns an array of prerelease components, or null
+ if none exist. Example: `prerelease('1.2.3-alpha.1') -> ['alpha', 1]`
+* `major(v)`: Return the major version number.
+* `minor(v)`: Return the minor version number.
+* `patch(v)`: Return the patch version number.
+
+### Comparison
+
+* `gt(v1, v2)`: `v1 > v2`
+* `gte(v1, v2)`: `v1 >= v2`
+* `lt(v1, v2)`: `v1 < v2`
+* `lte(v1, v2)`: `v1 <= v2`
+* `eq(v1, v2)`: `v1 == v2` This is true if they're logically equivalent,
+ even if they're not the exact same string. You already know how to
+ compare strings.
+* `neq(v1, v2)`: `v1 != v2` The opposite of `eq`.
+* `cmp(v1, comparator, v2)`: Pass in a comparison string, and it'll call
+ the corresponding function above. `"==="` and `"!=="` do simple
+ string comparison, but are included for completeness. Throws if an
+ invalid comparison string is provided.
+* `compare(v1, v2)`: Return `0` if `v1 == v2`, or `1` if `v1` is greater, or `-1` if
+ `v2` is greater. Sorts in ascending order if passed to `Array.sort()`.
+* `rcompare(v1, v2)`: The reverse of compare. Sorts an array of versions
+ in descending order when passed to `Array.sort()`.
+* `diff(v1, v2)`: Returns difference between two versions by the release type
+ (`major`, `premajor`, `minor`, `preminor`, `patch`, `prepatch`, or `prerelease`),
+ or null if the versions are the same.
+
+
+### Ranges
+
+* `validRange(range)`: Return the valid range or null if it's not valid
+* `satisfies(version, range)`: Return true if the version satisfies the
+ range.
+* `maxSatisfying(versions, range)`: Return the highest version in the list
+ that satisfies the range, or `null` if none of them do.
+* `minSatisfying(versions, range)`: Return the lowest version in the list
+ that satisfies the range, or `null` if none of them do.
+* `gtr(version, range)`: Return `true` if version is greater than all the
+ versions possible in the range.
+* `ltr(version, range)`: Return `true` if version is less than all the
+ versions possible in the range.
+* `outside(version, range, hilo)`: Return true if the version is outside
+ the bounds of the range in either the high or low direction. The
+ `hilo` argument must be either the string `'>'` or `'<'`. (This is
+ the function called by `gtr` and `ltr`.)
+
+Note that, since ranges may be non-contiguous, a version might not be
+greater than a range, less than a range, *or* satisfy a range! For
+example, the range `1.2 <1.2.9 || >2.0.0` would have a hole from `1.2.9`
+until `2.0.0`, so the version `1.2.10` would not be greater than the
+range (because `2.0.1` satisfies, which is higher), nor less than the
+range (since `1.2.8` satisfies, which is lower), and it also does not
+satisfy the range.
+
+If you want to know if a version satisfies or does not satisfy a
+range, use the `satisfies(version, range)` function.
diff --git a/node_modules/istanbul-lib-instrument/node_modules/semver/bin/semver b/node_modules/istanbul-lib-instrument/node_modules/semver/bin/semver
new file mode 100755
index 000000000..c5f2e857e
--- /dev/null
+++ b/node_modules/istanbul-lib-instrument/node_modules/semver/bin/semver
@@ -0,0 +1,133 @@
+#!/usr/bin/env node
+// Standalone semver comparison program.
+// Exits successfully and prints matching version(s) if
+// any supplied version is valid and passes all tests.
+
+var argv = process.argv.slice(2)
+ , versions = []
+ , range = []
+ , gt = []
+ , lt = []
+ , eq = []
+ , inc = null
+ , version = require("../package.json").version
+ , loose = false
+ , identifier = undefined
+ , semver = require("../semver")
+ , reverse = false
+
+main()
+
+function main () {
+ if (!argv.length) return help()
+ while (argv.length) {
+ var a = argv.shift()
+ var i = a.indexOf('=')
+ if (i !== -1) {
+ a = a.slice(0, i)
+ argv.unshift(a.slice(i + 1))
+ }
+ switch (a) {
+ case "-rv": case "-rev": case "--rev": case "--reverse":
+ reverse = true
+ break
+ case "-l": case "--loose":
+ loose = true
+ break
+ case "-v": case "--version":
+ versions.push(argv.shift())
+ break
+ case "-i": case "--inc": case "--increment":
+ switch (argv[0]) {
+ case "major": case "minor": case "patch": case "prerelease":
+ case "premajor": case "preminor": case "prepatch":
+ inc = argv.shift()
+ break
+ default:
+ inc = "patch"
+ break
+ }
+ break
+ case "--preid":
+ identifier = argv.shift()
+ break
+ case "-r": case "--range":
+ range.push(argv.shift())
+ break
+ case "-h": case "--help": case "-?":
+ return help()
+ default:
+ versions.push(a)
+ break
+ }
+ }
+
+ versions = versions.filter(function (v) {
+ return semver.valid(v, loose)
+ })
+ if (!versions.length) return fail()
+ if (inc && (versions.length !== 1 || range.length))
+ return failInc()
+
+ for (var i = 0, l = range.length; i < l ; i ++) {
+ versions = versions.filter(function (v) {
+ return semver.satisfies(v, range[i], loose)
+ })
+ if (!versions.length) return fail()
+ }
+ return success(versions)
+}
+
+function failInc () {
+ console.error("--inc can only be used on a single version with no range")
+ fail()
+}
+
+function fail () { process.exit(1) }
+
+function success () {
+ var compare = reverse ? "rcompare" : "compare"
+ versions.sort(function (a, b) {
+ return semver[compare](a, b, loose)
+ }).map(function (v) {
+ return semver.clean(v, loose)
+ }).map(function (v) {
+ return inc ? semver.inc(v, inc, loose, identifier) : v
+ }).forEach(function (v,i,_) { console.log(v) })
+}
+
+function help () {
+ console.log(["SemVer " + version
+ ,""
+ ,"A JavaScript implementation of the http://semver.org/ specification"
+ ,"Copyright Isaac Z. Schlueter"
+ ,""
+ ,"Usage: semver [options] <version> [<version> [...]]"
+ ,"Prints valid versions sorted by SemVer precedence"
+ ,""
+ ,"Options:"
+ ,"-r --range <range>"
+ ," Print versions that match the specified range."
+ ,""
+ ,"-i --increment [<level>]"
+ ," Increment a version by the specified level. Level can"
+ ," be one of: major, minor, patch, premajor, preminor,"
+ ," prepatch, or prerelease. Default level is 'patch'."
+ ," Only one version may be specified."
+ ,""
+ ,"--preid <identifier>"
+ ," Identifier to be used to prefix premajor, preminor,"
+ ," prepatch or prerelease version increments."
+ ,""
+ ,"-l --loose"
+ ," Interpret versions and ranges loosely"
+ ,""
+ ,"Program exits successfully if any valid version satisfies"
+ ,"all supplied ranges, and prints all satisfying versions."
+ ,""
+ ,"If no satisfying versions are found, then exits failure."
+ ,""
+ ,"Versions are printed in ascending order, so supplying"
+ ,"multiple versions to the utility will just sort them."
+ ].join("\n"))
+}
diff --git a/node_modules/istanbul-lib-instrument/node_modules/semver/package.json b/node_modules/istanbul-lib-instrument/node_modules/semver/package.json
new file mode 100644
index 000000000..ec9b01643
--- /dev/null
+++ b/node_modules/istanbul-lib-instrument/node_modules/semver/package.json
@@ -0,0 +1,22 @@
+{
+ "name": "semver",
+ "version": "5.3.0",
+ "description": "The semantic version parser used by npm.",
+ "main": "semver.js",
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "devDependencies": {
+ "tap": "^2.0.0"
+ },
+ "license": "ISC",
+ "repository": "https://github.com/npm/node-semver",
+ "bin": {
+ "semver": "./bin/semver"
+ },
+ "files": [
+ "bin",
+ "range.bnf",
+ "semver.js"
+ ]
+}
diff --git a/node_modules/istanbul-lib-instrument/node_modules/semver/range.bnf b/node_modules/istanbul-lib-instrument/node_modules/semver/range.bnf
new file mode 100644
index 000000000..25ebd5c83
--- /dev/null
+++ b/node_modules/istanbul-lib-instrument/node_modules/semver/range.bnf
@@ -0,0 +1,16 @@
+range-set ::= range ( logical-or range ) *
+logical-or ::= ( ' ' ) * '||' ( ' ' ) *
+range ::= hyphen | simple ( ' ' simple ) * | ''
+hyphen ::= partial ' - ' partial
+simple ::= primitive | partial | tilde | caret
+primitive ::= ( '<' | '>' | '>=' | '<=' | '=' | ) partial
+partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )?
+xr ::= 'x' | 'X' | '*' | nr
+nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) *
+tilde ::= '~' partial
+caret ::= '^' partial
+qualifier ::= ( '-' pre )? ( '+' build )?
+pre ::= parts
+build ::= parts
+parts ::= part ( '.' part ) *
+part ::= nr | [-0-9A-Za-z]+
diff --git a/node_modules/istanbul-lib-instrument/node_modules/semver/semver.js b/node_modules/istanbul-lib-instrument/node_modules/semver/semver.js
new file mode 100644
index 000000000..5f1a3c5c9
--- /dev/null
+++ b/node_modules/istanbul-lib-instrument/node_modules/semver/semver.js
@@ -0,0 +1,1203 @@
+exports = module.exports = SemVer;
+
+// The debug function is excluded entirely from the minified version.
+/* nomin */ var debug;
+/* nomin */ if (typeof process === 'object' &&
+ /* nomin */ process.env &&
+ /* nomin */ process.env.NODE_DEBUG &&
+ /* nomin */ /\bsemver\b/i.test(process.env.NODE_DEBUG))
+ /* nomin */ debug = function() {
+ /* nomin */ var args = Array.prototype.slice.call(arguments, 0);
+ /* nomin */ args.unshift('SEMVER');
+ /* nomin */ console.log.apply(console, args);
+ /* nomin */ };
+/* nomin */ else
+ /* nomin */ debug = function() {};
+
+// Note: this is the semver.org version of the spec that it implements
+// Not necessarily the package version of this code.
+exports.SEMVER_SPEC_VERSION = '2.0.0';
+
+var MAX_LENGTH = 256;
+var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
+
+// The actual regexps go on exports.re
+var re = exports.re = [];
+var src = exports.src = [];
+var R = 0;
+
+// The following Regular Expressions can be used for tokenizing,
+// validating, and parsing SemVer version strings.
+
+// ## Numeric Identifier
+// A single `0`, or a non-zero digit followed by zero or more digits.
+
+var NUMERICIDENTIFIER = R++;
+src[NUMERICIDENTIFIER] = '0|[1-9]\\d*';
+var NUMERICIDENTIFIERLOOSE = R++;
+src[NUMERICIDENTIFIERLOOSE] = '[0-9]+';
+
+
+// ## Non-numeric Identifier
+// Zero or more digits, followed by a letter or hyphen, and then zero or
+// more letters, digits, or hyphens.
+
+var NONNUMERICIDENTIFIER = R++;
+src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*';
+
+
+// ## Main Version
+// Three dot-separated numeric identifiers.
+
+var MAINVERSION = R++;
+src[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\.' +
+ '(' + src[NUMERICIDENTIFIER] + ')\\.' +
+ '(' + src[NUMERICIDENTIFIER] + ')';
+
+var MAINVERSIONLOOSE = R++;
+src[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' +
+ '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' +
+ '(' + src[NUMERICIDENTIFIERLOOSE] + ')';
+
+// ## Pre-release Version Identifier
+// A numeric identifier, or a non-numeric identifier.
+
+var PRERELEASEIDENTIFIER = R++;
+src[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] +
+ '|' + src[NONNUMERICIDENTIFIER] + ')';
+
+var PRERELEASEIDENTIFIERLOOSE = R++;
+src[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] +
+ '|' + src[NONNUMERICIDENTIFIER] + ')';
+
+
+// ## Pre-release Version
+// Hyphen, followed by one or more dot-separated pre-release version
+// identifiers.
+
+var PRERELEASE = R++;
+src[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] +
+ '(?:\\.' + src[PRERELEASEIDENTIFIER] + ')*))';
+
+var PRERELEASELOOSE = R++;
+src[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +
+ '(?:\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))';
+
+// ## Build Metadata Identifier
+// Any combination of digits, letters, or hyphens.
+
+var BUILDIDENTIFIER = R++;
+src[BUILDIDENTIFIER] = '[0-9A-Za-z-]+';
+
+// ## Build Metadata
+// Plus sign, followed by one or more period-separated build metadata
+// identifiers.
+
+var BUILD = R++;
+src[BUILD] = '(?:\\+(' + src[BUILDIDENTIFIER] +
+ '(?:\\.' + src[BUILDIDENTIFIER] + ')*))';
+
+
+// ## Full Version String
+// A main version, followed optionally by a pre-release version and
+// build metadata.
+
+// Note that the only major, minor, patch, and pre-release sections of
+// the version string are capturing groups. The build metadata is not a
+// capturing group, because it should not ever be used in version
+// comparison.
+
+var FULL = R++;
+var FULLPLAIN = 'v?' + src[MAINVERSION] +
+ src[PRERELEASE] + '?' +
+ src[BUILD] + '?';
+
+src[FULL] = '^' + FULLPLAIN + '$';
+
+// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.
+// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty
+// common in the npm registry.
+var LOOSEPLAIN = '[v=\\s]*' + src[MAINVERSIONLOOSE] +
+ src[PRERELEASELOOSE] + '?' +
+ src[BUILD] + '?';
+
+var LOOSE = R++;
+src[LOOSE] = '^' + LOOSEPLAIN + '$';
+
+var GTLT = R++;
+src[GTLT] = '((?:<|>)?=?)';
+
+// Something like "2.*" or "1.2.x".
+// Note that "x.x" is a valid xRange identifer, meaning "any version"
+// Only the first item is strictly required.
+var XRANGEIDENTIFIERLOOSE = R++;
+src[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\*';
+var XRANGEIDENTIFIER = R++;
+src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\*';
+
+var XRANGEPLAIN = R++;
+src[XRANGEPLAIN] = '[v=\\s]*(' + src[XRANGEIDENTIFIER] + ')' +
+ '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' +
+ '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' +
+ '(?:' + src[PRERELEASE] + ')?' +
+ src[BUILD] + '?' +
+ ')?)?';
+
+var XRANGEPLAINLOOSE = R++;
+src[XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
+ '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
+ '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
+ '(?:' + src[PRERELEASELOOSE] + ')?' +
+ src[BUILD] + '?' +
+ ')?)?';
+
+var XRANGE = R++;
+src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$';
+var XRANGELOOSE = R++;
+src[XRANGELOOSE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAINLOOSE] + '$';
+
+// Tilde ranges.
+// Meaning is "reasonably at or greater than"
+var LONETILDE = R++;
+src[LONETILDE] = '(?:~>?)';
+
+var TILDETRIM = R++;
+src[TILDETRIM] = '(\\s*)' + src[LONETILDE] + '\\s+';
+re[TILDETRIM] = new RegExp(src[TILDETRIM], 'g');
+var tildeTrimReplace = '$1~';
+
+var TILDE = R++;
+src[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$';
+var TILDELOOSE = R++;
+src[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$';
+
+// Caret ranges.
+// Meaning is "at least and backwards compatible with"
+var LONECARET = R++;
+src[LONECARET] = '(?:\\^)';
+
+var CARETTRIM = R++;
+src[CARETTRIM] = '(\\s*)' + src[LONECARET] + '\\s+';
+re[CARETTRIM] = new RegExp(src[CARETTRIM], 'g');
+var caretTrimReplace = '$1^';
+
+var CARET = R++;
+src[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$';
+var CARETLOOSE = R++;
+src[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$';
+
+// A simple gt/lt/eq thing, or just "" to indicate "any version"
+var COMPARATORLOOSE = R++;
+src[COMPARATORLOOSE] = '^' + src[GTLT] + '\\s*(' + LOOSEPLAIN + ')$|^$';
+var COMPARATOR = R++;
+src[COMPARATOR] = '^' + src[GTLT] + '\\s*(' + FULLPLAIN + ')$|^$';
+
+
+// An expression to strip any whitespace between the gtlt and the thing
+// it modifies, so that `> 1.2.3` ==> `>1.2.3`
+var COMPARATORTRIM = R++;
+src[COMPARATORTRIM] = '(\\s*)' + src[GTLT] +
+ '\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')';
+
+// this one has to use the /g flag
+re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g');
+var comparatorTrimReplace = '$1$2$3';
+
+
+// Something like `1.2.3 - 1.2.4`
+// Note that these all use the loose form, because they'll be
+// checked against either the strict or loose comparator form
+// later.
+var HYPHENRANGE = R++;
+src[HYPHENRANGE] = '^\\s*(' + src[XRANGEPLAIN] + ')' +
+ '\\s+-\\s+' +
+ '(' + src[XRANGEPLAIN] + ')' +
+ '\\s*$';
+
+var HYPHENRANGELOOSE = R++;
+src[HYPHENRANGELOOSE] = '^\\s*(' + src[XRANGEPLAINLOOSE] + ')' +
+ '\\s+-\\s+' +
+ '(' + src[XRANGEPLAINLOOSE] + ')' +
+ '\\s*$';
+
+// Star ranges basically just allow anything at all.
+var STAR = R++;
+src[STAR] = '(<|>)?=?\\s*\\*';
+
+// Compile to actual regexp objects.
+// All are flag-free, unless they were created above with a flag.
+for (var i = 0; i < R; i++) {
+ debug(i, src[i]);
+ if (!re[i])
+ re[i] = new RegExp(src[i]);
+}
+
+exports.parse = parse;
+function parse(version, loose) {
+ if (version instanceof SemVer)
+ return version;
+
+ if (typeof version !== 'string')
+ return null;
+
+ if (version.length > MAX_LENGTH)
+ return null;
+
+ var r = loose ? re[LOOSE] : re[FULL];
+ if (!r.test(version))
+ return null;
+
+ try {
+ return new SemVer(version, loose);
+ } catch (er) {
+ return null;
+ }
+}
+
+exports.valid = valid;
+function valid(version, loose) {
+ var v = parse(version, loose);
+ return v ? v.version : null;
+}
+
+
+exports.clean = clean;
+function clean(version, loose) {
+ var s = parse(version.trim().replace(/^[=v]+/, ''), loose);
+ return s ? s.version : null;
+}
+
+exports.SemVer = SemVer;
+
+function SemVer(version, loose) {
+ if (version instanceof SemVer) {
+ if (version.loose === loose)
+ return version;
+ else
+ version = version.version;
+ } else if (typeof version !== 'string') {
+ throw new TypeError('Invalid Version: ' + version);
+ }
+
+ if (version.length > MAX_LENGTH)
+ throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters')
+
+ if (!(this instanceof SemVer))
+ return new SemVer(version, loose);
+
+ debug('SemVer', version, loose);
+ this.loose = loose;
+ var m = version.trim().match(loose ? re[LOOSE] : re[FULL]);
+
+ if (!m)
+ throw new TypeError('Invalid Version: ' + version);
+
+ this.raw = version;
+
+ // these are actually numbers
+ this.major = +m[1];
+ this.minor = +m[2];
+ this.patch = +m[3];
+
+ if (this.major > MAX_SAFE_INTEGER || this.major < 0)
+ throw new TypeError('Invalid major version')
+
+ if (this.minor > MAX_SAFE_INTEGER || this.minor < 0)
+ throw new TypeError('Invalid minor version')
+
+ if (this.patch > MAX_SAFE_INTEGER || this.patch < 0)
+ throw new TypeError('Invalid patch version')
+
+ // numberify any prerelease numeric ids
+ if (!m[4])
+ this.prerelease = [];
+ else
+ this.prerelease = m[4].split('.').map(function(id) {
+ if (/^[0-9]+$/.test(id)) {
+ var num = +id;
+ if (num >= 0 && num < MAX_SAFE_INTEGER)
+ return num;
+ }
+ return id;
+ });
+
+ this.build = m[5] ? m[5].split('.') : [];
+ this.format();
+}
+
+SemVer.prototype.format = function() {
+ this.version = this.major + '.' + this.minor + '.' + this.patch;
+ if (this.prerelease.length)
+ this.version += '-' + this.prerelease.join('.');
+ return this.version;
+};
+
+SemVer.prototype.toString = function() {
+ return this.version;
+};
+
+SemVer.prototype.compare = function(other) {
+ debug('SemVer.compare', this.version, this.loose, other);
+ if (!(other instanceof SemVer))
+ other = new SemVer(other, this.loose);
+
+ return this.compareMain(other) || this.comparePre(other);
+};
+
+SemVer.prototype.compareMain = function(other) {
+ if (!(other instanceof SemVer))
+ other = new SemVer(other, this.loose);
+
+ return compareIdentifiers(this.major, other.major) ||
+ compareIdentifiers(this.minor, other.minor) ||
+ compareIdentifiers(this.patch, other.patch);
+};
+
+SemVer.prototype.comparePre = function(other) {
+ if (!(other instanceof SemVer))
+ other = new SemVer(other, this.loose);
+
+ // NOT having a prerelease is > having one
+ if (this.prerelease.length && !other.prerelease.length)
+ return -1;
+ else if (!this.prerelease.length && other.prerelease.length)
+ return 1;
+ else if (!this.prerelease.length && !other.prerelease.length)
+ return 0;
+
+ var i = 0;
+ do {
+ var a = this.prerelease[i];
+ var b = other.prerelease[i];
+ debug('prerelease compare', i, a, b);
+ if (a === undefined && b === undefined)
+ return 0;
+ else if (b === undefined)
+ return 1;
+ else if (a === undefined)
+ return -1;
+ else if (a === b)
+ continue;
+ else
+ return compareIdentifiers(a, b);
+ } while (++i);
+};
+
+// preminor will bump the version up to the next minor release, and immediately
+// down to pre-release. premajor and prepatch work the same way.
+SemVer.prototype.inc = function(release, identifier) {
+ switch (release) {
+ case 'premajor':
+ this.prerelease.length = 0;
+ this.patch = 0;
+ this.minor = 0;
+ this.major++;
+ this.inc('pre', identifier);
+ break;
+ case 'preminor':
+ this.prerelease.length = 0;
+ this.patch = 0;
+ this.minor++;
+ this.inc('pre', identifier);
+ break;
+ case 'prepatch':
+ // If this is already a prerelease, it will bump to the next version
+ // drop any prereleases that might already exist, since they are not
+ // relevant at this point.
+ this.prerelease.length = 0;
+ this.inc('patch', identifier);
+ this.inc('pre', identifier);
+ break;
+ // If the input is a non-prerelease version, this acts the same as
+ // prepatch.
+ case 'prerelease':
+ if (this.prerelease.length === 0)
+ this.inc('patch', identifier);
+ this.inc('pre', identifier);
+ break;
+
+ case 'major':
+ // If this is a pre-major version, bump up to the same major version.
+ // Otherwise increment major.
+ // 1.0.0-5 bumps to 1.0.0
+ // 1.1.0 bumps to 2.0.0
+ if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0)
+ this.major++;
+ this.minor = 0;
+ this.patch = 0;
+ this.prerelease = [];
+ break;
+ case 'minor':
+ // If this is a pre-minor version, bump up to the same minor version.
+ // Otherwise increment minor.
+ // 1.2.0-5 bumps to 1.2.0
+ // 1.2.1 bumps to 1.3.0
+ if (this.patch !== 0 || this.prerelease.length === 0)
+ this.minor++;
+ this.patch = 0;
+ this.prerelease = [];
+ break;
+ case 'patch':
+ // If this is not a pre-release version, it will increment the patch.
+ // If it is a pre-release it will bump up to the same patch version.
+ // 1.2.0-5 patches to 1.2.0
+ // 1.2.0 patches to 1.2.1
+ if (this.prerelease.length === 0)
+ this.patch++;
+ this.prerelease = [];
+ break;
+ // This probably shouldn't be used publicly.
+ // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction.
+ case 'pre':
+ if (this.prerelease.length === 0)
+ this.prerelease = [0];
+ else {
+ var i = this.prerelease.length;
+ while (--i >= 0) {
+ if (typeof this.prerelease[i] === 'number') {
+ this.prerelease[i]++;
+ i = -2;
+ }
+ }
+ if (i === -1) // didn't increment anything
+ this.prerelease.push(0);
+ }
+ if (identifier) {
+ // 1.2.0-beta.1 bumps to 1.2.0-beta.2,
+ // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0
+ if (this.prerelease[0] === identifier) {
+ if (isNaN(this.prerelease[1]))
+ this.prerelease = [identifier, 0];
+ } else
+ this.prerelease = [identifier, 0];
+ }
+ break;
+
+ default:
+ throw new Error('invalid increment argument: ' + release);
+ }
+ this.format();
+ this.raw = this.version;
+ return this;
+};
+
+exports.inc = inc;
+function inc(version, release, loose, identifier) {
+ if (typeof(loose) === 'string') {
+ identifier = loose;
+ loose = undefined;
+ }
+
+ try {
+ return new SemVer(version, loose).inc(release, identifier).version;
+ } catch (er) {
+ return null;
+ }
+}
+
+exports.diff = diff;
+function diff(version1, version2) {
+ if (eq(version1, version2)) {
+ return null;
+ } else {
+ var v1 = parse(version1);
+ var v2 = parse(version2);
+ if (v1.prerelease.length || v2.prerelease.length) {
+ for (var key in v1) {
+ if (key === 'major' || key === 'minor' || key === 'patch') {
+ if (v1[key] !== v2[key]) {
+ return 'pre'+key;
+ }
+ }
+ }
+ return 'prerelease';
+ }
+ for (var key in v1) {
+ if (key === 'major' || key === 'minor' || key === 'patch') {
+ if (v1[key] !== v2[key]) {
+ return key;
+ }
+ }
+ }
+ }
+}
+
+exports.compareIdentifiers = compareIdentifiers;
+
+var numeric = /^[0-9]+$/;
+function compareIdentifiers(a, b) {
+ var anum = numeric.test(a);
+ var bnum = numeric.test(b);
+
+ if (anum && bnum) {
+ a = +a;
+ b = +b;
+ }
+
+ return (anum && !bnum) ? -1 :
+ (bnum && !anum) ? 1 :
+ a < b ? -1 :
+ a > b ? 1 :
+ 0;
+}
+
+exports.rcompareIdentifiers = rcompareIdentifiers;
+function rcompareIdentifiers(a, b) {
+ return compareIdentifiers(b, a);
+}
+
+exports.major = major;
+function major(a, loose) {
+ return new SemVer(a, loose).major;
+}
+
+exports.minor = minor;
+function minor(a, loose) {
+ return new SemVer(a, loose).minor;
+}
+
+exports.patch = patch;
+function patch(a, loose) {
+ return new SemVer(a, loose).patch;
+}
+
+exports.compare = compare;
+function compare(a, b, loose) {
+ return new SemVer(a, loose).compare(b);
+}
+
+exports.compareLoose = compareLoose;
+function compareLoose(a, b) {
+ return compare(a, b, true);
+}
+
+exports.rcompare = rcompare;
+function rcompare(a, b, loose) {
+ return compare(b, a, loose);
+}
+
+exports.sort = sort;
+function sort(list, loose) {
+ return list.sort(function(a, b) {
+ return exports.compare(a, b, loose);
+ });
+}
+
+exports.rsort = rsort;
+function rsort(list, loose) {
+ return list.sort(function(a, b) {
+ return exports.rcompare(a, b, loose);
+ });
+}
+
+exports.gt = gt;
+function gt(a, b, loose) {
+ return compare(a, b, loose) > 0;
+}
+
+exports.lt = lt;
+function lt(a, b, loose) {
+ return compare(a, b, loose) < 0;
+}
+
+exports.eq = eq;
+function eq(a, b, loose) {
+ return compare(a, b, loose) === 0;
+}
+
+exports.neq = neq;
+function neq(a, b, loose) {
+ return compare(a, b, loose) !== 0;
+}
+
+exports.gte = gte;
+function gte(a, b, loose) {
+ return compare(a, b, loose) >= 0;
+}
+
+exports.lte = lte;
+function lte(a, b, loose) {
+ return compare(a, b, loose) <= 0;
+}
+
+exports.cmp = cmp;
+function cmp(a, op, b, loose) {
+ var ret;
+ switch (op) {
+ case '===':
+ if (typeof a === 'object') a = a.version;
+ if (typeof b === 'object') b = b.version;
+ ret = a === b;
+ break;
+ case '!==':
+ if (typeof a === 'object') a = a.version;
+ if (typeof b === 'object') b = b.version;
+ ret = a !== b;
+ break;
+ case '': case '=': case '==': ret = eq(a, b, loose); break;
+ case '!=': ret = neq(a, b, loose); break;
+ case '>': ret = gt(a, b, loose); break;
+ case '>=': ret = gte(a, b, loose); break;
+ case '<': ret = lt(a, b, loose); break;
+ case '<=': ret = lte(a, b, loose); break;
+ default: throw new TypeError('Invalid operator: ' + op);
+ }
+ return ret;
+}
+
+exports.Comparator = Comparator;
+function Comparator(comp, loose) {
+ if (comp instanceof Comparator) {
+ if (comp.loose === loose)
+ return comp;
+ else
+ comp = comp.value;
+ }
+
+ if (!(this instanceof Comparator))
+ return new Comparator(comp, loose);
+
+ debug('comparator', comp, loose);
+ this.loose = loose;
+ this.parse(comp);
+
+ if (this.semver === ANY)
+ this.value = '';
+ else
+ this.value = this.operator + this.semver.version;
+
+ debug('comp', this);
+}
+
+var ANY = {};
+Comparator.prototype.parse = function(comp) {
+ var r = this.loose ? re[COMPARATORLOOSE] : re[COMPARATOR];
+ var m = comp.match(r);
+
+ if (!m)
+ throw new TypeError('Invalid comparator: ' + comp);
+
+ this.operator = m[1];
+ if (this.operator === '=')
+ this.operator = '';
+
+ // if it literally is just '>' or '' then allow anything.
+ if (!m[2])
+ this.semver = ANY;
+ else
+ this.semver = new SemVer(m[2], this.loose);
+};
+
+Comparator.prototype.toString = function() {
+ return this.value;
+};
+
+Comparator.prototype.test = function(version) {
+ debug('Comparator.test', version, this.loose);
+
+ if (this.semver === ANY)
+ return true;
+
+ if (typeof version === 'string')
+ version = new SemVer(version, this.loose);
+
+ return cmp(version, this.operator, this.semver, this.loose);
+};
+
+
+exports.Range = Range;
+function Range(range, loose) {
+ if ((range instanceof Range) && range.loose === loose)
+ return range;
+
+ if (!(this instanceof Range))
+ return new Range(range, loose);
+
+ this.loose = loose;
+
+ // First, split based on boolean or ||
+ this.raw = range;
+ this.set = range.split(/\s*\|\|\s*/).map(function(range) {
+ return this.parseRange(range.trim());
+ }, this).filter(function(c) {
+ // throw out any that are not relevant for whatever reason
+ return c.length;
+ });
+
+ if (!this.set.length) {
+ throw new TypeError('Invalid SemVer Range: ' + range);
+ }
+
+ this.format();
+}
+
+Range.prototype.format = function() {
+ this.range = this.set.map(function(comps) {
+ return comps.join(' ').trim();
+ }).join('||').trim();
+ return this.range;
+};
+
+Range.prototype.toString = function() {
+ return this.range;
+};
+
+Range.prototype.parseRange = function(range) {
+ var loose = this.loose;
+ range = range.trim();
+ debug('range', range, loose);
+ // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
+ var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE];
+ range = range.replace(hr, hyphenReplace);
+ debug('hyphen replace', range);
+ // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
+ range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace);
+ debug('comparator trim', range, re[COMPARATORTRIM]);
+
+ // `~ 1.2.3` => `~1.2.3`
+ range = range.replace(re[TILDETRIM], tildeTrimReplace);
+
+ // `^ 1.2.3` => `^1.2.3`
+ range = range.replace(re[CARETTRIM], caretTrimReplace);
+
+ // normalize spaces
+ range = range.split(/\s+/).join(' ');
+
+ // At this point, the range is completely trimmed and
+ // ready to be split into comparators.
+
+ var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR];
+ var set = range.split(' ').map(function(comp) {
+ return parseComparator(comp, loose);
+ }).join(' ').split(/\s+/);
+ if (this.loose) {
+ // in loose mode, throw out any that are not valid comparators
+ set = set.filter(function(comp) {
+ return !!comp.match(compRe);
+ });
+ }
+ set = set.map(function(comp) {
+ return new Comparator(comp, loose);
+ });
+
+ return set;
+};
+
+// Mostly just for testing and legacy API reasons
+exports.toComparators = toComparators;
+function toComparators(range, loose) {
+ return new Range(range, loose).set.map(function(comp) {
+ return comp.map(function(c) {
+ return c.value;
+ }).join(' ').trim().split(' ');
+ });
+}
+
+// comprised of xranges, tildes, stars, and gtlt's at this point.
+// already replaced the hyphen ranges
+// turn into a set of JUST comparators.
+function parseComparator(comp, loose) {
+ debug('comp', comp);
+ comp = replaceCarets(comp, loose);
+ debug('caret', comp);
+ comp = replaceTildes(comp, loose);
+ debug('tildes', comp);
+ comp = replaceXRanges(comp, loose);
+ debug('xrange', comp);
+ comp = replaceStars(comp, loose);
+ debug('stars', comp);
+ return comp;
+}
+
+function isX(id) {
+ return !id || id.toLowerCase() === 'x' || id === '*';
+}
+
+// ~, ~> --> * (any, kinda silly)
+// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0
+// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0
+// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0
+// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0
+// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0
+function replaceTildes(comp, loose) {
+ return comp.trim().split(/\s+/).map(function(comp) {
+ return replaceTilde(comp, loose);
+ }).join(' ');
+}
+
+function replaceTilde(comp, loose) {
+ var r = loose ? re[TILDELOOSE] : re[TILDE];
+ return comp.replace(r, function(_, M, m, p, pr) {
+ debug('tilde', comp, _, M, m, p, pr);
+ var ret;
+
+ if (isX(M))
+ ret = '';
+ else if (isX(m))
+ ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
+ else if (isX(p))
+ // ~1.2 == >=1.2.0 <1.3.0
+ ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
+ else if (pr) {
+ debug('replaceTilde pr', pr);
+ if (pr.charAt(0) !== '-')
+ pr = '-' + pr;
+ ret = '>=' + M + '.' + m + '.' + p + pr +
+ ' <' + M + '.' + (+m + 1) + '.0';
+ } else
+ // ~1.2.3 == >=1.2.3 <1.3.0
+ ret = '>=' + M + '.' + m + '.' + p +
+ ' <' + M + '.' + (+m + 1) + '.0';
+
+ debug('tilde return', ret);
+ return ret;
+ });
+}
+
+// ^ --> * (any, kinda silly)
+// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0
+// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0
+// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0
+// ^1.2.3 --> >=1.2.3 <2.0.0
+// ^1.2.0 --> >=1.2.0 <2.0.0
+function replaceCarets(comp, loose) {
+ return comp.trim().split(/\s+/).map(function(comp) {
+ return replaceCaret(comp, loose);
+ }).join(' ');
+}
+
+function replaceCaret(comp, loose) {
+ debug('caret', comp, loose);
+ var r = loose ? re[CARETLOOSE] : re[CARET];
+ return comp.replace(r, function(_, M, m, p, pr) {
+ debug('caret', comp, _, M, m, p, pr);
+ var ret;
+
+ if (isX(M))
+ ret = '';
+ else if (isX(m))
+ ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
+ else if (isX(p)) {
+ if (M === '0')
+ ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
+ else
+ ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0';
+ } else if (pr) {
+ debug('replaceCaret pr', pr);
+ if (pr.charAt(0) !== '-')
+ pr = '-' + pr;
+ if (M === '0') {
+ if (m === '0')
+ ret = '>=' + M + '.' + m + '.' + p + pr +
+ ' <' + M + '.' + m + '.' + (+p + 1);
+ else
+ ret = '>=' + M + '.' + m + '.' + p + pr +
+ ' <' + M + '.' + (+m + 1) + '.0';
+ } else
+ ret = '>=' + M + '.' + m + '.' + p + pr +
+ ' <' + (+M + 1) + '.0.0';
+ } else {
+ debug('no pr');
+ if (M === '0') {
+ if (m === '0')
+ ret = '>=' + M + '.' + m + '.' + p +
+ ' <' + M + '.' + m + '.' + (+p + 1);
+ else
+ ret = '>=' + M + '.' + m + '.' + p +
+ ' <' + M + '.' + (+m + 1) + '.0';
+ } else
+ ret = '>=' + M + '.' + m + '.' + p +
+ ' <' + (+M + 1) + '.0.0';
+ }
+
+ debug('caret return', ret);
+ return ret;
+ });
+}
+
+function replaceXRanges(comp, loose) {
+ debug('replaceXRanges', comp, loose);
+ return comp.split(/\s+/).map(function(comp) {
+ return replaceXRange(comp, loose);
+ }).join(' ');
+}
+
+function replaceXRange(comp, loose) {
+ comp = comp.trim();
+ var r = loose ? re[XRANGELOOSE] : re[XRANGE];
+ return comp.replace(r, function(ret, gtlt, M, m, p, pr) {
+ debug('xRange', comp, ret, gtlt, M, m, p, pr);
+ var xM = isX(M);
+ var xm = xM || isX(m);
+ var xp = xm || isX(p);
+ var anyX = xp;
+
+ if (gtlt === '=' && anyX)
+ gtlt = '';
+
+ if (xM) {
+ if (gtlt === '>' || gtlt === '<') {
+ // nothing is allowed
+ ret = '<0.0.0';
+ } else {
+ // nothing is forbidden
+ ret = '*';
+ }
+ } else if (gtlt && anyX) {
+ // replace X with 0
+ if (xm)
+ m = 0;
+ if (xp)
+ p = 0;
+
+ if (gtlt === '>') {
+ // >1 => >=2.0.0
+ // >1.2 => >=1.3.0
+ // >1.2.3 => >= 1.2.4
+ gtlt = '>=';
+ if (xm) {
+ M = +M + 1;
+ m = 0;
+ p = 0;
+ } else if (xp) {
+ m = +m + 1;
+ p = 0;
+ }
+ } else if (gtlt === '<=') {
+ // <=0.7.x is actually <0.8.0, since any 0.7.x should
+ // pass. Similarly, <=7.x is actually <8.0.0, etc.
+ gtlt = '<';
+ if (xm)
+ M = +M + 1;
+ else
+ m = +m + 1;
+ }
+
+ ret = gtlt + M + '.' + m + '.' + p;
+ } else if (xm) {
+ ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
+ } else if (xp) {
+ ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
+ }
+
+ debug('xRange return', ret);
+
+ return ret;
+ });
+}
+
+// Because * is AND-ed with everything else in the comparator,
+// and '' means "any version", just remove the *s entirely.
+function replaceStars(comp, loose) {
+ debug('replaceStars', comp, loose);
+ // Looseness is ignored here. star is always as loose as it gets!
+ return comp.trim().replace(re[STAR], '');
+}
+
+// This function is passed to string.replace(re[HYPHENRANGE])
+// M, m, patch, prerelease, build
+// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5
+// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do
+// 1.2 - 3.4 => >=1.2.0 <3.5.0
+function hyphenReplace($0,
+ from, fM, fm, fp, fpr, fb,
+ to, tM, tm, tp, tpr, tb) {
+
+ if (isX(fM))
+ from = '';
+ else if (isX(fm))
+ from = '>=' + fM + '.0.0';
+ else if (isX(fp))
+ from = '>=' + fM + '.' + fm + '.0';
+ else
+ from = '>=' + from;
+
+ if (isX(tM))
+ to = '';
+ else if (isX(tm))
+ to = '<' + (+tM + 1) + '.0.0';
+ else if (isX(tp))
+ to = '<' + tM + '.' + (+tm + 1) + '.0';
+ else if (tpr)
+ to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr;
+ else
+ to = '<=' + to;
+
+ return (from + ' ' + to).trim();
+}
+
+
+// if ANY of the sets match ALL of its comparators, then pass
+Range.prototype.test = function(version) {
+ if (!version)
+ return false;
+
+ if (typeof version === 'string')
+ version = new SemVer(version, this.loose);
+
+ for (var i = 0; i < this.set.length; i++) {
+ if (testSet(this.set[i], version))
+ return true;
+ }
+ return false;
+};
+
+function testSet(set, version) {
+ for (var i = 0; i < set.length; i++) {
+ if (!set[i].test(version))
+ return false;
+ }
+
+ if (version.prerelease.length) {
+ // Find the set of versions that are allowed to have prereleases
+ // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0
+ // That should allow `1.2.3-pr.2` to pass.
+ // However, `1.2.4-alpha.notready` should NOT be allowed,
+ // even though it's within the range set by the comparators.
+ for (var i = 0; i < set.length; i++) {
+ debug(set[i].semver);
+ if (set[i].semver === ANY)
+ continue;
+
+ if (set[i].semver.prerelease.length > 0) {
+ var allowed = set[i].semver;
+ if (allowed.major === version.major &&
+ allowed.minor === version.minor &&
+ allowed.patch === version.patch)
+ return true;
+ }
+ }
+
+ // Version has a -pre, but it's not one of the ones we like.
+ return false;
+ }
+
+ return true;
+}
+
+exports.satisfies = satisfies;
+function satisfies(version, range, loose) {
+ try {
+ range = new Range(range, loose);
+ } catch (er) {
+ return false;
+ }
+ return range.test(version);
+}
+
+exports.maxSatisfying = maxSatisfying;
+function maxSatisfying(versions, range, loose) {
+ return versions.filter(function(version) {
+ return satisfies(version, range, loose);
+ }).sort(function(a, b) {
+ return rcompare(a, b, loose);
+ })[0] || null;
+}
+
+exports.minSatisfying = minSatisfying;
+function minSatisfying(versions, range, loose) {
+ return versions.filter(function(version) {
+ return satisfies(version, range, loose);
+ }).sort(function(a, b) {
+ return compare(a, b, loose);
+ })[0] || null;
+}
+
+exports.validRange = validRange;
+function validRange(range, loose) {
+ try {
+ // Return '*' instead of '' so that truthiness works.
+ // This will throw if it's invalid anyway
+ return new Range(range, loose).range || '*';
+ } catch (er) {
+ return null;
+ }
+}
+
+// Determine if version is less than all the versions possible in the range
+exports.ltr = ltr;
+function ltr(version, range, loose) {
+ return outside(version, range, '<', loose);
+}
+
+// Determine if version is greater than all the versions possible in the range.
+exports.gtr = gtr;
+function gtr(version, range, loose) {
+ return outside(version, range, '>', loose);
+}
+
+exports.outside = outside;
+function outside(version, range, hilo, loose) {
+ version = new SemVer(version, loose);
+ range = new Range(range, loose);
+
+ var gtfn, ltefn, ltfn, comp, ecomp;
+ switch (hilo) {
+ case '>':
+ gtfn = gt;
+ ltefn = lte;
+ ltfn = lt;
+ comp = '>';
+ ecomp = '>=';
+ break;
+ case '<':
+ gtfn = lt;
+ ltefn = gte;
+ ltfn = gt;
+ comp = '<';
+ ecomp = '<=';
+ break;
+ default:
+ throw new TypeError('Must provide a hilo val of "<" or ">"');
+ }
+
+ // If it satisifes the range it is not outside
+ if (satisfies(version, range, loose)) {
+ return false;
+ }
+
+ // From now on, variable terms are as if we're in "gtr" mode.
+ // but note that everything is flipped for the "ltr" function.
+
+ for (var i = 0; i < range.set.length; ++i) {
+ var comparators = range.set[i];
+
+ var high = null;
+ var low = null;
+
+ comparators.forEach(function(comparator) {
+ if (comparator.semver === ANY) {
+ comparator = new Comparator('>=0.0.0')
+ }
+ high = high || comparator;
+ low = low || comparator;
+ if (gtfn(comparator.semver, high.semver, loose)) {
+ high = comparator;
+ } else if (ltfn(comparator.semver, low.semver, loose)) {
+ low = comparator;
+ }
+ });
+
+ // If the edge version comparator has a operator then our version
+ // isn't outside it
+ if (high.operator === comp || high.operator === ecomp) {
+ return false;
+ }
+
+ // If the lowest version comparator has an operator and our version
+ // is less than it then it isn't higher than the range
+ if ((!low.operator || low.operator === comp) &&
+ ltefn(version, low.semver)) {
+ return false;
+ } else if (low.operator === ecomp && ltfn(version, low.semver)) {
+ return false;
+ }
+ }
+ return true;
+}
+
+exports.prerelease = prerelease;
+function prerelease(version, loose) {
+ var parsed = parse(version, loose);
+ return (parsed && parsed.prerelease.length) ? parsed.prerelease : null;
+}
diff --git a/node_modules/istanbul-lib-instrument/package.json b/node_modules/istanbul-lib-instrument/package.json
index 800282390..12800b885 100644
--- a/node_modules/istanbul-lib-instrument/package.json
+++ b/node_modules/istanbul-lib-instrument/package.json
@@ -1,122 +1,66 @@
{
- "_args": [
- [
- {
- "raw": "istanbul-lib-instrument@^1.0.0-alpha.6",
- "scope": null,
- "escapedName": "istanbul-lib-instrument",
- "name": "istanbul-lib-instrument",
- "rawSpec": "^1.0.0-alpha.6",
- "spec": ">=1.0.0-alpha.6 <2.0.0",
- "type": "range"
- },
- "/home/dold/repos/taler/wallet-webex"
- ]
- ],
- "_from": "istanbul-lib-instrument@>=1.0.0-alpha.6 <2.0.0",
- "_id": "istanbul-lib-instrument@1.1.3",
- "_inCache": true,
- "_location": "/istanbul-lib-instrument",
- "_nodeVersion": "6.5.0",
- "_npmOperationalInternal": {
- "host": "packages-16-east.internal.npmjs.com",
- "tmp": "tmp/istanbul-lib-instrument-1.1.3.tgz_1473744377368_0.23582313884980977"
- },
- "_npmUser": {
- "name": "bcoe",
- "email": "ben@npmjs.com"
- },
- "_npmVersion": "3.10.3",
- "_phantomChildren": {},
- "_requested": {
- "raw": "istanbul-lib-instrument@^1.0.0-alpha.6",
- "scope": null,
- "escapedName": "istanbul-lib-instrument",
- "name": "istanbul-lib-instrument",
- "rawSpec": "^1.0.0-alpha.6",
- "spec": ">=1.0.0-alpha.6 <2.0.0",
- "type": "range"
- },
- "_requiredBy": [
- "#DEV:/"
- ],
- "_resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.1.3.tgz",
- "_shasum": "66d5353d1f592b9e34d1cf9acda9c3f1ab509696",
- "_shrinkwrap": null,
- "_spec": "istanbul-lib-instrument@^1.0.0-alpha.6",
- "_where": "/home/dold/repos/taler/wallet-webex",
- "author": {
- "name": "Krishnan Anantheswaran",
- "email": "kananthmail-github@yahoo.com"
- },
- "bugs": {
- "url": "https://github.com/istanbuljs/istanbul-lib-instrument/issues"
+ "name": "istanbul-lib-instrument",
+ "version": "1.2.0",
+ "description": "Core istanbul API for JS code coverage",
+ "author": "Krishnan Anantheswaran <kananthmail-github@yahoo.com>",
+ "main": "dist/index.js",
+ "scripts": {
+ "release": "babel src --out-dir dist && documentation build -f md -o api.md src",
+ "test": "cross-env NODE_ENV=test nyc --check-coverage --statements 90 --branches 80 mocha --recursive test/",
+ "pretest": "jshint src/ test/",
+ "prepublish": "npm test && npm run release",
+ "version": "standard-version",
+ "coverage": "nyc report --reporter=text-lcov | coveralls"
},
"dependencies": {
- "babel-generator": "^6.11.3",
- "babel-template": "^6.9.0",
- "babel-traverse": "^6.9.0",
- "babel-types": "^6.10.2",
- "babylon": "^6.8.1",
- "istanbul-lib-coverage": "^1.0.0"
+ "babel-generator": "^6.18.0",
+ "babel-template": "^6.16.0",
+ "babel-traverse": "^6.18.0",
+ "babel-types": "^6.18.0",
+ "babylon": "^6.13.0",
+ "istanbul-lib-coverage": "^1.0.0",
+ "semver": "^5.3.0"
},
- "description": "Core istanbul API for JS code coverage",
"devDependencies": {
"babel-cli": "^6.3.17",
- "babel-core": "^6.3.21",
+ "babel-plugin-istanbul": "^2.0.3",
"babel-preset-es2015": "^6.3.13",
+ "babel-register": "^6.16.3",
"chai": "^3.0.0",
- "clone": "^1.0.2",
+ "clone": "^2.0.0",
"coveralls": "^2.11.4",
- "documentation": "^4.0.0-beta5",
- "istanbul": "^1.0.0-alpha.2",
+ "cross-env": "^2.0.1",
+ "documentation": "^4.0.0-beta9",
"js-yaml": "^3.3.1",
"jshint": "^2.8.0",
- "mocha": "^2.2.5",
+ "mocha": "^3.1.2",
"nopt": "^3.0.6",
- "standard-version": "^2.4.0"
+ "nyc": "^8.3.1",
+ "standard-version": "^3.0.0"
+ },
+ "nyc": {
+ "include": [
+ "src/**/*.js"
+ ],
+ "require": [
+ "babel-register"
+ ],
+ "sourceMap": false,
+ "instrument": false
},
- "directories": {},
- "dist": {
- "shasum": "66d5353d1f592b9e34d1cf9acda9c3f1ab509696",
- "tarball": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.1.3.tgz"
+ "license": "BSD-3-Clause",
+ "bugs": {
+ "url": "https://github.com/istanbuljs/istanbul-lib-instrument/issues"
},
- "gitHead": "37a0087e68729dae46989c3687272d154938fa9e",
"homepage": "https://github.com/istanbuljs/istanbul-lib-instrument",
+ "repository": {
+ "type": "git",
+ "url": "git@github.com:istanbuljs/istanbul-lib-instrument.git"
+ },
"keywords": [
"coverage",
"istanbul",
"js",
"instrumentation"
- ],
- "license": "BSD-3-Clause",
- "main": "dist/index.js",
- "maintainers": [
- {
- "name": "bcoe",
- "email": "ben@npmjs.com"
- },
- {
- "name": "gotwarlost",
- "email": "kananthmail-github@yahoo.com"
- }
- ],
- "name": "istanbul-lib-instrument",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+ssh://git@github.com/istanbuljs/istanbul-lib-instrument.git"
- },
- "scripts": {
- "fast": "mocha --harmony --compilers js:babel-core/register --recursive test/",
- "posttest": "node ./node_modules/istanbul/lib/cli.js check-coverage --statements 90 --branches 80",
- "prepublish": "npm test && npm run release",
- "pretest": "jshint src/ test/",
- "release": "babel src --out-dir dist && documentation build -f md -o api.md src/*js",
- "test": "./test.sh",
- "v10-test": "mocha --compilers js:babel-core/register --recursive test/",
- "version": "standard-version"
- },
- "version": "1.1.3"
+ ]
}