flok 0.0.12 → 0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (867) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +17 -4
  3. data/Rakefile +76 -10
  4. data/app/drivers/chrome/README.md +37 -22
  5. data/app/drivers/chrome/Rakefile +77 -3
  6. data/app/drivers/chrome/build_context.rb +17 -0
  7. data/app/drivers/chrome/cakery/spec.js.erb +11 -0
  8. data/app/drivers/chrome/config.yml +18 -3
  9. data/app/drivers/chrome/pipe.rb +70 -0
  10. data/app/drivers/chrome/spec/config/config.js +39 -0
  11. data/app/drivers/chrome/spec/init/qunit.js +3828 -0
  12. data/app/drivers/chrome/spec/spec/controller_debug_spec.js +16 -0
  13. data/app/drivers/chrome/spec/spec/debug_spec.js +18 -0
  14. data/app/drivers/chrome/spec/spec/sel_scope_spec.js +160 -0
  15. data/app/drivers/chrome/spec/spec/vars_spec.js +28 -0
  16. data/app/drivers/chrome/src/bench.js +19 -0
  17. data/app/drivers/chrome/src/controller.js +164 -0
  18. data/app/drivers/chrome/src/debug.js +75 -0
  19. data/app/drivers/chrome/src/dispatch.js +52 -0
  20. data/app/drivers/chrome/src/event.js +10 -0
  21. data/app/drivers/chrome/src/helpers.js +4 -4
  22. data/app/drivers/chrome/src/net.js +8 -36
  23. data/app/drivers/chrome/src/segue.js +18 -0
  24. data/app/drivers/chrome/src/sockio.js +34 -0
  25. data/app/drivers/chrome/src/timer.js +9 -0
  26. data/app/drivers/chrome/src/ui.js +192 -87
  27. data/app/drivers/chrome/src/vendor/socket.io.js +3 -0
  28. data/app/kern/controller.js +116 -0
  29. data/app/kern/dispatch.js +171 -0
  30. data/app/kern/macro.rb +24 -0
  31. data/{output.js → app/kern/mod/controller.js} +0 -0
  32. data/app/kern/mod/debug.js +120 -0
  33. data/app/kern/mod/event.js +29 -0
  34. data/app/kern/mod/net.js +17 -0
  35. data/app/kern/mod/segue.js +36 -0
  36. data/app/kern/mod/sockio.js +1 -0
  37. data/app/kern/mod/ui.js +2 -0
  38. data/app/kern/net_cb.js +25 -0
  39. data/app/kern/services/rest.rb +310 -0
  40. data/app/kern/services/timer.rb +30 -0
  41. data/app/kern/tel.js +40 -0
  42. data/bin/flok +61 -17
  43. data/docs/architecture.md +3 -15
  44. data/docs/client_api.md +21 -0
  45. data/docs/compilation.md +31 -5
  46. data/docs/controllers.md +97 -0
  47. data/docs/datatypes.md +42 -0
  48. data/docs/debug_server.md +17 -0
  49. data/docs/drivers.md +52 -0
  50. data/docs/images/flok_arch.png +0 -0
  51. data/docs/images/ui_surface_and_views.png +0 -0
  52. data/docs/images/view_and_spot.png +0 -0
  53. data/docs/interactive.md +35 -0
  54. data/docs/kernel_api.md +37 -0
  55. data/docs/messaging.md +110 -0
  56. data/docs/mod/controller.md +35 -0
  57. data/docs/mod/debug.md +32 -0
  58. data/docs/mod/debug/dump_ui.md +64 -0
  59. data/docs/mod/event.md +16 -0
  60. data/docs/mod/net.md +21 -0
  61. data/docs/mod/persist.md +36 -0
  62. data/docs/mod/sockio.md +13 -0
  63. data/docs/mod/timer.md +8 -0
  64. data/docs/mod/ui.md +40 -0
  65. data/docs/modules.md +9 -0
  66. data/docs/project.md +40 -0
  67. data/docs/project_layout.md +8 -5
  68. data/docs/rakefile.md +13 -0
  69. data/docs/scheduling.md +45 -0
  70. data/docs/services.md +74 -0
  71. data/docs/services/rest.md +21 -0
  72. data/docs/services/timer.md +21 -0
  73. data/docs/testing.md +80 -1
  74. data/flok.gemspec +4 -0
  75. data/lib/flok.rb +6 -0
  76. data/lib/flok/build.rb +75 -26
  77. data/lib/flok/interactive.rb +58 -0
  78. data/lib/flok/platform.rb +32 -0
  79. data/lib/flok/project.rb +63 -0
  80. data/lib/flok/project_template/Gemfile.erb +2 -0
  81. data/lib/flok/project_template/app/controllers/controller.rb +1 -0
  82. data/lib/flok/service_compiler_templates/services.js.erb +13 -0
  83. data/lib/flok/services_compiler.rb +94 -0
  84. data/lib/flok/user_compiler.rb +295 -0
  85. data/lib/flok/user_compiler_templates/ctable.js.erb +33 -0
  86. data/lib/flok/utilities.rb +16 -0
  87. data/lib/flok/version.rb +1 -1
  88. data/logo.png +0 -0
  89. data/opt/clojure/compiler.jar +0 -0
  90. data/opt/clojure/flokjure +53 -0
  91. data/opt/clojure/main.js +13 -0
  92. data/spec/env/etc.rb +2 -0
  93. data/spec/env/iface.rb +64 -0
  94. data/spec/env/kern.rb +128 -0
  95. data/spec/etc/cli_spec.rb +117 -0
  96. data/spec/etc/lib/build_spec.rb +188 -0
  97. data/spec/etc/lib/platform_spec.rb +33 -0
  98. data/spec/etc/lib/project_spec.rb +25 -0
  99. data/spec/etc/macro_spec.rb +35 -0
  100. data/spec/etc/service_compiler/service0.rb +10 -0
  101. data/spec/etc/services_compiler_spec.rb +41 -0
  102. data/spec/etc/user_compiler/controller0.rb +14 -0
  103. data/spec/etc/user_compiler_spec.rb +68 -0
  104. data/spec/iface/driver/assets/debug_socket_server.js +42 -0
  105. data/spec/iface/driver/assets/node_modules/socket.io/.npmignore +4 -0
  106. data/spec/iface/driver/assets/node_modules/socket.io/.travis.yml +16 -0
  107. data/spec/iface/driver/assets/node_modules/socket.io/History.md +491 -0
  108. data/spec/iface/driver/assets/node_modules/socket.io/LICENSE +22 -0
  109. data/spec/iface/driver/assets/node_modules/socket.io/Makefile +15 -0
  110. data/spec/iface/driver/assets/node_modules/socket.io/Readme.md +374 -0
  111. data/spec/iface/driver/assets/node_modules/socket.io/index.js +2 -0
  112. data/spec/iface/driver/assets/node_modules/socket.io/lib/client.js +247 -0
  113. data/spec/iface/driver/assets/node_modules/socket.io/lib/index.js +379 -0
  114. data/spec/iface/driver/assets/node_modules/socket.io/lib/namespace.js +242 -0
  115. data/spec/iface/driver/assets/node_modules/socket.io/lib/socket.js +449 -0
  116. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/debug/.jshintrc +3 -0
  117. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/debug/.npmignore +6 -0
  118. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/debug/History.md +157 -0
  119. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/debug/Makefile +33 -0
  120. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/debug/Readme.md +156 -0
  121. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/debug/browser.js +147 -0
  122. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/debug/component.json +19 -0
  123. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/debug/debug.js +197 -0
  124. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/debug/node.js +209 -0
  125. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/debug/node_modules/ms/.npmignore +5 -0
  126. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/debug/node_modules/ms/README.md +33 -0
  127. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/debug/node_modules/ms/index.js +111 -0
  128. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/debug/node_modules/ms/package.json +46 -0
  129. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/debug/package.json +73 -0
  130. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/.npmignore +6 -0
  131. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/.travis.yml +7 -0
  132. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/History.md +408 -0
  133. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/Makefile +23 -0
  134. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/README.md +517 -0
  135. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/index.js +4 -0
  136. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/engine.io.js +126 -0
  137. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/server.js +391 -0
  138. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/socket.js +393 -0
  139. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transport.js +114 -0
  140. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transports/index.js +36 -0
  141. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transports/polling-jsonp.js +108 -0
  142. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transports/polling-xhr.js +101 -0
  143. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transports/polling.js +279 -0
  144. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/lib/transports/websocket.js +110 -0
  145. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/base64id/.npmignore +3 -0
  146. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/base64id/README.md +18 -0
  147. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/base64id/lib/base64id.js +103 -0
  148. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/base64id/package.json +48 -0
  149. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/debug/.jshintrc +3 -0
  150. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/debug/.npmignore +6 -0
  151. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/debug/History.md +132 -0
  152. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/debug/Makefile +33 -0
  153. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/debug/Readme.md +153 -0
  154. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/debug/browser.js +144 -0
  155. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/debug/component.json +19 -0
  156. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/debug/debug.js +197 -0
  157. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/debug/node.js +129 -0
  158. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/debug/node_modules/ms/.npmignore +5 -0
  159. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/debug/node_modules/ms/README.md +33 -0
  160. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/debug/node_modules/ms/index.js +111 -0
  161. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/debug/node_modules/ms/package.json +46 -0
  162. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/debug/package.json +71 -0
  163. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/.npmignore +17 -0
  164. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/.travis.yml +45 -0
  165. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/.zuul.yml +18 -0
  166. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/History.md +100 -0
  167. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/LICENSE +22 -0
  168. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/Makefile +26 -0
  169. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/Readme.md +202 -0
  170. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/index.js +2 -0
  171. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/lib/browser.js +594 -0
  172. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/lib/index.js +467 -0
  173. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/lib/keys.js +19 -0
  174. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/after/.npmignore +2 -0
  175. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/after/.travis.yml +5 -0
  176. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/after/LICENCE +19 -0
  177. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/after/README.md +75 -0
  178. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/after/index.js +28 -0
  179. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/after/package.json +62 -0
  180. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/after/test/after-test.js +120 -0
  181. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/arraybuffer.slice/.npmignore +17 -0
  182. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/arraybuffer.slice/Makefile +8 -0
  183. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/arraybuffer.slice/README.md +17 -0
  184. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/arraybuffer.slice/index.js +29 -0
  185. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/arraybuffer.slice/package.json +40 -0
  186. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/arraybuffer.slice/test/slice-buffer.js +227 -0
  187. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/base64-arraybuffer/.npmignore +1 -0
  188. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/base64-arraybuffer/.travis.yml +6 -0
  189. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/base64-arraybuffer/LICENSE-MIT +22 -0
  190. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/base64-arraybuffer/README.md +23 -0
  191. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/base64-arraybuffer/grunt.js +39 -0
  192. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/base64-arraybuffer/lib/base64-arraybuffer.js +59 -0
  193. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/base64-arraybuffer/package.json +56 -0
  194. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/base64-arraybuffer/test/base64-arraybuffer_test.js +72 -0
  195. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/blob/.npmignore +2 -0
  196. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/blob/.zuul.yml +8 -0
  197. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/blob/Makefile +14 -0
  198. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/blob/README.md +11 -0
  199. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/blob/index.js +49 -0
  200. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/blob/package.json +44 -0
  201. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/blob/test/index.js +52 -0
  202. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/.npmignore +15 -0
  203. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/History.md +5 -0
  204. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/LICENSE +20 -0
  205. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/Makefile +3 -0
  206. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/README.md +4 -0
  207. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/fixtures/big.json +1 -0
  208. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/index.js +58 -0
  209. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/node_modules/isarray/README.md +54 -0
  210. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/node_modules/isarray/build/build.js +209 -0
  211. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/node_modules/isarray/component.json +19 -0
  212. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/node_modules/isarray/index.js +3 -0
  213. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/node_modules/isarray/package.json +53 -0
  214. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/package.json +39 -0
  215. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/test.js +108 -0
  216. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/utf8/.gitattributes +2 -0
  217. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/utf8/.npmignore +20 -0
  218. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/utf8/.travis.yml +19 -0
  219. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/utf8/Gruntfile.js +72 -0
  220. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/utf8/LICENSE-GPL.txt +278 -0
  221. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/utf8/LICENSE-MIT.txt +20 -0
  222. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/utf8/README.md +119 -0
  223. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/utf8/bower.json +14 -0
  224. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/utf8/component.json +16 -0
  225. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/utf8/package.json +73 -0
  226. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/utf8/tests/generate-test-data.py +47 -0
  227. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/utf8/tests/index.html +35 -0
  228. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/utf8/tests/tests.js +242 -0
  229. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/utf8/utf8.js +239 -0
  230. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/utf8/x.js +46 -0
  231. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/package.json +58 -0
  232. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/.npmignore +11 -0
  233. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/.travis.yml +5 -0
  234. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/History.md +322 -0
  235. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/Makefile +40 -0
  236. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/README.md +183 -0
  237. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/binding.gyp +16 -0
  238. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/build/Makefile +355 -0
  239. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/build/Release/.deps/Release/bufferutil.node.d +1 -0
  240. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/build/Release/.deps/Release/obj.target/bufferutil/src/bufferutil.o.d +25 -0
  241. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/build/Release/.deps/Release/obj.target/validation/src/validation.o.d +25 -0
  242. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/build/Release/.deps/Release/validation.node.d +1 -0
  243. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/build/Release/bufferutil.node +0 -0
  244. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/build/Release/linker.lock +0 -0
  245. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/build/Release/validation.node +0 -0
  246. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/build/binding.Makefile +6 -0
  247. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/build/bufferutil.target.mk +156 -0
  248. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/build/config.gypi +117 -0
  249. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/build/gyp-mac-tool +512 -0
  250. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/build/validation.target.mk +156 -0
  251. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/builderror.log +15 -0
  252. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/index.js +49 -0
  253. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/lib/BufferPool.js +59 -0
  254. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/lib/BufferUtil.fallback.js +47 -0
  255. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/lib/BufferUtil.js +16 -0
  256. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/lib/ErrorCodes.js +24 -0
  257. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/lib/Receiver.hixie.js +180 -0
  258. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/lib/Receiver.js +585 -0
  259. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/lib/Sender.hixie.js +120 -0
  260. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/lib/Sender.js +229 -0
  261. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/lib/Validation.fallback.js +12 -0
  262. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/lib/Validation.js +16 -0
  263. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/lib/WebSocket.js +879 -0
  264. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/lib/WebSocketServer.js +467 -0
  265. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/lib/browser.js +43 -0
  266. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/nan/.dntrc +37 -0
  267. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/nan/CHANGELOG.md +216 -0
  268. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/nan/LICENSE.md +13 -0
  269. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/nan/README.md +1208 -0
  270. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/nan/appveyor.yml +32 -0
  271. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/nan/include_dirs.js +1 -0
  272. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/nan/nan.h +2428 -0
  273. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/nan/package.json +84 -0
  274. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/options/.npmignore +7 -0
  275. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/options/Makefile +12 -0
  276. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/options/README.md +69 -0
  277. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/options/lib/options.js +86 -0
  278. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/options/package.json +51 -0
  279. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/ultron/.npmignore +3 -0
  280. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/ultron/.travis.yml +17 -0
  281. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/ultron/README.md +97 -0
  282. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/ultron/index.js +125 -0
  283. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/ultron/package.json +68 -0
  284. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/ultron/test.js +327 -0
  285. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/package.json +78 -0
  286. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/src/bufferutil.cc +117 -0
  287. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/src/validation.cc +145 -0
  288. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/wscat/README.md +26 -0
  289. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/wscat/bin/wscat +222 -0
  290. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/node_modules/ws/wscat/package.json +28 -0
  291. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/engine.io/package.json +74 -0
  292. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/has-binary-data/.npmignore +15 -0
  293. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/has-binary-data/LICENSE +20 -0
  294. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/has-binary-data/Makefile +3 -0
  295. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/has-binary-data/README.md +4 -0
  296. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/has-binary-data/fixtures/big.json +1 -0
  297. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/has-binary-data/gen.js +17 -0
  298. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/has-binary-data/index.js +57 -0
  299. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/has-binary-data/node_modules/isarray/README.md +54 -0
  300. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/has-binary-data/node_modules/isarray/build/build.js +209 -0
  301. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/has-binary-data/node_modules/isarray/component.json +19 -0
  302. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/has-binary-data/node_modules/isarray/index.js +3 -0
  303. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/has-binary-data/node_modules/isarray/package.json +53 -0
  304. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/has-binary-data/package.json +37 -0
  305. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/has-binary-data/test.js +108 -0
  306. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/.npmignore +1 -0
  307. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/History.md +25 -0
  308. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/Readme.md +16 -0
  309. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/index.js +144 -0
  310. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/debug/.jshintrc +3 -0
  311. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/debug/.npmignore +6 -0
  312. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/debug/History.md +126 -0
  313. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/debug/Makefile +33 -0
  314. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/debug/Readme.md +153 -0
  315. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/debug/browser.js +144 -0
  316. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/debug/component.json +19 -0
  317. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/debug/debug.js +197 -0
  318. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/debug/node.js +129 -0
  319. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/debug/node_modules/ms/.npmignore +5 -0
  320. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/debug/node_modules/ms/README.md +33 -0
  321. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/debug/node_modules/ms/index.js +111 -0
  322. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/debug/node_modules/ms/package.json +46 -0
  323. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/debug/package.json +69 -0
  324. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/object-keys/.jscs.json +55 -0
  325. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/object-keys/.npmignore +2 -0
  326. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/object-keys/.travis.yml +18 -0
  327. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/object-keys/CHANGELOG.md +151 -0
  328. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/object-keys/LICENSE +21 -0
  329. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/object-keys/README.md +76 -0
  330. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/object-keys/index.js +70 -0
  331. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/object-keys/isArguments.js +18 -0
  332. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/object-keys/package.json +82 -0
  333. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/.npmignore +5 -0
  334. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/.travis.yml +11 -0
  335. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/.zuul.yml +16 -0
  336. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/History.md +87 -0
  337. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/Makefile +11 -0
  338. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/Readme.md +73 -0
  339. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/bench/bench.js +10 -0
  340. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/bench/index.js +81 -0
  341. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/binary.js +141 -0
  342. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/index.js +396 -0
  343. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/is-buffer.js +13 -0
  344. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/benchmark/LICENSE.txt +22 -0
  345. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/benchmark/README.md +131 -0
  346. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/benchmark/benchmark.js +3918 -0
  347. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/benchmark/package.json +62 -0
  348. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/benchmark/test/run-test.sh +9 -0
  349. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/benchmark/test/test.js +2074 -0
  350. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/component-emitter/.npmignore +2 -0
  351. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/component-emitter/.travis.yml +4 -0
  352. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/component-emitter/History.md +52 -0
  353. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/component-emitter/Makefile +7 -0
  354. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/component-emitter/Readme.md +74 -0
  355. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/component-emitter/bower.json +21 -0
  356. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/component-emitter/component.json +14 -0
  357. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/component-emitter/index.js +164 -0
  358. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/component-emitter/package.json +47 -0
  359. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/debug/Readme.md +115 -0
  360. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/debug/debug.js +137 -0
  361. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/debug/index.js +5 -0
  362. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/debug/lib/debug.js +147 -0
  363. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/debug/package.json +64 -0
  364. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/isarray/README.md +54 -0
  365. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/isarray/build/build.js +209 -0
  366. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/isarray/component.json +19 -0
  367. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/isarray/index.js +3 -0
  368. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/isarray/package.json +53 -0
  369. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/json3/.gitmodules +6 -0
  370. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/json3/.jamignore +10 -0
  371. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/json3/.npmignore +11 -0
  372. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/json3/.travis.yml +33 -0
  373. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/json3/LICENSE +20 -0
  374. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/json3/README.md +126 -0
  375. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/json3/lib/json3.js +861 -0
  376. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/json3/lib/json3.min.js +18 -0
  377. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/json3/package.json +102 -0
  378. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/package.json +51 -0
  379. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-adapter/package.json +41 -0
  380. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/History.md +386 -0
  381. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/LICENSE +22 -0
  382. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/README.md +173 -0
  383. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/index.js +2 -0
  384. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/lib/index.js +87 -0
  385. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/lib/manager.js +503 -0
  386. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/lib/on.js +24 -0
  387. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/lib/socket.js +385 -0
  388. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/lib/url.js +73 -0
  389. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/backo2/.npmignore +1 -0
  390. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/backo2/History.md +12 -0
  391. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/backo2/Makefile +8 -0
  392. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/backo2/Readme.md +34 -0
  393. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/backo2/component.json +11 -0
  394. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/backo2/index.js +85 -0
  395. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/backo2/package.json +45 -0
  396. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/backo2/test/index.js +18 -0
  397. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/component-bind/.npmignore +4 -0
  398. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/component-bind/History.md +13 -0
  399. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/component-bind/Makefile +7 -0
  400. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/component-bind/Readme.md +64 -0
  401. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/component-bind/component.json +13 -0
  402. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/component-bind/index.js +23 -0
  403. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/component-bind/package.json +47 -0
  404. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/component-emitter/.npmignore +2 -0
  405. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/component-emitter/.travis.yml +4 -0
  406. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/component-emitter/History.md +52 -0
  407. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/component-emitter/Makefile +7 -0
  408. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/component-emitter/Readme.md +74 -0
  409. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/component-emitter/bower.json +21 -0
  410. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/component-emitter/component.json +14 -0
  411. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/component-emitter/index.js +164 -0
  412. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/component-emitter/package.json +47 -0
  413. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/debug/Readme.md +115 -0
  414. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/debug/debug.js +137 -0
  415. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/debug/index.js +5 -0
  416. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/debug/lib/debug.js +147 -0
  417. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/debug/package.json +64 -0
  418. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/.npmignore +2 -0
  419. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/.travis.yml +41 -0
  420. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/.zuul.yml +20 -0
  421. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/History.md +468 -0
  422. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/Makefile +37 -0
  423. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/README.md +265 -0
  424. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/engine.io.js +4040 -0
  425. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/index.js +2 -0
  426. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/lib/index.js +10 -0
  427. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/lib/socket.js +705 -0
  428. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/lib/transport.js +159 -0
  429. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/index.js +53 -0
  430. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling-jsonp.js +233 -0
  431. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling-xhr.js +384 -0
  432. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling.js +245 -0
  433. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/websocket.js +238 -0
  434. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/lib/xmlhttprequest.js +36 -0
  435. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/.bin/wscat +190 -0
  436. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/component-inherit/.npmignore +3 -0
  437. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/component-inherit/History.md +5 -0
  438. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/component-inherit/Makefile +16 -0
  439. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/component-inherit/Readme.md +24 -0
  440. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/component-inherit/component.json +10 -0
  441. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/component-inherit/index.js +7 -0
  442. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/component-inherit/package.json +44 -0
  443. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/component-inherit/test/inherit.js +21 -0
  444. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/debug/.jshintrc +3 -0
  445. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/debug/.npmignore +6 -0
  446. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/debug/History.md +144 -0
  447. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/debug/Makefile +33 -0
  448. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/debug/Readme.md +156 -0
  449. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/debug/browser.js +147 -0
  450. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/debug/component.json +19 -0
  451. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/debug/debug.js +197 -0
  452. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/debug/node.js +129 -0
  453. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/debug/node_modules/ms/.npmignore +5 -0
  454. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/debug/node_modules/ms/README.md +33 -0
  455. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/debug/node_modules/ms/index.js +111 -0
  456. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/debug/node_modules/ms/package.json +46 -0
  457. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/debug/package.json +71 -0
  458. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/.npmignore +17 -0
  459. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/.travis.yml +45 -0
  460. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/.zuul.yml +18 -0
  461. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/History.md +100 -0
  462. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/LICENSE +22 -0
  463. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/Makefile +26 -0
  464. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/Readme.md +202 -0
  465. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/index.js +2 -0
  466. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/lib/browser.js +594 -0
  467. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/lib/index.js +467 -0
  468. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/lib/keys.js +19 -0
  469. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/after/.npmignore +2 -0
  470. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/after/.travis.yml +5 -0
  471. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/after/LICENCE +19 -0
  472. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/after/README.md +75 -0
  473. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/after/index.js +28 -0
  474. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/after/package.json +62 -0
  475. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/after/test/after-test.js +120 -0
  476. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/arraybuffer.slice/.npmignore +17 -0
  477. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/arraybuffer.slice/Makefile +8 -0
  478. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/arraybuffer.slice/README.md +17 -0
  479. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/arraybuffer.slice/index.js +29 -0
  480. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/arraybuffer.slice/package.json +40 -0
  481. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/arraybuffer.slice/test/slice-buffer.js +227 -0
  482. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/base64-arraybuffer/.npmignore +1 -0
  483. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/base64-arraybuffer/.travis.yml +6 -0
  484. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/base64-arraybuffer/LICENSE-MIT +22 -0
  485. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/base64-arraybuffer/README.md +23 -0
  486. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/base64-arraybuffer/grunt.js +39 -0
  487. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/base64-arraybuffer/lib/base64-arraybuffer.js +59 -0
  488. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/base64-arraybuffer/package.json +56 -0
  489. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/base64-arraybuffer/test/base64-arraybuffer_test.js +72 -0
  490. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/blob/.npmignore +2 -0
  491. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/blob/.zuul.yml +8 -0
  492. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/blob/Makefile +14 -0
  493. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/blob/README.md +11 -0
  494. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/blob/index.js +49 -0
  495. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/blob/package.json +44 -0
  496. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/blob/test/index.js +52 -0
  497. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/.npmignore +15 -0
  498. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/History.md +5 -0
  499. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/LICENSE +20 -0
  500. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/Makefile +3 -0
  501. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/README.md +4 -0
  502. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/fixtures/big.json +1 -0
  503. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/index.js +58 -0
  504. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/node_modules/isarray/README.md +54 -0
  505. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/node_modules/isarray/build/build.js +209 -0
  506. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/node_modules/isarray/component.json +19 -0
  507. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/node_modules/isarray/index.js +3 -0
  508. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/node_modules/isarray/package.json +53 -0
  509. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/package.json +39 -0
  510. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/test.js +108 -0
  511. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/utf8/.gitattributes +2 -0
  512. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/utf8/.npmignore +20 -0
  513. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/utf8/.travis.yml +19 -0
  514. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/utf8/Gruntfile.js +72 -0
  515. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/utf8/LICENSE-GPL.txt +278 -0
  516. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/utf8/LICENSE-MIT.txt +20 -0
  517. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/utf8/README.md +119 -0
  518. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/utf8/bower.json +14 -0
  519. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/utf8/component.json +16 -0
  520. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/utf8/package.json +73 -0
  521. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/utf8/tests/generate-test-data.py +47 -0
  522. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/utf8/tests/index.html +35 -0
  523. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/utf8/tests/tests.js +242 -0
  524. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/utf8/utf8.js +239 -0
  525. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/utf8/x.js +46 -0
  526. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/package.json +58 -0
  527. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/has-cors/.npmignore +2 -0
  528. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/has-cors/History.md +16 -0
  529. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/has-cors/Makefile +11 -0
  530. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/has-cors/Readme.md +24 -0
  531. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/has-cors/component.json +16 -0
  532. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/has-cors/index.js +23 -0
  533. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/has-cors/node_modules/global/.gitignore +3 -0
  534. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/has-cors/node_modules/global/History.md +15 -0
  535. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/has-cors/node_modules/global/Makefile +11 -0
  536. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/has-cors/node_modules/global/Readme.md +20 -0
  537. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/has-cors/node_modules/global/component.json +15 -0
  538. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/has-cors/node_modules/global/index.js +8 -0
  539. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/has-cors/node_modules/global/package.json +40 -0
  540. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/has-cors/node_modules/global/test/index.html +17 -0
  541. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/has-cors/node_modules/global/test/mocha.css +199 -0
  542. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/has-cors/node_modules/global/test/mocha.js +4699 -0
  543. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/has-cors/node_modules/global/test/test.js +22 -0
  544. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/has-cors/package.json +57 -0
  545. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parsejson/Makefile +3 -0
  546. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parsejson/index.js +32 -0
  547. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/.npmignore +4 -0
  548. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/History.md +15 -0
  549. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/Makefile +5 -0
  550. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/Readme.md +61 -0
  551. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/example.js +10 -0
  552. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/index.js +38 -0
  553. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/node_modules/callsite/.npmignore +4 -0
  554. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/node_modules/callsite/History.md +10 -0
  555. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/node_modules/callsite/Makefile +6 -0
  556. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/node_modules/callsite/Readme.md +44 -0
  557. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/node_modules/callsite/index.js +10 -0
  558. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/node_modules/callsite/package.json +45 -0
  559. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parsejson/node_modules/better-assert/package.json +65 -0
  560. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parsejson/package.json +37 -0
  561. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parsejson/test.js +21 -0
  562. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseqs/Makefile +3 -0
  563. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseqs/index.js +37 -0
  564. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/.npmignore +4 -0
  565. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/History.md +15 -0
  566. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/Makefile +5 -0
  567. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/Readme.md +61 -0
  568. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/example.js +10 -0
  569. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/index.js +38 -0
  570. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/node_modules/callsite/.npmignore +4 -0
  571. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/node_modules/callsite/History.md +10 -0
  572. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/node_modules/callsite/Makefile +6 -0
  573. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/node_modules/callsite/Readme.md +44 -0
  574. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/node_modules/callsite/index.js +10 -0
  575. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/node_modules/callsite/package.json +45 -0
  576. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseqs/node_modules/better-assert/package.json +65 -0
  577. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseqs/package.json +37 -0
  578. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseqs/test.js +27 -0
  579. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseuri/History.md +5 -0
  580. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseuri/Makefile +3 -0
  581. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseuri/index.js +39 -0
  582. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/.npmignore +4 -0
  583. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/History.md +15 -0
  584. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/Makefile +5 -0
  585. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/Readme.md +61 -0
  586. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/example.js +10 -0
  587. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/index.js +38 -0
  588. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/node_modules/callsite/.npmignore +4 -0
  589. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/node_modules/callsite/History.md +10 -0
  590. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/node_modules/callsite/Makefile +6 -0
  591. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/node_modules/callsite/Readme.md +44 -0
  592. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/node_modules/callsite/index.js +10 -0
  593. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/node_modules/callsite/package.json +45 -0
  594. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseuri/node_modules/better-assert/package.json +65 -0
  595. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseuri/package.json +45 -0
  596. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/parseuri/test.js +51 -0
  597. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/.npmignore +6 -0
  598. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/.travis.yml +6 -0
  599. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/History.md +312 -0
  600. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/Makefile +40 -0
  601. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/README.md +171 -0
  602. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/bench/parser.benchmark.js +115 -0
  603. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/bench/sender.benchmark.js +66 -0
  604. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/bench/speed.js +105 -0
  605. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/bench/util.js +105 -0
  606. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/bin/wscat +190 -0
  607. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/binding.gyp +16 -0
  608. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/build/Makefile +355 -0
  609. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/build/Release/.deps/Release/bufferutil.node.d +1 -0
  610. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/build/Release/.deps/Release/obj.target/bufferutil/src/bufferutil.o.d +23 -0
  611. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/build/Release/.deps/Release/obj.target/validation/src/validation.o.d +23 -0
  612. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/build/Release/.deps/Release/validation.node.d +1 -0
  613. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/build/Release/bufferutil.node +0 -0
  614. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/build/Release/linker.lock +0 -0
  615. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/build/Release/validation.node +0 -0
  616. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/build/binding.Makefile +6 -0
  617. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/build/bufferutil.target.mk +156 -0
  618. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/build/config.gypi +117 -0
  619. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/build/gyp-mac-tool +512 -0
  620. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/build/validation.target.mk +156 -0
  621. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/builderror.log +1 -0
  622. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/examples/fileapi/.npmignore +1 -0
  623. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/examples/fileapi/package.json +18 -0
  624. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/examples/fileapi/public/app.js +39 -0
  625. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/examples/fileapi/public/index.html +22 -0
  626. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/examples/fileapi/public/uploader.js +55 -0
  627. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/examples/fileapi/server.js +103 -0
  628. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/examples/serverstats-express_3/package.json +17 -0
  629. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/examples/serverstats-express_3/public/index.html +33 -0
  630. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/examples/serverstats-express_3/server.js +21 -0
  631. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/examples/serverstats/package.json +17 -0
  632. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/examples/serverstats/public/index.html +33 -0
  633. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/examples/serverstats/server.js +19 -0
  634. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/examples/ssl.js +59 -0
  635. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/index.js +26 -0
  636. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/BufferPool.js +59 -0
  637. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/BufferUtil.fallback.js +47 -0
  638. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/BufferUtil.js +16 -0
  639. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/ErrorCodes.js +24 -0
  640. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Receiver.hixie.js +180 -0
  641. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Receiver.js +591 -0
  642. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Sender.hixie.js +123 -0
  643. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Sender.js +227 -0
  644. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Validation.fallback.js +12 -0
  645. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Validation.js +16 -0
  646. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/WebSocket.js +818 -0
  647. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/WebSocketServer.js +460 -0
  648. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/browser.js +43 -0
  649. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/commander/.npmignore +4 -0
  650. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/commander/.travis.yml +4 -0
  651. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/commander/History.md +107 -0
  652. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/commander/Makefile +7 -0
  653. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/commander/Readme.md +262 -0
  654. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/commander/index.js +2 -0
  655. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/commander/lib/commander.js +1026 -0
  656. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/commander/package.json +60 -0
  657. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/nan/.index.js +1 -0
  658. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/nan/LICENSE +43 -0
  659. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/nan/README.md +705 -0
  660. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/nan/nan.h +884 -0
  661. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/nan/package.json +53 -0
  662. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/options/.npmignore +7 -0
  663. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/options/Makefile +12 -0
  664. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/options/README.md +69 -0
  665. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/options/lib/options.js +86 -0
  666. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/options/package.json +51 -0
  667. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/tinycolor/.gitignore +5 -0
  668. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/tinycolor/README.md +3 -0
  669. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/tinycolor/example.js +3 -0
  670. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/tinycolor/package.json +48 -0
  671. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/tinycolor/tinycolor.js +31 -0
  672. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/package.json +82 -0
  673. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/src/bufferutil.cc +117 -0
  674. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/src/validation.cc +145 -0
  675. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/BufferPool.test.js +63 -0
  676. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/Receiver.hixie.test.js +158 -0
  677. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/Receiver.test.js +255 -0
  678. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/Sender.hixie.test.js +134 -0
  679. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/Sender.test.js +24 -0
  680. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/Validation.test.js +23 -0
  681. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/WebSocket.integration.js +44 -0
  682. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/WebSocket.test.js +1724 -0
  683. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/WebSocketServer.test.js +1103 -0
  684. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/autobahn-server.js +29 -0
  685. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/autobahn.js +52 -0
  686. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/fixtures/agent1-cert.pem +16 -0
  687. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/fixtures/agent1-key.pem +15 -0
  688. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/fixtures/ca1-cert.pem +15 -0
  689. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/fixtures/ca1-key.pem +17 -0
  690. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/fixtures/certificate.pem +13 -0
  691. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/fixtures/key.pem +15 -0
  692. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/fixtures/request.pem +11 -0
  693. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/fixtures/textfile +9 -0
  694. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/hybi-common.js +99 -0
  695. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/test/testserver.js +180 -0
  696. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/xmlhttprequest/LICENSE +22 -0
  697. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/xmlhttprequest/README.md +57 -0
  698. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/xmlhttprequest/autotest.watchr +8 -0
  699. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/xmlhttprequest/example/demo.js +16 -0
  700. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/xmlhttprequest/lib/XMLHttpRequest.js +642 -0
  701. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/xmlhttprequest/package.json +42 -0
  702. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/xmlhttprequest/tests/test-constants.js +13 -0
  703. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/xmlhttprequest/tests/test-events.js +50 -0
  704. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/xmlhttprequest/tests/test-exceptions.js +62 -0
  705. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/xmlhttprequest/tests/test-headers.js +76 -0
  706. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/xmlhttprequest/tests/test-redirect-302.js +41 -0
  707. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/xmlhttprequest/tests/test-redirect-303.js +41 -0
  708. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/xmlhttprequest/tests/test-redirect-307.js +43 -0
  709. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/xmlhttprequest/tests/test-request-methods.js +62 -0
  710. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/xmlhttprequest/tests/test-request-protocols.js +34 -0
  711. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/xmlhttprequest/tests/testdata.txt +1 -0
  712. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/package.json +84 -0
  713. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/has-binary/.npmignore +15 -0
  714. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/has-binary/History.md +11 -0
  715. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/has-binary/LICENSE +20 -0
  716. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/has-binary/Makefile +3 -0
  717. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/has-binary/README.md +4 -0
  718. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/has-binary/fixtures/big.json +1 -0
  719. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/has-binary/index.js +58 -0
  720. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/has-binary/node_modules/isarray/README.md +54 -0
  721. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/has-binary/node_modules/isarray/build/build.js +209 -0
  722. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/has-binary/node_modules/isarray/component.json +19 -0
  723. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/has-binary/node_modules/isarray/index.js +3 -0
  724. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/has-binary/node_modules/isarray/package.json +53 -0
  725. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/has-binary/package.json +39 -0
  726. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/has-binary/test.js +108 -0
  727. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/indexof/.npmignore +2 -0
  728. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/indexof/Makefile +11 -0
  729. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/indexof/Readme.md +15 -0
  730. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/indexof/component.json +10 -0
  731. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/indexof/index.js +10 -0
  732. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/indexof/package.json +32 -0
  733. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/object-component/.npmignore +3 -0
  734. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/object-component/History.md +10 -0
  735. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/object-component/Makefile +16 -0
  736. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/object-component/Readme.md +31 -0
  737. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/object-component/component.json +10 -0
  738. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/object-component/index.js +84 -0
  739. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/object-component/package.json +35 -0
  740. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/object-component/test/object.js +48 -0
  741. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/parseuri/History.md +5 -0
  742. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/parseuri/Makefile +3 -0
  743. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/parseuri/index.js +25 -0
  744. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/parseuri/node_modules/better-assert/.npmignore +4 -0
  745. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/parseuri/node_modules/better-assert/History.md +15 -0
  746. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/parseuri/node_modules/better-assert/Makefile +5 -0
  747. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/parseuri/node_modules/better-assert/Readme.md +61 -0
  748. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/parseuri/node_modules/better-assert/example.js +10 -0
  749. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/parseuri/node_modules/better-assert/index.js +38 -0
  750. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/parseuri/node_modules/better-assert/node_modules/callsite/.npmignore +4 -0
  751. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/parseuri/node_modules/better-assert/node_modules/callsite/History.md +10 -0
  752. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/parseuri/node_modules/better-assert/node_modules/callsite/Makefile +6 -0
  753. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/parseuri/node_modules/better-assert/node_modules/callsite/Readme.md +44 -0
  754. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/parseuri/node_modules/better-assert/node_modules/callsite/index.js +10 -0
  755. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/parseuri/node_modules/better-assert/node_modules/callsite/package.json +45 -0
  756. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/parseuri/node_modules/better-assert/package.json +65 -0
  757. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/parseuri/package.json +37 -0
  758. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/parseuri/test.js +42 -0
  759. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/to-array/.npmignore +3 -0
  760. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/to-array/LICENCE +19 -0
  761. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/to-array/README.md +22 -0
  762. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/to-array/index.js +13 -0
  763. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/node_modules/to-array/package.json +59 -0
  764. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/package.json +90 -0
  765. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-client/socket.io.js +7000 -0
  766. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/.npmignore +5 -0
  767. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/.travis.yml +11 -0
  768. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/.zuul.yml +16 -0
  769. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/History.md +97 -0
  770. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/Makefile +11 -0
  771. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/Readme.md +73 -0
  772. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/bench/bench.js +10 -0
  773. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/bench/index.js +81 -0
  774. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/bg.gif +0 -0
  775. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/binary.js +141 -0
  776. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/index.js +400 -0
  777. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/is-buffer.js +13 -0
  778. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/benchmark/LICENSE.txt +22 -0
  779. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/benchmark/README.md +131 -0
  780. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/benchmark/benchmark.js +3918 -0
  781. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/benchmark/package.json +62 -0
  782. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/benchmark/test/run-test.sh +9 -0
  783. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/benchmark/test/test.js +2074 -0
  784. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/component-emitter/.npmignore +2 -0
  785. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/component-emitter/.travis.yml +4 -0
  786. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/component-emitter/History.md +52 -0
  787. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/component-emitter/Makefile +7 -0
  788. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/component-emitter/Readme.md +74 -0
  789. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/component-emitter/bower.json +21 -0
  790. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/component-emitter/component.json +14 -0
  791. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/component-emitter/index.js +164 -0
  792. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/component-emitter/package.json +47 -0
  793. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/debug/Readme.md +115 -0
  794. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/debug/debug.js +137 -0
  795. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/debug/index.js +5 -0
  796. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/debug/lib/debug.js +147 -0
  797. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/debug/package.json +64 -0
  798. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/isarray/README.md +54 -0
  799. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/isarray/build/build.js +209 -0
  800. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/isarray/component.json +19 -0
  801. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/isarray/index.js +3 -0
  802. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/isarray/package.json +53 -0
  803. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/json3/.gitmodules +6 -0
  804. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/json3/.jamignore +10 -0
  805. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/json3/.npmignore +11 -0
  806. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/json3/.travis.yml +33 -0
  807. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/json3/LICENSE +20 -0
  808. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/json3/README.md +126 -0
  809. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/json3/lib/json3.js +861 -0
  810. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/json3/lib/json3.min.js +18 -0
  811. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/node_modules/json3/package.json +102 -0
  812. data/spec/iface/driver/assets/node_modules/socket.io/node_modules/socket.io-parser/package.json +51 -0
  813. data/spec/iface/driver/assets/node_modules/socket.io/package.json +80 -0
  814. data/spec/iface/driver/assets/sockio_server.js +38 -0
  815. data/spec/iface/driver/controller_spec.rb +107 -0
  816. data/spec/iface/driver/debug_socketio_spec.rb +76 -0
  817. data/spec/iface/driver/debug_spec.rb +27 -0
  818. data/spec/iface/driver/net_spec.rb +80 -0
  819. data/spec/iface/driver/ping_spec.rb +53 -0
  820. data/spec/iface/driver/pipe_spec.rb +31 -0
  821. data/spec/iface/driver/sockio_spec.rb +52 -0
  822. data/spec/iface/driver/timer_spec.rb +39 -0
  823. data/spec/iface/driver/ui_spec.rb +157 -0
  824. data/spec/iface/kern/debug_spec.rb +40 -0
  825. data/spec/iface/kern/event_spec.rb +46 -0
  826. data/spec/iface/kern/net_spec.rb +27 -0
  827. data/spec/iface/kern/ping_spec.rb +123 -0
  828. data/spec/iface/kern/pipe_spec.rb +30 -0
  829. data/spec/kern/assets/controller0.rb +14 -0
  830. data/spec/kern/assets/controller1.rb +29 -0
  831. data/spec/kern/assets/controller_bare.rb +8 -0
  832. data/spec/kern/assets/controller_context.rb +9 -0
  833. data/spec/kern/assets/controller_def.rb +22 -0
  834. data/spec/kern/assets/controller_spots.rb +9 -0
  835. data/spec/kern/assets/controller_spots_embed.rb +19 -0
  836. data/spec/kern/assets/controller_spots_embed_removed.rb +28 -0
  837. data/spec/kern/assets/embed_info.rb +29 -0
  838. data/spec/kern/assets/event_gw.rb +21 -0
  839. data/spec/kern/assets/goto.rb +29 -0
  840. data/spec/kern/assets/goto2.rb +19 -0
  841. data/spec/kern/assets/lower_event.rb +30 -0
  842. data/spec/kern/assets/raise_event.rb +30 -0
  843. data/spec/kern/assets/rest_service.rb +21 -0
  844. data/spec/kern/assets/send_event.rb +14 -0
  845. data/spec/kern/assets/test_event.rb +14 -0
  846. data/spec/kern/assets/test_event2.rb +26 -0
  847. data/spec/kern/assets/test_event3.rb +21 -0
  848. data/spec/kern/assets/timer_service.rb +20 -0
  849. data/spec/kern/controller_spec.rb +500 -0
  850. data/spec/kern/debug_spec.rb +38 -0
  851. data/spec/kern/debug_ui_spec.rb +243 -0
  852. data/spec/kern/net_spec.rb +14 -0
  853. data/spec/kern/rest_service_spec.rb +45 -0
  854. data/spec/kern/timer_service_spec.rb +40 -0
  855. data/spec/lib/helpers.rb +318 -0
  856. data/spec/lib/io_extensions.rb +13 -0
  857. data/spec/lib/rspec_extensions.rb +219 -0
  858. data/spec/lib/temp_dir.rb +57 -0
  859. metadata +1664 -14
  860. data/app/drivers/iface/ui.js +0 -31
  861. data/app/kern/hello.js +0 -1
  862. data/docs/driver_interface.md +0 -61
  863. data/docs/interface.md +0 -5
  864. data/docs/platform_drivers.md +0 -36
  865. data/spec/build_valid_spec.rb +0 -61
  866. data/spec/drivers/net_spec.rb +0 -159
  867. data/spec/helpers.rb +0 -140
@@ -0,0 +1,884 @@
1
+ /**********************************************************************************
2
+ * NAN - Native Abstractions for Node.js
3
+ *
4
+ * Copyright (c) 2013 NAN contributors:
5
+ * - Rod Vagg <https://github.com/rvagg>
6
+ * - Benjamin Byholm <https://github.com/kkoopa>
7
+ * - Trevor Norris <https://github.com/trevnorris>
8
+ *
9
+ * MIT +no-false-attribs License <https://github.com/rvagg/nan/blob/master/LICENSE>
10
+ *
11
+ * Version 0.3.2 (current Node unstable: 0.11.6, Node stable: 0.10.17)
12
+ *
13
+ * ChangeLog:
14
+ * * 0.3.2 Aug 30 2013
15
+ * - Fix missing scope declaration in GetFromPersistent() and SaveToPersistent
16
+ * in NanAsyncWorker
17
+ *
18
+ * * 0.3.1 Aug 20 2013
19
+ * - fix "not all control paths return a value" compile warning on some platforms
20
+ *
21
+ * * 0.3.0 Aug 19 2013
22
+ * - Made NAN work with NPM
23
+ * - Lots of fixes to NanFromV8String, pulling in features from new Node core
24
+ * - Changed node::encoding to Nan::Encoding in NanFromV8String to unify the API
25
+ * - Added optional error number argument for NanThrowError()
26
+ * - Added NanInitPersistent()
27
+ * - Added NanReturnNull() and NanReturnEmptyString()
28
+ * - Added NanLocker and NanUnlocker
29
+ * - Added missing scopes
30
+ * - Made sure to clear disposed Persistent handles
31
+ * - Changed NanAsyncWorker to allocate error messages on the heap
32
+ * - Changed NanThrowError(Local<Value>) to NanThrowError(Handle<Value>)
33
+ * - Fixed leak in NanAsyncWorker when errmsg is used
34
+ *
35
+ * * 0.2.2 Aug 5 2013
36
+ * - Fixed usage of undefined variable with node::BASE64 in NanFromV8String()
37
+ *
38
+ * * 0.2.1 Aug 5 2013
39
+ * - Fixed 0.8 breakage, node::BUFFER encoding type not available in 0.8 for
40
+ * NanFromV8String()
41
+ *
42
+ * * 0.2.0 Aug 5 2013
43
+ * - Added NAN_PROPERTY_GETTER, NAN_PROPERTY_SETTER, NAN_PROPERTY_ENUMERATOR,
44
+ * NAN_PROPERTY_DELETER, NAN_PROPERTY_QUERY
45
+ * - Extracted _NAN_METHOD_ARGS, _NAN_GETTER_ARGS, _NAN_SETTER_ARGS,
46
+ * _NAN_PROPERTY_GETTER_ARGS, _NAN_PROPERTY_SETTER_ARGS,
47
+ * _NAN_PROPERTY_ENUMERATOR_ARGS, _NAN_PROPERTY_DELETER_ARGS,
48
+ * _NAN_PROPERTY_QUERY_ARGS
49
+ * - Added NanGetInternalFieldPointer, NanSetInternalFieldPointer
50
+ * - Added NAN_WEAK_CALLBACK, NAN_WEAK_CALLBACK_OBJECT,
51
+ * NAN_WEAK_CALLBACK_DATA, NanMakeWeak
52
+ * - Renamed THROW_ERROR to _NAN_THROW_ERROR
53
+ * - Added NanNewBufferHandle(char*, size_t, node::smalloc::FreeCallback, void*)
54
+ * - Added NanBufferUse(char*, uint32_t)
55
+ * - Added NanNewContextHandle(v8::ExtensionConfiguration*,
56
+ * v8::Handle<v8::ObjectTemplate>, v8::Handle<v8::Value>)
57
+ * - Fixed broken NanCallback#GetFunction()
58
+ * - Added optional encoding and size arguments to NanFromV8String()
59
+ * - Added NanGetPointerSafe() and NanSetPointerSafe()
60
+ * - Added initial test suite (to be expanded)
61
+ * - Allow NanUInt32OptionValue to convert any Number object
62
+ *
63
+ * * 0.1.0 Jul 21 2013
64
+ * - Added `NAN_GETTER`, `NAN_SETTER`
65
+ * - Added `NanThrowError` with single Local<Value> argument
66
+ * - Added `NanNewBufferHandle` with single uint32_t argument
67
+ * - Added `NanHasInstance(Persistent<FunctionTemplate>&, Handle<Value>)`
68
+ * - Added `Local<Function> NanCallback#GetFunction()`
69
+ * - Added `NanCallback#Call(int, Local<Value>[])`
70
+ * - Deprecated `NanCallback#Run(int, Local<Value>[])` in favour of Call
71
+ *
72
+ * See https://github.com/rvagg/nan for the latest update to this file
73
+ **********************************************************************************/
74
+
75
+ #ifndef NAN_H
76
+ #define NAN_H
77
+
78
+ #include <node.h>
79
+ #include <node_buffer.h>
80
+ #include <string.h>
81
+
82
+ // some generic helpers
83
+
84
+ template<class T> static inline bool NanSetPointerSafe(T *var, T val) {
85
+ if (var) {
86
+ *var = val;
87
+ return true;
88
+ } else {
89
+ return false;
90
+ }
91
+ }
92
+
93
+ template<class T> static inline T NanGetPointerSafe(
94
+ T *var,
95
+ T fallback = reinterpret_cast<T>(0)) {
96
+ if (var) {
97
+ return *var;
98
+ } else {
99
+ return fallback;
100
+ }
101
+ }
102
+
103
+ #define NanSymbol(value) v8::String::NewSymbol(value)
104
+
105
+ static inline bool NanBooleanOptionValue(
106
+ v8::Local<v8::Object> optionsObj
107
+ , v8::Handle<v8::String> opt, bool def) {
108
+
109
+ if (def) {
110
+ return optionsObj.IsEmpty()
111
+ || !optionsObj->Has(opt)
112
+ || optionsObj->Get(opt)->BooleanValue();
113
+ } else {
114
+ return !optionsObj.IsEmpty()
115
+ && optionsObj->Has(opt)
116
+ && optionsObj->Get(opt)->BooleanValue();
117
+ }
118
+ }
119
+
120
+ static inline bool NanBooleanOptionValue(
121
+ v8::Local<v8::Object> optionsObj
122
+ , v8::Handle<v8::String> opt) {
123
+ return NanBooleanOptionValue(optionsObj, opt, false);
124
+ }
125
+
126
+ static inline uint32_t NanUInt32OptionValue(
127
+ v8::Local<v8::Object> optionsObj
128
+ , v8::Handle<v8::String> opt
129
+ , uint32_t def) {
130
+
131
+ return !optionsObj.IsEmpty()
132
+ && optionsObj->Has(opt)
133
+ && optionsObj->Get(opt)->IsNumber()
134
+ ? optionsObj->Get(opt)->Uint32Value()
135
+ : def;
136
+ }
137
+
138
+ #if (NODE_MODULE_VERSION > 0x000B)
139
+ // Node 0.11+ (0.11.3 and below won't compile with these)
140
+
141
+ static v8::Isolate* nan_isolate = v8::Isolate::GetCurrent();
142
+
143
+ # define _NAN_METHOD_ARGS const v8::FunctionCallbackInfo<v8::Value>& args
144
+ # define NAN_METHOD(name) void name(_NAN_METHOD_ARGS)
145
+ # define _NAN_GETTER_ARGS const v8::PropertyCallbackInfo<v8::Value>& args
146
+ # define NAN_GETTER(name) \
147
+ void name(v8::Local<v8::String> property, _NAN_GETTER_ARGS)
148
+ # define _NAN_SETTER_ARGS const v8::PropertyCallbackInfo<void>& args
149
+ # define NAN_SETTER(name) \
150
+ void name( \
151
+ v8::Local<v8::String> property \
152
+ , v8::Local<v8::Value> value \
153
+ , _NAN_SETTER_ARGS)
154
+ # define _NAN_PROPERTY_GETTER_ARGS \
155
+ const v8::PropertyCallbackInfo<v8::Value>& args
156
+ # define NAN_PROPERTY_GETTER(name) \
157
+ void name(v8::Local<v8::String> property \
158
+ , _NAN_PROPERTY_GETTER_ARGS)
159
+ # define _NAN_PROPERTY_SETTER_ARGS \
160
+ const v8::PropertyCallbackInfo<v8::Value>& args
161
+ # define NAN_PROPERTY_SETTER(name) \
162
+ void name(v8::Local<v8::String> property \
163
+ , v8::Local<v8::Value> value \
164
+ , _NAN_PROPERTY_SETTER_ARGS)
165
+ # define _NAN_PROPERTY_ENUMERATOR_ARGS \
166
+ const v8::PropertyCallbackInfo<v8::Array>& args
167
+ # define NAN_PROPERTY_ENUMERATOR(name) \
168
+ void name(_NAN_PROPERTY_ENUMERATOR_ARGS)
169
+ # define _NAN_PROPERTY_DELETER_ARGS \
170
+ const v8::PropertyCallbackInfo<v8::Boolean>& args
171
+ # define NAN_PROPERTY_DELETER(name) \
172
+ void name( \
173
+ v8::Local<v8::String> property \
174
+ , _NAN_PROPERTY_DELETER_ARGS)
175
+ # define _NAN_PROPERTY_QUERY_ARGS \
176
+ const v8::PropertyCallbackInfo<v8::Integer>& args
177
+ # define NAN_PROPERTY_QUERY(name) \
178
+ void name(v8::Local<v8::String> property, _NAN_PROPERTY_QUERY_ARGS)
179
+ # define NanGetInternalFieldPointer(object, index) \
180
+ object->GetAlignedPointerFromInternalField(index)
181
+ # define NanSetInternalFieldPointer(object, index, value) \
182
+ object->SetAlignedPointerInInternalField(index, value)
183
+
184
+ # define NAN_WEAK_CALLBACK(type, name) \
185
+ void name( \
186
+ v8::Isolate* isolate, \
187
+ v8::Persistent<v8::Object>* object, \
188
+ type data)
189
+ # define NAN_WEAK_CALLBACK_OBJECT (*object)
190
+ # define NAN_WEAK_CALLBACK_DATA(type) ((type) data)
191
+
192
+ # define NanScope() v8::HandleScope scope(nan_isolate)
193
+ # define NanLocker() v8::Locker locker(nan_isolate)
194
+ # define NanUnlocker() v8::Unlocker unlocker(nan_isolate)
195
+ # define NanReturnValue(value) return args.GetReturnValue().Set(value)
196
+ # define NanReturnUndefined() return
197
+ # define NanReturnNull() return args.GetReturnValue().SetNull()
198
+ # define NanReturnEmptyString() return args.GetReturnValue().SetEmptyString()
199
+ # define NanAssignPersistent(type, handle, obj) handle.Reset(nan_isolate, obj)
200
+ # define NanInitPersistent(type, name, obj) \
201
+ v8::Persistent<type> name(nan_isolate, obj)
202
+ # define NanObjectWrapHandle(obj) obj->handle()
203
+ # define NanMakeWeak(handle, parameter, callback) \
204
+ handle.MakeWeak(nan_isolate, parameter, callback)
205
+
206
+ # define _NAN_THROW_ERROR(fun, errmsg) \
207
+ do { \
208
+ NanScope(); \
209
+ v8::ThrowException(fun(v8::String::New(errmsg))); \
210
+ } while (0);
211
+
212
+ inline static void NanThrowError(const char* errmsg) {
213
+ _NAN_THROW_ERROR(v8::Exception::Error, errmsg);
214
+ }
215
+
216
+ inline static void NanThrowError(v8::Handle<v8::Value> error) {
217
+ NanScope();
218
+ v8::ThrowException(error);
219
+ }
220
+
221
+ inline static void NanThrowError(const char *msg, const int errorNumber) {
222
+ v8::Local<v8::Value> err = v8::Exception::Error(v8::String::New(msg));
223
+ v8::Local<v8::Object> obj = err.As<v8::Object>();
224
+ obj->Set(v8::String::New("code"), v8::Int32::New(errorNumber));
225
+ NanThrowError(err);
226
+ }
227
+
228
+ inline static void NanThrowTypeError(const char* errmsg) {
229
+ _NAN_THROW_ERROR(v8::Exception::TypeError, errmsg);
230
+ }
231
+
232
+ inline static void NanThrowRangeError(const char* errmsg) {
233
+ _NAN_THROW_ERROR(v8::Exception::RangeError, errmsg);
234
+ }
235
+
236
+ template<class T> static inline void NanDispose(v8::Persistent<T> &handle) {
237
+ handle.Dispose(nan_isolate);
238
+ handle.Clear();
239
+ }
240
+
241
+ static inline v8::Local<v8::Object> NanNewBufferHandle (
242
+ char *data,
243
+ size_t length,
244
+ node::smalloc::FreeCallback callback,
245
+ void *hint) {
246
+ return node::Buffer::New(data, length, callback, hint);
247
+ }
248
+
249
+ static inline v8::Local<v8::Object> NanNewBufferHandle (
250
+ char *data, uint32_t size) {
251
+ return node::Buffer::New(data, size);
252
+ }
253
+
254
+ static inline v8::Local<v8::Object> NanNewBufferHandle (uint32_t size) {
255
+ return node::Buffer::New(size);
256
+ }
257
+
258
+ static inline v8::Local<v8::Object> NanBufferUse(char* data, uint32_t size) {
259
+ return node::Buffer::Use(data, size);
260
+ }
261
+
262
+ template <class TypeName>
263
+ inline v8::Local<TypeName> NanPersistentToLocal(
264
+ const v8::Persistent<TypeName>& persistent) {
265
+ if (persistent.IsWeak()) {
266
+ return v8::Local<TypeName>::New(nan_isolate, persistent);
267
+ } else {
268
+ return *reinterpret_cast<v8::Local<TypeName>*>(
269
+ const_cast<v8::Persistent<TypeName>*>(&persistent));
270
+ }
271
+ }
272
+
273
+ inline bool NanHasInstance(
274
+ v8::Persistent<v8::FunctionTemplate>& function_template
275
+ , v8::Handle<v8::Value> value) {
276
+ return NanPersistentToLocal(function_template)->HasInstance(value);
277
+ }
278
+
279
+ static inline v8::Local<v8::Context> NanNewContextHandle(
280
+ v8::ExtensionConfiguration* extensions = NULL,
281
+ v8::Handle<v8::ObjectTemplate> tmpl = v8::Handle<v8::ObjectTemplate>(),
282
+ v8::Handle<v8::Value> obj = v8::Handle<v8::Value>()) {
283
+ return v8::Local<v8::Context>::New(nan_isolate, v8::Context::New(
284
+ nan_isolate, extensions, tmpl, obj));
285
+ }
286
+
287
+ #else
288
+ // Node 0.8 and 0.10
289
+
290
+ # define _NAN_METHOD_ARGS const v8::Arguments& args
291
+ # define NAN_METHOD(name) v8::Handle<v8::Value> name(_NAN_METHOD_ARGS)
292
+ # define _NAN_GETTER_ARGS const v8::AccessorInfo &args
293
+ # define NAN_GETTER(name) \
294
+ v8::Handle<v8::Value> name(v8::Local<v8::String> property, _NAN_GETTER_ARGS)
295
+ # define _NAN_SETTER_ARGS const v8::AccessorInfo &args
296
+ # define NAN_SETTER(name) \
297
+ void name( \
298
+ v8::Local<v8::String> property \
299
+ , v8::Local<v8::Value> value \
300
+ , _NAN_SETTER_ARGS)
301
+ # define _NAN_PROPERTY_GETTER_ARGS const v8::AccessorInfo& args
302
+ # define NAN_PROPERTY_GETTER(name) \
303
+ v8::Handle<v8::Value> name(v8::Local<v8::String> property \
304
+ , _NAN_PROPERTY_GETTER_ARGS)
305
+ # define _NAN_PROPERTY_SETTER_ARGS const v8::AccessorInfo& args
306
+ # define NAN_PROPERTY_SETTER(name) \
307
+ v8::Handle<v8::Value> name(v8::Local<v8::String> property \
308
+ , v8::Local<v8::Value> value \
309
+ , _NAN_PROPERTY_SETTER_ARGS)
310
+ # define _NAN_PROPERTY_ENUMERATOR_ARGS const v8::AccessorInfo& args
311
+ # define NAN_PROPERTY_ENUMERATOR(name) \
312
+ v8::Handle<v8::Array> name(_NAN_PROPERTY_ENUMERATOR_ARGS)
313
+ # define _NAN_PROPERTY_DELETER_ARGS const v8::AccessorInfo& args
314
+ # define NAN_PROPERTY_DELETER(name) \
315
+ v8::Handle<v8::Boolean> name( \
316
+ v8::Local<v8::String> property \
317
+ , _NAN_PROPERTY_DELETER_ARGS)
318
+ # define _NAN_PROPERTY_QUERY_ARGS const v8::AccessorInfo& args
319
+ # define NAN_PROPERTY_QUERY(name) \
320
+ v8::Handle<v8::Integer> name( \
321
+ v8::Local<v8::String> property \
322
+ , _NAN_PROPERTY_QUERY_ARGS)
323
+
324
+ # define NanGetInternalFieldPointer(object, index) \
325
+ object->GetPointerFromInternalField(index)
326
+ # define NanSetInternalFieldPointer(object, index, value) \
327
+ object->SetPointerInInternalField(index, value)
328
+ # define NAN_WEAK_CALLBACK(type, name) void name( \
329
+ v8::Persistent<v8::Value> object, \
330
+ void *data)
331
+ # define NAN_WEAK_CALLBACK_OBJECT object
332
+ # define NAN_WEAK_CALLBACK_DATA(type) ((type) data)
333
+
334
+ # define NanScope() v8::HandleScope scope
335
+ # define NanLocker() v8::Locker locker
336
+ # define NanUnlocker() v8::Unlocker unlocker
337
+ # define NanReturnValue(value) return scope.Close(value)
338
+ # define NanReturnUndefined() return v8::Undefined()
339
+ # define NanReturnNull() return v8::Null()
340
+ # define NanReturnEmptyString() return v8::String::Empty()
341
+ # define NanInitPersistent(type, name, obj) \
342
+ v8::Persistent<type> name = v8::Persistent<type>::New(obj)
343
+ # define NanAssignPersistent(type, handle, obj) \
344
+ handle = v8::Persistent<type>::New(obj)
345
+ # define NanObjectWrapHandle(obj) obj->handle_
346
+ # define NanMakeWeak(handle, parameters, callback) \
347
+ handle.MakeWeak(parameters, callback)
348
+
349
+ # define _NAN_THROW_ERROR(fun, errmsg) \
350
+ do { \
351
+ NanScope(); \
352
+ return v8::ThrowException(fun(v8::String::New(errmsg))); \
353
+ } while (0);
354
+
355
+ inline static v8::Handle<v8::Value> NanThrowError(const char* errmsg) {
356
+ _NAN_THROW_ERROR(v8::Exception::Error, errmsg);
357
+ }
358
+
359
+ inline static v8::Handle<v8::Value> NanThrowError(
360
+ v8::Handle<v8::Value> error) {
361
+ NanScope();
362
+ return v8::ThrowException(error);
363
+ }
364
+
365
+ inline static v8::Handle<v8::Value> NanThrowError(
366
+ const char *msg,
367
+ const int errorNumber) {
368
+ v8::Local<v8::Value> err = v8::Exception::Error(v8::String::New(msg));
369
+ v8::Local<v8::Object> obj = err.As<v8::Object>();
370
+ obj->Set(v8::String::New("code"), v8::Int32::New(errorNumber));
371
+ return NanThrowError(err);
372
+ }
373
+
374
+ inline static v8::Handle<v8::Value> NanThrowTypeError(const char* errmsg) {
375
+ _NAN_THROW_ERROR(v8::Exception::TypeError, errmsg);
376
+ }
377
+
378
+ inline static v8::Handle<v8::Value> NanThrowRangeError(const char* errmsg) {
379
+ _NAN_THROW_ERROR(v8::Exception::RangeError, errmsg);
380
+ }
381
+
382
+ template<class T> static inline void NanDispose(v8::Persistent<T> &handle) {
383
+ handle.Dispose();
384
+ handle.Clear();
385
+ }
386
+
387
+ static inline v8::Local<v8::Object> NanNewBufferHandle (
388
+ char *data,
389
+ size_t length,
390
+ node::Buffer::free_callback callback,
391
+ void *hint) {
392
+ return v8::Local<v8::Object>::New(
393
+ node::Buffer::New(data, length, callback, hint)->handle_);
394
+ }
395
+
396
+ static inline v8::Local<v8::Object> NanNewBufferHandle (
397
+ char *data, uint32_t size) {
398
+ return v8::Local<v8::Object>::New(node::Buffer::New(data, size)->handle_);
399
+ }
400
+
401
+ static inline v8::Local<v8::Object> NanNewBufferHandle (uint32_t size) {
402
+ return v8::Local<v8::Object>::New(node::Buffer::New(size)->handle_);
403
+ }
404
+
405
+ static inline void FreeData(char *data, void *hint) {
406
+ delete[] data;
407
+ }
408
+
409
+ static inline v8::Local<v8::Object> NanBufferUse(char* data, uint32_t size) {
410
+ return v8::Local<v8::Object>::New(
411
+ node::Buffer::New(data, size, FreeData, NULL)->handle_);
412
+ }
413
+
414
+ template <class TypeName>
415
+ inline v8::Local<TypeName> NanPersistentToLocal(
416
+ const v8::Persistent<TypeName>& persistent) {
417
+ if (persistent.IsWeak()) {
418
+ return v8::Local<TypeName>::New(persistent);
419
+ } else {
420
+ return *reinterpret_cast<v8::Local<TypeName>*>(
421
+ const_cast<v8::Persistent<TypeName>*>(&persistent));
422
+ }
423
+ }
424
+
425
+ inline bool NanHasInstance(
426
+ v8::Persistent<v8::FunctionTemplate>& function_template
427
+ , v8::Handle<v8::Value> value) {
428
+ return function_template->HasInstance(value);
429
+ }
430
+
431
+ static inline v8::Local<v8::Context> NanNewContextHandle(
432
+ v8::ExtensionConfiguration* extensions = NULL
433
+ , v8::Handle<v8::ObjectTemplate> tmpl =
434
+ v8::Handle<v8::ObjectTemplate>()
435
+ , v8::Handle<v8::Value> obj = v8::Handle<v8::Value>()
436
+ ) {
437
+ v8::Persistent<v8::Context> ctx =
438
+ v8::Context::New(extensions, tmpl, obj);
439
+ v8::Local<v8::Context> lctx = v8::Local<v8::Context>::New(ctx);
440
+ ctx.Dispose();
441
+ return lctx;
442
+ }
443
+
444
+ #endif // node version
445
+
446
+ class NanCallback {
447
+ public:
448
+ NanCallback(const v8::Local<v8::Function> &fn) {
449
+ NanScope();
450
+ v8::Local<v8::Object> obj = v8::Object::New();
451
+ obj->Set(NanSymbol("callback"), fn);
452
+ NanAssignPersistent(v8::Object, handle, obj);
453
+ }
454
+
455
+ ~NanCallback() {
456
+ if (handle.IsEmpty()) return;
457
+ handle.Dispose();
458
+ handle.Clear();
459
+ }
460
+
461
+ inline v8::Local<v8::Function> GetFunction () {
462
+ return NanPersistentToLocal(handle)->Get(NanSymbol("callback"))
463
+ .As<v8::Function>();
464
+ }
465
+
466
+ // deprecated
467
+ void Run(int argc, v8::Local<v8::Value> argv[]) {
468
+ Call(argc, argv);
469
+ }
470
+
471
+ void Call(int argc, v8::Local<v8::Value> argv[]) {
472
+ NanScope();
473
+
474
+ v8::Local<v8::Function> callback = NanPersistentToLocal(handle)->
475
+ Get(NanSymbol("callback")).As<v8::Function>();
476
+ v8::TryCatch try_catch;
477
+ callback->Call(v8::Context::GetCurrent()->Global(), argc, argv);
478
+ if (try_catch.HasCaught()) {
479
+ node::FatalException(try_catch);
480
+ }
481
+ }
482
+
483
+ private:
484
+ v8::Persistent<v8::Object> handle;
485
+ };
486
+
487
+ /* abstract */ class NanAsyncWorker {
488
+ public:
489
+ NanAsyncWorker (NanCallback *callback) : callback(callback) {
490
+ request.data = this;
491
+ errmsg = NULL;
492
+ }
493
+
494
+ virtual ~NanAsyncWorker () {
495
+ NanScope();
496
+
497
+ if (!persistentHandle.IsEmpty())
498
+ NanDispose(persistentHandle);
499
+ if (callback)
500
+ delete callback;
501
+ if (errmsg)
502
+ delete errmsg;
503
+ }
504
+
505
+ virtual void WorkComplete () {
506
+ NanScope();
507
+
508
+ if (errmsg == NULL)
509
+ HandleOKCallback();
510
+ else
511
+ HandleErrorCallback();
512
+ delete callback;
513
+ callback = NULL;
514
+ }
515
+
516
+ virtual void Execute () =0;
517
+
518
+ uv_work_t request;
519
+
520
+ protected:
521
+ v8::Persistent<v8::Object> persistentHandle;
522
+ NanCallback *callback;
523
+ const char *errmsg;
524
+
525
+ void SavePersistent(const char *key, v8::Local<v8::Object> &obj) {
526
+ NanScope();
527
+
528
+ v8::Local<v8::Object> handle = NanPersistentToLocal(persistentHandle);
529
+ handle->Set(NanSymbol(key), obj);
530
+ }
531
+
532
+ v8::Local<v8::Object> GetFromPersistent(const char *key) {
533
+ NanScope();
534
+
535
+ v8::Local<v8::Object> handle = NanPersistentToLocal(persistentHandle);
536
+ return handle->Get(NanSymbol(key)).As<v8::Object>();
537
+ }
538
+
539
+ virtual void HandleOKCallback () {
540
+ NanScope();
541
+
542
+ callback->Call(0, NULL);
543
+ };
544
+
545
+ virtual void HandleErrorCallback () {
546
+ NanScope();
547
+
548
+ v8::Local<v8::Value> argv[] = {
549
+ v8::Exception::Error(v8::String::New(errmsg))
550
+ };
551
+ callback->Call(1, argv);
552
+ }
553
+ };
554
+
555
+ inline void NanAsyncExecute (uv_work_t* req) {
556
+ NanAsyncWorker *worker = static_cast<NanAsyncWorker*>(req->data);
557
+ worker->Execute();
558
+ }
559
+
560
+ inline void NanAsyncExecuteComplete (uv_work_t* req) {
561
+ NanAsyncWorker* worker = static_cast<NanAsyncWorker*>(req->data);
562
+ worker->WorkComplete();
563
+ delete worker;
564
+ }
565
+
566
+ inline void NanAsyncQueueWorker (NanAsyncWorker* worker) {
567
+ uv_queue_work(
568
+ uv_default_loop()
569
+ , &worker->request
570
+ , NanAsyncExecute
571
+ , (uv_after_work_cb)NanAsyncExecuteComplete
572
+ );
573
+ }
574
+
575
+ //// Base 64 ////
576
+
577
+ #define _nan_base64_encoded_size(size) ((size + 2 - ((size + 2) % 3)) / 3 * 4)
578
+
579
+
580
+ // Doesn't check for padding at the end. Can be 1-2 bytes over.
581
+ static inline size_t _nan_base64_decoded_size_fast(size_t size) {
582
+ size_t remainder = size % 4;
583
+
584
+ size = (size / 4) * 3;
585
+ if (remainder) {
586
+ if (size == 0 && remainder == 1) {
587
+ // special case: 1-byte input cannot be decoded
588
+ size = 0;
589
+ } else {
590
+ // non-padded input, add 1 or 2 extra bytes
591
+ size += 1 + (remainder == 3);
592
+ }
593
+ }
594
+
595
+ return size;
596
+ }
597
+
598
+ template <typename TypeName>
599
+ static size_t _nan_base64_decoded_size(const TypeName* src, size_t size) {
600
+ if (size == 0)
601
+ return 0;
602
+
603
+ if (src[size - 1] == '=')
604
+ size--;
605
+ if (size > 0 && src[size - 1] == '=')
606
+ size--;
607
+
608
+ return _nan_base64_decoded_size_fast(size);
609
+ }
610
+
611
+
612
+ // supports regular and URL-safe base64
613
+ static const int _nan_unbase64_table[] =
614
+ { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -2, -1, -1,
615
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
616
+ -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, 62, -1, 63,
617
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
618
+ -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
619
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, 63,
620
+ -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
621
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1,
622
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
623
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
624
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
625
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
626
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
627
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
628
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
629
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
630
+ };
631
+
632
+ #define _nan_unbase64(x) _nan_unbase64_table[(uint8_t)(x)]
633
+
634
+
635
+ template <typename TypeName>
636
+ static size_t _nan_base64_decode(char* buf,
637
+ size_t len,
638
+ const TypeName* src,
639
+ const size_t srcLen) {
640
+ char a, b, c, d;
641
+ char* dst = buf;
642
+ char* dstEnd = buf + len;
643
+ const TypeName* srcEnd = src + srcLen;
644
+
645
+ while (src < srcEnd && dst < dstEnd) {
646
+ int remaining = srcEnd - src;
647
+
648
+ while (_nan_unbase64(*src) < 0 && src < srcEnd) src++, remaining--;
649
+ if (remaining == 0 || *src == '=') break;
650
+ a = _nan_unbase64(*src++);
651
+
652
+ while (_nan_unbase64(*src) < 0 && src < srcEnd) src++, remaining--;
653
+ if (remaining <= 1 || *src == '=') break;
654
+ b = _nan_unbase64(*src++);
655
+
656
+ *dst++ = (a << 2) | ((b & 0x30) >> 4);
657
+ if (dst == dstEnd) break;
658
+
659
+ while (_nan_unbase64(*src) < 0 && src < srcEnd) src++, remaining--;
660
+ if (remaining <= 2 || *src == '=') break;
661
+ c = _nan_unbase64(*src++);
662
+
663
+ *dst++ = ((b & 0x0F) << 4) | ((c & 0x3C) >> 2);
664
+ if (dst == dstEnd) break;
665
+
666
+ while (_nan_unbase64(*src) < 0 && src < srcEnd) src++, remaining--;
667
+ if (remaining <= 3 || *src == '=') break;
668
+ d = _nan_unbase64(*src++);
669
+
670
+ *dst++ = ((c & 0x03) << 6) | (d & 0x3F);
671
+ }
672
+
673
+ return dst - buf;
674
+ }
675
+
676
+ //// HEX ////
677
+
678
+ template <typename TypeName>
679
+ unsigned _nan_hex2bin(TypeName c) {
680
+ if (c >= '0' && c <= '9') return c - '0';
681
+ if (c >= 'A' && c <= 'F') return 10 + (c - 'A');
682
+ if (c >= 'a' && c <= 'f') return 10 + (c - 'a');
683
+ return static_cast<unsigned>(-1);
684
+ }
685
+
686
+
687
+ template <typename TypeName>
688
+ static size_t _nan_hex_decode(char* buf,
689
+ size_t len,
690
+ const TypeName* src,
691
+ const size_t srcLen) {
692
+ size_t i;
693
+ for (i = 0; i < len && i * 2 + 1 < srcLen; ++i) {
694
+ unsigned a = _nan_hex2bin(src[i * 2 + 0]);
695
+ unsigned b = _nan_hex2bin(src[i * 2 + 1]);
696
+ if (!~a || !~b) return i;
697
+ buf[i] = a * 16 + b;
698
+ }
699
+
700
+ return i;
701
+ }
702
+
703
+ static bool _NanGetExternalParts(
704
+ v8::Handle<v8::Value> val
705
+ , const char** data
706
+ , size_t* len) {
707
+
708
+ if (node::Buffer::HasInstance(val)) {
709
+ *data = node::Buffer::Data(val.As<v8::Object>());
710
+ *len = node::Buffer::Length(val.As<v8::Object>());
711
+ return true;
712
+
713
+ }
714
+
715
+ assert(val->IsString());
716
+ v8::Local<v8::String> str = v8::Local<v8::String>::New(val.As<v8::String>());
717
+
718
+ if (str->IsExternalAscii()) {
719
+ const v8::String::ExternalAsciiStringResource* ext;
720
+ ext = str->GetExternalAsciiStringResource();
721
+ *data = ext->data();
722
+ *len = ext->length();
723
+ return true;
724
+
725
+ } else if (str->IsExternal()) {
726
+ const v8::String::ExternalStringResource* ext;
727
+ ext = str->GetExternalStringResource();
728
+ *data = reinterpret_cast<const char*>(ext->data());
729
+ *len = ext->length();
730
+ return true;
731
+ }
732
+
733
+ return false;
734
+ }
735
+
736
+ namespace Nan {
737
+ enum Encoding {ASCII, UTF8, BASE64, UCS2, BINARY, HEX, BUFFER};
738
+ }
739
+
740
+ static inline char* NanFromV8String(
741
+ v8::Handle<v8::Value> from
742
+ , enum Nan::Encoding encoding = Nan::UTF8
743
+ , size_t *datalen = NULL
744
+ , char *buf = NULL
745
+ , size_t buflen = 0
746
+ , int flags = v8::String::NO_NULL_TERMINATION
747
+ | v8::String::HINT_MANY_WRITES_EXPECTED) {
748
+
749
+ NanScope();
750
+
751
+ size_t sz_;
752
+ size_t term_len = !(flags & v8::String::NO_NULL_TERMINATION);
753
+ char *data = NULL;
754
+ size_t len;
755
+ bool is_extern = _NanGetExternalParts(
756
+ from
757
+ , const_cast<const char**>(&data)
758
+ , &len);
759
+
760
+ if (is_extern && !term_len) {
761
+ NanSetPointerSafe(datalen, len);
762
+ return data;
763
+ }
764
+
765
+ v8::Local<v8::String> toStr = from->ToString();
766
+
767
+ char *to = buf;
768
+
769
+ v8::String::AsciiValue value(toStr);
770
+ switch(encoding) {
771
+ case Nan::ASCII:
772
+ #if NODE_MODULE_VERSION < 0x0C
773
+ sz_ = toStr->Length();
774
+ if (to == NULL) {
775
+ to = new char[sz_ + term_len];
776
+ } else {
777
+ assert(buflen >= sz_ + term_len && "too small buffer");
778
+ }
779
+ NanSetPointerSafe<size_t>(
780
+ datalen
781
+ , toStr->WriteAscii(to, 0, sz_ + term_len, flags));
782
+ return to;
783
+ #endif
784
+ case Nan::BINARY:
785
+ case Nan::BUFFER:
786
+ sz_ = toStr->Length();
787
+ if (to == NULL) {
788
+ to = new char[sz_ + term_len];
789
+ } else {
790
+ assert(buflen >= sz_ + term_len && "too small buffer");
791
+ }
792
+ #if NODE_MODULE_VERSION < 0x0C
793
+ // TODO(isaacs): THIS IS AWFUL!!!
794
+ // AGREE(kkoopa)
795
+ {
796
+ uint16_t* twobytebuf = new uint16_t[sz_ + term_len];
797
+
798
+ size_t len = toStr->Write(twobytebuf, 0, sz_ + term_len, flags);
799
+
800
+ for (size_t i = 0; i < sz_ + term_len && i < len + term_len; i++) {
801
+ unsigned char *b = reinterpret_cast<unsigned char*>(&twobytebuf[i]);
802
+ to[i] = *b;
803
+ }
804
+
805
+ NanSetPointerSafe<size_t>(datalen, len);
806
+
807
+ delete[] twobytebuf;
808
+ return to;
809
+ }
810
+ #else
811
+ NanSetPointerSafe<size_t>(
812
+ datalen,
813
+ toStr->WriteOneByte(
814
+ reinterpret_cast<uint8_t *>(to)
815
+ , 0
816
+ , sz_ + term_len
817
+ , flags));
818
+ return to;
819
+ #endif
820
+ case Nan::UTF8:
821
+ sz_ = toStr->Utf8Length();
822
+ if (to == NULL) {
823
+ to = new char[sz_ + term_len];
824
+ } else {
825
+ assert(buflen >= sz_ + term_len && "too small buffer");
826
+ }
827
+ NanSetPointerSafe<size_t>(
828
+ datalen
829
+ , toStr->WriteUtf8(to, sz_ + term_len, NULL, flags) - term_len);
830
+ return to;
831
+ case Nan::BASE64:
832
+ sz_ = _nan_base64_decoded_size(*value, toStr->Length());
833
+ if (to == NULL) {
834
+ to = new char[sz_ + term_len];
835
+ } else {
836
+ assert(buflen >= sz_ + term_len);
837
+ }
838
+ NanSetPointerSafe<size_t>(
839
+ datalen
840
+ , _nan_base64_decode(to, sz_, *value, value.length()));
841
+ if (term_len) {
842
+ to[sz_] = '\0';
843
+ }
844
+ return to;
845
+ case Nan::UCS2:
846
+ {
847
+ sz_ = toStr->Length();
848
+ if (to == NULL) {
849
+ to = new char[(sz_ + term_len) * 2];
850
+ } else {
851
+ assert(buflen >= (sz_ + term_len) * 2 && "too small buffer");
852
+ }
853
+
854
+ int bc = 2 * toStr->Write(
855
+ reinterpret_cast<uint16_t *>(to)
856
+ , 0
857
+ , sz_ + term_len
858
+ , flags);
859
+ NanSetPointerSafe<size_t>(datalen, bc);
860
+ return to;
861
+ }
862
+ case Nan::HEX:
863
+ sz_ = toStr->Length();
864
+ assert(!(sz_ & 1) && "bad hex data");
865
+ if (to == NULL) {
866
+ to = new char[sz_ / 2 + term_len];
867
+ } else {
868
+ assert(buflen >= sz_ / 2 + term_len && "too small buffer");
869
+ }
870
+
871
+ NanSetPointerSafe<size_t>(
872
+ datalen
873
+ , _nan_hex_decode(to, sz_ / 2, *value, value.length()));
874
+ if (term_len) {
875
+ to[sz_ / 2] = '\0';
876
+ }
877
+ return to;
878
+ default:
879
+ assert(0 && "unknown encoding");
880
+ }
881
+ return to;
882
+ }
883
+
884
+ #endif