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,10 @@
1
+ var fs = require('fs');
2
+
3
+ module.exports = fs.readdirSync(__dirname + '/../wrappers')
4
+ .filter(function (file) { return file.match(/\.js$/) })
5
+ .reduce(function (acc, file) {
6
+ var name = file.replace(/\.js$/, '');
7
+ acc[name] = fs.readFileSync(__dirname + '/../wrappers/' + file, 'utf8');
8
+ return acc;
9
+ }, {})
10
+ ;
@@ -0,0 +1,11 @@
1
+ buffer-browserify
2
+ ===============
3
+
4
+ The buffer module from [node.js](http://nodejs.org/),
5
+ but for browsers.
6
+
7
+ When you `require('buffer')` in
8
+ [browserify](http://github.com/substack/node-browserify),
9
+ this module will be loaded.
10
+
11
+ It will also be loaded if you use the global `Buffer` variable.
@@ -0,0 +1,84 @@
1
+ exports.readIEEE754 = function(buffer, offset, isBE, mLen, nBytes) {
2
+ var e, m,
3
+ eLen = nBytes * 8 - mLen - 1,
4
+ eMax = (1 << eLen) - 1,
5
+ eBias = eMax >> 1,
6
+ nBits = -7,
7
+ i = isBE ? 0 : (nBytes - 1),
8
+ d = isBE ? 1 : -1,
9
+ s = buffer[offset + i];
10
+
11
+ i += d;
12
+
13
+ e = s & ((1 << (-nBits)) - 1);
14
+ s >>= (-nBits);
15
+ nBits += eLen;
16
+ for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8);
17
+
18
+ m = e & ((1 << (-nBits)) - 1);
19
+ e >>= (-nBits);
20
+ nBits += mLen;
21
+ for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8);
22
+
23
+ if (e === 0) {
24
+ e = 1 - eBias;
25
+ } else if (e === eMax) {
26
+ return m ? NaN : ((s ? -1 : 1) * Infinity);
27
+ } else {
28
+ m = m + Math.pow(2, mLen);
29
+ e = e - eBias;
30
+ }
31
+ return (s ? -1 : 1) * m * Math.pow(2, e - mLen);
32
+ };
33
+
34
+ exports.writeIEEE754 = function(buffer, value, offset, isBE, mLen, nBytes) {
35
+ var e, m, c,
36
+ eLen = nBytes * 8 - mLen - 1,
37
+ eMax = (1 << eLen) - 1,
38
+ eBias = eMax >> 1,
39
+ rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0),
40
+ i = isBE ? (nBytes - 1) : 0,
41
+ d = isBE ? -1 : 1,
42
+ s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;
43
+
44
+ value = Math.abs(value);
45
+
46
+ if (isNaN(value) || value === Infinity) {
47
+ m = isNaN(value) ? 1 : 0;
48
+ e = eMax;
49
+ } else {
50
+ e = Math.floor(Math.log(value) / Math.LN2);
51
+ if (value * (c = Math.pow(2, -e)) < 1) {
52
+ e--;
53
+ c *= 2;
54
+ }
55
+ if (e + eBias >= 1) {
56
+ value += rt / c;
57
+ } else {
58
+ value += rt * Math.pow(2, 1 - eBias);
59
+ }
60
+ if (value * c >= 2) {
61
+ e++;
62
+ c /= 2;
63
+ }
64
+
65
+ if (e + eBias >= eMax) {
66
+ m = 0;
67
+ e = eMax;
68
+ } else if (e + eBias >= 1) {
69
+ m = (value * c - 1) * Math.pow(2, mLen);
70
+ e = e + eBias;
71
+ } else {
72
+ m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);
73
+ e = 0;
74
+ }
75
+ }
76
+
77
+ for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8);
78
+
79
+ e = (e << mLen) | m;
80
+ eLen += mLen;
81
+ for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8);
82
+
83
+ buffer[offset + i - d] |= s * 128;
84
+ };
@@ -0,0 +1,1317 @@
1
+ function SlowBuffer (size) {
2
+ this.length = size;
3
+ };
4
+
5
+ var assert = require('assert');
6
+
7
+ exports.INSPECT_MAX_BYTES = 50;
8
+
9
+
10
+ function toHex(n) {
11
+ if (n < 16) return '0' + n.toString(16);
12
+ return n.toString(16);
13
+ }
14
+
15
+ function utf8ToBytes(str) {
16
+ var byteArray = [];
17
+ for (var i = 0; i < str.length; i++)
18
+ if (str.charCodeAt(i) <= 0x7F)
19
+ byteArray.push(str.charCodeAt(i));
20
+ else {
21
+ var h = encodeURIComponent(str.charAt(i)).substr(1).split('%');
22
+ for (var j = 0; j < h.length; j++)
23
+ byteArray.push(parseInt(h[j], 16));
24
+ }
25
+
26
+ return byteArray;
27
+ }
28
+
29
+ function asciiToBytes(str) {
30
+ var byteArray = []
31
+ for (var i = 0; i < str.length; i++ )
32
+ // Node's code seems to be doing this and not & 0x7F..
33
+ byteArray.push( str.charCodeAt(i) & 0xFF );
34
+
35
+ return byteArray;
36
+ }
37
+
38
+ function base64ToBytes(str) {
39
+ return require("base64-js").toByteArray(str);
40
+ }
41
+
42
+ SlowBuffer.byteLength = function (str, encoding) {
43
+ switch (encoding || "utf8") {
44
+ case 'hex':
45
+ return str.length / 2;
46
+
47
+ case 'utf8':
48
+ case 'utf-8':
49
+ return utf8ToBytes(str).length;
50
+
51
+ case 'ascii':
52
+ case 'binary':
53
+ return str.length;
54
+
55
+ case 'base64':
56
+ return base64ToBytes(str).length;
57
+
58
+ default:
59
+ throw new Error('Unknown encoding');
60
+ }
61
+ };
62
+
63
+ function blitBuffer(src, dst, offset, length) {
64
+ var pos, i = 0;
65
+ while (i < length) {
66
+ if ((i+offset >= dst.length) || (i >= src.length))
67
+ break;
68
+
69
+ dst[i + offset] = src[i];
70
+ i++;
71
+ }
72
+ return i;
73
+ }
74
+
75
+ SlowBuffer.prototype.utf8Write = function (string, offset, length) {
76
+ var bytes, pos;
77
+ return SlowBuffer._charsWritten = blitBuffer(utf8ToBytes(string), this, offset, length);
78
+ };
79
+
80
+ SlowBuffer.prototype.asciiWrite = function (string, offset, length) {
81
+ var bytes, pos;
82
+ return SlowBuffer._charsWritten = blitBuffer(asciiToBytes(string), this, offset, length);
83
+ };
84
+
85
+ SlowBuffer.prototype.binaryWrite = SlowBuffer.prototype.asciiWrite;
86
+
87
+ SlowBuffer.prototype.base64Write = function (string, offset, length) {
88
+ var bytes, pos;
89
+ return SlowBuffer._charsWritten = blitBuffer(base64ToBytes(string), this, offset, length);
90
+ };
91
+
92
+ SlowBuffer.prototype.base64Slice = function (start, end) {
93
+ var bytes = Array.prototype.slice.apply(this, arguments)
94
+ return require("base64-js").fromByteArray(bytes);
95
+ }
96
+
97
+ function decodeUtf8Char(str) {
98
+ try {
99
+ return decodeURIComponent(str);
100
+ } catch (err) {
101
+ return String.fromCharCode(0xFFFD); // UTF 8 invalid char
102
+ }
103
+ }
104
+
105
+ SlowBuffer.prototype.utf8Slice = function () {
106
+ var bytes = Array.prototype.slice.apply(this, arguments);
107
+ var res = "";
108
+ var tmp = "";
109
+ var i = 0;
110
+ while (i < bytes.length) {
111
+ if (bytes[i] <= 0x7F) {
112
+ res += decodeUtf8Char(tmp) + String.fromCharCode(bytes[i]);
113
+ tmp = "";
114
+ } else
115
+ tmp += "%" + bytes[i].toString(16);
116
+
117
+ i++;
118
+ }
119
+
120
+ return res + decodeUtf8Char(tmp);
121
+ }
122
+
123
+ SlowBuffer.prototype.asciiSlice = function () {
124
+ var bytes = Array.prototype.slice.apply(this, arguments);
125
+ var ret = "";
126
+ for (var i = 0; i < bytes.length; i++)
127
+ ret += String.fromCharCode(bytes[i]);
128
+ return ret;
129
+ }
130
+
131
+ SlowBuffer.prototype.binarySlice = SlowBuffer.prototype.asciiSlice;
132
+
133
+ SlowBuffer.prototype.inspect = function() {
134
+ var out = [],
135
+ len = this.length;
136
+ for (var i = 0; i < len; i++) {
137
+ out[i] = toHex(this[i]);
138
+ if (i == exports.INSPECT_MAX_BYTES) {
139
+ out[i + 1] = '...';
140
+ break;
141
+ }
142
+ }
143
+ return '<SlowBuffer ' + out.join(' ') + '>';
144
+ };
145
+
146
+
147
+ SlowBuffer.prototype.hexSlice = function(start, end) {
148
+ var len = this.length;
149
+
150
+ if (!start || start < 0) start = 0;
151
+ if (!end || end < 0 || end > len) end = len;
152
+
153
+ var out = '';
154
+ for (var i = start; i < end; i++) {
155
+ out += toHex(this[i]);
156
+ }
157
+ return out;
158
+ };
159
+
160
+
161
+ SlowBuffer.prototype.toString = function(encoding, start, end) {
162
+ encoding = String(encoding || 'utf8').toLowerCase();
163
+ start = +start || 0;
164
+ if (typeof end == 'undefined') end = this.length;
165
+
166
+ // Fastpath empty strings
167
+ if (+end == start) {
168
+ return '';
169
+ }
170
+
171
+ switch (encoding) {
172
+ case 'hex':
173
+ return this.hexSlice(start, end);
174
+
175
+ case 'utf8':
176
+ case 'utf-8':
177
+ return this.utf8Slice(start, end);
178
+
179
+ case 'ascii':
180
+ return this.asciiSlice(start, end);
181
+
182
+ case 'binary':
183
+ return this.binarySlice(start, end);
184
+
185
+ case 'base64':
186
+ return this.base64Slice(start, end);
187
+
188
+ case 'ucs2':
189
+ case 'ucs-2':
190
+ return this.ucs2Slice(start, end);
191
+
192
+ default:
193
+ throw new Error('Unknown encoding');
194
+ }
195
+ };
196
+
197
+
198
+ SlowBuffer.prototype.hexWrite = function(string, offset, length) {
199
+ offset = +offset || 0;
200
+ var remaining = this.length - offset;
201
+ if (!length) {
202
+ length = remaining;
203
+ } else {
204
+ length = +length;
205
+ if (length > remaining) {
206
+ length = remaining;
207
+ }
208
+ }
209
+
210
+ // must be an even number of digits
211
+ var strLen = string.length;
212
+ if (strLen % 2) {
213
+ throw new Error('Invalid hex string');
214
+ }
215
+ if (length > strLen / 2) {
216
+ length = strLen / 2;
217
+ }
218
+ for (var i = 0; i < length; i++) {
219
+ var byte = parseInt(string.substr(i * 2, 2), 16);
220
+ if (isNaN(byte)) throw new Error('Invalid hex string');
221
+ this[offset + i] = byte;
222
+ }
223
+ SlowBuffer._charsWritten = i * 2;
224
+ return i;
225
+ };
226
+
227
+
228
+ SlowBuffer.prototype.write = function(string, offset, length, encoding) {
229
+ // Support both (string, offset, length, encoding)
230
+ // and the legacy (string, encoding, offset, length)
231
+ if (isFinite(offset)) {
232
+ if (!isFinite(length)) {
233
+ encoding = length;
234
+ length = undefined;
235
+ }
236
+ } else { // legacy
237
+ var swap = encoding;
238
+ encoding = offset;
239
+ offset = length;
240
+ length = swap;
241
+ }
242
+
243
+ offset = +offset || 0;
244
+ var remaining = this.length - offset;
245
+ if (!length) {
246
+ length = remaining;
247
+ } else {
248
+ length = +length;
249
+ if (length > remaining) {
250
+ length = remaining;
251
+ }
252
+ }
253
+ encoding = String(encoding || 'utf8').toLowerCase();
254
+
255
+ switch (encoding) {
256
+ case 'hex':
257
+ return this.hexWrite(string, offset, length);
258
+
259
+ case 'utf8':
260
+ case 'utf-8':
261
+ return this.utf8Write(string, offset, length);
262
+
263
+ case 'ascii':
264
+ return this.asciiWrite(string, offset, length);
265
+
266
+ case 'binary':
267
+ return this.binaryWrite(string, offset, length);
268
+
269
+ case 'base64':
270
+ return this.base64Write(string, offset, length);
271
+
272
+ case 'ucs2':
273
+ case 'ucs-2':
274
+ return this.ucs2Write(string, offset, length);
275
+
276
+ default:
277
+ throw new Error('Unknown encoding');
278
+ }
279
+ };
280
+
281
+
282
+ // slice(start, end)
283
+ SlowBuffer.prototype.slice = function(start, end) {
284
+ if (end === undefined) end = this.length;
285
+
286
+ if (end > this.length) {
287
+ throw new Error('oob');
288
+ }
289
+ if (start > end) {
290
+ throw new Error('oob');
291
+ }
292
+
293
+ return new Buffer(this, end - start, +start);
294
+ };
295
+
296
+ SlowBuffer.prototype.copy = function(target, targetstart, sourcestart, sourceend) {
297
+ var temp = [];
298
+ for (var i=sourcestart; i<sourceend; i++) {
299
+ assert.ok(typeof this[i] !== 'undefined', "copying undefined buffer bytes!");
300
+ temp.push(this[i]);
301
+ }
302
+
303
+ for (var i=targetstart; i<targetstart+temp.length; i++) {
304
+ target[i] = temp[i-targetstart];
305
+ }
306
+ };
307
+
308
+ SlowBuffer.prototype.fill = function(value, start, end) {
309
+ if (end > this.length) {
310
+ throw new Error('oob');
311
+ }
312
+ if (start > end) {
313
+ throw new Error('oob');
314
+ }
315
+
316
+ for (var i = start; i < end; i++) {
317
+ this[i] = value;
318
+ }
319
+ }
320
+
321
+ function coerce(length) {
322
+ // Coerce length to a number (possibly NaN), round up
323
+ // in case it's fractional (e.g. 123.456) then do a
324
+ // double negate to coerce a NaN to 0. Easy, right?
325
+ length = ~~Math.ceil(+length);
326
+ return length < 0 ? 0 : length;
327
+ }
328
+
329
+
330
+ // Buffer
331
+
332
+ function Buffer(subject, encoding, offset) {
333
+ if (!(this instanceof Buffer)) {
334
+ return new Buffer(subject, encoding, offset);
335
+ }
336
+
337
+ var type;
338
+
339
+ // Are we slicing?
340
+ if (typeof offset === 'number') {
341
+ this.length = coerce(encoding);
342
+ this.parent = subject;
343
+ this.offset = offset;
344
+ } else {
345
+ // Find the length
346
+ switch (type = typeof subject) {
347
+ case 'number':
348
+ this.length = coerce(subject);
349
+ break;
350
+
351
+ case 'string':
352
+ this.length = Buffer.byteLength(subject, encoding);
353
+ break;
354
+
355
+ case 'object': // Assume object is an array
356
+ this.length = coerce(subject.length);
357
+ break;
358
+
359
+ default:
360
+ throw new Error('First argument needs to be a number, ' +
361
+ 'array or string.');
362
+ }
363
+
364
+ if (this.length > Buffer.poolSize) {
365
+ // Big buffer, just alloc one.
366
+ this.parent = new SlowBuffer(this.length);
367
+ this.offset = 0;
368
+
369
+ } else {
370
+ // Small buffer.
371
+ if (!pool || pool.length - pool.used < this.length) allocPool();
372
+ this.parent = pool;
373
+ this.offset = pool.used;
374
+ pool.used += this.length;
375
+ }
376
+
377
+ // Treat array-ish objects as a byte array.
378
+ if (isArrayIsh(subject)) {
379
+ for (var i = 0; i < this.length; i++) {
380
+ if (subject instanceof Buffer) {
381
+ this.parent[i + this.offset] = subject.readUInt8(i);
382
+ }
383
+ else {
384
+ this.parent[i + this.offset] = subject[i];
385
+ }
386
+ }
387
+ } else if (type == 'string') {
388
+ // We are a string
389
+ this.length = this.write(subject, 0, encoding);
390
+ }
391
+ }
392
+
393
+ }
394
+
395
+ function isArrayIsh(subject) {
396
+ return Array.isArray(subject) || Buffer.isBuffer(subject) ||
397
+ subject && typeof subject === 'object' &&
398
+ typeof subject.length === 'number';
399
+ }
400
+
401
+ exports.SlowBuffer = SlowBuffer;
402
+ exports.Buffer = Buffer;
403
+
404
+ Buffer.poolSize = 8 * 1024;
405
+ var pool;
406
+
407
+ function allocPool() {
408
+ pool = new SlowBuffer(Buffer.poolSize);
409
+ pool.used = 0;
410
+ }
411
+
412
+
413
+ // Static methods
414
+ Buffer.isBuffer = function isBuffer(b) {
415
+ return b instanceof Buffer || b instanceof SlowBuffer;
416
+ };
417
+
418
+ Buffer.concat = function (list, totalLength) {
419
+ if (!Array.isArray(list)) {
420
+ throw new Error("Usage: Buffer.concat(list, [totalLength])\n \
421
+ list should be an Array.");
422
+ }
423
+
424
+ if (list.length === 0) {
425
+ return new Buffer(0);
426
+ } else if (list.length === 1) {
427
+ return list[0];
428
+ }
429
+
430
+ if (typeof totalLength !== 'number') {
431
+ totalLength = 0;
432
+ for (var i = 0; i < list.length; i++) {
433
+ var buf = list[i];
434
+ totalLength += buf.length;
435
+ }
436
+ }
437
+
438
+ var buffer = new Buffer(totalLength);
439
+ var pos = 0;
440
+ for (var i = 0; i < list.length; i++) {
441
+ var buf = list[i];
442
+ buf.copy(buffer, pos);
443
+ pos += buf.length;
444
+ }
445
+ return buffer;
446
+ };
447
+
448
+ // Inspect
449
+ Buffer.prototype.inspect = function inspect() {
450
+ var out = [],
451
+ len = this.length;
452
+
453
+ for (var i = 0; i < len; i++) {
454
+ out[i] = toHex(this.parent[i + this.offset]);
455
+ if (i == exports.INSPECT_MAX_BYTES) {
456
+ out[i + 1] = '...';
457
+ break;
458
+ }
459
+ }
460
+
461
+ return '<Buffer ' + out.join(' ') + '>';
462
+ };
463
+
464
+
465
+ Buffer.prototype.get = function get(i) {
466
+ if (i < 0 || i >= this.length) throw new Error('oob');
467
+ return this.parent[this.offset + i];
468
+ };
469
+
470
+
471
+ Buffer.prototype.set = function set(i, v) {
472
+ if (i < 0 || i >= this.length) throw new Error('oob');
473
+ return this.parent[this.offset + i] = v;
474
+ };
475
+
476
+
477
+ // write(string, offset = 0, length = buffer.length-offset, encoding = 'utf8')
478
+ Buffer.prototype.write = function(string, offset, length, encoding) {
479
+ // Support both (string, offset, length, encoding)
480
+ // and the legacy (string, encoding, offset, length)
481
+ if (isFinite(offset)) {
482
+ if (!isFinite(length)) {
483
+ encoding = length;
484
+ length = undefined;
485
+ }
486
+ } else { // legacy
487
+ var swap = encoding;
488
+ encoding = offset;
489
+ offset = length;
490
+ length = swap;
491
+ }
492
+
493
+ offset = +offset || 0;
494
+ var remaining = this.length - offset;
495
+ if (!length) {
496
+ length = remaining;
497
+ } else {
498
+ length = +length;
499
+ if (length > remaining) {
500
+ length = remaining;
501
+ }
502
+ }
503
+ encoding = String(encoding || 'utf8').toLowerCase();
504
+
505
+ var ret;
506
+ switch (encoding) {
507
+ case 'hex':
508
+ ret = this.parent.hexWrite(string, this.offset + offset, length);
509
+ break;
510
+
511
+ case 'utf8':
512
+ case 'utf-8':
513
+ ret = this.parent.utf8Write(string, this.offset + offset, length);
514
+ break;
515
+
516
+ case 'ascii':
517
+ ret = this.parent.asciiWrite(string, this.offset + offset, length);
518
+ break;
519
+
520
+ case 'binary':
521
+ ret = this.parent.binaryWrite(string, this.offset + offset, length);
522
+ break;
523
+
524
+ case 'base64':
525
+ // Warning: maxLength not taken into account in base64Write
526
+ ret = this.parent.base64Write(string, this.offset + offset, length);
527
+ break;
528
+
529
+ case 'ucs2':
530
+ case 'ucs-2':
531
+ ret = this.parent.ucs2Write(string, this.offset + offset, length);
532
+ break;
533
+
534
+ default:
535
+ throw new Error('Unknown encoding');
536
+ }
537
+
538
+ Buffer._charsWritten = SlowBuffer._charsWritten;
539
+
540
+ return ret;
541
+ };
542
+
543
+
544
+ // toString(encoding, start=0, end=buffer.length)
545
+ Buffer.prototype.toString = function(encoding, start, end) {
546
+ encoding = String(encoding || 'utf8').toLowerCase();
547
+
548
+ if (typeof start == 'undefined' || start < 0) {
549
+ start = 0;
550
+ } else if (start > this.length) {
551
+ start = this.length;
552
+ }
553
+
554
+ if (typeof end == 'undefined' || end > this.length) {
555
+ end = this.length;
556
+ } else if (end < 0) {
557
+ end = 0;
558
+ }
559
+
560
+ start = start + this.offset;
561
+ end = end + this.offset;
562
+
563
+ switch (encoding) {
564
+ case 'hex':
565
+ return this.parent.hexSlice(start, end);
566
+
567
+ case 'utf8':
568
+ case 'utf-8':
569
+ return this.parent.utf8Slice(start, end);
570
+
571
+ case 'ascii':
572
+ return this.parent.asciiSlice(start, end);
573
+
574
+ case 'binary':
575
+ return this.parent.binarySlice(start, end);
576
+
577
+ case 'base64':
578
+ return this.parent.base64Slice(start, end);
579
+
580
+ case 'ucs2':
581
+ case 'ucs-2':
582
+ return this.parent.ucs2Slice(start, end);
583
+
584
+ default:
585
+ throw new Error('Unknown encoding');
586
+ }
587
+ };
588
+
589
+
590
+ // byteLength
591
+ Buffer.byteLength = SlowBuffer.byteLength;
592
+
593
+
594
+ // fill(value, start=0, end=buffer.length)
595
+ Buffer.prototype.fill = function fill(value, start, end) {
596
+ value || (value = 0);
597
+ start || (start = 0);
598
+ end || (end = this.length);
599
+
600
+ if (typeof value === 'string') {
601
+ value = value.charCodeAt(0);
602
+ }
603
+ if (!(typeof value === 'number') || isNaN(value)) {
604
+ throw new Error('value is not a number');
605
+ }
606
+
607
+ if (end < start) throw new Error('end < start');
608
+
609
+ // Fill 0 bytes; we're done
610
+ if (end === start) return 0;
611
+ if (this.length == 0) return 0;
612
+
613
+ if (start < 0 || start >= this.length) {
614
+ throw new Error('start out of bounds');
615
+ }
616
+
617
+ if (end < 0 || end > this.length) {
618
+ throw new Error('end out of bounds');
619
+ }
620
+
621
+ return this.parent.fill(value,
622
+ start + this.offset,
623
+ end + this.offset);
624
+ };
625
+
626
+
627
+ // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
628
+ Buffer.prototype.copy = function(target, target_start, start, end) {
629
+ var source = this;
630
+ start || (start = 0);
631
+ end || (end = this.length);
632
+ target_start || (target_start = 0);
633
+
634
+ if (end < start) throw new Error('sourceEnd < sourceStart');
635
+
636
+ // Copy 0 bytes; we're done
637
+ if (end === start) return 0;
638
+ if (target.length == 0 || source.length == 0) return 0;
639
+
640
+ if (target_start < 0 || target_start >= target.length) {
641
+ throw new Error('targetStart out of bounds');
642
+ }
643
+
644
+ if (start < 0 || start >= source.length) {
645
+ throw new Error('sourceStart out of bounds');
646
+ }
647
+
648
+ if (end < 0 || end > source.length) {
649
+ throw new Error('sourceEnd out of bounds');
650
+ }
651
+
652
+ // Are we oob?
653
+ if (end > this.length) {
654
+ end = this.length;
655
+ }
656
+
657
+ if (target.length - target_start < end - start) {
658
+ end = target.length - target_start + start;
659
+ }
660
+
661
+ return this.parent.copy(target.parent,
662
+ target_start + target.offset,
663
+ start + this.offset,
664
+ end + this.offset);
665
+ };
666
+
667
+
668
+ // slice(start, end)
669
+ Buffer.prototype.slice = function(start, end) {
670
+ if (end === undefined) end = this.length;
671
+ if (end > this.length) throw new Error('oob');
672
+ if (start > end) throw new Error('oob');
673
+
674
+ return new Buffer(this.parent, end - start, +start + this.offset);
675
+ };
676
+
677
+
678
+ // Legacy methods for backwards compatibility.
679
+
680
+ Buffer.prototype.utf8Slice = function(start, end) {
681
+ return this.toString('utf8', start, end);
682
+ };
683
+
684
+ Buffer.prototype.binarySlice = function(start, end) {
685
+ return this.toString('binary', start, end);
686
+ };
687
+
688
+ Buffer.prototype.asciiSlice = function(start, end) {
689
+ return this.toString('ascii', start, end);
690
+ };
691
+
692
+ Buffer.prototype.utf8Write = function(string, offset) {
693
+ return this.write(string, offset, 'utf8');
694
+ };
695
+
696
+ Buffer.prototype.binaryWrite = function(string, offset) {
697
+ return this.write(string, offset, 'binary');
698
+ };
699
+
700
+ Buffer.prototype.asciiWrite = function(string, offset) {
701
+ return this.write(string, offset, 'ascii');
702
+ };
703
+
704
+ Buffer.prototype.readUInt8 = function(offset, noAssert) {
705
+ var buffer = this;
706
+
707
+ if (!noAssert) {
708
+ assert.ok(offset !== undefined && offset !== null,
709
+ 'missing offset');
710
+
711
+ assert.ok(offset < buffer.length,
712
+ 'Trying to read beyond buffer length');
713
+ }
714
+
715
+ if (offset >= buffer.length) return;
716
+
717
+ return buffer.parent[buffer.offset + offset];
718
+ };
719
+
720
+ function readUInt16(buffer, offset, isBigEndian, noAssert) {
721
+ var val = 0;
722
+
723
+
724
+ if (!noAssert) {
725
+ assert.ok(typeof (isBigEndian) === 'boolean',
726
+ 'missing or invalid endian');
727
+
728
+ assert.ok(offset !== undefined && offset !== null,
729
+ 'missing offset');
730
+
731
+ assert.ok(offset + 1 < buffer.length,
732
+ 'Trying to read beyond buffer length');
733
+ }
734
+
735
+ if (offset >= buffer.length) return 0;
736
+
737
+ if (isBigEndian) {
738
+ val = buffer.parent[buffer.offset + offset] << 8;
739
+ if (offset + 1 < buffer.length) {
740
+ val |= buffer.parent[buffer.offset + offset + 1];
741
+ }
742
+ } else {
743
+ val = buffer.parent[buffer.offset + offset];
744
+ if (offset + 1 < buffer.length) {
745
+ val |= buffer.parent[buffer.offset + offset + 1] << 8;
746
+ }
747
+ }
748
+
749
+ return val;
750
+ }
751
+
752
+ Buffer.prototype.readUInt16LE = function(offset, noAssert) {
753
+ return readUInt16(this, offset, false, noAssert);
754
+ };
755
+
756
+ Buffer.prototype.readUInt16BE = function(offset, noAssert) {
757
+ return readUInt16(this, offset, true, noAssert);
758
+ };
759
+
760
+ function readUInt32(buffer, offset, isBigEndian, noAssert) {
761
+ var val = 0;
762
+
763
+ if (!noAssert) {
764
+ assert.ok(typeof (isBigEndian) === 'boolean',
765
+ 'missing or invalid endian');
766
+
767
+ assert.ok(offset !== undefined && offset !== null,
768
+ 'missing offset');
769
+
770
+ assert.ok(offset + 3 < buffer.length,
771
+ 'Trying to read beyond buffer length');
772
+ }
773
+
774
+ if (offset >= buffer.length) return 0;
775
+
776
+ if (isBigEndian) {
777
+ if (offset + 1 < buffer.length)
778
+ val = buffer.parent[buffer.offset + offset + 1] << 16;
779
+ if (offset + 2 < buffer.length)
780
+ val |= buffer.parent[buffer.offset + offset + 2] << 8;
781
+ if (offset + 3 < buffer.length)
782
+ val |= buffer.parent[buffer.offset + offset + 3];
783
+ val = val + (buffer.parent[buffer.offset + offset] << 24 >>> 0);
784
+ } else {
785
+ if (offset + 2 < buffer.length)
786
+ val = buffer.parent[buffer.offset + offset + 2] << 16;
787
+ if (offset + 1 < buffer.length)
788
+ val |= buffer.parent[buffer.offset + offset + 1] << 8;
789
+ val |= buffer.parent[buffer.offset + offset];
790
+ if (offset + 3 < buffer.length)
791
+ val = val + (buffer.parent[buffer.offset + offset + 3] << 24 >>> 0);
792
+ }
793
+
794
+ return val;
795
+ }
796
+
797
+ Buffer.prototype.readUInt32LE = function(offset, noAssert) {
798
+ return readUInt32(this, offset, false, noAssert);
799
+ };
800
+
801
+ Buffer.prototype.readUInt32BE = function(offset, noAssert) {
802
+ return readUInt32(this, offset, true, noAssert);
803
+ };
804
+
805
+
806
+ /*
807
+ * Signed integer types, yay team! A reminder on how two's complement actually
808
+ * works. The first bit is the signed bit, i.e. tells us whether or not the
809
+ * number should be positive or negative. If the two's complement value is
810
+ * positive, then we're done, as it's equivalent to the unsigned representation.
811
+ *
812
+ * Now if the number is positive, you're pretty much done, you can just leverage
813
+ * the unsigned translations and return those. Unfortunately, negative numbers
814
+ * aren't quite that straightforward.
815
+ *
816
+ * At first glance, one might be inclined to use the traditional formula to
817
+ * translate binary numbers between the positive and negative values in two's
818
+ * complement. (Though it doesn't quite work for the most negative value)
819
+ * Mainly:
820
+ * - invert all the bits
821
+ * - add one to the result
822
+ *
823
+ * Of course, this doesn't quite work in Javascript. Take for example the value
824
+ * of -128. This could be represented in 16 bits (big-endian) as 0xff80. But of
825
+ * course, Javascript will do the following:
826
+ *
827
+ * > ~0xff80
828
+ * -65409
829
+ *
830
+ * Whoh there, Javascript, that's not quite right. But wait, according to
831
+ * Javascript that's perfectly correct. When Javascript ends up seeing the
832
+ * constant 0xff80, it has no notion that it is actually a signed number. It
833
+ * assumes that we've input the unsigned value 0xff80. Thus, when it does the
834
+ * binary negation, it casts it into a signed value, (positive 0xff80). Then
835
+ * when you perform binary negation on that, it turns it into a negative number.
836
+ *
837
+ * Instead, we're going to have to use the following general formula, that works
838
+ * in a rather Javascript friendly way. I'm glad we don't support this kind of
839
+ * weird numbering scheme in the kernel.
840
+ *
841
+ * (BIT-MAX - (unsigned)val + 1) * -1
842
+ *
843
+ * The astute observer, may think that this doesn't make sense for 8-bit numbers
844
+ * (really it isn't necessary for them). However, when you get 16-bit numbers,
845
+ * you do. Let's go back to our prior example and see how this will look:
846
+ *
847
+ * (0xffff - 0xff80 + 1) * -1
848
+ * (0x007f + 1) * -1
849
+ * (0x0080) * -1
850
+ */
851
+ Buffer.prototype.readInt8 = function(offset, noAssert) {
852
+ var buffer = this;
853
+ var neg;
854
+
855
+ if (!noAssert) {
856
+ assert.ok(offset !== undefined && offset !== null,
857
+ 'missing offset');
858
+
859
+ assert.ok(offset < buffer.length,
860
+ 'Trying to read beyond buffer length');
861
+ }
862
+
863
+ if (offset >= buffer.length) return;
864
+
865
+ neg = buffer.parent[buffer.offset + offset] & 0x80;
866
+ if (!neg) {
867
+ return (buffer.parent[buffer.offset + offset]);
868
+ }
869
+
870
+ return ((0xff - buffer.parent[buffer.offset + offset] + 1) * -1);
871
+ };
872
+
873
+ function readInt16(buffer, offset, isBigEndian, noAssert) {
874
+ var neg, val;
875
+
876
+ if (!noAssert) {
877
+ assert.ok(typeof (isBigEndian) === 'boolean',
878
+ 'missing or invalid endian');
879
+
880
+ assert.ok(offset !== undefined && offset !== null,
881
+ 'missing offset');
882
+
883
+ assert.ok(offset + 1 < buffer.length,
884
+ 'Trying to read beyond buffer length');
885
+ }
886
+
887
+ val = readUInt16(buffer, offset, isBigEndian, noAssert);
888
+ neg = val & 0x8000;
889
+ if (!neg) {
890
+ return val;
891
+ }
892
+
893
+ return (0xffff - val + 1) * -1;
894
+ }
895
+
896
+ Buffer.prototype.readInt16LE = function(offset, noAssert) {
897
+ return readInt16(this, offset, false, noAssert);
898
+ };
899
+
900
+ Buffer.prototype.readInt16BE = function(offset, noAssert) {
901
+ return readInt16(this, offset, true, noAssert);
902
+ };
903
+
904
+ function readInt32(buffer, offset, isBigEndian, noAssert) {
905
+ var neg, val;
906
+
907
+ if (!noAssert) {
908
+ assert.ok(typeof (isBigEndian) === 'boolean',
909
+ 'missing or invalid endian');
910
+
911
+ assert.ok(offset !== undefined && offset !== null,
912
+ 'missing offset');
913
+
914
+ assert.ok(offset + 3 < buffer.length,
915
+ 'Trying to read beyond buffer length');
916
+ }
917
+
918
+ val = readUInt32(buffer, offset, isBigEndian, noAssert);
919
+ neg = val & 0x80000000;
920
+ if (!neg) {
921
+ return (val);
922
+ }
923
+
924
+ return (0xffffffff - val + 1) * -1;
925
+ }
926
+
927
+ Buffer.prototype.readInt32LE = function(offset, noAssert) {
928
+ return readInt32(this, offset, false, noAssert);
929
+ };
930
+
931
+ Buffer.prototype.readInt32BE = function(offset, noAssert) {
932
+ return readInt32(this, offset, true, noAssert);
933
+ };
934
+
935
+ function readFloat(buffer, offset, isBigEndian, noAssert) {
936
+ if (!noAssert) {
937
+ assert.ok(typeof (isBigEndian) === 'boolean',
938
+ 'missing or invalid endian');
939
+
940
+ assert.ok(offset + 3 < buffer.length,
941
+ 'Trying to read beyond buffer length');
942
+ }
943
+
944
+ return require('./buffer_ieee754').readIEEE754(buffer, offset, isBigEndian,
945
+ 23, 4);
946
+ }
947
+
948
+ Buffer.prototype.readFloatLE = function(offset, noAssert) {
949
+ return readFloat(this, offset, false, noAssert);
950
+ };
951
+
952
+ Buffer.prototype.readFloatBE = function(offset, noAssert) {
953
+ return readFloat(this, offset, true, noAssert);
954
+ };
955
+
956
+ function readDouble(buffer, offset, isBigEndian, noAssert) {
957
+ if (!noAssert) {
958
+ assert.ok(typeof (isBigEndian) === 'boolean',
959
+ 'missing or invalid endian');
960
+
961
+ assert.ok(offset + 7 < buffer.length,
962
+ 'Trying to read beyond buffer length');
963
+ }
964
+
965
+ return require('./buffer_ieee754').readIEEE754(buffer, offset, isBigEndian,
966
+ 52, 8);
967
+ }
968
+
969
+ Buffer.prototype.readDoubleLE = function(offset, noAssert) {
970
+ return readDouble(this, offset, false, noAssert);
971
+ };
972
+
973
+ Buffer.prototype.readDoubleBE = function(offset, noAssert) {
974
+ return readDouble(this, offset, true, noAssert);
975
+ };
976
+
977
+
978
+ /*
979
+ * We have to make sure that the value is a valid integer. This means that it is
980
+ * non-negative. It has no fractional component and that it does not exceed the
981
+ * maximum allowed value.
982
+ *
983
+ * value The number to check for validity
984
+ *
985
+ * max The maximum value
986
+ */
987
+ function verifuint(value, max) {
988
+ assert.ok(typeof (value) == 'number',
989
+ 'cannot write a non-number as a number');
990
+
991
+ assert.ok(value >= 0,
992
+ 'specified a negative value for writing an unsigned value');
993
+
994
+ assert.ok(value <= max, 'value is larger than maximum value for type');
995
+
996
+ assert.ok(Math.floor(value) === value, 'value has a fractional component');
997
+ }
998
+
999
+ Buffer.prototype.writeUInt8 = function(value, offset, noAssert) {
1000
+ var buffer = this;
1001
+
1002
+ if (!noAssert) {
1003
+ assert.ok(value !== undefined && value !== null,
1004
+ 'missing value');
1005
+
1006
+ assert.ok(offset !== undefined && offset !== null,
1007
+ 'missing offset');
1008
+
1009
+ assert.ok(offset < buffer.length,
1010
+ 'trying to write beyond buffer length');
1011
+
1012
+ verifuint(value, 0xff);
1013
+ }
1014
+
1015
+ if (offset < buffer.length) {
1016
+ buffer.parent[buffer.offset + offset] = value;
1017
+ }
1018
+ };
1019
+
1020
+ function writeUInt16(buffer, value, offset, isBigEndian, noAssert) {
1021
+ if (!noAssert) {
1022
+ assert.ok(value !== undefined && value !== null,
1023
+ 'missing value');
1024
+
1025
+ assert.ok(typeof (isBigEndian) === 'boolean',
1026
+ 'missing or invalid endian');
1027
+
1028
+ assert.ok(offset !== undefined && offset !== null,
1029
+ 'missing offset');
1030
+
1031
+ assert.ok(offset + 1 < buffer.length,
1032
+ 'trying to write beyond buffer length');
1033
+
1034
+ verifuint(value, 0xffff);
1035
+ }
1036
+
1037
+ for (var i = 0; i < Math.min(buffer.length - offset, 2); i++) {
1038
+ buffer.parent[buffer.offset + offset + i] =
1039
+ (value & (0xff << (8 * (isBigEndian ? 1 - i : i)))) >>>
1040
+ (isBigEndian ? 1 - i : i) * 8;
1041
+ }
1042
+
1043
+ }
1044
+
1045
+ Buffer.prototype.writeUInt16LE = function(value, offset, noAssert) {
1046
+ writeUInt16(this, value, offset, false, noAssert);
1047
+ };
1048
+
1049
+ Buffer.prototype.writeUInt16BE = function(value, offset, noAssert) {
1050
+ writeUInt16(this, value, offset, true, noAssert);
1051
+ };
1052
+
1053
+ function writeUInt32(buffer, value, offset, isBigEndian, noAssert) {
1054
+ if (!noAssert) {
1055
+ assert.ok(value !== undefined && value !== null,
1056
+ 'missing value');
1057
+
1058
+ assert.ok(typeof (isBigEndian) === 'boolean',
1059
+ 'missing or invalid endian');
1060
+
1061
+ assert.ok(offset !== undefined && offset !== null,
1062
+ 'missing offset');
1063
+
1064
+ assert.ok(offset + 3 < buffer.length,
1065
+ 'trying to write beyond buffer length');
1066
+
1067
+ verifuint(value, 0xffffffff);
1068
+ }
1069
+
1070
+ for (var i = 0; i < Math.min(buffer.length - offset, 4); i++) {
1071
+ buffer.parent[buffer.offset + offset + i] =
1072
+ (value >>> (isBigEndian ? 3 - i : i) * 8) & 0xff;
1073
+ }
1074
+ }
1075
+
1076
+ Buffer.prototype.writeUInt32LE = function(value, offset, noAssert) {
1077
+ writeUInt32(this, value, offset, false, noAssert);
1078
+ };
1079
+
1080
+ Buffer.prototype.writeUInt32BE = function(value, offset, noAssert) {
1081
+ writeUInt32(this, value, offset, true, noAssert);
1082
+ };
1083
+
1084
+
1085
+ /*
1086
+ * We now move onto our friends in the signed number category. Unlike unsigned
1087
+ * numbers, we're going to have to worry a bit more about how we put values into
1088
+ * arrays. Since we are only worrying about signed 32-bit values, we're in
1089
+ * slightly better shape. Unfortunately, we really can't do our favorite binary
1090
+ * & in this system. It really seems to do the wrong thing. For example:
1091
+ *
1092
+ * > -32 & 0xff
1093
+ * 224
1094
+ *
1095
+ * What's happening above is really: 0xe0 & 0xff = 0xe0. However, the results of
1096
+ * this aren't treated as a signed number. Ultimately a bad thing.
1097
+ *
1098
+ * What we're going to want to do is basically create the unsigned equivalent of
1099
+ * our representation and pass that off to the wuint* functions. To do that
1100
+ * we're going to do the following:
1101
+ *
1102
+ * - if the value is positive
1103
+ * we can pass it directly off to the equivalent wuint
1104
+ * - if the value is negative
1105
+ * we do the following computation:
1106
+ * mb + val + 1, where
1107
+ * mb is the maximum unsigned value in that byte size
1108
+ * val is the Javascript negative integer
1109
+ *
1110
+ *
1111
+ * As a concrete value, take -128. In signed 16 bits this would be 0xff80. If
1112
+ * you do out the computations:
1113
+ *
1114
+ * 0xffff - 128 + 1
1115
+ * 0xffff - 127
1116
+ * 0xff80
1117
+ *
1118
+ * You can then encode this value as the signed version. This is really rather
1119
+ * hacky, but it should work and get the job done which is our goal here.
1120
+ */
1121
+
1122
+ /*
1123
+ * A series of checks to make sure we actually have a signed 32-bit number
1124
+ */
1125
+ function verifsint(value, max, min) {
1126
+ assert.ok(typeof (value) == 'number',
1127
+ 'cannot write a non-number as a number');
1128
+
1129
+ assert.ok(value <= max, 'value larger than maximum allowed value');
1130
+
1131
+ assert.ok(value >= min, 'value smaller than minimum allowed value');
1132
+
1133
+ assert.ok(Math.floor(value) === value, 'value has a fractional component');
1134
+ }
1135
+
1136
+ function verifIEEE754(value, max, min) {
1137
+ assert.ok(typeof (value) == 'number',
1138
+ 'cannot write a non-number as a number');
1139
+
1140
+ assert.ok(value <= max, 'value larger than maximum allowed value');
1141
+
1142
+ assert.ok(value >= min, 'value smaller than minimum allowed value');
1143
+ }
1144
+
1145
+ Buffer.prototype.writeInt8 = function(value, offset, noAssert) {
1146
+ var buffer = this;
1147
+
1148
+ if (!noAssert) {
1149
+ assert.ok(value !== undefined && value !== null,
1150
+ 'missing value');
1151
+
1152
+ assert.ok(offset !== undefined && offset !== null,
1153
+ 'missing offset');
1154
+
1155
+ assert.ok(offset < buffer.length,
1156
+ 'Trying to write beyond buffer length');
1157
+
1158
+ verifsint(value, 0x7f, -0x80);
1159
+ }
1160
+
1161
+ if (value >= 0) {
1162
+ buffer.writeUInt8(value, offset, noAssert);
1163
+ } else {
1164
+ buffer.writeUInt8(0xff + value + 1, offset, noAssert);
1165
+ }
1166
+ };
1167
+
1168
+ function writeInt16(buffer, value, offset, isBigEndian, noAssert) {
1169
+ if (!noAssert) {
1170
+ assert.ok(value !== undefined && value !== null,
1171
+ 'missing value');
1172
+
1173
+ assert.ok(typeof (isBigEndian) === 'boolean',
1174
+ 'missing or invalid endian');
1175
+
1176
+ assert.ok(offset !== undefined && offset !== null,
1177
+ 'missing offset');
1178
+
1179
+ assert.ok(offset + 1 < buffer.length,
1180
+ 'Trying to write beyond buffer length');
1181
+
1182
+ verifsint(value, 0x7fff, -0x8000);
1183
+ }
1184
+
1185
+ if (value >= 0) {
1186
+ writeUInt16(buffer, value, offset, isBigEndian, noAssert);
1187
+ } else {
1188
+ writeUInt16(buffer, 0xffff + value + 1, offset, isBigEndian, noAssert);
1189
+ }
1190
+ }
1191
+
1192
+ Buffer.prototype.writeInt16LE = function(value, offset, noAssert) {
1193
+ writeInt16(this, value, offset, false, noAssert);
1194
+ };
1195
+
1196
+ Buffer.prototype.writeInt16BE = function(value, offset, noAssert) {
1197
+ writeInt16(this, value, offset, true, noAssert);
1198
+ };
1199
+
1200
+ function writeInt32(buffer, value, offset, isBigEndian, noAssert) {
1201
+ if (!noAssert) {
1202
+ assert.ok(value !== undefined && value !== null,
1203
+ 'missing value');
1204
+
1205
+ assert.ok(typeof (isBigEndian) === 'boolean',
1206
+ 'missing or invalid endian');
1207
+
1208
+ assert.ok(offset !== undefined && offset !== null,
1209
+ 'missing offset');
1210
+
1211
+ assert.ok(offset + 3 < buffer.length,
1212
+ 'Trying to write beyond buffer length');
1213
+
1214
+ verifsint(value, 0x7fffffff, -0x80000000);
1215
+ }
1216
+
1217
+ if (value >= 0) {
1218
+ writeUInt32(buffer, value, offset, isBigEndian, noAssert);
1219
+ } else {
1220
+ writeUInt32(buffer, 0xffffffff + value + 1, offset, isBigEndian, noAssert);
1221
+ }
1222
+ }
1223
+
1224
+ Buffer.prototype.writeInt32LE = function(value, offset, noAssert) {
1225
+ writeInt32(this, value, offset, false, noAssert);
1226
+ };
1227
+
1228
+ Buffer.prototype.writeInt32BE = function(value, offset, noAssert) {
1229
+ writeInt32(this, value, offset, true, noAssert);
1230
+ };
1231
+
1232
+ function writeFloat(buffer, value, offset, isBigEndian, noAssert) {
1233
+ if (!noAssert) {
1234
+ assert.ok(value !== undefined && value !== null,
1235
+ 'missing value');
1236
+
1237
+ assert.ok(typeof (isBigEndian) === 'boolean',
1238
+ 'missing or invalid endian');
1239
+
1240
+ assert.ok(offset !== undefined && offset !== null,
1241
+ 'missing offset');
1242
+
1243
+ assert.ok(offset + 3 < buffer.length,
1244
+ 'Trying to write beyond buffer length');
1245
+
1246
+ verifIEEE754(value, 3.4028234663852886e+38, -3.4028234663852886e+38);
1247
+ }
1248
+
1249
+ require('./buffer_ieee754').writeIEEE754(buffer, value, offset, isBigEndian,
1250
+ 23, 4);
1251
+ }
1252
+
1253
+ Buffer.prototype.writeFloatLE = function(value, offset, noAssert) {
1254
+ writeFloat(this, value, offset, false, noAssert);
1255
+ };
1256
+
1257
+ Buffer.prototype.writeFloatBE = function(value, offset, noAssert) {
1258
+ writeFloat(this, value, offset, true, noAssert);
1259
+ };
1260
+
1261
+ function writeDouble(buffer, value, offset, isBigEndian, noAssert) {
1262
+ if (!noAssert) {
1263
+ assert.ok(value !== undefined && value !== null,
1264
+ 'missing value');
1265
+
1266
+ assert.ok(typeof (isBigEndian) === 'boolean',
1267
+ 'missing or invalid endian');
1268
+
1269
+ assert.ok(offset !== undefined && offset !== null,
1270
+ 'missing offset');
1271
+
1272
+ assert.ok(offset + 7 < buffer.length,
1273
+ 'Trying to write beyond buffer length');
1274
+
1275
+ verifIEEE754(value, 1.7976931348623157E+308, -1.7976931348623157E+308);
1276
+ }
1277
+
1278
+ require('./buffer_ieee754').writeIEEE754(buffer, value, offset, isBigEndian,
1279
+ 52, 8);
1280
+ }
1281
+
1282
+ Buffer.prototype.writeDoubleLE = function(value, offset, noAssert) {
1283
+ writeDouble(this, value, offset, false, noAssert);
1284
+ };
1285
+
1286
+ Buffer.prototype.writeDoubleBE = function(value, offset, noAssert) {
1287
+ writeDouble(this, value, offset, true, noAssert);
1288
+ };
1289
+
1290
+ SlowBuffer.prototype.readUInt8 = Buffer.prototype.readUInt8;
1291
+ SlowBuffer.prototype.readUInt16LE = Buffer.prototype.readUInt16LE;
1292
+ SlowBuffer.prototype.readUInt16BE = Buffer.prototype.readUInt16BE;
1293
+ SlowBuffer.prototype.readUInt32LE = Buffer.prototype.readUInt32LE;
1294
+ SlowBuffer.prototype.readUInt32BE = Buffer.prototype.readUInt32BE;
1295
+ SlowBuffer.prototype.readInt8 = Buffer.prototype.readInt8;
1296
+ SlowBuffer.prototype.readInt16LE = Buffer.prototype.readInt16LE;
1297
+ SlowBuffer.prototype.readInt16BE = Buffer.prototype.readInt16BE;
1298
+ SlowBuffer.prototype.readInt32LE = Buffer.prototype.readInt32LE;
1299
+ SlowBuffer.prototype.readInt32BE = Buffer.prototype.readInt32BE;
1300
+ SlowBuffer.prototype.readFloatLE = Buffer.prototype.readFloatLE;
1301
+ SlowBuffer.prototype.readFloatBE = Buffer.prototype.readFloatBE;
1302
+ SlowBuffer.prototype.readDoubleLE = Buffer.prototype.readDoubleLE;
1303
+ SlowBuffer.prototype.readDoubleBE = Buffer.prototype.readDoubleBE;
1304
+ SlowBuffer.prototype.writeUInt8 = Buffer.prototype.writeUInt8;
1305
+ SlowBuffer.prototype.writeUInt16LE = Buffer.prototype.writeUInt16LE;
1306
+ SlowBuffer.prototype.writeUInt16BE = Buffer.prototype.writeUInt16BE;
1307
+ SlowBuffer.prototype.writeUInt32LE = Buffer.prototype.writeUInt32LE;
1308
+ SlowBuffer.prototype.writeUInt32BE = Buffer.prototype.writeUInt32BE;
1309
+ SlowBuffer.prototype.writeInt8 = Buffer.prototype.writeInt8;
1310
+ SlowBuffer.prototype.writeInt16LE = Buffer.prototype.writeInt16LE;
1311
+ SlowBuffer.prototype.writeInt16BE = Buffer.prototype.writeInt16BE;
1312
+ SlowBuffer.prototype.writeInt32LE = Buffer.prototype.writeInt32LE;
1313
+ SlowBuffer.prototype.writeInt32BE = Buffer.prototype.writeInt32BE;
1314
+ SlowBuffer.prototype.writeFloatLE = Buffer.prototype.writeFloatLE;
1315
+ SlowBuffer.prototype.writeFloatBE = Buffer.prototype.writeFloatBE;
1316
+ SlowBuffer.prototype.writeDoubleLE = Buffer.prototype.writeDoubleLE;
1317
+ SlowBuffer.prototype.writeDoubleBE = Buffer.prototype.writeDoubleBE;