traceur-rb 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (410) hide show
  1. checksums.yaml +8 -8
  2. data/README.md +2 -2
  3. data/lib/js/compile.js +7 -15
  4. data/lib/traceur.rb +2 -1
  5. data/lib/traceur/compilation_error.rb +27 -0
  6. data/lib/traceur/compiler.rb +4 -1
  7. data/lib/traceur/configuration.rb +1 -1
  8. data/lib/traceur/node/runner.rb +1 -1
  9. data/lib/traceur/version.rb +1 -1
  10. data/spec/examples/syntax_error.js +3 -0
  11. data/spec/integration/examples_spec.rb +6 -0
  12. data/vendor/node_modules/traceur/LICENSE +202 -0
  13. data/vendor/node_modules/traceur/README.md +5 -5
  14. data/vendor/node_modules/traceur/bin/traceur-runtime.js +1392 -623
  15. data/vendor/node_modules/traceur/bin/traceur.js +24749 -17990
  16. data/vendor/node_modules/traceur/node_modules/.bin/semver +2 -2
  17. data/vendor/node_modules/traceur/node_modules/commander/History.md +222 -0
  18. data/vendor/node_modules/traceur/node_modules/commander/Readme.md +127 -35
  19. data/vendor/node_modules/traceur/node_modules/commander/index.js +261 -93
  20. data/vendor/node_modules/traceur/node_modules/commander/package.json +41 -9
  21. data/vendor/node_modules/traceur/node_modules/glob/LICENSE +15 -0
  22. data/vendor/node_modules/traceur/node_modules/glob/README.md +357 -0
  23. data/vendor/node_modules/traceur/node_modules/glob/common.js +177 -0
  24. data/vendor/node_modules/traceur/node_modules/glob/glob.js +649 -0
  25. data/vendor/node_modules/traceur/node_modules/glob/node_modules/inflight/.eslintrc +17 -0
  26. data/vendor/node_modules/traceur/node_modules/glob/node_modules/inflight/LICENSE +15 -0
  27. data/vendor/node_modules/traceur/node_modules/glob/node_modules/inflight/README.md +37 -0
  28. data/vendor/node_modules/traceur/node_modules/glob/node_modules/inflight/inflight.js +44 -0
  29. data/vendor/node_modules/traceur/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE +15 -0
  30. data/vendor/node_modules/traceur/node_modules/glob/node_modules/inflight/node_modules/wrappy/README.md +36 -0
  31. data/vendor/node_modules/traceur/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json +34 -0
  32. data/vendor/node_modules/traceur/node_modules/glob/node_modules/inflight/node_modules/wrappy/test/basic.js +51 -0
  33. data/vendor/node_modules/traceur/node_modules/glob/node_modules/inflight/node_modules/wrappy/wrappy.js +33 -0
  34. data/vendor/node_modules/traceur/node_modules/glob/node_modules/inflight/package.json +61 -0
  35. data/vendor/node_modules/traceur/node_modules/glob/node_modules/inflight/test.js +97 -0
  36. data/vendor/node_modules/traceur/node_modules/glob/node_modules/inherits/LICENSE +16 -0
  37. data/vendor/node_modules/traceur/node_modules/glob/node_modules/inherits/README.md +42 -0
  38. data/vendor/node_modules/traceur/node_modules/glob/node_modules/inherits/inherits.js +1 -0
  39. data/vendor/node_modules/traceur/node_modules/glob/node_modules/inherits/inherits_browser.js +23 -0
  40. data/vendor/node_modules/traceur/node_modules/glob/node_modules/inherits/package.json +33 -0
  41. data/vendor/node_modules/traceur/node_modules/glob/node_modules/inherits/test.js +25 -0
  42. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/.npmignore +1 -0
  43. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/.travis.yml +4 -0
  44. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/LICENSE +23 -0
  45. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/README.md +216 -0
  46. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/benchmark.js +15 -0
  47. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/browser.js +1181 -0
  48. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/minimatch.js +845 -0
  49. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore +2 -0
  50. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.travis.yml +3 -0
  51. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md +121 -0
  52. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js +8 -0
  53. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js +191 -0
  54. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore +2 -0
  55. data/vendor/node_modules/traceur/node_modules/{q-io/node_modules/collections → glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/.travis.yml +0 -0
  56. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile +6 -0
  57. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md +80 -0
  58. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js +5 -0
  59. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js +38 -0
  60. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json +73 -0
  61. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js +56 -0
  62. data/vendor/node_modules/traceur/node_modules/{q-io/node_modules/url2 → glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/.travis.yml +1 -1
  63. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE +18 -0
  64. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown +62 -0
  65. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js +6 -0
  66. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js +13 -0
  67. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json +83 -0
  68. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js +39 -0
  69. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json +75 -0
  70. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-comparison.js +32 -0
  71. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-results.txt +1075 -0
  72. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/cases.txt +182 -0
  73. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/dollar.js +9 -0
  74. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js +10 -0
  75. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/generate.sh +24 -0
  76. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/negative-increment.js +15 -0
  77. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/nested.js +16 -0
  78. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/order.js +10 -0
  79. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/pad.js +13 -0
  80. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/same-type.js +7 -0
  81. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js +50 -0
  82. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/package.json +60 -0
  83. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/test/basic.js +399 -0
  84. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/test/brace-expand.js +45 -0
  85. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/test/defaults.js +274 -0
  86. data/vendor/node_modules/traceur/node_modules/glob/node_modules/minimatch/test/extglob-ending-with-state-char.js +8 -0
  87. data/vendor/node_modules/traceur/node_modules/glob/node_modules/once/LICENSE +27 -0
  88. data/vendor/node_modules/traceur/node_modules/glob/node_modules/once/README.md +51 -0
  89. data/vendor/node_modules/traceur/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE +15 -0
  90. data/vendor/node_modules/traceur/node_modules/glob/node_modules/once/node_modules/wrappy/README.md +36 -0
  91. data/vendor/node_modules/traceur/node_modules/glob/node_modules/once/node_modules/wrappy/package.json +34 -0
  92. data/vendor/node_modules/traceur/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js +51 -0
  93. data/vendor/node_modules/traceur/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js +33 -0
  94. data/vendor/node_modules/traceur/node_modules/glob/node_modules/once/once.js +21 -0
  95. data/vendor/node_modules/traceur/node_modules/glob/node_modules/once/package.json +42 -0
  96. data/vendor/node_modules/traceur/node_modules/glob/node_modules/once/test/once.js +23 -0
  97. data/vendor/node_modules/traceur/node_modules/glob/package.json +72 -0
  98. data/vendor/node_modules/traceur/node_modules/glob/sync.js +409 -0
  99. data/vendor/node_modules/traceur/node_modules/rsvp/.release.json +17 -0
  100. data/vendor/node_modules/traceur/node_modules/rsvp/CHANGELOG.md +165 -0
  101. data/vendor/node_modules/traceur/node_modules/rsvp/LICENSE +19 -0
  102. data/vendor/node_modules/traceur/node_modules/rsvp/README.md +364 -0
  103. data/vendor/node_modules/traceur/node_modules/rsvp/dist/rsvp.js +1671 -0
  104. data/vendor/node_modules/traceur/node_modules/rsvp/dist/rsvp.min.js +9 -0
  105. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp.js +66 -0
  106. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp.umd.js +50 -0
  107. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/-internal.js +265 -0
  108. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/all-settled.js +71 -0
  109. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/all.js +15 -0
  110. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/asap.js +109 -0
  111. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/config.js +28 -0
  112. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/defer.js +45 -0
  113. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/enumerator.js +125 -0
  114. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/events.js +201 -0
  115. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/filter.js +120 -0
  116. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/hash-settled.js +124 -0
  117. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/hash.js +94 -0
  118. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/instrument.js +41 -0
  119. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/map.js +99 -0
  120. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/node.js +281 -0
  121. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/promise-hash.js +51 -0
  122. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/promise.js +496 -0
  123. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/promise/all.js +52 -0
  124. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/promise/race.js +105 -0
  125. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/promise/reject.js +47 -0
  126. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/promise/resolve.js +49 -0
  127. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/race.js +15 -0
  128. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/reject.js +16 -0
  129. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/resolve.js +17 -0
  130. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/rethrow.js +46 -0
  131. data/vendor/node_modules/traceur/node_modules/rsvp/lib/rsvp/utils.js +39 -0
  132. data/vendor/node_modules/traceur/node_modules/rsvp/package.json +100 -0
  133. data/vendor/node_modules/traceur/node_modules/rsvp/rsvp.js/README.md +9 -0
  134. data/vendor/node_modules/traceur/node_modules/rsvp/rsvp.js/bower.json +22 -0
  135. data/vendor/node_modules/traceur/node_modules/rsvp/rsvp.js/composer.json +18 -0
  136. data/vendor/node_modules/traceur/node_modules/rsvp/rsvp.js/package.json +52 -0
  137. data/vendor/node_modules/traceur/node_modules/rsvp/rsvp.js/rsvp.amd.js +1607 -0
  138. data/vendor/node_modules/traceur/node_modules/rsvp/rsvp.js/rsvp.js +1566 -0
  139. data/vendor/node_modules/traceur/node_modules/rsvp/rsvp.js/rsvp.min.js +26 -0
  140. data/vendor/node_modules/traceur/node_modules/rsvp/vertx.js +1 -0
  141. data/vendor/node_modules/traceur/node_modules/semver/bin/semver +2 -2
  142. data/vendor/node_modules/traceur/node_modules/semver/package.json +4 -3
  143. data/vendor/node_modules/traceur/node_modules/semver/semver.browser.js +7 -0
  144. data/vendor/node_modules/traceur/node_modules/semver/semver.browser.js.gz +0 -0
  145. data/vendor/node_modules/traceur/node_modules/semver/semver.js +7 -0
  146. data/vendor/node_modules/traceur/node_modules/semver/semver.min.js +1 -1
  147. data/vendor/node_modules/traceur/node_modules/semver/semver.min.js.gz +0 -0
  148. data/vendor/node_modules/traceur/node_modules/semver/test/index.js +8 -4
  149. data/vendor/node_modules/traceur/node_modules/semver/test/ltr.js +2 -1
  150. data/vendor/node_modules/traceur/node_modules/source-map-support/.npmignore +1 -0
  151. data/vendor/node_modules/traceur/node_modules/{q-io/node_modules/mime/LICENSE → source-map-support/LICENSE.md} +7 -5
  152. data/vendor/node_modules/traceur/node_modules/source-map-support/README.md +165 -0
  153. data/vendor/node_modules/traceur/node_modules/source-map-support/amd-test/browser-source-map-support.js +89 -0
  154. data/vendor/node_modules/traceur/node_modules/source-map-support/amd-test/index.html +6 -0
  155. data/vendor/node_modules/traceur/node_modules/source-map-support/amd-test/require.js +36 -0
  156. data/vendor/node_modules/traceur/node_modules/source-map-support/amd-test/script.coffee +13 -0
  157. data/vendor/node_modules/traceur/node_modules/source-map-support/amd-test/script.js +24 -0
  158. data/vendor/node_modules/traceur/node_modules/source-map-support/amd-test/script.map +10 -0
  159. data/vendor/node_modules/traceur/node_modules/source-map-support/browser-source-map-support.js +89 -0
  160. data/vendor/node_modules/traceur/node_modules/source-map-support/browser-test/index.html +6 -0
  161. data/vendor/node_modules/traceur/node_modules/source-map-support/browser-test/script.coffee +12 -0
  162. data/vendor/node_modules/traceur/node_modules/source-map-support/browser-test/script.js +25 -0
  163. data/vendor/node_modules/traceur/node_modules/source-map-support/browser-test/script.map +10 -0
  164. data/vendor/node_modules/traceur/node_modules/source-map-support/build.js +69 -0
  165. data/vendor/node_modules/traceur/node_modules/source-map-support/header-test/index.html +6 -0
  166. data/vendor/node_modules/traceur/node_modules/source-map-support/header-test/script.coffee +12 -0
  167. data/vendor/node_modules/traceur/node_modules/source-map-support/header-test/script.js +25 -0
  168. data/vendor/node_modules/traceur/node_modules/source-map-support/header-test/script.map +10 -0
  169. data/vendor/node_modules/traceur/node_modules/source-map-support/header-test/server.js +45 -0
  170. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/.npmignore +2 -0
  171. data/vendor/node_modules/traceur/node_modules/{q-io → source-map-support/node_modules/source-map}/.travis.yml +1 -0
  172. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/CHANGELOG.md +121 -0
  173. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/LICENSE +28 -0
  174. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/Makefile.dryice.js +166 -0
  175. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/README.md +434 -0
  176. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/assert-shim.js +56 -0
  177. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/mini-require.js +152 -0
  178. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  179. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/prefix-utils.jsm +18 -0
  180. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/suffix-browser.js +8 -0
  181. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  182. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/suffix-utils.jsm +21 -0
  183. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/test-prefix.js +8 -0
  184. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/test-suffix.js +3 -0
  185. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map.js +8 -0
  186. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/array-set.js +97 -0
  187. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/base64-vlq.js +144 -0
  188. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/base64.js +42 -0
  189. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/binary-search.js +81 -0
  190. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/source-map-consumer.js +478 -0
  191. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/source-map-generator.js +380 -0
  192. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/source-node.js +371 -0
  193. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/util.js +205 -0
  194. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
  195. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/node_modules/amdefine/README.md +171 -0
  196. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
  197. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
  198. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/node_modules/amdefine/package.json +37 -0
  199. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/package.json +142 -0
  200. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/run-tests.js +62 -0
  201. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-api.js +26 -0
  202. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  203. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-base64-vlq.js +24 -0
  204. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-base64.js +35 -0
  205. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  206. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-dog-fooding.js +72 -0
  207. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-source-map-consumer.js +451 -0
  208. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-source-map-generator.js +417 -0
  209. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-source-node.js +365 -0
  210. data/vendor/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/util.js +161 -0
  211. data/vendor/node_modules/traceur/node_modules/source-map-support/package.json +52 -0
  212. data/vendor/node_modules/traceur/node_modules/source-map-support/source-map-support.js +381 -0
  213. data/vendor/node_modules/traceur/node_modules/source-map-support/test.js +359 -0
  214. data/vendor/node_modules/traceur/package.json +234 -20
  215. data/vendor/node_modules/traceur/src/node/NodeCompiler.js +78 -0
  216. data/vendor/node_modules/traceur/src/node/System.js +32 -5
  217. data/vendor/node_modules/traceur/src/node/api.js +28 -93
  218. data/vendor/node_modules/traceur/src/node/command.js +84 -19
  219. data/vendor/node_modules/traceur/src/node/compileAllJsFilesInDir.js +40 -0
  220. data/vendor/node_modules/traceur/src/node/interpreter.js +11 -8
  221. data/vendor/node_modules/traceur/src/node/recursiveModuleCompile.js +171 -0
  222. data/vendor/node_modules/traceur/src/node/require.js +7 -21
  223. data/vendor/node_modules/traceur/src/node/to-amd-compiler.js +2 -7
  224. data/vendor/node_modules/traceur/src/node/to-closure-compiler.js +28 -0
  225. data/vendor/node_modules/traceur/src/node/to-commonjs-compiler.js +3 -7
  226. data/vendor/node_modules/traceur/src/node/traceur.js +1 -1
  227. metadata +196 -190
  228. data/vendor/node_modules/traceur/node_modules/q-io/.npmignore +0 -1
  229. data/vendor/node_modules/traceur/node_modules/q-io/CHANGES.md +0 -122
  230. data/vendor/node_modules/traceur/node_modules/q-io/LICENSE +0 -19
  231. data/vendor/node_modules/traceur/node_modules/q-io/README.md +0 -928
  232. data/vendor/node_modules/traceur/node_modules/q-io/buffer-stream.js +0 -59
  233. data/vendor/node_modules/traceur/node_modules/q-io/coverage-report.js +0 -44
  234. data/vendor/node_modules/traceur/node_modules/q-io/deprecate.js +0 -51
  235. data/vendor/node_modules/traceur/node_modules/q-io/fs-boot.js +0 -307
  236. data/vendor/node_modules/traceur/node_modules/q-io/fs-common.js +0 -499
  237. data/vendor/node_modules/traceur/node_modules/q-io/fs-mock.js +0 -547
  238. data/vendor/node_modules/traceur/node_modules/q-io/fs-root.js +0 -105
  239. data/vendor/node_modules/traceur/node_modules/q-io/fs.js +0 -355
  240. data/vendor/node_modules/traceur/node_modules/q-io/fs2http.js +0 -65
  241. data/vendor/node_modules/traceur/node_modules/q-io/http-apps.js +0 -152
  242. data/vendor/node_modules/traceur/node_modules/q-io/http-apps/chain.js +0 -24
  243. data/vendor/node_modules/traceur/node_modules/q-io/http-apps/content.js +0 -93
  244. data/vendor/node_modules/traceur/node_modules/q-io/http-apps/cookie.js +0 -154
  245. data/vendor/node_modules/traceur/node_modules/q-io/http-apps/decorators.js +0 -178
  246. data/vendor/node_modules/traceur/node_modules/q-io/http-apps/fs.js +0 -417
  247. data/vendor/node_modules/traceur/node_modules/q-io/http-apps/html.js +0 -58
  248. data/vendor/node_modules/traceur/node_modules/q-io/http-apps/json.js +0 -78
  249. data/vendor/node_modules/traceur/node_modules/q-io/http-apps/negotiate.js +0 -120
  250. data/vendor/node_modules/traceur/node_modules/q-io/http-apps/proxy.js +0 -27
  251. data/vendor/node_modules/traceur/node_modules/q-io/http-apps/redirect.js +0 -209
  252. data/vendor/node_modules/traceur/node_modules/q-io/http-apps/route.js +0 -125
  253. data/vendor/node_modules/traceur/node_modules/q-io/http-apps/status.js +0 -175
  254. data/vendor/node_modules/traceur/node_modules/q-io/http-cookie.js +0 -75
  255. data/vendor/node_modules/traceur/node_modules/q-io/http.js +0 -378
  256. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/.npmignore +0 -11
  257. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/CHANGES.md +0 -78
  258. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/LICENSE.md +0 -21
  259. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/README.md +0 -1285
  260. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/collections.js +0 -22
  261. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/dict.js +0 -142
  262. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/fast-map.js +0 -57
  263. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/fast-set.js +0 -183
  264. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/generic-collection.js +0 -261
  265. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/generic-map.js +0 -186
  266. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/generic-order.js +0 -55
  267. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/generic-set.js +0 -59
  268. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/heap.js +0 -236
  269. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/iterator.js +0 -371
  270. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/list.js +0 -435
  271. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/listen/array-changes.js +0 -247
  272. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/listen/map-changes.js +0 -147
  273. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/listen/property-changes.js +0 -448
  274. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/listen/range-changes.js +0 -139
  275. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/lru-map.js +0 -79
  276. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/lru-set.js +0 -142
  277. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/map.js +0 -60
  278. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/multi-map.js +0 -41
  279. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/node_modules/weak-map/package.json +0 -12
  280. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/node_modules/weak-map/sync +0 -7
  281. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/node_modules/weak-map/sync.patch +0 -48
  282. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/node_modules/weak-map/weak-map.js +0 -590
  283. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/package.json +0 -49
  284. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/set.js +0 -173
  285. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/shim-array.js +0 -274
  286. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/shim-function.js +0 -59
  287. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/shim-object.js +0 -538
  288. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/shim-regexp.js +0 -14
  289. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/shim.js +0 -6
  290. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/sorted-array-map.js +0 -49
  291. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/sorted-array-set.js +0 -51
  292. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/sorted-array.js +0 -269
  293. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/sorted-map.js +0 -61
  294. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/sorted-set.js +0 -736
  295. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/tree-log.js +0 -40
  296. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/collections/weak-map.js +0 -1
  297. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/mime/README.md +0 -66
  298. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/mime/mime.js +0 -114
  299. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/mime/package.json +0 -35
  300. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/mime/test.js +0 -84
  301. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/mime/types/mime.types +0 -1588
  302. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/mime/types/node.types +0 -77
  303. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/mimeparse/CHANGES +0 -15
  304. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/mimeparse/LICENSE +0 -19
  305. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/mimeparse/README +0 -96
  306. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/mimeparse/lib/mimeparse.js +0 -166
  307. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/mimeparse/package.json +0 -43
  308. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/q/CONTRIBUTING.md +0 -40
  309. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/q/LICENSE +0 -19
  310. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/q/README.md +0 -813
  311. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/q/benchmark/compare-with-callbacks.js +0 -71
  312. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/q/benchmark/scenarios.js +0 -36
  313. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/q/package.json +0 -93
  314. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/q/q.js +0 -1937
  315. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/q/queue.js +0 -35
  316. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/.gitmodules +0 -6
  317. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/History.md +0 -36
  318. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/Makefile +0 -7
  319. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/Readme.md +0 -38
  320. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/benchmark.js +0 -32
  321. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/examples.js +0 -39
  322. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/index.js +0 -2
  323. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/lib/querystring.js +0 -123
  324. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/package.json +0 -19
  325. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/.gitmodules +0 -3
  326. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/.npmignore +0 -3
  327. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/History.md +0 -128
  328. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/Makefile +0 -53
  329. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/Readme.md +0 -61
  330. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/bin/expresso +0 -856
  331. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/docs/api.html +0 -1080
  332. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/docs/index.html +0 -377
  333. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/docs/index.md +0 -290
  334. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/docs/layout/foot.html +0 -3
  335. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/docs/layout/head.html +0 -42
  336. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/lib/bar.js +0 -4
  337. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/lib/foo.js +0 -16
  338. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/package.json +0 -12
  339. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/test/assert.test.js +0 -91
  340. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/test/async.test.js +0 -12
  341. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/test/bar.test.js +0 -13
  342. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/test/foo.test.js +0 -14
  343. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/test/http.test.js +0 -146
  344. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/test/serial/async.test.js +0 -39
  345. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/expresso/test/serial/http.test.js +0 -48
  346. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/should/.gitmodules +0 -3
  347. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/should/History.md +0 -22
  348. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/should/Makefile +0 -6
  349. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/should/Readme.md +0 -248
  350. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/should/examples/runner.js +0 -53
  351. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/should/index.js +0 -2
  352. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/should/lib/eql.js +0 -91
  353. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/should/lib/should.js +0 -548
  354. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/should/package.json +0 -8
  355. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/support/should/test/should.test.js +0 -358
  356. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/qs/test/querystring.test.js +0 -133
  357. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/url2/.npmignore +0 -3
  358. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/url2/LICENSE.md +0 -20
  359. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/url2/README.md +0 -33
  360. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/url2/package.json +0 -37
  361. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/url2/test/url2-spec.js +0 -125
  362. data/vendor/node_modules/traceur/node_modules/q-io/node_modules/url2/url2.js +0 -151
  363. data/vendor/node_modules/traceur/node_modules/q-io/package.json +0 -51
  364. data/vendor/node_modules/traceur/node_modules/q-io/reader.js +0 -133
  365. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/boot-directory-spec.js +0 -47
  366. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/contains-spec.js +0 -11
  367. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/fixtures/hello.txt +0 -1
  368. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/issues/1-spec.js +0 -33
  369. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/make-tree-spec.js +0 -92
  370. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/mock/append-spec.js +0 -41
  371. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/mock/copy-tree-spec.js +0 -57
  372. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/mock/fixture/hello.txt +0 -1
  373. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/mock/link-spec.js +0 -70
  374. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/mock/make-tree-spec.js +0 -109
  375. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/mock/merge-spec.js +0 -67
  376. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/mock/move-spec.js +0 -219
  377. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/mock/object-spec.js +0 -20
  378. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/mock/range-spec.js +0 -26
  379. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/mock/read-spec.js +0 -40
  380. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/mock/remove-directory-spec.js +0 -37
  381. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/mock/remove-tree-spec.js +0 -39
  382. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/mock/root-spec.js +0 -32
  383. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/mock/stat-spec.js +0 -26
  384. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/mock/symbolic-link-spec.js +0 -86
  385. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/mock/working-directory-spec.js +0 -31
  386. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/mock/write-spec.js +0 -73
  387. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/range-spec.js +0 -23
  388. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/range-spec.txt +0 -1
  389. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/read-spec.js +0 -22
  390. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/relative-spec.js +0 -25
  391. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/reroot-spec.js +0 -45
  392. data/vendor/node_modules/traceur/node_modules/q-io/spec/fs/write-spec.js +0 -38
  393. data/vendor/node_modules/traceur/node_modules/q-io/spec/http-apps/cookie-spec.js +0 -52
  394. data/vendor/node_modules/traceur/node_modules/q-io/spec/http-apps/directory-list-spec.js +0 -86
  395. data/vendor/node_modules/traceur/node_modules/q-io/spec/http-apps/fixtures/01234.txt +0 -1
  396. data/vendor/node_modules/traceur/node_modules/q-io/spec/http-apps/fixtures/1234.txt +0 -1
  397. data/vendor/node_modules/traceur/node_modules/q-io/spec/http-apps/fixtures/5678.txt +0 -0
  398. data/vendor/node_modules/traceur/node_modules/q-io/spec/http-apps/fixtures/9012/3456.txt +0 -0
  399. data/vendor/node_modules/traceur/node_modules/q-io/spec/http-apps/hosts-spec.js +0 -49
  400. data/vendor/node_modules/traceur/node_modules/q-io/spec/http-apps/interpret-range-spec.js +0 -47
  401. data/vendor/node_modules/traceur/node_modules/q-io/spec/http-apps/partial-range-spec.js +0 -186
  402. data/vendor/node_modules/traceur/node_modules/q-io/spec/http-apps/proxy-spec.js +0 -82
  403. data/vendor/node_modules/traceur/node_modules/q-io/spec/http-apps/symbolic-link-spec.js +0 -110
  404. data/vendor/node_modules/traceur/node_modules/q-io/spec/http/agent-spec.js +0 -96
  405. data/vendor/node_modules/traceur/node_modules/q-io/spec/http/basic-spec.js +0 -96
  406. data/vendor/node_modules/traceur/node_modules/q-io/spec/lib/jasmine-promise.js +0 -42
  407. data/vendor/node_modules/traceur/node_modules/q-io/writer.js +0 -111
  408. data/vendor/node_modules/traceur/src/node/compile-single-file.js +0 -69
  409. data/vendor/node_modules/traceur/src/node/compiler.js +0 -116
  410. data/vendor/node_modules/traceur/src/node/inline-module.js +0 -149
@@ -0,0 +1,380 @@
1
+ /* -*- Mode: js; js-indent-level: 2; -*- */
2
+ /*
3
+ * Copyright 2011 Mozilla Foundation and contributors
4
+ * Licensed under the New BSD license. See LICENSE or:
5
+ * http://opensource.org/licenses/BSD-3-Clause
6
+ */
7
+ if (typeof define !== 'function') {
8
+ var define = require('amdefine')(module, require);
9
+ }
10
+ define(function (require, exports, module) {
11
+
12
+ var base64VLQ = require('./base64-vlq');
13
+ var util = require('./util');
14
+ var ArraySet = require('./array-set').ArraySet;
15
+
16
+ /**
17
+ * An instance of the SourceMapGenerator represents a source map which is
18
+ * being built incrementally. To create a new one, you must pass an object
19
+ * with the following properties:
20
+ *
21
+ * - file: The filename of the generated source.
22
+ * - sourceRoot: An optional root for all URLs in this source map.
23
+ */
24
+ function SourceMapGenerator(aArgs) {
25
+ this._file = util.getArg(aArgs, 'file');
26
+ this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);
27
+ this._sources = new ArraySet();
28
+ this._names = new ArraySet();
29
+ this._mappings = [];
30
+ this._sourcesContents = null;
31
+ }
32
+
33
+ SourceMapGenerator.prototype._version = 3;
34
+
35
+ /**
36
+ * Creates a new SourceMapGenerator based on a SourceMapConsumer
37
+ *
38
+ * @param aSourceMapConsumer The SourceMap.
39
+ */
40
+ SourceMapGenerator.fromSourceMap =
41
+ function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {
42
+ var sourceRoot = aSourceMapConsumer.sourceRoot;
43
+ var generator = new SourceMapGenerator({
44
+ file: aSourceMapConsumer.file,
45
+ sourceRoot: sourceRoot
46
+ });
47
+ aSourceMapConsumer.eachMapping(function (mapping) {
48
+ var newMapping = {
49
+ generated: {
50
+ line: mapping.generatedLine,
51
+ column: mapping.generatedColumn
52
+ }
53
+ };
54
+
55
+ if (mapping.source) {
56
+ newMapping.source = mapping.source;
57
+ if (sourceRoot) {
58
+ newMapping.source = util.relative(sourceRoot, newMapping.source);
59
+ }
60
+
61
+ newMapping.original = {
62
+ line: mapping.originalLine,
63
+ column: mapping.originalColumn
64
+ };
65
+
66
+ if (mapping.name) {
67
+ newMapping.name = mapping.name;
68
+ }
69
+ }
70
+
71
+ generator.addMapping(newMapping);
72
+ });
73
+ aSourceMapConsumer.sources.forEach(function (sourceFile) {
74
+ var content = aSourceMapConsumer.sourceContentFor(sourceFile);
75
+ if (content) {
76
+ generator.setSourceContent(sourceFile, content);
77
+ }
78
+ });
79
+ return generator;
80
+ };
81
+
82
+ /**
83
+ * Add a single mapping from original source line and column to the generated
84
+ * source's line and column for this source map being created. The mapping
85
+ * object should have the following properties:
86
+ *
87
+ * - generated: An object with the generated line and column positions.
88
+ * - original: An object with the original line and column positions.
89
+ * - source: The original source file (relative to the sourceRoot).
90
+ * - name: An optional original token name for this mapping.
91
+ */
92
+ SourceMapGenerator.prototype.addMapping =
93
+ function SourceMapGenerator_addMapping(aArgs) {
94
+ var generated = util.getArg(aArgs, 'generated');
95
+ var original = util.getArg(aArgs, 'original', null);
96
+ var source = util.getArg(aArgs, 'source', null);
97
+ var name = util.getArg(aArgs, 'name', null);
98
+
99
+ this._validateMapping(generated, original, source, name);
100
+
101
+ if (source && !this._sources.has(source)) {
102
+ this._sources.add(source);
103
+ }
104
+
105
+ if (name && !this._names.has(name)) {
106
+ this._names.add(name);
107
+ }
108
+
109
+ this._mappings.push({
110
+ generatedLine: generated.line,
111
+ generatedColumn: generated.column,
112
+ originalLine: original != null && original.line,
113
+ originalColumn: original != null && original.column,
114
+ source: source,
115
+ name: name
116
+ });
117
+ };
118
+
119
+ /**
120
+ * Set the source content for a source file.
121
+ */
122
+ SourceMapGenerator.prototype.setSourceContent =
123
+ function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {
124
+ var source = aSourceFile;
125
+ if (this._sourceRoot) {
126
+ source = util.relative(this._sourceRoot, source);
127
+ }
128
+
129
+ if (aSourceContent !== null) {
130
+ // Add the source content to the _sourcesContents map.
131
+ // Create a new _sourcesContents map if the property is null.
132
+ if (!this._sourcesContents) {
133
+ this._sourcesContents = {};
134
+ }
135
+ this._sourcesContents[util.toSetString(source)] = aSourceContent;
136
+ } else {
137
+ // Remove the source file from the _sourcesContents map.
138
+ // If the _sourcesContents map is empty, set the property to null.
139
+ delete this._sourcesContents[util.toSetString(source)];
140
+ if (Object.keys(this._sourcesContents).length === 0) {
141
+ this._sourcesContents = null;
142
+ }
143
+ }
144
+ };
145
+
146
+ /**
147
+ * Applies the mappings of a sub-source-map for a specific source file to the
148
+ * source map being generated. Each mapping to the supplied source file is
149
+ * rewritten using the supplied source map. Note: The resolution for the
150
+ * resulting mappings is the minimium of this map and the supplied map.
151
+ *
152
+ * @param aSourceMapConsumer The source map to be applied.
153
+ * @param aSourceFile Optional. The filename of the source file.
154
+ * If omitted, SourceMapConsumer's file property will be used.
155
+ */
156
+ SourceMapGenerator.prototype.applySourceMap =
157
+ function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile) {
158
+ // If aSourceFile is omitted, we will use the file property of the SourceMap
159
+ if (!aSourceFile) {
160
+ aSourceFile = aSourceMapConsumer.file;
161
+ }
162
+ var sourceRoot = this._sourceRoot;
163
+ // Make "aSourceFile" relative if an absolute Url is passed.
164
+ if (sourceRoot) {
165
+ aSourceFile = util.relative(sourceRoot, aSourceFile);
166
+ }
167
+ // Applying the SourceMap can add and remove items from the sources and
168
+ // the names array.
169
+ var newSources = new ArraySet();
170
+ var newNames = new ArraySet();
171
+
172
+ // Find mappings for the "aSourceFile"
173
+ this._mappings.forEach(function (mapping) {
174
+ if (mapping.source === aSourceFile && mapping.originalLine) {
175
+ // Check if it can be mapped by the source map, then update the mapping.
176
+ var original = aSourceMapConsumer.originalPositionFor({
177
+ line: mapping.originalLine,
178
+ column: mapping.originalColumn
179
+ });
180
+ if (original.source !== null) {
181
+ // Copy mapping
182
+ if (sourceRoot) {
183
+ mapping.source = util.relative(sourceRoot, original.source);
184
+ } else {
185
+ mapping.source = original.source;
186
+ }
187
+ mapping.originalLine = original.line;
188
+ mapping.originalColumn = original.column;
189
+ if (original.name !== null && mapping.name !== null) {
190
+ // Only use the identifier name if it's an identifier
191
+ // in both SourceMaps
192
+ mapping.name = original.name;
193
+ }
194
+ }
195
+ }
196
+
197
+ var source = mapping.source;
198
+ if (source && !newSources.has(source)) {
199
+ newSources.add(source);
200
+ }
201
+
202
+ var name = mapping.name;
203
+ if (name && !newNames.has(name)) {
204
+ newNames.add(name);
205
+ }
206
+
207
+ }, this);
208
+ this._sources = newSources;
209
+ this._names = newNames;
210
+
211
+ // Copy sourcesContents of applied map.
212
+ aSourceMapConsumer.sources.forEach(function (sourceFile) {
213
+ var content = aSourceMapConsumer.sourceContentFor(sourceFile);
214
+ if (content) {
215
+ if (sourceRoot) {
216
+ sourceFile = util.relative(sourceRoot, sourceFile);
217
+ }
218
+ this.setSourceContent(sourceFile, content);
219
+ }
220
+ }, this);
221
+ };
222
+
223
+ /**
224
+ * A mapping can have one of the three levels of data:
225
+ *
226
+ * 1. Just the generated position.
227
+ * 2. The Generated position, original position, and original source.
228
+ * 3. Generated and original position, original source, as well as a name
229
+ * token.
230
+ *
231
+ * To maintain consistency, we validate that any new mapping being added falls
232
+ * in to one of these categories.
233
+ */
234
+ SourceMapGenerator.prototype._validateMapping =
235
+ function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,
236
+ aName) {
237
+ if (aGenerated && 'line' in aGenerated && 'column' in aGenerated
238
+ && aGenerated.line > 0 && aGenerated.column >= 0
239
+ && !aOriginal && !aSource && !aName) {
240
+ // Case 1.
241
+ return;
242
+ }
243
+ else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated
244
+ && aOriginal && 'line' in aOriginal && 'column' in aOriginal
245
+ && aGenerated.line > 0 && aGenerated.column >= 0
246
+ && aOriginal.line > 0 && aOriginal.column >= 0
247
+ && aSource) {
248
+ // Cases 2 and 3.
249
+ return;
250
+ }
251
+ else {
252
+ throw new Error('Invalid mapping: ' + JSON.stringify({
253
+ generated: aGenerated,
254
+ source: aSource,
255
+ original: aOriginal,
256
+ name: aName
257
+ }));
258
+ }
259
+ };
260
+
261
+ /**
262
+ * Serialize the accumulated mappings in to the stream of base 64 VLQs
263
+ * specified by the source map format.
264
+ */
265
+ SourceMapGenerator.prototype._serializeMappings =
266
+ function SourceMapGenerator_serializeMappings() {
267
+ var previousGeneratedColumn = 0;
268
+ var previousGeneratedLine = 1;
269
+ var previousOriginalColumn = 0;
270
+ var previousOriginalLine = 0;
271
+ var previousName = 0;
272
+ var previousSource = 0;
273
+ var result = '';
274
+ var mapping;
275
+
276
+ // The mappings must be guaranteed to be in sorted order before we start
277
+ // serializing them or else the generated line numbers (which are defined
278
+ // via the ';' separators) will be all messed up. Note: it might be more
279
+ // performant to maintain the sorting as we insert them, rather than as we
280
+ // serialize them, but the big O is the same either way.
281
+ this._mappings.sort(util.compareByGeneratedPositions);
282
+
283
+ for (var i = 0, len = this._mappings.length; i < len; i++) {
284
+ mapping = this._mappings[i];
285
+
286
+ if (mapping.generatedLine !== previousGeneratedLine) {
287
+ previousGeneratedColumn = 0;
288
+ while (mapping.generatedLine !== previousGeneratedLine) {
289
+ result += ';';
290
+ previousGeneratedLine++;
291
+ }
292
+ }
293
+ else {
294
+ if (i > 0) {
295
+ if (!util.compareByGeneratedPositions(mapping, this._mappings[i - 1])) {
296
+ continue;
297
+ }
298
+ result += ',';
299
+ }
300
+ }
301
+
302
+ result += base64VLQ.encode(mapping.generatedColumn
303
+ - previousGeneratedColumn);
304
+ previousGeneratedColumn = mapping.generatedColumn;
305
+
306
+ if (mapping.source) {
307
+ result += base64VLQ.encode(this._sources.indexOf(mapping.source)
308
+ - previousSource);
309
+ previousSource = this._sources.indexOf(mapping.source);
310
+
311
+ // lines are stored 0-based in SourceMap spec version 3
312
+ result += base64VLQ.encode(mapping.originalLine - 1
313
+ - previousOriginalLine);
314
+ previousOriginalLine = mapping.originalLine - 1;
315
+
316
+ result += base64VLQ.encode(mapping.originalColumn
317
+ - previousOriginalColumn);
318
+ previousOriginalColumn = mapping.originalColumn;
319
+
320
+ if (mapping.name) {
321
+ result += base64VLQ.encode(this._names.indexOf(mapping.name)
322
+ - previousName);
323
+ previousName = this._names.indexOf(mapping.name);
324
+ }
325
+ }
326
+ }
327
+
328
+ return result;
329
+ };
330
+
331
+ SourceMapGenerator.prototype._generateSourcesContent =
332
+ function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {
333
+ return aSources.map(function (source) {
334
+ if (!this._sourcesContents) {
335
+ return null;
336
+ }
337
+ if (aSourceRoot) {
338
+ source = util.relative(aSourceRoot, source);
339
+ }
340
+ var key = util.toSetString(source);
341
+ return Object.prototype.hasOwnProperty.call(this._sourcesContents,
342
+ key)
343
+ ? this._sourcesContents[key]
344
+ : null;
345
+ }, this);
346
+ };
347
+
348
+ /**
349
+ * Externalize the source map.
350
+ */
351
+ SourceMapGenerator.prototype.toJSON =
352
+ function SourceMapGenerator_toJSON() {
353
+ var map = {
354
+ version: this._version,
355
+ file: this._file,
356
+ sources: this._sources.toArray(),
357
+ names: this._names.toArray(),
358
+ mappings: this._serializeMappings()
359
+ };
360
+ if (this._sourceRoot) {
361
+ map.sourceRoot = this._sourceRoot;
362
+ }
363
+ if (this._sourcesContents) {
364
+ map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);
365
+ }
366
+
367
+ return map;
368
+ };
369
+
370
+ /**
371
+ * Render the source map being generated to a string.
372
+ */
373
+ SourceMapGenerator.prototype.toString =
374
+ function SourceMapGenerator_toString() {
375
+ return JSON.stringify(this);
376
+ };
377
+
378
+ exports.SourceMapGenerator = SourceMapGenerator;
379
+
380
+ });
@@ -0,0 +1,371 @@
1
+ /* -*- Mode: js; js-indent-level: 2; -*- */
2
+ /*
3
+ * Copyright 2011 Mozilla Foundation and contributors
4
+ * Licensed under the New BSD license. See LICENSE or:
5
+ * http://opensource.org/licenses/BSD-3-Clause
6
+ */
7
+ if (typeof define !== 'function') {
8
+ var define = require('amdefine')(module, require);
9
+ }
10
+ define(function (require, exports, module) {
11
+
12
+ var SourceMapGenerator = require('./source-map-generator').SourceMapGenerator;
13
+ var util = require('./util');
14
+
15
+ /**
16
+ * SourceNodes provide a way to abstract over interpolating/concatenating
17
+ * snippets of generated JavaScript source code while maintaining the line and
18
+ * column information associated with the original source code.
19
+ *
20
+ * @param aLine The original line number.
21
+ * @param aColumn The original column number.
22
+ * @param aSource The original source's filename.
23
+ * @param aChunks Optional. An array of strings which are snippets of
24
+ * generated JS, or other SourceNodes.
25
+ * @param aName The original identifier.
26
+ */
27
+ function SourceNode(aLine, aColumn, aSource, aChunks, aName) {
28
+ this.children = [];
29
+ this.sourceContents = {};
30
+ this.line = aLine === undefined ? null : aLine;
31
+ this.column = aColumn === undefined ? null : aColumn;
32
+ this.source = aSource === undefined ? null : aSource;
33
+ this.name = aName === undefined ? null : aName;
34
+ if (aChunks != null) this.add(aChunks);
35
+ }
36
+
37
+ /**
38
+ * Creates a SourceNode from generated code and a SourceMapConsumer.
39
+ *
40
+ * @param aGeneratedCode The generated code
41
+ * @param aSourceMapConsumer The SourceMap for the generated code
42
+ */
43
+ SourceNode.fromStringWithSourceMap =
44
+ function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer) {
45
+ // The SourceNode we want to fill with the generated code
46
+ // and the SourceMap
47
+ var node = new SourceNode();
48
+
49
+ // The generated code
50
+ // Processed fragments are removed from this array.
51
+ var remainingLines = aGeneratedCode.split('\n');
52
+
53
+ // We need to remember the position of "remainingLines"
54
+ var lastGeneratedLine = 1, lastGeneratedColumn = 0;
55
+
56
+ // The generate SourceNodes we need a code range.
57
+ // To extract it current and last mapping is used.
58
+ // Here we store the last mapping.
59
+ var lastMapping = null;
60
+
61
+ aSourceMapConsumer.eachMapping(function (mapping) {
62
+ if (lastMapping === null) {
63
+ // We add the generated code until the first mapping
64
+ // to the SourceNode without any mapping.
65
+ // Each line is added as separate string.
66
+ while (lastGeneratedLine < mapping.generatedLine) {
67
+ node.add(remainingLines.shift() + "\n");
68
+ lastGeneratedLine++;
69
+ }
70
+ if (lastGeneratedColumn < mapping.generatedColumn) {
71
+ var nextLine = remainingLines[0];
72
+ node.add(nextLine.substr(0, mapping.generatedColumn));
73
+ remainingLines[0] = nextLine.substr(mapping.generatedColumn);
74
+ lastGeneratedColumn = mapping.generatedColumn;
75
+ }
76
+ } else {
77
+ // We add the code from "lastMapping" to "mapping":
78
+ // First check if there is a new line in between.
79
+ if (lastGeneratedLine < mapping.generatedLine) {
80
+ var code = "";
81
+ // Associate full lines with "lastMapping"
82
+ do {
83
+ code += remainingLines.shift() + "\n";
84
+ lastGeneratedLine++;
85
+ lastGeneratedColumn = 0;
86
+ } while (lastGeneratedLine < mapping.generatedLine);
87
+ // When we reached the correct line, we add code until we
88
+ // reach the correct column too.
89
+ if (lastGeneratedColumn < mapping.generatedColumn) {
90
+ var nextLine = remainingLines[0];
91
+ code += nextLine.substr(0, mapping.generatedColumn);
92
+ remainingLines[0] = nextLine.substr(mapping.generatedColumn);
93
+ lastGeneratedColumn = mapping.generatedColumn;
94
+ }
95
+ // Create the SourceNode.
96
+ addMappingWithCode(lastMapping, code);
97
+ } else {
98
+ // There is no new line in between.
99
+ // Associate the code between "lastGeneratedColumn" and
100
+ // "mapping.generatedColumn" with "lastMapping"
101
+ var nextLine = remainingLines[0];
102
+ var code = nextLine.substr(0, mapping.generatedColumn -
103
+ lastGeneratedColumn);
104
+ remainingLines[0] = nextLine.substr(mapping.generatedColumn -
105
+ lastGeneratedColumn);
106
+ lastGeneratedColumn = mapping.generatedColumn;
107
+ addMappingWithCode(lastMapping, code);
108
+ }
109
+ }
110
+ lastMapping = mapping;
111
+ }, this);
112
+ // We have processed all mappings.
113
+ // Associate the remaining code in the current line with "lastMapping"
114
+ // and add the remaining lines without any mapping
115
+ addMappingWithCode(lastMapping, remainingLines.join("\n"));
116
+
117
+ // Copy sourcesContent into SourceNode
118
+ aSourceMapConsumer.sources.forEach(function (sourceFile) {
119
+ var content = aSourceMapConsumer.sourceContentFor(sourceFile);
120
+ if (content) {
121
+ node.setSourceContent(sourceFile, content);
122
+ }
123
+ });
124
+
125
+ return node;
126
+
127
+ function addMappingWithCode(mapping, code) {
128
+ if (mapping === null || mapping.source === undefined) {
129
+ node.add(code);
130
+ } else {
131
+ node.add(new SourceNode(mapping.originalLine,
132
+ mapping.originalColumn,
133
+ mapping.source,
134
+ code,
135
+ mapping.name));
136
+ }
137
+ }
138
+ };
139
+
140
+ /**
141
+ * Add a chunk of generated JS to this source node.
142
+ *
143
+ * @param aChunk A string snippet of generated JS code, another instance of
144
+ * SourceNode, or an array where each member is one of those things.
145
+ */
146
+ SourceNode.prototype.add = function SourceNode_add(aChunk) {
147
+ if (Array.isArray(aChunk)) {
148
+ aChunk.forEach(function (chunk) {
149
+ this.add(chunk);
150
+ }, this);
151
+ }
152
+ else if (aChunk instanceof SourceNode || typeof aChunk === "string") {
153
+ if (aChunk) {
154
+ this.children.push(aChunk);
155
+ }
156
+ }
157
+ else {
158
+ throw new TypeError(
159
+ "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk
160
+ );
161
+ }
162
+ return this;
163
+ };
164
+
165
+ /**
166
+ * Add a chunk of generated JS to the beginning of this source node.
167
+ *
168
+ * @param aChunk A string snippet of generated JS code, another instance of
169
+ * SourceNode, or an array where each member is one of those things.
170
+ */
171
+ SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {
172
+ if (Array.isArray(aChunk)) {
173
+ for (var i = aChunk.length-1; i >= 0; i--) {
174
+ this.prepend(aChunk[i]);
175
+ }
176
+ }
177
+ else if (aChunk instanceof SourceNode || typeof aChunk === "string") {
178
+ this.children.unshift(aChunk);
179
+ }
180
+ else {
181
+ throw new TypeError(
182
+ "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk
183
+ );
184
+ }
185
+ return this;
186
+ };
187
+
188
+ /**
189
+ * Walk over the tree of JS snippets in this node and its children. The
190
+ * walking function is called once for each snippet of JS and is passed that
191
+ * snippet and the its original associated source's line/column location.
192
+ *
193
+ * @param aFn The traversal function.
194
+ */
195
+ SourceNode.prototype.walk = function SourceNode_walk(aFn) {
196
+ var chunk;
197
+ for (var i = 0, len = this.children.length; i < len; i++) {
198
+ chunk = this.children[i];
199
+ if (chunk instanceof SourceNode) {
200
+ chunk.walk(aFn);
201
+ }
202
+ else {
203
+ if (chunk !== '') {
204
+ aFn(chunk, { source: this.source,
205
+ line: this.line,
206
+ column: this.column,
207
+ name: this.name });
208
+ }
209
+ }
210
+ }
211
+ };
212
+
213
+ /**
214
+ * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between
215
+ * each of `this.children`.
216
+ *
217
+ * @param aSep The separator.
218
+ */
219
+ SourceNode.prototype.join = function SourceNode_join(aSep) {
220
+ var newChildren;
221
+ var i;
222
+ var len = this.children.length;
223
+ if (len > 0) {
224
+ newChildren = [];
225
+ for (i = 0; i < len-1; i++) {
226
+ newChildren.push(this.children[i]);
227
+ newChildren.push(aSep);
228
+ }
229
+ newChildren.push(this.children[i]);
230
+ this.children = newChildren;
231
+ }
232
+ return this;
233
+ };
234
+
235
+ /**
236
+ * Call String.prototype.replace on the very right-most source snippet. Useful
237
+ * for trimming whitespace from the end of a source node, etc.
238
+ *
239
+ * @param aPattern The pattern to replace.
240
+ * @param aReplacement The thing to replace the pattern with.
241
+ */
242
+ SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {
243
+ var lastChild = this.children[this.children.length - 1];
244
+ if (lastChild instanceof SourceNode) {
245
+ lastChild.replaceRight(aPattern, aReplacement);
246
+ }
247
+ else if (typeof lastChild === 'string') {
248
+ this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);
249
+ }
250
+ else {
251
+ this.children.push(''.replace(aPattern, aReplacement));
252
+ }
253
+ return this;
254
+ };
255
+
256
+ /**
257
+ * Set the source content for a source file. This will be added to the SourceMapGenerator
258
+ * in the sourcesContent field.
259
+ *
260
+ * @param aSourceFile The filename of the source file
261
+ * @param aSourceContent The content of the source file
262
+ */
263
+ SourceNode.prototype.setSourceContent =
264
+ function SourceNode_setSourceContent(aSourceFile, aSourceContent) {
265
+ this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;
266
+ };
267
+
268
+ /**
269
+ * Walk over the tree of SourceNodes. The walking function is called for each
270
+ * source file content and is passed the filename and source content.
271
+ *
272
+ * @param aFn The traversal function.
273
+ */
274
+ SourceNode.prototype.walkSourceContents =
275
+ function SourceNode_walkSourceContents(aFn) {
276
+ for (var i = 0, len = this.children.length; i < len; i++) {
277
+ if (this.children[i] instanceof SourceNode) {
278
+ this.children[i].walkSourceContents(aFn);
279
+ }
280
+ }
281
+
282
+ var sources = Object.keys(this.sourceContents);
283
+ for (var i = 0, len = sources.length; i < len; i++) {
284
+ aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);
285
+ }
286
+ };
287
+
288
+ /**
289
+ * Return the string representation of this source node. Walks over the tree
290
+ * and concatenates all the various snippets together to one string.
291
+ */
292
+ SourceNode.prototype.toString = function SourceNode_toString() {
293
+ var str = "";
294
+ this.walk(function (chunk) {
295
+ str += chunk;
296
+ });
297
+ return str;
298
+ };
299
+
300
+ /**
301
+ * Returns the string representation of this source node along with a source
302
+ * map.
303
+ */
304
+ SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {
305
+ var generated = {
306
+ code: "",
307
+ line: 1,
308
+ column: 0
309
+ };
310
+ var map = new SourceMapGenerator(aArgs);
311
+ var sourceMappingActive = false;
312
+ var lastOriginalSource = null;
313
+ var lastOriginalLine = null;
314
+ var lastOriginalColumn = null;
315
+ var lastOriginalName = null;
316
+ this.walk(function (chunk, original) {
317
+ generated.code += chunk;
318
+ if (original.source !== null
319
+ && original.line !== null
320
+ && original.column !== null) {
321
+ if(lastOriginalSource !== original.source
322
+ || lastOriginalLine !== original.line
323
+ || lastOriginalColumn !== original.column
324
+ || lastOriginalName !== original.name) {
325
+ map.addMapping({
326
+ source: original.source,
327
+ original: {
328
+ line: original.line,
329
+ column: original.column
330
+ },
331
+ generated: {
332
+ line: generated.line,
333
+ column: generated.column
334
+ },
335
+ name: original.name
336
+ });
337
+ }
338
+ lastOriginalSource = original.source;
339
+ lastOriginalLine = original.line;
340
+ lastOriginalColumn = original.column;
341
+ lastOriginalName = original.name;
342
+ sourceMappingActive = true;
343
+ } else if (sourceMappingActive) {
344
+ map.addMapping({
345
+ generated: {
346
+ line: generated.line,
347
+ column: generated.column
348
+ }
349
+ });
350
+ lastOriginalSource = null;
351
+ sourceMappingActive = false;
352
+ }
353
+ chunk.split('').forEach(function (ch) {
354
+ if (ch === '\n') {
355
+ generated.line++;
356
+ generated.column = 0;
357
+ } else {
358
+ generated.column++;
359
+ }
360
+ });
361
+ });
362
+ this.walkSourceContents(function (sourceFile, sourceContent) {
363
+ map.setSourceContent(sourceFile, sourceContent);
364
+ });
365
+
366
+ return { code: generated.code, map: map };
367
+ };
368
+
369
+ exports.SourceNode = SourceNode;
370
+
371
+ });