snowball 0.1.21 → 0.1.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (589) hide show
  1. checksums.yaml +5 -13
  2. data/.gitignore +1 -3
  3. data/{lib/snowball → bin}/roll.js +0 -0
  4. data/lib/snowball/roller.rb +1 -1
  5. data/lib/snowball/version.rb +1 -1
  6. data/node_modules/.bin/browserify +161 -0
  7. data/node_modules/.bin/cake +7 -0
  8. data/node_modules/.bin/coffee +7 -0
  9. data/node_modules/.bin/jade +168 -0
  10. data/node_modules/browserify/.travis.yml +4 -0
  11. data/node_modules/browserify/LICENSE +63 -0
  12. data/node_modules/browserify/README.markdown +172 -0
  13. data/node_modules/browserify/bin/cmd.js +161 -0
  14. data/node_modules/browserify/builtins/__browserify_process.js +55 -0
  15. data/node_modules/browserify/builtins/assert.js +314 -0
  16. data/node_modules/browserify/builtins/child_process.js +2 -0
  17. data/node_modules/browserify/builtins/events.js +178 -0
  18. data/node_modules/browserify/builtins/fs.js +1 -0
  19. data/node_modules/browserify/builtins/https.js +1 -0
  20. data/node_modules/browserify/builtins/net.js +1 -0
  21. data/node_modules/browserify/builtins/path.js +175 -0
  22. data/node_modules/browserify/builtins/querystring.js +250 -0
  23. data/node_modules/browserify/builtins/stream.js +119 -0
  24. data/node_modules/browserify/builtins/string_decoder.js +161 -0
  25. data/node_modules/browserify/builtins/sys.js +1 -0
  26. data/node_modules/browserify/builtins/timers.js +39 -0
  27. data/node_modules/browserify/builtins/tls.js +1 -0
  28. data/node_modules/browserify/builtins/tty.js +2 -0
  29. data/node_modules/browserify/builtins/url.js +604 -0
  30. data/node_modules/browserify/builtins/util.js +351 -0
  31. data/node_modules/browserify/example/debug/browserify.js +219 -0
  32. data/node_modules/browserify/example/debug/build.sh +3 -0
  33. data/node_modules/browserify/example/debug/index.html +7 -0
  34. data/node_modules/browserify/example/debug/js/entry.js +2 -0
  35. data/node_modules/browserify/example/debug/js/thrower.js +3 -0
  36. data/node_modules/browserify/example/debug/server.js +9 -0
  37. data/node_modules/browserify/example/simple-build/browserify.js +368 -0
  38. data/node_modules/browserify/example/simple-build/build.sh +3 -0
  39. data/node_modules/browserify/example/simple-build/index.html +9 -0
  40. data/node_modules/browserify/example/simple-build/js/bar.js +3 -0
  41. data/node_modules/browserify/example/simple-build/js/entry.js +5 -0
  42. data/node_modules/browserify/example/simple-build/js/foo.js +5 -0
  43. data/node_modules/browserify/example/simple-build/server.js +9 -0
  44. data/node_modules/browserify/example/test/b.js +5 -0
  45. data/node_modules/browserify/example/test/bar.js +3 -0
  46. data/node_modules/browserify/example/test/foo.js +3 -0
  47. data/node_modules/browserify/example/test/m.js +3 -0
  48. data/node_modules/browserify/example/test/n.js +3 -0
  49. data/node_modules/browserify/example/using-http/bundle.js +813 -0
  50. data/node_modules/browserify/example/using-http/entry.js +25 -0
  51. data/node_modules/browserify/example/using-http/index.html +9 -0
  52. data/node_modules/browserify/example/using-http/server.js +28 -0
  53. data/node_modules/browserify/index.js +202 -0
  54. data/node_modules/browserify/lib/watch.js +75 -0
  55. data/node_modules/browserify/lib/wrap.js +580 -0
  56. data/node_modules/browserify/lib/wrappers.js +10 -0
  57. data/node_modules/browserify/node_modules/buffer-browserify/.npmignore +1 -0
  58. data/node_modules/browserify/node_modules/buffer-browserify/README.md +11 -0
  59. data/node_modules/browserify/node_modules/buffer-browserify/buffer_ieee754.js +84 -0
  60. data/node_modules/browserify/node_modules/buffer-browserify/index.js +1317 -0
  61. data/node_modules/browserify/node_modules/buffer-browserify/node_modules/base64-js/README.md +14 -0
  62. data/node_modules/browserify/node_modules/buffer-browserify/node_modules/base64-js/lib/b64.js +84 -0
  63. data/node_modules/browserify/node_modules/buffer-browserify/node_modules/base64-js/package.json +30 -0
  64. data/node_modules/browserify/node_modules/buffer-browserify/node_modules/base64-js/test/runner.js +50 -0
  65. data/node_modules/browserify/node_modules/buffer-browserify/package.json +46 -0
  66. data/node_modules/browserify/node_modules/buffer-browserify/test/buffer.js +218 -0
  67. data/node_modules/browserify/node_modules/commondir/README.markdown +45 -0
  68. data/node_modules/browserify/node_modules/commondir/example/base.js +3 -0
  69. data/node_modules/browserify/node_modules/commondir/example/dir.js +3 -0
  70. data/node_modules/browserify/node_modules/commondir/index.js +29 -0
  71. data/node_modules/browserify/node_modules/commondir/package.json +47 -0
  72. data/node_modules/browserify/node_modules/commondir/test/dirs.js +66 -0
  73. data/node_modules/browserify/node_modules/crypto-browserify/.travis.yml +4 -0
  74. data/node_modules/browserify/node_modules/crypto-browserify/example/bundle.js +637 -0
  75. data/node_modules/browserify/node_modules/crypto-browserify/example/index.html +12 -0
  76. data/node_modules/browserify/node_modules/crypto-browserify/example/test.js +4 -0
  77. data/node_modules/browserify/node_modules/crypto-browserify/index.js +74 -0
  78. data/node_modules/browserify/node_modules/crypto-browserify/md5.js +384 -0
  79. data/node_modules/browserify/node_modules/crypto-browserify/package.json +33 -0
  80. data/node_modules/browserify/node_modules/crypto-browserify/readme.markdown +20 -0
  81. data/node_modules/browserify/node_modules/crypto-browserify/rng.js +37 -0
  82. data/node_modules/browserify/node_modules/crypto-browserify/sha.js +210 -0
  83. data/node_modules/browserify/node_modules/crypto-browserify/test/simple.js +35 -0
  84. data/node_modules/browserify/node_modules/deputy/.travis.yml +4 -0
  85. data/node_modules/browserify/node_modules/deputy/README.markdown +55 -0
  86. data/node_modules/browserify/node_modules/deputy/example/cache.js +5 -0
  87. data/node_modules/browserify/node_modules/deputy/index.js +46 -0
  88. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/.npmignore +2 -0
  89. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/.travis.yml +5 -0
  90. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/LICENSE +21 -0
  91. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/examples/pow.js +6 -0
  92. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/index.js +82 -0
  93. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/package.json +34 -0
  94. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/readme.markdown +63 -0
  95. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/chmod.js +38 -0
  96. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/clobber.js +37 -0
  97. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/mkdirp.js +28 -0
  98. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/perm.js +32 -0
  99. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/perm_sync.js +39 -0
  100. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/race.js +41 -0
  101. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/rel.js +32 -0
  102. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/return.js +25 -0
  103. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/return_sync.js +24 -0
  104. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/root.js +18 -0
  105. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/sync.js +32 -0
  106. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/umask.js +28 -0
  107. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/umask_sync.js +32 -0
  108. data/node_modules/browserify/node_modules/deputy/package.json +47 -0
  109. data/node_modules/browserify/node_modules/deputy/test/cache.js +58 -0
  110. data/node_modules/browserify/node_modules/detective/.travis.yml +4 -0
  111. data/node_modules/browserify/node_modules/detective/README.markdown +66 -0
  112. data/node_modules/browserify/node_modules/detective/example/strings.js +6 -0
  113. data/node_modules/browserify/node_modules/detective/example/strings_src.js +3 -0
  114. data/node_modules/browserify/node_modules/detective/index.js +60 -0
  115. data/node_modules/browserify/node_modules/detective/node_modules/.bin/esparse +42 -0
  116. data/node_modules/browserify/node_modules/detective/node_modules/esprima/.travis.yml +5 -0
  117. data/node_modules/browserify/node_modules/detective/node_modules/esprima/LICENSE.BSD +19 -0
  118. data/node_modules/browserify/node_modules/detective/node_modules/esprima/README.md +74 -0
  119. data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/codemirror/codemirror.css +112 -0
  120. data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/codemirror/codemirror.js +2972 -0
  121. data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/codemirror/javascript.js +360 -0
  122. data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/json2.js +487 -0
  123. data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/style.css +164 -0
  124. data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/yui/treeview-min.js +12 -0
  125. data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/yui/treeview-sprite.gif +0 -0
  126. data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/yui/treeview.css +7 -0
  127. data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/yui/yahoo-dom-event.js +14 -0
  128. data/node_modules/browserify/node_modules/detective/node_modules/esprima/bin/esparse.js +42 -0
  129. data/node_modules/browserify/node_modules/detective/node_modules/esprima/changes +92 -0
  130. data/node_modules/browserify/node_modules/detective/node_modules/esprima/cm +696 -0
  131. data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/checkenv.js +42 -0
  132. data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/collector.html +82 -0
  133. data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/collector.js +170 -0
  134. data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/functiontrace.html +106 -0
  135. data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/functiontrace.js +123 -0
  136. data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/parse.css +82 -0
  137. data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/parse.html +352 -0
  138. data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/precedence.html +225 -0
  139. data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/rewrite.html +120 -0
  140. data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/rewrite.js +71 -0
  141. data/node_modules/browserify/node_modules/detective/node_modules/esprima/esprima.js +3577 -0
  142. data/node_modules/browserify/node_modules/detective/node_modules/esprima/index.html +103 -0
  143. data/node_modules/browserify/node_modules/detective/node_modules/esprima/package.json +42 -0
  144. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/Tokenizer.js +646 -0
  145. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/XMLHttpRequest.js +509 -0
  146. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/ZeParser.js +2185 -0
  147. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/backbone-0.5.3.js +1158 -0
  148. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/benchmark.js +3261 -0
  149. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/escodegen.js +906 -0
  150. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/esmorph.js +240 -0
  151. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/ext-core-3.0.0.js +6579 -0
  152. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/ext-core-3.1.0.js +10255 -0
  153. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/jquery-1.6.4.js +9046 -0
  154. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/jquery-1.7.1.js +9266 -0
  155. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/jquery.mobile-1.0.js +6951 -0
  156. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/jsdefs.js +731 -0
  157. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/jslex.js +588 -0
  158. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/jsparse.js +1921 -0
  159. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/mootools-1.3.2.js +5952 -0
  160. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/mootools-1.4.1.js +6297 -0
  161. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/parse-js.js +1342 -0
  162. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/platform.js +878 -0
  163. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/prototype-1.6.1.js +4874 -0
  164. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/prototype-1.7.0.0.js +6082 -0
  165. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/underscore-1.2.3.js +981 -0
  166. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/benchmarks.html +58 -0
  167. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/benchmarks.js +328 -0
  168. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/compare.html +140 -0
  169. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/compare.js +270 -0
  170. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/compat.html +40 -0
  171. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/compat.js +239 -0
  172. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/coverage.footer.html +3 -0
  173. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/coverage.header.html +37 -0
  174. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/coverage.html +3617 -0
  175. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/index.html +36 -0
  176. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/reflect.js +403 -0
  177. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/run.js +66 -0
  178. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/test.js +16659 -0
  179. data/node_modules/browserify/node_modules/detective/node_modules/esprima/tools/generate-unicode-regex.py +164 -0
  180. data/node_modules/browserify/node_modules/detective/node_modules/esprima/tools/update-coverage.sh +28 -0
  181. data/node_modules/browserify/node_modules/detective/package.json +47 -0
  182. data/node_modules/browserify/node_modules/detective/test/both.js +11 -0
  183. data/node_modules/browserify/node_modules/detective/test/chained.js +9 -0
  184. data/node_modules/browserify/node_modules/detective/test/files/both.js +4 -0
  185. data/node_modules/browserify/node_modules/detective/test/files/chained.js +5 -0
  186. data/node_modules/browserify/node_modules/detective/test/files/nested.js +22 -0
  187. data/node_modules/browserify/node_modules/detective/test/files/skip.js +7 -0
  188. data/node_modules/browserify/node_modules/detective/test/files/strings.js +13 -0
  189. data/node_modules/browserify/node_modules/detective/test/files/word.js +13 -0
  190. data/node_modules/browserify/node_modules/detective/test/nested.js +9 -0
  191. data/node_modules/browserify/node_modules/detective/test/skip.js +9 -0
  192. data/node_modules/browserify/node_modules/detective/test/strings.js +9 -0
  193. data/node_modules/browserify/node_modules/detective/test/word.js +12 -0
  194. data/node_modules/browserify/node_modules/http-browserify/.npmignore +1 -0
  195. data/node_modules/browserify/node_modules/http-browserify/example/get/index.html +9 -0
  196. data/node_modules/browserify/node_modules/http-browserify/example/get/main.js +14 -0
  197. data/node_modules/browserify/node_modules/http-browserify/example/get/server.js +12 -0
  198. data/node_modules/browserify/node_modules/http-browserify/example/headers/index.html +9 -0
  199. data/node_modules/browserify/node_modules/http-browserify/example/headers/main.js +18 -0
  200. data/node_modules/browserify/node_modules/http-browserify/example/headers/server.js +15 -0
  201. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/data.json +139 -0
  202. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/index.html +9 -0
  203. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/main.js +13 -0
  204. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/.npmignore +2 -0
  205. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/.travis.yml +4 -0
  206. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/LICENSE.APACHE2 +15 -0
  207. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/LICENSE.MIT +24 -0
  208. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/examples/all_docs.js +13 -0
  209. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/index.js +189 -0
  210. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/LICENSE +24 -0
  211. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/README.markdown +11 -0
  212. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/bench.js +26 -0
  213. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/examples/twitterfeed.js +30 -0
  214. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/jsonparse.js +379 -0
  215. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/package.json +36 -0
  216. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/samplejson/basic.json +167 -0
  217. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/samplejson/basic2.json +180 -0
  218. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/test/primitives.js +54 -0
  219. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/test/utf8.js +38 -0
  220. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/package.json +40 -0
  221. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/readme.markdown +145 -0
  222. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/bool.js +41 -0
  223. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/destroy_missing.js +22 -0
  224. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/empty.js +44 -0
  225. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/fixtures/all_npm.json +4030 -0
  226. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/fn.js +39 -0
  227. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/memory.js +69 -0
  228. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/multiple_objects.js +42 -0
  229. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/multiple_objects_error.js +35 -0
  230. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/parsejson.js +28 -0
  231. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/stringify.js +41 -0
  232. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/stringify_object.js +47 -0
  233. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/test.js +35 -0
  234. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/test2.js +29 -0
  235. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/two-ways.js +41 -0
  236. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/server.js +10 -0
  237. data/node_modules/browserify/node_modules/http-browserify/example/post/index.html +9 -0
  238. data/node_modules/browserify/node_modules/http-browserify/example/post/main.js +16 -0
  239. data/node_modules/browserify/node_modules/http-browserify/example/post/server.js +19 -0
  240. data/node_modules/browserify/node_modules/http-browserify/example/streaming/index.html +9 -0
  241. data/node_modules/browserify/node_modules/http-browserify/example/streaming/main.js +16 -0
  242. data/node_modules/browserify/node_modules/http-browserify/example/streaming/server.js +21 -0
  243. data/node_modules/browserify/node_modules/http-browserify/index.js +59 -0
  244. data/node_modules/browserify/node_modules/http-browserify/lib/request.js +128 -0
  245. data/node_modules/browserify/node_modules/http-browserify/lib/response.js +119 -0
  246. data/node_modules/browserify/node_modules/http-browserify/node_modules/concat-stream/index.js +48 -0
  247. data/node_modules/browserify/node_modules/http-browserify/node_modules/concat-stream/package.json +30 -0
  248. data/node_modules/browserify/node_modules/http-browserify/node_modules/concat-stream/readme.md +31 -0
  249. data/node_modules/browserify/node_modules/http-browserify/node_modules/concat-stream/test.js +34 -0
  250. data/node_modules/browserify/node_modules/http-browserify/package.json +46 -0
  251. data/node_modules/browserify/node_modules/http-browserify/readme.markdown +128 -0
  252. data/node_modules/browserify/node_modules/nub/README.markdown +23 -0
  253. data/node_modules/browserify/node_modules/nub/index.js +64 -0
  254. data/node_modules/browserify/node_modules/nub/package.json +46 -0
  255. data/node_modules/browserify/node_modules/nub/test/by.js +51 -0
  256. data/node_modules/browserify/node_modules/nub/test/nub.js +46 -0
  257. data/node_modules/browserify/node_modules/resolve/.travis.yml +4 -0
  258. data/node_modules/browserify/node_modules/resolve/LICENSE +18 -0
  259. data/node_modules/browserify/node_modules/resolve/README.markdown +47 -0
  260. data/node_modules/browserify/node_modules/resolve/index.js +106 -0
  261. data/node_modules/browserify/node_modules/resolve/package.json +45 -0
  262. data/node_modules/browserify/node_modules/resolve/test/core.js +12 -0
  263. data/node_modules/browserify/node_modules/resolve/test/filter.js +15 -0
  264. data/node_modules/browserify/node_modules/resolve/test/mock.js +64 -0
  265. data/node_modules/browserify/node_modules/resolve/test/resolver.js +157 -0
  266. data/node_modules/browserify/node_modules/resolve/test/resolver/bar/node_modules/foo/index.js +1 -0
  267. data/node_modules/browserify/node_modules/resolve/test/resolver/baz/doom.js +0 -0
  268. data/node_modules/browserify/node_modules/resolve/test/resolver/baz/package.json +3 -0
  269. data/node_modules/browserify/node_modules/resolve/test/resolver/baz/quux.js +1 -0
  270. data/node_modules/browserify/node_modules/resolve/test/resolver/biz/node_modules/grux/index.js +1 -0
  271. data/node_modules/browserify/node_modules/resolve/test/resolver/biz/node_modules/tiv/index.js +1 -0
  272. data/node_modules/browserify/node_modules/resolve/test/resolver/cup.coffee +1 -0
  273. data/node_modules/browserify/node_modules/resolve/test/resolver/foo.js +1 -0
  274. data/node_modules/browserify/node_modules/resolve/test/resolver/mug.coffee +0 -0
  275. data/node_modules/browserify/node_modules/resolve/test/resolver/mug.js +0 -0
  276. data/node_modules/browserify/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
  277. data/node_modules/browserify/node_modules/resolve/test/resolver/other_path/root.js +0 -0
  278. data/node_modules/browserify/node_modules/syntax-error/.travis.yml +4 -0
  279. data/node_modules/browserify/node_modules/syntax-error/LICENSE +18 -0
  280. data/node_modules/browserify/node_modules/syntax-error/example/check.js +12 -0
  281. data/node_modules/browserify/node_modules/syntax-error/example/src.js +9 -0
  282. data/node_modules/browserify/node_modules/syntax-error/index.js +54 -0
  283. data/node_modules/browserify/node_modules/syntax-error/node_modules/.bin/esparse +42 -0
  284. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/.travis.yml +5 -0
  285. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/LICENSE.BSD +19 -0
  286. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/README.md +74 -0
  287. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/codemirror/codemirror.css +112 -0
  288. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/codemirror/codemirror.js +2972 -0
  289. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/codemirror/javascript.js +360 -0
  290. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/json2.js +487 -0
  291. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/style.css +164 -0
  292. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/yui/treeview-min.js +12 -0
  293. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/yui/treeview-sprite.gif +0 -0
  294. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/yui/treeview.css +7 -0
  295. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/yui/yahoo-dom-event.js +14 -0
  296. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/bin/esparse.js +42 -0
  297. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/changes +92 -0
  298. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/cm +696 -0
  299. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/checkenv.js +42 -0
  300. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/collector.html +82 -0
  301. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/collector.js +170 -0
  302. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/functiontrace.html +106 -0
  303. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/functiontrace.js +123 -0
  304. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/parse.css +82 -0
  305. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/parse.html +352 -0
  306. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/precedence.html +225 -0
  307. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/rewrite.html +120 -0
  308. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/rewrite.js +71 -0
  309. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/esprima.js +3577 -0
  310. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/index.html +103 -0
  311. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/package.json +42 -0
  312. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/Tokenizer.js +646 -0
  313. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/XMLHttpRequest.js +509 -0
  314. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/ZeParser.js +2185 -0
  315. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/backbone-0.5.3.js +1158 -0
  316. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/benchmark.js +3261 -0
  317. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/escodegen.js +906 -0
  318. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/esmorph.js +240 -0
  319. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/ext-core-3.0.0.js +6579 -0
  320. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/ext-core-3.1.0.js +10255 -0
  321. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/jquery-1.6.4.js +9046 -0
  322. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/jquery-1.7.1.js +9266 -0
  323. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/jquery.mobile-1.0.js +6951 -0
  324. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/jsdefs.js +731 -0
  325. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/jslex.js +588 -0
  326. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/jsparse.js +1921 -0
  327. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/mootools-1.3.2.js +5952 -0
  328. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/mootools-1.4.1.js +6297 -0
  329. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/parse-js.js +1342 -0
  330. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/platform.js +878 -0
  331. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/prototype-1.6.1.js +4874 -0
  332. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/prototype-1.7.0.0.js +6082 -0
  333. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/underscore-1.2.3.js +981 -0
  334. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/benchmarks.html +58 -0
  335. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/benchmarks.js +328 -0
  336. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/compare.html +140 -0
  337. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/compare.js +270 -0
  338. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/compat.html +40 -0
  339. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/compat.js +239 -0
  340. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/coverage.footer.html +3 -0
  341. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/coverage.header.html +37 -0
  342. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/coverage.html +3617 -0
  343. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/index.html +36 -0
  344. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/reflect.js +403 -0
  345. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/run.js +66 -0
  346. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/test.js +16659 -0
  347. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/tools/generate-unicode-regex.py +164 -0
  348. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/tools/update-coverage.sh +28 -0
  349. data/node_modules/browserify/node_modules/syntax-error/package.json +49 -0
  350. data/node_modules/browserify/node_modules/syntax-error/readme.markdown +87 -0
  351. data/node_modules/browserify/node_modules/syntax-error/test/check.js +17 -0
  352. data/node_modules/browserify/node_modules/syntax-error/test/sources/check.js +9 -0
  353. data/node_modules/browserify/node_modules/vm-browserify/README.markdown +103 -0
  354. data/node_modules/browserify/node_modules/vm-browserify/example/run/bundle.js +473 -0
  355. data/node_modules/browserify/node_modules/vm-browserify/example/run/entry.js +6 -0
  356. data/node_modules/browserify/node_modules/vm-browserify/example/run/index.html +9 -0
  357. data/node_modules/browserify/node_modules/vm-browserify/example/run/server.js +6 -0
  358. data/node_modules/browserify/node_modules/vm-browserify/index.js +85 -0
  359. data/node_modules/browserify/node_modules/vm-browserify/package.json +43 -0
  360. data/node_modules/browserify/node_modules/vm-browserify/testling/run.js +22 -0
  361. data/node_modules/browserify/node_modules/vm-browserify/testling/test.sh +11 -0
  362. data/node_modules/browserify/package.json +78 -0
  363. data/node_modules/browserify/test/alias.js +58 -0
  364. data/node_modules/browserify/test/backbone.js +21 -0
  365. data/node_modules/browserify/test/bin.js +39 -0
  366. data/node_modules/browserify/test/buffer.js +99 -0
  367. data/node_modules/browserify/test/bundle.js +32 -0
  368. data/node_modules/browserify/test/cache.js +28 -0
  369. data/node_modules/browserify/test/coffee.js +39 -0
  370. data/node_modules/browserify/test/coffee/bar.js +1 -0
  371. data/node_modules/browserify/test/coffee/baz.coffee +1 -0
  372. data/node_modules/browserify/test/coffee/entry.coffee +1 -0
  373. data/node_modules/browserify/test/coffee/foo.coffee +1 -0
  374. data/node_modules/browserify/test/coffee/index.coffee +5 -0
  375. data/node_modules/browserify/test/coffee/nested/nested.coffee +2 -0
  376. data/node_modules/browserify/test/comment.js +17 -0
  377. data/node_modules/browserify/test/comment/main.js +2 -0
  378. data/node_modules/browserify/test/crypto.js +37 -0
  379. data/node_modules/browserify/test/dnode.js +27 -0
  380. data/node_modules/browserify/test/dollar.js +19 -0
  381. data/node_modules/browserify/test/dollar/dollar/index.js +7 -0
  382. data/node_modules/browserify/test/entry.js +36 -0
  383. data/node_modules/browserify/test/entry/main.js +1 -0
  384. data/node_modules/browserify/test/entry/one.js +1 -0
  385. data/node_modules/browserify/test/entry/two.js +1 -0
  386. data/node_modules/browserify/test/error_code.js +24 -0
  387. data/node_modules/browserify/test/error_code/src.js +2 -0
  388. data/node_modules/browserify/test/export.js +52 -0
  389. data/node_modules/browserify/test/export/entry.js +1 -0
  390. data/node_modules/browserify/test/field.js +64 -0
  391. data/node_modules/browserify/test/field/miss.js +1 -0
  392. data/node_modules/browserify/test/field/node_modules/z-miss/browser.js +1 -0
  393. data/node_modules/browserify/test/field/node_modules/z-miss/main.js +1 -0
  394. data/node_modules/browserify/test/field/node_modules/z-miss/package.json +4 -0
  395. data/node_modules/browserify/test/field/node_modules/z-object/browser.js +1 -0
  396. data/node_modules/browserify/test/field/node_modules/z-object/main.js +1 -0
  397. data/node_modules/browserify/test/field/node_modules/z-object/package.json +6 -0
  398. data/node_modules/browserify/test/field/node_modules/z-string/browser.js +1 -0
  399. data/node_modules/browserify/test/field/node_modules/z-string/main.js +1 -0
  400. data/node_modules/browserify/test/field/node_modules/z-string/package.json +4 -0
  401. data/node_modules/browserify/test/field/node_modules/z-sub/browser/a.js +1 -0
  402. data/node_modules/browserify/test/field/node_modules/z-sub/browser/b.js +1 -0
  403. data/node_modules/browserify/test/field/node_modules/z-sub/main.js +1 -0
  404. data/node_modules/browserify/test/field/node_modules/z-sub/package.json +4 -0
  405. data/node_modules/browserify/test/field/object.js +1 -0
  406. data/node_modules/browserify/test/field/string.js +1 -0
  407. data/node_modules/browserify/test/field/sub.js +1 -0
  408. data/node_modules/browserify/test/global.js +19 -0
  409. data/node_modules/browserify/test/global/main.js +2 -0
  410. data/node_modules/browserify/test/jade.js +35 -0
  411. data/node_modules/browserify/test/json.js +17 -0
  412. data/node_modules/browserify/test/json/beep.json +4 -0
  413. data/node_modules/browserify/test/json/main.js +1 -0
  414. data/node_modules/browserify/test/maxlisteners.js +8 -0
  415. data/node_modules/browserify/test/module.js +22 -0
  416. data/node_modules/browserify/test/multi_entry.js +20 -0
  417. data/node_modules/browserify/test/multi_entry/a.js +2 -0
  418. data/node_modules/browserify/test/multi_entry/b.js +2 -0
  419. data/node_modules/browserify/test/multi_entry/c.js +3 -0
  420. data/node_modules/browserify/test/multi_ignore.js +23 -0
  421. data/node_modules/browserify/test/node_modules/beep/index.js +1 -0
  422. data/node_modules/browserify/test/require_cache.js +18 -0
  423. data/node_modules/browserify/test/retarget.js +27 -0
  424. data/node_modules/browserify/test/seq.js +47 -0
  425. data/node_modules/browserify/test/subdep.js +26 -0
  426. data/node_modules/browserify/test/subdep/index.js +1 -0
  427. data/node_modules/browserify/test/subdep/package.json +6 -0
  428. data/node_modules/browserify/test/util.js +48 -0
  429. data/node_modules/browserify/test/watch.js +91 -0
  430. data/node_modules/browserify/test/watch/a.js +1 -0
  431. data/node_modules/browserify/test/wrap.js +43 -0
  432. data/node_modules/browserify/test/wrap/a.js +2 -0
  433. data/node_modules/browserify/test/wrap/c.js +1 -0
  434. data/node_modules/browserify/test/wrap/node_modules/b/main.js +1 -0
  435. data/node_modules/browserify/test/wrap/node_modules/b/package.json +3 -0
  436. data/node_modules/browserify/test/wrap/node_modules/skipmetoo/index.js +1 -0
  437. data/node_modules/browserify/test/wrap/skipme.js +1 -0
  438. data/node_modules/browserify/test/wrap/x.js +0 -0
  439. data/node_modules/browserify/testling/README.markdown +29 -0
  440. data/node_modules/browserify/testling/test.sh +37 -0
  441. data/node_modules/browserify/testling/tick.js +9 -0
  442. data/node_modules/browserify/testling/timers.js +50 -0
  443. data/node_modules/browserify/testling/util.js +24 -0
  444. data/node_modules/browserify/v2.markdown +41 -0
  445. data/node_modules/browserify/wrappers/alias.js +1 -0
  446. data/node_modules/browserify/wrappers/body.js +2 -0
  447. data/node_modules/browserify/wrappers/body_debug.js +2 -0
  448. data/node_modules/browserify/wrappers/entry.js +3 -0
  449. data/node_modules/browserify/wrappers/entry_debug.js +3 -0
  450. data/node_modules/browserify/wrappers/package.js +3 -0
  451. data/node_modules/browserify/wrappers/prelude.js +196 -0
  452. data/node_modules/coffee-script/.npmignore +11 -0
  453. data/node_modules/coffee-script/CNAME +1 -0
  454. data/node_modules/coffee-script/CONTRIBUTING.md +9 -0
  455. data/node_modules/coffee-script/LICENSE +22 -0
  456. data/node_modules/coffee-script/README +51 -0
  457. data/node_modules/coffee-script/Rakefile +78 -0
  458. data/node_modules/coffee-script/bin/cake +7 -0
  459. data/node_modules/coffee-script/bin/coffee +7 -0
  460. data/node_modules/coffee-script/extras/jsl.conf +44 -0
  461. data/node_modules/coffee-script/lib/coffee-script/browser.js +92 -0
  462. data/node_modules/coffee-script/lib/coffee-script/cake.js +113 -0
  463. data/node_modules/coffee-script/lib/coffee-script/coffee-script.js +171 -0
  464. data/node_modules/coffee-script/lib/coffee-script/command.js +502 -0
  465. data/node_modules/coffee-script/lib/coffee-script/grammar.js +606 -0
  466. data/node_modules/coffee-script/lib/coffee-script/helpers.js +88 -0
  467. data/node_modules/coffee-script/lib/coffee-script/index.js +11 -0
  468. data/node_modules/coffee-script/lib/coffee-script/lexer.js +788 -0
  469. data/node_modules/coffee-script/lib/coffee-script/nodes.js +2971 -0
  470. data/node_modules/coffee-script/lib/coffee-script/optparse.js +138 -0
  471. data/node_modules/coffee-script/lib/coffee-script/parser.js +683 -0
  472. data/node_modules/coffee-script/lib/coffee-script/repl.js +276 -0
  473. data/node_modules/coffee-script/lib/coffee-script/rewriter.js +349 -0
  474. data/node_modules/coffee-script/lib/coffee-script/scope.js +146 -0
  475. data/node_modules/coffee-script/package.json +50 -0
  476. data/node_modules/jade-runtime/.npmignore +15 -0
  477. data/node_modules/jade-runtime/README.md +8 -0
  478. data/node_modules/jade-runtime/globals.js +32 -0
  479. data/node_modules/jade-runtime/index.js +2 -0
  480. data/node_modules/jade-runtime/jade-runtime.js +181 -0
  481. data/node_modules/jade-runtime/package.json +18 -0
  482. data/node_modules/jade/.npmignore +14 -0
  483. data/node_modules/jade/LICENSE +22 -0
  484. data/node_modules/jade/Readme.md +1299 -0
  485. data/node_modules/jade/bin/jade +168 -0
  486. data/node_modules/jade/index.js +4 -0
  487. data/node_modules/jade/jade.js +3586 -0
  488. data/node_modules/jade/jade.md +510 -0
  489. data/node_modules/jade/jade.min.js +2 -0
  490. data/node_modules/jade/lib/compiler.js +654 -0
  491. data/node_modules/jade/lib/doctypes.js +18 -0
  492. data/node_modules/jade/lib/filters.js +97 -0
  493. data/node_modules/jade/lib/inline-tags.js +28 -0
  494. data/node_modules/jade/lib/jade.js +253 -0
  495. data/node_modules/jade/lib/lexer.js +774 -0
  496. data/node_modules/jade/lib/nodes/attrs.js +77 -0
  497. data/node_modules/jade/lib/nodes/block-comment.js +33 -0
  498. data/node_modules/jade/lib/nodes/block.js +122 -0
  499. data/node_modules/jade/lib/nodes/case.js +43 -0
  500. data/node_modules/jade/lib/nodes/code.js +35 -0
  501. data/node_modules/jade/lib/nodes/comment.js +32 -0
  502. data/node_modules/jade/lib/nodes/doctype.js +29 -0
  503. data/node_modules/jade/lib/nodes/each.js +35 -0
  504. data/node_modules/jade/lib/nodes/filter.js +35 -0
  505. data/node_modules/jade/lib/nodes/index.js +20 -0
  506. data/node_modules/jade/lib/nodes/literal.js +32 -0
  507. data/node_modules/jade/lib/nodes/mixin.js +36 -0
  508. data/node_modules/jade/lib/nodes/node.js +25 -0
  509. data/node_modules/jade/lib/nodes/tag.js +95 -0
  510. data/node_modules/jade/lib/nodes/text.js +36 -0
  511. data/node_modules/jade/lib/parser.js +714 -0
  512. data/node_modules/jade/lib/runtime.js +174 -0
  513. data/node_modules/jade/lib/self-closing.js +19 -0
  514. data/node_modules/jade/lib/utils.js +49 -0
  515. data/node_modules/jade/node_modules/commander/.npmignore +4 -0
  516. data/node_modules/jade/node_modules/commander/.travis.yml +4 -0
  517. data/node_modules/jade/node_modules/commander/History.md +107 -0
  518. data/node_modules/jade/node_modules/commander/Makefile +7 -0
  519. data/node_modules/jade/node_modules/commander/Readme.md +262 -0
  520. data/node_modules/jade/node_modules/commander/index.js +2 -0
  521. data/node_modules/jade/node_modules/commander/lib/commander.js +1026 -0
  522. data/node_modules/jade/node_modules/commander/package.json +39 -0
  523. data/node_modules/jade/node_modules/mkdirp/.npmignore +2 -0
  524. data/node_modules/jade/node_modules/mkdirp/.travis.yml +4 -0
  525. data/node_modules/jade/node_modules/mkdirp/LICENSE +21 -0
  526. data/node_modules/jade/node_modules/mkdirp/README.markdown +61 -0
  527. data/node_modules/jade/node_modules/mkdirp/examples/pow.js +6 -0
  528. data/node_modules/jade/node_modules/mkdirp/index.js +82 -0
  529. data/node_modules/jade/node_modules/mkdirp/package.json +37 -0
  530. data/node_modules/jade/node_modules/mkdirp/test/chmod.js +38 -0
  531. data/node_modules/jade/node_modules/mkdirp/test/clobber.js +37 -0
  532. data/node_modules/jade/node_modules/mkdirp/test/mkdirp.js +28 -0
  533. data/node_modules/jade/node_modules/mkdirp/test/perm.js +32 -0
  534. data/node_modules/jade/node_modules/mkdirp/test/perm_sync.js +39 -0
  535. data/node_modules/jade/node_modules/mkdirp/test/race.js +41 -0
  536. data/node_modules/jade/node_modules/mkdirp/test/rel.js +32 -0
  537. data/node_modules/jade/node_modules/mkdirp/test/return.js +25 -0
  538. data/node_modules/jade/node_modules/mkdirp/test/return_sync.js +24 -0
  539. data/node_modules/jade/node_modules/mkdirp/test/root.js +18 -0
  540. data/node_modules/jade/node_modules/mkdirp/test/sync.js +32 -0
  541. data/node_modules/jade/node_modules/mkdirp/test/umask.js +28 -0
  542. data/node_modules/jade/node_modules/mkdirp/test/umask_sync.js +32 -0
  543. data/node_modules/jade/package.json +53 -0
  544. data/node_modules/jade/runtime.js +179 -0
  545. data/node_modules/jade/runtime.min.js +1 -0
  546. data/node_modules/jade/test.jade +7 -0
  547. data/node_modules/jade/testing/head.jade +5 -0
  548. data/node_modules/jade/testing/index.jade +1 -0
  549. data/node_modules/jade/testing/index.js +14 -0
  550. data/node_modules/jade/testing/layout.jade +10 -0
  551. data/node_modules/jade/testing/user.jade +7 -0
  552. data/node_modules/jade/testing/user.js +27 -0
  553. data/node_modules/optimist/.travis.yml +4 -0
  554. data/node_modules/optimist/LICENSE +21 -0
  555. data/node_modules/optimist/README.markdown +487 -0
  556. data/node_modules/optimist/example/bool.js +10 -0
  557. data/node_modules/optimist/example/boolean_double.js +7 -0
  558. data/node_modules/optimist/example/boolean_single.js +7 -0
  559. data/node_modules/optimist/example/default_hash.js +8 -0
  560. data/node_modules/optimist/example/default_singles.js +7 -0
  561. data/node_modules/optimist/example/divide.js +8 -0
  562. data/node_modules/optimist/example/line_count.js +20 -0
  563. data/node_modules/optimist/example/line_count_options.js +29 -0
  564. data/node_modules/optimist/example/line_count_wrap.js +29 -0
  565. data/node_modules/optimist/example/nonopt.js +4 -0
  566. data/node_modules/optimist/example/reflect.js +2 -0
  567. data/node_modules/optimist/example/short.js +3 -0
  568. data/node_modules/optimist/example/string.js +11 -0
  569. data/node_modules/optimist/example/usage-options.js +19 -0
  570. data/node_modules/optimist/example/xup.js +10 -0
  571. data/node_modules/optimist/index.js +475 -0
  572. data/node_modules/optimist/node_modules/wordwrap/.npmignore +1 -0
  573. data/node_modules/optimist/node_modules/wordwrap/README.markdown +70 -0
  574. data/node_modules/optimist/node_modules/wordwrap/example/center.js +10 -0
  575. data/node_modules/optimist/node_modules/wordwrap/example/meat.js +3 -0
  576. data/node_modules/optimist/node_modules/wordwrap/index.js +76 -0
  577. data/node_modules/optimist/node_modules/wordwrap/package.json +45 -0
  578. data/node_modules/optimist/node_modules/wordwrap/test/break.js +30 -0
  579. data/node_modules/optimist/node_modules/wordwrap/test/idleness.txt +63 -0
  580. data/node_modules/optimist/node_modules/wordwrap/test/wrap.js +31 -0
  581. data/node_modules/optimist/package.json +55 -0
  582. data/node_modules/optimist/test/_.js +71 -0
  583. data/node_modules/optimist/test/_/argv.js +2 -0
  584. data/node_modules/optimist/test/_/bin.js +3 -0
  585. data/node_modules/optimist/test/parse.js +420 -0
  586. data/node_modules/optimist/test/usage.js +292 -0
  587. data/snowball.gemspec +1 -2
  588. metadata +601 -21
  589. data/extconf.rb +0 -9
@@ -0,0 +1,906 @@
1
+ /*
2
+ Copyright (C) 2012 Ariya Hidayat <ariya.hidayat@gmail.com>
3
+ Copyright (C) 2012 Mathias Bynens <mathias@qiwi.be>
4
+ Copyright (C) 2012 Joost-Wim Boekesteijn <joost-wim@boekesteijn.nl>
5
+ Copyright (C) 2012 Kris Kowal <kris.kowal@cixar.com>
6
+ Copyright (C) 2012 Yusuke Suzuki <utatane.tea@gmail.com>
7
+ Copyright (C) 2012 Arpad Borsos <arpad.borsos@googlemail.com>
8
+ Copyright (C) 2011 Ariya Hidayat <ariya.hidayat@gmail.com>
9
+
10
+ Redistribution and use in source and binary forms, with or without
11
+ modification, are permitted provided that the following conditions are met:
12
+
13
+ * Redistributions of source code must retain the above copyright
14
+ notice, this list of conditions and the following disclaimer.
15
+ * Redistributions in binary form must reproduce the above copyright
16
+ notice, this list of conditions and the following disclaimer in the
17
+ documentation and/or other materials provided with the distribution.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
+ ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
23
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
+ */
30
+
31
+ /*jslint bitwise:true */
32
+ /*global escodegen:true, exports:true, generateStatement: true*/
33
+
34
+ (function (exports) {
35
+ 'use strict';
36
+
37
+ var Syntax,
38
+ Precedence,
39
+ BinaryPrecedence,
40
+ base,
41
+ indent,
42
+ extra,
43
+ parse;
44
+
45
+ Syntax = {
46
+ AssignmentExpression: 'AssignmentExpression',
47
+ ArrayExpression: 'ArrayExpression',
48
+ BlockStatement: 'BlockStatement',
49
+ BinaryExpression: 'BinaryExpression',
50
+ BreakStatement: 'BreakStatement',
51
+ CallExpression: 'CallExpression',
52
+ CatchClause: 'CatchClause',
53
+ ConditionalExpression: 'ConditionalExpression',
54
+ ContinueStatement: 'ContinueStatement',
55
+ DoWhileStatement: 'DoWhileStatement',
56
+ DebuggerStatement: 'DebuggerStatement',
57
+ EmptyStatement: 'EmptyStatement',
58
+ ExpressionStatement: 'ExpressionStatement',
59
+ ForStatement: 'ForStatement',
60
+ ForInStatement: 'ForInStatement',
61
+ FunctionDeclaration: 'FunctionDeclaration',
62
+ FunctionExpression: 'FunctionExpression',
63
+ Identifier: 'Identifier',
64
+ IfStatement: 'IfStatement',
65
+ Literal: 'Literal',
66
+ LabeledStatement: 'LabeledStatement',
67
+ LogicalExpression: 'LogicalExpression',
68
+ MemberExpression: 'MemberExpression',
69
+ NewExpression: 'NewExpression',
70
+ ObjectExpression: 'ObjectExpression',
71
+ Program: 'Program',
72
+ Property: 'Property',
73
+ ReturnStatement: 'ReturnStatement',
74
+ SequenceExpression: 'SequenceExpression',
75
+ SwitchStatement: 'SwitchStatement',
76
+ SwitchCase: 'SwitchCase',
77
+ ThisExpression: 'ThisExpression',
78
+ ThrowStatement: 'ThrowStatement',
79
+ TryStatement: 'TryStatement',
80
+ UnaryExpression: 'UnaryExpression',
81
+ UpdateExpression: 'UpdateExpression',
82
+ VariableDeclaration: 'VariableDeclaration',
83
+ VariableDeclarator: 'VariableDeclarator',
84
+ WhileStatement: 'WhileStatement',
85
+ WithStatement: 'WithStatement'
86
+ };
87
+
88
+ Precedence = {
89
+ Sequence: 0,
90
+ Assignment: 1,
91
+ Conditional: 2,
92
+ LogicalOR: 3,
93
+ LogicalAND: 4,
94
+ LogicalXOR: 5,
95
+ BitwiseOR: 6,
96
+ BitwiseAND: 7,
97
+ Equality: 8,
98
+ Relational: 9,
99
+ BitwiseSHIFT: 10,
100
+ Additive: 11,
101
+ Multiplicative: 12,
102
+ Unary: 13,
103
+ Postfix: 14,
104
+ Call: 15,
105
+ New: 16,
106
+ Member: 17,
107
+ Primary: 18
108
+ };
109
+
110
+ BinaryPrecedence = {
111
+ '||': Precedence.LogicalOR,
112
+ '&&': Precedence.LogicalAND,
113
+ '^': Precedence.LogicalXOR,
114
+ '|': Precedence.BitwiseOR,
115
+ '&': Precedence.BitwiseAND,
116
+ '==': Precedence.Equality,
117
+ '!=': Precedence.Equality,
118
+ '===': Precedence.Equality,
119
+ '!==': Precedence.Equality,
120
+ '<': Precedence.Relational,
121
+ '>': Precedence.Relational,
122
+ '<=': Precedence.Relational,
123
+ '>=': Precedence.Relational,
124
+ 'in': Precedence.Relational,
125
+ 'instanceof': Precedence.Relational,
126
+ '<<': Precedence.BitwiseSHIFT,
127
+ '>>': Precedence.BitwiseSHIFT,
128
+ '>>>': Precedence.BitwiseSHIFT,
129
+ '+': Precedence.Additive,
130
+ '-': Precedence.Additive,
131
+ '*': Precedence.Multiplicative,
132
+ '%': Precedence.Multiplicative,
133
+ '/': Precedence.Multiplicative
134
+ };
135
+
136
+ function getDefaultOptions() {
137
+ // default options
138
+ return {
139
+ indent: null,
140
+ base: null,
141
+ parse: null,
142
+ format: {
143
+ indent: {
144
+ style: ' ',
145
+ base: 0
146
+ }
147
+ }
148
+ };
149
+ }
150
+
151
+ function unicodeEscape(ch) {
152
+ var result, i;
153
+ result = ch.charCodeAt(0).toString(16);
154
+ for (i = result.length; i < 4; i += 1) {
155
+ result = '0' + result;
156
+ }
157
+ return '\\u' + result;
158
+ }
159
+
160
+ function stringToArray(str) {
161
+ var length = str.length,
162
+ result = [],
163
+ i;
164
+ for (i = 0; i < length; i += 1) {
165
+ result[i] = str.charAt(i);
166
+ }
167
+ return result;
168
+ }
169
+
170
+ function stringRepeat(str, num) {
171
+ var result = '';
172
+
173
+ for (num |= 0; num > 0; num >>>= 1, str += str) {
174
+ if (num & 1) {
175
+ result += str;
176
+ }
177
+ }
178
+
179
+ return result;
180
+ }
181
+
182
+ function updateDeeply(target, override) {
183
+ var key, val;
184
+
185
+ function isHashObject(target) {
186
+ return typeof target === 'object' && target instanceof Object && !(target instanceof RegExp);
187
+ }
188
+
189
+ for (key in override) {
190
+ if (override.hasOwnProperty(key)) {
191
+ val = override[key];
192
+ if (isHashObject(val)) {
193
+ if (isHashObject(target[key])) {
194
+ updateDeeply(target[key], val);
195
+ } else {
196
+ target[key] = updateDeeply({}, val);
197
+ }
198
+ } else {
199
+ target[key] = val;
200
+ }
201
+ }
202
+ }
203
+ return target;
204
+ }
205
+
206
+ function escapeString(str) {
207
+ var result = '', i, len, ch;
208
+
209
+ if (typeof str[0] === 'undefined') {
210
+ str = stringToArray(str);
211
+ }
212
+
213
+ for (i = 0, len = str.length; i < len; i += 1) {
214
+ ch = str[i];
215
+ if ('\'\\\b\f\n\r\t'.indexOf(ch) >= 0) {
216
+ result += '\\';
217
+ switch (ch) {
218
+ case '\'':
219
+ result += '\'';
220
+ break;
221
+ case '\\':
222
+ result += '\\';
223
+ break;
224
+ case '\b':
225
+ result += 'b';
226
+ break;
227
+ case '\f':
228
+ result += 'f';
229
+ break;
230
+ case '\n':
231
+ result += 'n';
232
+ break;
233
+ case '\r':
234
+ result += 'r';
235
+ break;
236
+ case '\t':
237
+ result += 't';
238
+ break;
239
+ }
240
+ } else if (ch < ' ' || ch.charCodeAt(0) >= 0x80) {
241
+ result += unicodeEscape(ch);
242
+ } else {
243
+ result += ch;
244
+ }
245
+ }
246
+
247
+ return '\'' + result + '\'';
248
+ }
249
+
250
+ function addIndent(stmt) {
251
+ return base + stmt;
252
+ }
253
+
254
+ function parenthesize(text, current, should) {
255
+ return (current < should) ? '(' + text + ')' : text;
256
+ }
257
+
258
+ function maybeBlock(stmt, suffix) {
259
+ var previousBase, result;
260
+
261
+ if (stmt.type === Syntax.BlockStatement) {
262
+ result = ' ' + generateStatement(stmt);
263
+ if (suffix) {
264
+ return result + ' ';
265
+ }
266
+ return result;
267
+ }
268
+
269
+ if (stmt.type === Syntax.EmptyStatement) {
270
+ result = ';';
271
+ } else {
272
+ previousBase = base;
273
+ base += indent;
274
+ result = '\n' + addIndent(generateStatement(stmt));
275
+ base = previousBase;
276
+ }
277
+
278
+ if (suffix) {
279
+ return result + '\n' + addIndent('');
280
+ }
281
+ return result;
282
+ }
283
+
284
+ function generateFunctionBody(node) {
285
+ var result, i, len;
286
+ result = '(';
287
+ for (i = 0, len = node.params.length; i < len; i += 1) {
288
+ result += node.params[i].name;
289
+ if ((i + 1) < len) {
290
+ result += ', ';
291
+ }
292
+ }
293
+ return result + ')' + maybeBlock(node.body);
294
+ }
295
+
296
+ function generateExpression(expr, precedence) {
297
+ var result, currentPrecedence, previousBase, i, len, raw;
298
+
299
+ if (!precedence) {
300
+ precedence = Precedence.Sequence;
301
+ }
302
+
303
+ switch (expr.type) {
304
+ case Syntax.SequenceExpression:
305
+ result = '';
306
+ for (i = 0, len = expr.expressions.length; i < len; i += 1) {
307
+ result += generateExpression(expr.expressions[i], Precedence.Assignment);
308
+ if ((i + 1) < len) {
309
+ result += ', ';
310
+ }
311
+ }
312
+ result = parenthesize(result, Precedence.Sequence, precedence);
313
+ break;
314
+
315
+ case Syntax.AssignmentExpression:
316
+ result = parenthesize(
317
+ generateExpression(expr.left, Precedence.Call) + ' ' + expr.operator + ' ' +
318
+ generateExpression(expr.right, Precedence.Assignment),
319
+ Precedence.Assignment,
320
+ precedence
321
+ );
322
+ break;
323
+
324
+ case Syntax.ConditionalExpression:
325
+ result = parenthesize(
326
+ generateExpression(expr.test, Precedence.LogicalOR) + ' ? ' +
327
+ generateExpression(expr.consequent, Precedence.Assignment) + ' : ' +
328
+ generateExpression(expr.alternate, Precedence.Assignment),
329
+ Precedence.Conditional,
330
+ precedence
331
+ );
332
+ break;
333
+
334
+ case Syntax.LogicalExpression:
335
+ case Syntax.BinaryExpression:
336
+ currentPrecedence = BinaryPrecedence[expr.operator];
337
+
338
+ result = generateExpression(expr.left, currentPrecedence) +
339
+ ' ' + expr.operator + ' ' +
340
+ generateExpression(expr.right, currentPrecedence + 1);
341
+ if (expr.operator === 'in') {
342
+ // TODO parenthesize only in allowIn = false case
343
+ result = '(' + result + ')';
344
+ } else {
345
+ result = parenthesize(result, currentPrecedence, precedence);
346
+ }
347
+ break;
348
+
349
+ case Syntax.CallExpression:
350
+ result = '';
351
+ for (i = 0, len = expr['arguments'].length; i < len; i += 1) {
352
+ result += generateExpression(expr['arguments'][i], Precedence.Assignment);
353
+ if ((i + 1) < len) {
354
+ result += ', ';
355
+ }
356
+ }
357
+ result = parenthesize(
358
+ generateExpression(expr.callee, Precedence.Call) + '(' + result + ')',
359
+ Precedence.Call,
360
+ precedence
361
+ );
362
+ break;
363
+
364
+ case Syntax.NewExpression:
365
+ result = '';
366
+ for (i = 0, len = expr['arguments'].length; i < len; i += 1) {
367
+ result += generateExpression(expr['arguments'][i], Precedence.Assignment);
368
+ if ((i + 1) < len) {
369
+ result += ', ';
370
+ }
371
+ }
372
+ result = parenthesize(
373
+ 'new ' + generateExpression(expr.callee, Precedence.New) + '(' + result + ')',
374
+ Precedence.New,
375
+ precedence
376
+ );
377
+ break;
378
+
379
+ case Syntax.MemberExpression:
380
+ result = generateExpression(expr.object, Precedence.Call);
381
+ if (expr.computed) {
382
+ result += '[' + generateExpression(expr.property) + ']';
383
+ } else {
384
+ if (expr.object.type === Syntax.Literal && typeof expr.object.value === 'number') {
385
+ if (result.indexOf('.') < 0) {
386
+ if (!/[eExX]/.test(result) && !(result.length >= 2 && result[0] === '0')) {
387
+ result += '.';
388
+ }
389
+ }
390
+ }
391
+ result += '.' + expr.property.name;
392
+ }
393
+ result = parenthesize(result, Precedence.Member, precedence);
394
+ break;
395
+
396
+ case Syntax.UnaryExpression:
397
+ result = expr.operator;
398
+ if (result.length > 2) {
399
+ result += ' ';
400
+ }
401
+ result = parenthesize(
402
+ result + generateExpression(expr.argument, Precedence.Unary +
403
+ (
404
+ expr.argument.type === Syntax.UnaryExpression &&
405
+ expr.operator.length < 3 &&
406
+ expr.argument.operator === expr.operator ? 1 : 0
407
+ )
408
+ ),
409
+ Precedence.Unary,
410
+ precedence
411
+ );
412
+ break;
413
+
414
+ case Syntax.UpdateExpression:
415
+ if (expr.prefix) {
416
+ result = parenthesize(
417
+ expr.operator +
418
+ generateExpression(expr.argument, Precedence.Unary),
419
+ Precedence.Unary,
420
+ precedence
421
+ );
422
+ } else {
423
+ result = parenthesize(
424
+ generateExpression(expr.argument, Precedence.Postfix) +
425
+ expr.operator,
426
+ Precedence.Postfix,
427
+ precedence
428
+ );
429
+ }
430
+ break;
431
+
432
+ case Syntax.FunctionExpression:
433
+ result = 'function ';
434
+ if (expr.id) {
435
+ result += expr.id.name;
436
+ }
437
+ result += generateFunctionBody(expr);
438
+ break;
439
+
440
+ case Syntax.ArrayExpression:
441
+ if (!expr.elements.length) {
442
+ result = '[]';
443
+ break;
444
+ }
445
+ result = '[\n';
446
+ previousBase = base;
447
+ base += indent;
448
+ for (i = 0, len = expr.elements.length; i < len; i += 1) {
449
+ if (!expr.elements[i]) {
450
+ result += addIndent('');
451
+ if ((i + 1) === len) {
452
+ result += ',';
453
+ }
454
+ } else {
455
+ result += addIndent(generateExpression(expr.elements[i], Precedence.Assignment));
456
+ }
457
+ if ((i + 1) < len) {
458
+ result += ',\n';
459
+ }
460
+ }
461
+ base = previousBase;
462
+ result += '\n' + addIndent(']');
463
+ break;
464
+
465
+ case Syntax.Property:
466
+ if (expr.kind === 'get' || expr.kind === 'set') {
467
+ result = expr.kind + ' ' + generateExpression(expr.key) +
468
+ generateFunctionBody(expr.value);
469
+ } else {
470
+ result = generateExpression(expr.key) + ': ' +
471
+ generateExpression(expr.value, Precedence.Assignment);
472
+ }
473
+ break;
474
+
475
+ case Syntax.ObjectExpression:
476
+ if (!expr.properties.length) {
477
+ result = '{}';
478
+ break;
479
+ }
480
+ result = '{\n';
481
+ previousBase = base;
482
+ base += indent;
483
+ for (i = 0, len = expr.properties.length; i < len; i += 1) {
484
+ result += addIndent(generateExpression(expr.properties[i]));
485
+ if ((i + 1) < len) {
486
+ result += ',\n';
487
+ }
488
+ }
489
+ base = previousBase;
490
+ result += '\n' + addIndent('}');
491
+ break;
492
+
493
+ case Syntax.ThisExpression:
494
+ result = 'this';
495
+ break;
496
+
497
+ case Syntax.Identifier:
498
+ result = expr.name;
499
+ break;
500
+
501
+ case Syntax.Literal:
502
+ if (expr.hasOwnProperty('raw') && parse) {
503
+ try {
504
+ raw = parse(expr.raw).body[0].expression;
505
+ if (raw.type === Syntax.Literal) {
506
+ if (raw.value === expr.value) {
507
+ result = expr.raw;
508
+ break;
509
+ }
510
+ }
511
+ } catch (e) {
512
+ // not use raw property
513
+ }
514
+ }
515
+
516
+ if (expr.value === null) {
517
+ result = 'null';
518
+ break;
519
+ }
520
+
521
+ if (typeof expr.value === 'string') {
522
+ result = escapeString(expr.value);
523
+ break;
524
+ }
525
+
526
+ if (typeof expr.value === 'number' && expr.value === Infinity) {
527
+ // Infinity is variable
528
+ result = '1e+1000';
529
+ break;
530
+ }
531
+
532
+ result = expr.value.toString();
533
+ break;
534
+
535
+ default:
536
+ break;
537
+ }
538
+
539
+ if (result === undefined) {
540
+ throw new Error('Unknown expression type: ' + expr.type);
541
+ }
542
+ return result;
543
+ }
544
+
545
+ function generateStatement(stmt) {
546
+ var i, len, result, previousBase;
547
+
548
+ switch (stmt.type) {
549
+ case Syntax.BlockStatement:
550
+ result = '{\n';
551
+
552
+ previousBase = base;
553
+ base += indent;
554
+ for (i = 0, len = stmt.body.length; i < len; i += 1) {
555
+ result += addIndent(generateStatement(stmt.body[i])) + '\n';
556
+ }
557
+ base = previousBase;
558
+
559
+ result += addIndent('}');
560
+ break;
561
+
562
+ case Syntax.BreakStatement:
563
+ if (stmt.label) {
564
+ result = 'break ' + stmt.label.name + ';';
565
+ } else {
566
+ result = 'break;';
567
+ }
568
+ break;
569
+
570
+ case Syntax.ContinueStatement:
571
+ if (stmt.label) {
572
+ result = 'continue ' + stmt.label.name + ';';
573
+ } else {
574
+ result = 'continue;';
575
+ }
576
+ break;
577
+
578
+ case Syntax.DoWhileStatement:
579
+ result = 'do' + maybeBlock(stmt.body, true) + 'while (' + generateExpression(stmt.test) + ');';
580
+ break;
581
+
582
+ case Syntax.CatchClause:
583
+ previousBase = base;
584
+ base += indent;
585
+ result = ' catch (' + generateExpression(stmt.param) + ')';
586
+ base = previousBase;
587
+ result += maybeBlock(stmt.body);
588
+ break;
589
+
590
+ case Syntax.DebuggerStatement:
591
+ result = 'debugger;';
592
+ break;
593
+
594
+ case Syntax.EmptyStatement:
595
+ result = ';';
596
+ break;
597
+
598
+ case Syntax.ExpressionStatement:
599
+ result = generateExpression(stmt.expression);
600
+ // 12.4 '{', 'function' is not allowed in this position.
601
+ // wrap espression with parentheses
602
+ if (result[0] === '{' || result.indexOf('function ') === 0) {
603
+ result = '(' + result + ');';
604
+ } else {
605
+ result += ';';
606
+ }
607
+ break;
608
+
609
+ case Syntax.VariableDeclarator:
610
+ if (stmt.init) {
611
+ result = stmt.id.name + ' = ' + generateExpression(stmt.init, Precedence.Assignment);
612
+ } else {
613
+ result = stmt.id.name;
614
+ }
615
+ break;
616
+
617
+ case Syntax.VariableDeclaration:
618
+ result = stmt.kind + ' ';
619
+ // special path for
620
+ // var x = function () {
621
+ // };
622
+ if (stmt.declarations.length === 1 && stmt.declarations[0].init &&
623
+ stmt.declarations[0].init.type === Syntax.FunctionExpression) {
624
+ result += generateStatement(stmt.declarations[0]);
625
+ } else {
626
+ previousBase = base;
627
+ base += indent;
628
+ for (i = 0, len = stmt.declarations.length; i < len; i += 1) {
629
+ result += generateStatement(stmt.declarations[i]);
630
+ if ((i + 1) < len) {
631
+ result += ', ';
632
+ }
633
+ }
634
+ base = previousBase;
635
+ }
636
+ result += ';';
637
+ break;
638
+
639
+ case Syntax.ThrowStatement:
640
+ result = 'throw ' + generateExpression(stmt.argument) + ';';
641
+ break;
642
+
643
+ case Syntax.TryStatement:
644
+ result = 'try' + maybeBlock(stmt.block);
645
+ for (i = 0, len = stmt.handlers.length; i < len; i += 1) {
646
+ result += generateStatement(stmt.handlers[i]);
647
+ }
648
+ if (stmt.finalizer) {
649
+ result += ' finally' + maybeBlock(stmt.finalizer);
650
+ }
651
+ break;
652
+
653
+ case Syntax.SwitchStatement:
654
+ previousBase = base;
655
+ base += indent;
656
+ result = 'switch (' + generateExpression(stmt.discriminant) + ') {\n';
657
+ base = previousBase;
658
+ if (stmt.cases) {
659
+ for (i = 0, len = stmt.cases.length; i < len; i += 1) {
660
+ result += addIndent(generateStatement(stmt.cases[i])) + '\n';
661
+ }
662
+ }
663
+ result += addIndent('}');
664
+ break;
665
+
666
+ case Syntax.SwitchCase:
667
+ previousBase = base;
668
+ base += indent;
669
+ if (stmt.test) {
670
+ result = 'case ' + generateExpression(stmt.test) + ':';
671
+ } else {
672
+ result = 'default:';
673
+ }
674
+
675
+ i = 0;
676
+ len = stmt.consequent.length;
677
+ if (len && stmt.consequent[0].type === Syntax.BlockStatement) {
678
+ result += maybeBlock(stmt.consequent[0]);
679
+ i = 1;
680
+ }
681
+
682
+ for (; i < len; i += 1) {
683
+ result += '\n' + addIndent(generateStatement(stmt.consequent[i]));
684
+ }
685
+
686
+ base = previousBase;
687
+ break;
688
+
689
+ case Syntax.IfStatement:
690
+ if (stmt.alternate) {
691
+ if (stmt.alternate.type === Syntax.IfStatement) {
692
+ previousBase = base;
693
+ base += indent;
694
+ result = 'if (' + generateExpression(stmt.test) + ')';
695
+ base = previousBase;
696
+ result += maybeBlock(stmt.consequent, true) + 'else ' + generateStatement(stmt.alternate);
697
+ } else {
698
+ previousBase = base;
699
+ base += indent;
700
+ result = 'if (' + generateExpression(stmt.test) + ')';
701
+ base = previousBase;
702
+ result += maybeBlock(stmt.consequent, true) + 'else' + maybeBlock(stmt.alternate);
703
+ }
704
+ } else {
705
+ previousBase = base;
706
+ base += indent;
707
+ result = 'if (' + generateExpression(stmt.test) + ')';
708
+ base = previousBase;
709
+ result += maybeBlock(stmt.consequent);
710
+ }
711
+ break;
712
+
713
+ case Syntax.ForStatement:
714
+ previousBase = base;
715
+ base += indent;
716
+ result = 'for (';
717
+ if (stmt.init) {
718
+ if (stmt.init.type === Syntax.VariableDeclaration) {
719
+ result += generateStatement(stmt.init);
720
+ } else {
721
+ result += generateExpression(stmt.init) + ';';
722
+ }
723
+ } else {
724
+ result += ';';
725
+ }
726
+
727
+ if (stmt.test) {
728
+ result += ' ' + generateExpression(stmt.test) + ';';
729
+ } else {
730
+ result += ';';
731
+ }
732
+
733
+ if (stmt.update) {
734
+ result += ' ' + generateExpression(stmt.update) + ')';
735
+ } else {
736
+ result += ')';
737
+ }
738
+ base = previousBase;
739
+
740
+ result += maybeBlock(stmt.body);
741
+ break;
742
+
743
+ case Syntax.ForInStatement:
744
+ result = 'for (';
745
+ if (stmt.left.type === Syntax.VariableDeclaration) {
746
+ previousBase = base;
747
+ base += indent + indent;
748
+ result += stmt.left.kind + ' ' + generateStatement(stmt.left.declarations[0]);
749
+ base = previousBase;
750
+ } else {
751
+ previousBase = base;
752
+ base += indent;
753
+ result += generateExpression(stmt.left, Precedence.Call);
754
+ base = previousBase;
755
+ }
756
+
757
+ previousBase = base;
758
+ base += indent;
759
+ result += ' in ' + generateExpression(stmt.right) + ')';
760
+ base = previousBase;
761
+ result += maybeBlock(stmt.body);
762
+ break;
763
+
764
+ case Syntax.LabeledStatement:
765
+ result = stmt.label.name + ':' + maybeBlock(stmt.body);
766
+ break;
767
+
768
+ case Syntax.Program:
769
+ result = '';
770
+ for (i = 0, len = stmt.body.length; i < len; i += 1) {
771
+ result += generateStatement(stmt.body[i]);
772
+ if ((i + 1) < len) {
773
+ result += '\n';
774
+ }
775
+ }
776
+ break;
777
+
778
+ case Syntax.FunctionDeclaration:
779
+ result = 'function ';
780
+ if (stmt.id) {
781
+ result += stmt.id.name;
782
+ }
783
+ result += generateFunctionBody(stmt);
784
+ break;
785
+
786
+ case Syntax.ReturnStatement:
787
+ if (stmt.argument) {
788
+ result = 'return ' + generateExpression(stmt.argument) + ';';
789
+ } else {
790
+ result = 'return;';
791
+ }
792
+ break;
793
+
794
+ case Syntax.WhileStatement:
795
+ previousBase = base;
796
+ base += indent;
797
+ result = 'while (' + generateExpression(stmt.test) + ')';
798
+ base = previousBase;
799
+ result += maybeBlock(stmt.body);
800
+ break;
801
+
802
+ case Syntax.WithStatement:
803
+ previousBase = base;
804
+ base += indent;
805
+ result = 'with (' + generateExpression(stmt.object) + ')';
806
+ base = previousBase;
807
+ result += maybeBlock(stmt.body);
808
+ break;
809
+
810
+ default:
811
+ break;
812
+ }
813
+
814
+ if (result === undefined) {
815
+ throw new Error('Unknown statement type: ' + stmt.type);
816
+ }
817
+ return result;
818
+ }
819
+
820
+ function generate(node, options) {
821
+ var defaultOptions = getDefaultOptions();
822
+
823
+ if (typeof options !== 'undefined') {
824
+ // Obsolete options
825
+ //
826
+ // `options.indent`
827
+ // `options.base`
828
+ //
829
+ // Instead of them, we can use `option.format.indent`.
830
+ if (typeof options.indent === 'string') {
831
+ defaultOptions.format.style = options.indent;
832
+ }
833
+
834
+ options = updateDeeply(defaultOptions, options);
835
+ indent = options.format.style;
836
+ if (typeof options.base === 'string') {
837
+ base = options.base;
838
+ } else {
839
+ base = stringRepeat(indent, options.format.base);
840
+ }
841
+ parse = options.parse;
842
+ } else {
843
+ options = defaultOptions;
844
+ indent = options.format.style;
845
+ base = stringRepeat(indent, options.format.base);
846
+ parse = options.parse;
847
+ }
848
+
849
+ switch (node.type) {
850
+ case Syntax.BlockStatement:
851
+ case Syntax.BreakStatement:
852
+ case Syntax.CatchClause:
853
+ case Syntax.ContinueStatement:
854
+ case Syntax.DoWhileStatement:
855
+ case Syntax.DebuggerStatement:
856
+ case Syntax.EmptyStatement:
857
+ case Syntax.ExpressionStatement:
858
+ case Syntax.ForStatement:
859
+ case Syntax.ForInStatement:
860
+ case Syntax.FunctionDeclaration:
861
+ case Syntax.IfStatement:
862
+ case Syntax.LabeledStatement:
863
+ case Syntax.Program:
864
+ case Syntax.ReturnStatement:
865
+ case Syntax.SwitchStatement:
866
+ case Syntax.SwitchCase:
867
+ case Syntax.ThrowStatement:
868
+ case Syntax.TryStatement:
869
+ case Syntax.VariableDeclaration:
870
+ case Syntax.VariableDeclarator:
871
+ case Syntax.WhileStatement:
872
+ case Syntax.WithStatement:
873
+ return generateStatement(node);
874
+
875
+ case Syntax.AssignmentExpression:
876
+ case Syntax.ArrayExpression:
877
+ case Syntax.BinaryExpression:
878
+ case Syntax.CallExpression:
879
+ case Syntax.ConditionalExpression:
880
+ case Syntax.FunctionExpression:
881
+ case Syntax.Identifier:
882
+ case Syntax.Literal:
883
+ case Syntax.LogicalExpression:
884
+ case Syntax.MemberExpression:
885
+ case Syntax.NewExpression:
886
+ case Syntax.ObjectExpression:
887
+ case Syntax.Property:
888
+ case Syntax.SequenceExpression:
889
+ case Syntax.ThisExpression:
890
+ case Syntax.UnaryExpression:
891
+ case Syntax.UpdateExpression:
892
+ return generateExpression(node);
893
+
894
+ default:
895
+ break;
896
+ }
897
+ throw new Error('Unknown node type: ' + node.type);
898
+ }
899
+
900
+ // Sync with package.json.
901
+ exports.version = '0.0.3-dev';
902
+
903
+ exports.generate = generate;
904
+
905
+ }(typeof exports === 'undefined' ? (escodegen = {}) : exports));
906
+ /* vim: set sw=4 ts=4 et tw=80 : */