sequenceserver 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (667) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sequenceserver/api_errors.rb +24 -2
  3. data/lib/sequenceserver/blast/job.rb +41 -7
  4. data/lib/sequenceserver/blast/report.rb +36 -30
  5. data/lib/sequenceserver/config.rb +49 -27
  6. data/lib/sequenceserver/job.rb +13 -3
  7. data/lib/sequenceserver/job_remover.rb +25 -29
  8. data/lib/sequenceserver/refinements.rb +15 -0
  9. data/lib/sequenceserver/routes.rb +69 -7
  10. data/lib/sequenceserver/sequence.rb +8 -7
  11. data/lib/sequenceserver/sys.rb +2 -2
  12. data/lib/sequenceserver/version.rb +1 -1
  13. data/lib/sequenceserver/zip_file_generator.rb +56 -0
  14. data/lib/sequenceserver.rb +1 -0
  15. data/public/config.js +149 -143
  16. data/public/css/sequenceserver.css +44 -3
  17. data/public/css/sequenceserver.min.css +3 -3
  18. data/public/js/alignment_exporter.js +16 -8
  19. data/public/js/circos.js +370 -234
  20. data/public/js/cloud_share_modal.js +216 -0
  21. data/public/js/databases.js +144 -0
  22. data/public/js/databases_tree.js +42 -113
  23. data/public/js/dnd.js +164 -0
  24. data/public/js/error_modal.js +4 -11
  25. data/public/js/exporter.js +7 -3
  26. data/public/js/form.js +260 -0
  27. data/public/js/grapher.js +113 -106
  28. data/public/js/hit.js +80 -67
  29. data/public/js/hits_overview.js +2 -2
  30. data/public/js/hsp.js +343 -288
  31. data/public/js/jquery_world.js +4 -4
  32. data/public/js/mailto.js +36 -0
  33. data/public/js/options.js +84 -0
  34. data/public/js/query.js +319 -59
  35. data/public/js/report.js +315 -269
  36. data/public/js/report_root.js +75 -0
  37. data/public/js/search.js +28 -1011
  38. data/public/js/search_button.js +195 -0
  39. data/public/js/sequence.js +2409 -2411
  40. data/public/js/sequence_modal.js +152 -159
  41. data/public/js/share_url.js +23 -0
  42. data/public/js/sidebar.js +262 -83
  43. data/public/js/tests/database.spec.js +60 -0
  44. data/public/js/tests/mock_data/databases.json +91 -0
  45. data/public/js/tests/mock_data/long_response.json +269 -0
  46. data/public/js/tests/mock_data/short_response.json +2240 -0
  47. data/public/js/tests/report.spec.js +99 -0
  48. data/public/js/tests/search_button.spec.js +14 -0
  49. data/public/js/tests/search_query.spec.js +41 -0
  50. data/public/packages/circosJS@1.7.0.js +1640 -0
  51. data/public/packages/jquery-ui@1.11.4.js +16624 -0
  52. data/public/sequenceserver-report.min.js +2425 -19
  53. data/public/sequenceserver-search.min.js +2337 -15
  54. data/public/vendor/github/jspm/nodelibs-assert@0.1.0/index.js +2 -0
  55. data/public/vendor/github/jspm/{nodelibs-buffer@0.1.0 → nodelibs-assert@0.1.0}/package.json +1 -1
  56. data/public/vendor/github/jspm/nodelibs-assert@0.1.0.js +1 -0
  57. data/public/vendor/github/jspm/nodelibs-buffer@0.1.1/package.json +6 -0
  58. data/public/vendor/github/jspm/nodelibs-buffer@0.1.1.js +1 -0
  59. data/public/vendor/github/jspm/{nodelibs-process@0.1.1 → nodelibs-process@0.1.2}/package.json +2 -2
  60. data/public/vendor/github/jspm/nodelibs-process@0.1.2.js +1 -0
  61. data/public/vendor/github/jspm/nodelibs-vm@0.1.0/index.js +2 -0
  62. data/public/vendor/github/jspm/nodelibs-vm@0.1.0/package.json +6 -0
  63. data/public/vendor/github/jspm/nodelibs-vm@0.1.0.js +1 -0
  64. data/public/vendor/npm/assert@1.5.0/CHANGELOG.md +8 -0
  65. data/public/vendor/npm/assert@1.5.0/README.md +105 -0
  66. data/public/vendor/npm/assert@1.5.0/assert.js +327 -0
  67. data/public/vendor/npm/assert@1.5.0/package.json +32 -0
  68. data/public/vendor/npm/assert@1.5.0/test.js +288 -0
  69. data/public/vendor/npm/assert@1.5.0.js +1 -0
  70. data/public/vendor/npm/{base64-js@0.0.8/LICENSE.MIT → base64-js@1.5.1/LICENSE} +1 -1
  71. data/public/vendor/npm/{base64-js@0.0.8 → base64-js@1.5.1}/README.md +10 -7
  72. data/public/vendor/npm/base64-js@1.5.1/base64js.min.js +3 -0
  73. data/public/vendor/npm/base64-js@1.5.1/index.d.ts +3 -0
  74. data/public/vendor/npm/base64-js@1.5.1/index.js +151 -0
  75. data/public/vendor/npm/base64-js@1.5.1/package.json +47 -0
  76. data/public/vendor/npm/base64-js@1.5.1.js +1 -0
  77. data/public/vendor/npm/buffer@5.7.1/AUTHORS.md +70 -0
  78. data/public/vendor/npm/{buffer@3.4.3 → buffer@5.7.1}/README.md +111 -41
  79. data/public/vendor/npm/buffer@5.7.1/index.d.ts +186 -0
  80. data/public/vendor/npm/buffer@5.7.1/index.js +1817 -0
  81. data/public/vendor/npm/buffer@5.7.1/package.json +96 -0
  82. data/public/vendor/npm/buffer@5.7.1.js +1 -0
  83. data/public/vendor/npm/core-util-is@1.0.3/LICENSE +19 -0
  84. data/public/vendor/npm/core-util-is@1.0.3/lib/util.js +64 -0
  85. data/public/vendor/npm/{core-util-is@1.0.1 → core-util-is@1.0.3}/package.json +13 -1
  86. data/public/vendor/npm/core-util-is@1.0.3.js +1 -0
  87. data/public/vendor/npm/events@1.0.2/tests/add-listeners.js +2 -2
  88. data/public/vendor/npm/events@1.0.2/tests/check-listener-leaks.js +3 -3
  89. data/public/vendor/npm/events@1.0.2/tests/common.js +1 -1
  90. data/public/vendor/npm/events@1.0.2/tests/index.js +13 -13
  91. data/public/vendor/npm/events@1.0.2/tests/listeners-side-effects.js +2 -2
  92. data/public/vendor/npm/events@1.0.2/tests/listeners.js +2 -2
  93. data/public/vendor/npm/events@1.0.2/tests/max-listeners.js +2 -2
  94. data/public/vendor/npm/events@1.0.2/tests/modify-in-emit.js +2 -2
  95. data/public/vendor/npm/events@1.0.2/tests/num-args.js +2 -2
  96. data/public/vendor/npm/events@1.0.2/tests/once.js +2 -2
  97. data/public/vendor/npm/events@1.0.2/tests/remove-all-listeners.js +3 -3
  98. data/public/vendor/npm/events@1.0.2/tests/remove-listeners.js +3 -3
  99. data/public/vendor/npm/events@1.0.2/tests/set-max-listeners-side-effects.js +2 -2
  100. data/public/vendor/npm/events@1.0.2/tests/subclass.js +3 -3
  101. data/public/vendor/npm/events@1.0.2.js +1 -1
  102. data/public/vendor/npm/ieee754@1.2.1/LICENSE +11 -0
  103. data/public/vendor/npm/{ieee754@1.1.6 → ieee754@1.2.1}/README.md +12 -8
  104. data/public/vendor/npm/ieee754@1.2.1/index.d.ts +10 -0
  105. data/public/vendor/npm/{ieee754@1.1.6 → ieee754@1.2.1}/index.js +6 -6
  106. data/public/vendor/npm/ieee754@1.2.1/package.json +52 -0
  107. data/public/vendor/npm/ieee754@1.2.1.js +1 -0
  108. data/public/vendor/npm/{is-array@1.0.1 → indexof@0.0.1}/Makefile +3 -3
  109. data/public/vendor/npm/indexof@0.0.1/Readme.md +15 -0
  110. data/public/vendor/npm/indexof@0.0.1/component.json +10 -0
  111. data/public/vendor/npm/indexof@0.0.1/index.js +11 -0
  112. data/public/vendor/npm/indexof@0.0.1/package.json +12 -0
  113. data/public/vendor/npm/indexof@0.0.1.js +1 -0
  114. data/public/vendor/npm/inherits@2.0.1/inherits.js +1 -1
  115. data/public/vendor/npm/inherits@2.0.1.js +1 -1
  116. data/public/vendor/npm/isarray@0.0.1.js +1 -1
  117. data/public/vendor/npm/js-tokens@4.0.0/index.js +23 -0
  118. data/public/vendor/npm/js-tokens@4.0.0/package.json +30 -0
  119. data/public/vendor/npm/js-tokens@4.0.0.js +1 -0
  120. data/public/vendor/npm/loose-envify@1.4.0/LICENSE +21 -0
  121. data/public/vendor/npm/loose-envify@1.4.0/README.md +45 -0
  122. data/public/vendor/npm/loose-envify@1.4.0/cli.js +12 -0
  123. data/public/vendor/npm/loose-envify@1.4.0/custom.js +3 -0
  124. data/public/vendor/npm/loose-envify@1.4.0/index.js +5 -0
  125. data/public/vendor/npm/loose-envify@1.4.0/loose-envify.js +33 -0
  126. data/public/vendor/npm/loose-envify@1.4.0/package.json +36 -0
  127. data/public/vendor/npm/loose-envify@1.4.0/replace.js +52 -0
  128. data/public/vendor/npm/loose-envify@1.4.0.js +1 -0
  129. data/public/vendor/npm/object-assign@4.1.1/index.js +90 -0
  130. data/public/vendor/npm/object-assign@4.1.1/package.json +42 -0
  131. data/public/vendor/npm/object-assign@4.1.1.js +1 -0
  132. data/public/vendor/npm/path-browserify@0.0.0/index.js +1 -1
  133. data/public/vendor/npm/path-browserify@0.0.0.js +1 -1
  134. data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/README.md +4 -1
  135. data/public/vendor/npm/process@0.11.10/browser.js +184 -0
  136. data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/package.json +10 -1
  137. data/public/vendor/npm/process@0.11.10/test.js +185 -0
  138. data/public/vendor/npm/process@0.11.10.js +1 -0
  139. data/public/vendor/npm/react-dom@18.0.0/LICENSE +21 -0
  140. data/public/vendor/npm/react-dom@18.0.0/README.md +50 -0
  141. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.browser.development.js +4771 -0
  142. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.browser.production.min.js +85 -0
  143. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.node.development.js +4813 -0
  144. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.node.production.min.js +1705 -0
  145. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.browser.development.js +4746 -0
  146. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.browser.production.min.js +90 -0
  147. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.node.development.js +4714 -0
  148. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.node.production.min.js +1746 -0
  149. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-test-utils.development.js +1017 -0
  150. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-test-utils.production.min.js +617 -0
  151. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.development.js +20092 -0
  152. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.production.min.js +322 -0
  153. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.profiling.min.js +364 -0
  154. data/public/vendor/npm/react-dom@18.0.0/client.js +27 -0
  155. data/public/vendor/npm/react-dom@18.0.0/index.js +23 -0
  156. data/public/vendor/npm/react-dom@18.0.0/package.json +62 -0
  157. data/public/vendor/npm/react-dom@18.0.0/profiling.js +23 -0
  158. data/public/vendor/npm/react-dom@18.0.0/server.browser.js +19 -0
  159. data/public/vendor/npm/react-dom@18.0.0/server.js +3 -0
  160. data/public/vendor/npm/react-dom@18.0.0/server.node.js +19 -0
  161. data/public/vendor/npm/react-dom@18.0.0/test-utils.js +9 -0
  162. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server-legacy.browser.development.js +4770 -0
  163. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server-legacy.browser.production.min.js +72 -0
  164. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server.browser.development.js +4745 -0
  165. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server.browser.production.min.js +74 -0
  166. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-test-utils.development.js +1013 -0
  167. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-test-utils.production.min.js +625 -0
  168. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.development.js +20106 -0
  169. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.production.min.js +269 -0
  170. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.profiling.min.js +285 -0
  171. data/public/vendor/npm/react-dom@18.0.0.js +1 -0
  172. data/public/vendor/npm/react@18.0.0/LICENSE +21 -0
  173. data/public/vendor/npm/react@18.0.0/README.md +13 -0
  174. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.development.js +837 -0
  175. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.production.min.js +10 -0
  176. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.profiling.min.js +10 -0
  177. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.development.js +849 -0
  178. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.production.min.js +38 -0
  179. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.profiling.min.js +38 -0
  180. data/public/vendor/npm/react@18.0.0/cjs/react.development.js +1746 -0
  181. data/public/vendor/npm/react@18.0.0/cjs/react.production.min.js +26 -0
  182. data/public/vendor/npm/react@18.0.0/cjs/react.shared-subset.development.js +10 -0
  183. data/public/vendor/npm/react@18.0.0/cjs/react.shared-subset.production.min.js +12 -0
  184. data/public/vendor/npm/react@18.0.0/index.js +9 -0
  185. data/public/vendor/npm/react@18.0.0/jsx-dev-runtime.js +9 -0
  186. data/public/vendor/npm/react@18.0.0/jsx-runtime.js +9 -0
  187. data/public/vendor/npm/react@18.0.0/package.json +47 -0
  188. data/public/vendor/npm/react@18.0.0/react.shared-subset.js +9 -0
  189. data/public/vendor/npm/react@18.0.0/umd/react.development.js +2186 -0
  190. data/public/vendor/npm/react@18.0.0/umd/react.production.min.js +33 -0
  191. data/public/vendor/npm/react@18.0.0/umd/react.profiling.min.js +33 -0
  192. data/public/vendor/npm/react@18.0.0.js +1 -0
  193. data/public/vendor/npm/readable-stream@1.1.14/LICENSE +18 -0
  194. data/public/vendor/npm/readable-stream@1.1.14/duplex.js +2 -0
  195. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_duplex.js +5 -5
  196. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_passthrough.js +3 -3
  197. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_readable.js +10 -10
  198. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_transform.js +4 -4
  199. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_writable.js +6 -6
  200. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/package.json +1 -1
  201. data/public/vendor/npm/readable-stream@1.1.14/passthrough.js +2 -0
  202. data/public/vendor/npm/readable-stream@1.1.14/readable.js +13 -0
  203. data/public/vendor/npm/readable-stream@1.1.14/transform.js +2 -0
  204. data/public/vendor/npm/readable-stream@1.1.14/writable.js +2 -0
  205. data/public/vendor/npm/readable-stream@1.1.14.js +1 -0
  206. data/public/vendor/npm/scheduler@0.21.0/LICENSE +21 -0
  207. data/public/vendor/npm/scheduler@0.21.0/README.md +9 -0
  208. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_mock.development.js +530 -0
  209. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_mock.production.min.js +20 -0
  210. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_post_task.development.js +153 -0
  211. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_post_task.production.min.js +14 -0
  212. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler.development.js +444 -0
  213. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler.production.min.js +19 -0
  214. data/public/vendor/npm/scheduler@0.21.0/index.js +9 -0
  215. data/public/vendor/npm/scheduler@0.21.0/package.json +36 -0
  216. data/public/vendor/npm/scheduler@0.21.0/umd/scheduler-unstable_mock.development.js +701 -0
  217. data/public/vendor/npm/scheduler@0.21.0/umd/scheduler-unstable_mock.production.min.js +21 -0
  218. data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.development.js +154 -0
  219. data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.production.min.js +148 -0
  220. data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.profiling.min.js +148 -0
  221. data/public/vendor/npm/scheduler@0.21.0/unstable_mock.js +9 -0
  222. data/public/vendor/npm/scheduler@0.21.0/unstable_post_task.js +9 -0
  223. data/public/vendor/npm/scheduler@0.21.0.js +1 -0
  224. data/public/vendor/npm/stream-browserify@1.0.0/index.js +7 -7
  225. data/public/vendor/npm/stream-browserify@1.0.0/test/buf.js +5 -5
  226. data/public/vendor/npm/stream-browserify@1.0.0.js +1 -1
  227. data/public/vendor/npm/string_decoder@0.10.31/index.js +2 -2
  228. data/public/vendor/npm/string_decoder@0.10.31.js +1 -1
  229. data/public/vendor/npm/util@0.10.3/support/isBuffer.js +1 -1
  230. data/public/vendor/npm/util@0.10.3/test/browser/inspect.js +2 -2
  231. data/public/vendor/npm/util@0.10.3/test/browser/is.js +3 -3
  232. data/public/vendor/npm/util@0.10.3/test/node/debug.js +4 -4
  233. data/public/vendor/npm/util@0.10.3/test/node/format.js +2 -2
  234. data/public/vendor/npm/util@0.10.3/test/node/inspect.js +3 -3
  235. data/public/vendor/npm/util@0.10.3/test/node/log.js +3 -3
  236. data/public/vendor/npm/util@0.10.3/test/node/util.js +3 -3
  237. data/public/vendor/npm/util@0.10.3/util.js +3 -3
  238. data/public/vendor/npm/util@0.10.3.js +1 -1
  239. data/public/vendor/npm/vm-browserify@0.0.4/LICENSE +18 -0
  240. data/public/vendor/npm/vm-browserify@0.0.4/example/run/bundle.js +376 -0
  241. data/public/vendor/npm/vm-browserify@0.0.4/example/run/entry.js +6 -0
  242. data/public/vendor/npm/vm-browserify@0.0.4/example/run/index.html +9 -0
  243. data/public/vendor/npm/vm-browserify@0.0.4/example/run/server.js +6 -0
  244. data/public/vendor/npm/vm-browserify@0.0.4/index.js +139 -0
  245. data/public/vendor/npm/vm-browserify@0.0.4/package.json +46 -0
  246. data/public/vendor/npm/vm-browserify@0.0.4/readme.markdown +67 -0
  247. data/public/vendor/npm/vm-browserify@0.0.4/test/vm.js +34 -0
  248. data/public/vendor/npm/vm-browserify@0.0.4.js +1 -0
  249. data/public/vendor/npm/webshim@1.15.8/Gruntfile.js +4 -4
  250. data/public/vendor/npm/webshim@1.15.8/build/combobuild.js +2 -2
  251. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/color-picker.js +1 -1
  252. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/10.js +1 -1
  253. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/11.js +1 -1
  254. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/17.js +1 -1
  255. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/5.js +1 -1
  256. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/6.js +1 -1
  257. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/9.js +1 -1
  258. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/es6.js +1 -1
  259. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/excanvas.js +1 -1
  260. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/form-number-date-ui.js +1 -1
  261. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/moxie/js/moxie-html4.js +1 -1
  262. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/moxie/js/moxie-swf.js +1 -1
  263. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/sizzle.js +1 -1
  264. data/public/vendor/npm/webshim@1.15.8/js-webshim/minified/shims/es6.js +1 -1
  265. data/public/vendor/npm/webshim@1.15.8/src/shims/color-picker.js +1 -1
  266. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/10.js +1 -1
  267. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/11.js +1 -1
  268. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/17.js +1 -1
  269. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/5.js +1 -1
  270. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/6.js +1 -1
  271. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/9.js +1 -1
  272. data/public/vendor/npm/webshim@1.15.8/src/shims/es6.js +1 -1
  273. data/public/vendor/npm/webshim@1.15.8/src/shims/excanvas.js +1 -1
  274. data/public/vendor/npm/webshim@1.15.8/src/shims/form-number-date-ui.js +1 -1
  275. data/public/vendor/npm/webshim@1.15.8/src/shims/moxie/js/moxie-html4.js +1 -1
  276. data/public/vendor/npm/webshim@1.15.8/src/shims/moxie/js/moxie-swf.js +1 -1
  277. data/public/vendor/npm/webshim@1.15.8/src/shims/sizzle.js +1 -1
  278. data/public/vendor/npm/webshim@1.15.8/tests/dist/jquery.js +1 -1
  279. data/public/vendor/npm/webshim@1.15.8/tests/jquery/unit/core.js +1 -1
  280. data/public/vendor/npm/webshim@1.15.8/tests/jquery/unit/event.js +1388 -711
  281. data/public/vendor/npm/webshim@1.15.8/tests/qunit/qunit.js +1 -1
  282. data/public/vendor/npm/webshim@1.15.8/tests/test-ext/jquery-1-custom.js +1 -1
  283. data/public/vendor/npm/webshim@1.15.8/tests/test-ext/jquery-2-custom.js +1 -1
  284. data/public/vendor/npm/webshim@1.15.8/tests/test-ext/punycode.js +1 -1
  285. data/public/vendor/system-polyfills.js +865 -1
  286. data/views/blastn_options.erb +291 -0
  287. data/views/blastp_options.erb +288 -0
  288. data/views/blastx_options.erb +318 -0
  289. data/views/error.erb +12 -0
  290. data/views/layout.erb +2 -30
  291. data/views/report.erb +0 -8
  292. data/views/search.erb +16 -9
  293. data/views/tblastn_options.erb +266 -0
  294. data/views/tblastx_options.erb +291 -0
  295. metadata +318 -439
  296. data/public/vendor/github/jspm/nodelibs-buffer@0.1.0.js +0 -1
  297. data/public/vendor/github/jspm/nodelibs-module@0.1.0/index.js +0 -1
  298. data/public/vendor/github/jspm/nodelibs-module@0.1.0.js +0 -1
  299. data/public/vendor/github/jspm/nodelibs-process@0.1.1.js +0 -1
  300. data/public/vendor/npm/amdefine@1.0.0/LICENSE +0 -58
  301. data/public/vendor/npm/amdefine@1.0.0/README.md +0 -171
  302. data/public/vendor/npm/amdefine@1.0.0/amdefine.js +0 -200
  303. data/public/vendor/npm/amdefine@1.0.0/intercept.js +0 -24
  304. data/public/vendor/npm/amdefine@1.0.0/package.json +0 -16
  305. data/public/vendor/npm/amdefine@1.0.0.js +0 -1
  306. data/public/vendor/npm/base62@0.1.1/LICENSE +0 -20
  307. data/public/vendor/npm/base62@0.1.1/Readme.md +0 -30
  308. data/public/vendor/npm/base62@0.1.1/base62.js +0 -28
  309. data/public/vendor/npm/base62@0.1.1/package.json +0 -21
  310. data/public/vendor/npm/base62@0.1.1/test/test.js +0 -13
  311. data/public/vendor/npm/base62@0.1.1.js +0 -1
  312. data/public/vendor/npm/base64-js@0.0.8/lib/b64.js +0 -125
  313. data/public/vendor/npm/base64-js@0.0.8/package.json +0 -34
  314. data/public/vendor/npm/base64-js@0.0.8/test/convert.js +0 -39
  315. data/public/vendor/npm/base64-js@0.0.8/test/url-safe.js +0 -15
  316. data/public/vendor/npm/base64-js@0.0.8.js +0 -1
  317. data/public/vendor/npm/buffer@3.4.3/index.js +0 -1533
  318. data/public/vendor/npm/buffer@3.4.3/package.json +0 -67
  319. data/public/vendor/npm/buffer@3.4.3/test/_polyfill.js +0 -152
  320. data/public/vendor/npm/buffer@3.4.3/test/base64.js +0 -33
  321. data/public/vendor/npm/buffer@3.4.3/test/basic.js +0 -58
  322. data/public/vendor/npm/buffer@3.4.3/test/compare.js +0 -53
  323. data/public/vendor/npm/buffer@3.4.3/test/constructor.js +0 -132
  324. data/public/vendor/npm/buffer@3.4.3/test/deprecated.js +0 -21
  325. data/public/vendor/npm/buffer@3.4.3/test/from-string.js +0 -105
  326. data/public/vendor/npm/buffer@3.4.3/test/methods.js +0 -109
  327. data/public/vendor/npm/buffer@3.4.3/test/node/README.txt +0 -1
  328. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-ascii.js +0 -20
  329. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-bytelength.js +0 -38
  330. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-concat.js +0 -26
  331. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-indexof.js +0 -78
  332. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-inspect.js +0 -31
  333. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer.js +0 -804
  334. data/public/vendor/npm/buffer@3.4.3/test/node-es6/README.txt +0 -1
  335. data/public/vendor/npm/buffer@3.4.3/test/node-es6/test-buffer-arraybuffer.js +0 -37
  336. data/public/vendor/npm/buffer@3.4.3/test/node-es6/test-buffer-iterator.js +0 -32
  337. data/public/vendor/npm/buffer@3.4.3/test/slice.js +0 -33
  338. data/public/vendor/npm/buffer@3.4.3/test/static.js +0 -32
  339. data/public/vendor/npm/buffer@3.4.3/test/to-string.js +0 -106
  340. data/public/vendor/npm/buffer@3.4.3/test/write.js +0 -90
  341. data/public/vendor/npm/buffer@3.4.3.js +0 -1
  342. data/public/vendor/npm/core-util-is@1.0.1/float.patch +0 -604
  343. data/public/vendor/npm/core-util-is@1.0.1/lib/util.js +0 -66
  344. data/public/vendor/npm/core-util-is@1.0.1/util.js +0 -66
  345. data/public/vendor/npm/core-util-is@1.0.1.js +0 -1
  346. data/public/vendor/npm/envify@3.4.0/README.md +0 -145
  347. data/public/vendor/npm/envify@3.4.0/bin/envify +0 -17
  348. data/public/vendor/npm/envify@3.4.0/custom.js +0 -33
  349. data/public/vendor/npm/envify@3.4.0/index.js +0 -4
  350. data/public/vendor/npm/envify@3.4.0/package.json +0 -35
  351. data/public/vendor/npm/envify@3.4.0/visitors.js +0 -33
  352. data/public/vendor/npm/envify@3.4.0.js +0 -1
  353. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/bin/esparse.js +0 -90
  354. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/bin/esvalidate.js +0 -145
  355. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/esprima.js +0 -6191
  356. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/package.json +0 -72
  357. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/compat.js +0 -167
  358. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/reflect.js +0 -421
  359. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/run.js +0 -34
  360. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/runner.js +0 -418
  361. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/test.js +0 -34730
  362. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb.js +0 -1
  363. data/public/vendor/npm/ieee754@1.1.6/LICENSE +0 -56
  364. data/public/vendor/npm/ieee754@1.1.6/package.json +0 -34
  365. data/public/vendor/npm/ieee754@1.1.6/test/basic.js +0 -20
  366. data/public/vendor/npm/ieee754@1.1.6.js +0 -1
  367. data/public/vendor/npm/is-array@1.0.1/History.md +0 -11
  368. data/public/vendor/npm/is-array@1.0.1/Readme.md +0 -27
  369. data/public/vendor/npm/is-array@1.0.1/component.json +0 -13
  370. data/public/vendor/npm/is-array@1.0.1/index.js +0 -33
  371. data/public/vendor/npm/is-array@1.0.1/package.json +0 -10
  372. data/public/vendor/npm/is-array@1.0.1/test/test.html +0 -46
  373. data/public/vendor/npm/is-array@1.0.1.js +0 -1
  374. data/public/vendor/npm/jstransform@10.1.0/LICENSE +0 -201
  375. data/public/vendor/npm/jstransform@10.1.0/README.md +0 -98
  376. data/public/vendor/npm/jstransform@10.1.0/jestEnvironment.js +0 -3
  377. data/public/vendor/npm/jstransform@10.1.0/jestPreprocessor.js +0 -8
  378. data/public/vendor/npm/jstransform@10.1.0/package.json +0 -52
  379. data/public/vendor/npm/jstransform@10.1.0/polyfill/Object.es6.js +0 -54
  380. data/public/vendor/npm/jstransform@10.1.0/src/__tests__/jstransform-test.js +0 -246
  381. data/public/vendor/npm/jstransform@10.1.0/src/__tests__/jstransform-utils-test.js +0 -31
  382. data/public/vendor/npm/jstransform@10.1.0/src/docblock.js +0 -86
  383. data/public/vendor/npm/jstransform@10.1.0/src/jstransform.js +0 -180
  384. data/public/vendor/npm/jstransform@10.1.0/src/utils.js +0 -386
  385. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-arrow-function-visitors-test.js +0 -57
  386. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-call-spread-visitors-test.js +0 -46
  387. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-class-visitors-test.js +0 -463
  388. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-destructuring-visitors-test.js +0 -144
  389. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-es7-object-integration-test.js +0 -40
  390. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-object-concise-method-visitors-test.js +0 -47
  391. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-object-short-notation-visitors-test.js +0 -33
  392. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-rest-param-visitors-test.js +0 -119
  393. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-template-visitors-test.js +0 -138
  394. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es7-rest-property-helpers-test.js +0 -47
  395. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es7-spread-property-visitors-test.js +0 -90
  396. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/gen/generate-type-syntax-test.js +0 -40
  397. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/gen/type-syntax-test.rec.js +0 -846
  398. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/reserved-words-test.js +0 -40
  399. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-alias-syntax-test.js +0 -34
  400. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-class-syntax-test.js +0 -105
  401. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-function-syntax-test.js +0 -126
  402. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-interface-syntax-test.js +0 -29
  403. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-object-method-syntax-test.js +0 -65
  404. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-pattern-syntax-test.js +0 -45
  405. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-syntax-test.js +0 -46
  406. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-variable-declaration-syntax-test.js +0 -102
  407. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-arrow-function-visitors.js +0 -66
  408. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-call-spread-visitors.js +0 -72
  409. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-class-visitors.js +0 -316
  410. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-destructuring-visitors.js +0 -135
  411. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-object-concise-method-visitors.js +0 -28
  412. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-object-short-notation-visitors.js +0 -12
  413. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-rest-param-visitors.js +0 -45
  414. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-template-visitors.js +0 -90
  415. data/public/vendor/npm/jstransform@10.1.0/visitors/es7-rest-property-helpers.js +0 -80
  416. data/public/vendor/npm/jstransform@10.1.0/visitors/es7-spread-property-visitors.js +0 -56
  417. data/public/vendor/npm/jstransform@10.1.0/visitors/reserved-words-helper.js +0 -74
  418. data/public/vendor/npm/jstransform@10.1.0/visitors/reserved-words-visitors.js +0 -30
  419. data/public/vendor/npm/jstransform@10.1.0/visitors/type-syntax.js +0 -118
  420. data/public/vendor/npm/jstransform@10.1.0.js +0 -1
  421. data/public/vendor/npm/process@0.10.1/browser.js +0 -58
  422. data/public/vendor/npm/process@0.10.1.js +0 -1
  423. data/public/vendor/npm/qs@2.4.1/test/stringify.js +0 -162
  424. data/public/vendor/npm/react@0.13.3/README.md +0 -20
  425. data/public/vendor/npm/react@0.13.3/addons.js +0 -2
  426. data/public/vendor/npm/react@0.13.3/dist/JSXTransformer.js +0 -11346
  427. data/public/vendor/npm/react@0.13.3/dist/react-with-addons.js +0 -10483
  428. data/public/vendor/npm/react@0.13.3/dist/react-with-addons.min.js +0 -7297
  429. data/public/vendor/npm/react@0.13.3/dist/react.js +0 -9468
  430. data/public/vendor/npm/react@0.13.3/dist/react.min.js +0 -6764
  431. data/public/vendor/npm/react@0.13.3/lib/AutoFocusMixin.js +0 -9
  432. data/public/vendor/npm/react@0.13.3/lib/BeforeInputEventPlugin.js +0 -197
  433. data/public/vendor/npm/react@0.13.3/lib/CSSCore.js +0 -39
  434. data/public/vendor/npm/react@0.13.3/lib/CSSProperty.js +0 -123
  435. data/public/vendor/npm/react@0.13.3/lib/CSSPropertyOperations.js +0 -103
  436. data/public/vendor/npm/react@0.13.3/lib/CallbackQueue.js +0 -43
  437. data/public/vendor/npm/react@0.13.3/lib/ChangeEventPlugin.js +0 -174
  438. data/public/vendor/npm/react@0.13.3/lib/ClientReactRootIndex.js +0 -23
  439. data/public/vendor/npm/react@0.13.3/lib/DOMChildrenOperations.js +0 -57
  440. data/public/vendor/npm/react@0.13.3/lib/DOMProperty.js +0 -96
  441. data/public/vendor/npm/react@0.13.3/lib/DOMPropertyOperations.js +0 -99
  442. data/public/vendor/npm/react@0.13.3/lib/Danger.js +0 -67
  443. data/public/vendor/npm/react@0.13.3/lib/DefaultEventPluginOrder.js +0 -5
  444. data/public/vendor/npm/react@0.13.3/lib/EnterLeaveEventPlugin.js +0 -69
  445. data/public/vendor/npm/react@0.13.3/lib/EventConstants.js +0 -55
  446. data/public/vendor/npm/react@0.13.3/lib/EventListener.js +0 -34
  447. data/public/vendor/npm/react@0.13.3/lib/EventPluginHub.js +0 -103
  448. data/public/vendor/npm/react@0.13.3/lib/EventPluginRegistry.js +0 -115
  449. data/public/vendor/npm/react@0.13.3/lib/EventPluginUtils.js +0 -121
  450. data/public/vendor/npm/react@0.13.3/lib/EventPropagators.js +0 -62
  451. data/public/vendor/npm/react@0.13.3/lib/ExecutionEnvironment.js +0 -42
  452. data/public/vendor/npm/react@0.13.3/lib/FallbackCompositionState.js +0 -45
  453. data/public/vendor/npm/react@0.13.3/lib/HTMLDOMPropertyConfig.js +0 -155
  454. data/public/vendor/npm/react@0.13.3/lib/LinkedStateMixin.js +0 -8
  455. data/public/vendor/npm/react@0.13.3/lib/LinkedValueUtils.js +0 -74
  456. data/public/vendor/npm/react@0.13.3/lib/LocalEventTrapMixin.js +0 -26
  457. data/public/vendor/npm/react@0.13.3/lib/MobileSafariClickEventPlugin.js +0 -17
  458. data/public/vendor/npm/react@0.13.3/lib/Object.assign.js +0 -47
  459. data/public/vendor/npm/react@0.13.3/lib/PooledClass.js +0 -75
  460. data/public/vendor/npm/react@0.13.3/lib/React.js +0 -93
  461. data/public/vendor/npm/react@0.13.3/lib/ReactBrowserComponentMixin.js +0 -7
  462. data/public/vendor/npm/react@0.13.3/lib/ReactBrowserEventEmitter.js +0 -136
  463. data/public/vendor/npm/react@0.13.3/lib/ReactCSSTransitionGroup.js +0 -34
  464. data/public/vendor/npm/react@0.13.3/lib/ReactCSSTransitionGroupChild.js +0 -92
  465. data/public/vendor/npm/react@0.13.3/lib/ReactChildReconciler.js +0 -57
  466. data/public/vendor/npm/react@0.13.3/lib/ReactChildren.js +0 -67
  467. data/public/vendor/npm/react@0.13.3/lib/ReactClass.js +0 -338
  468. data/public/vendor/npm/react@0.13.3/lib/ReactComponent.js +0 -50
  469. data/public/vendor/npm/react@0.13.3/lib/ReactComponentBrowserEnvironment.js +0 -14
  470. data/public/vendor/npm/react@0.13.3/lib/ReactComponentEnvironment.js +0 -19
  471. data/public/vendor/npm/react@0.13.3/lib/ReactComponentWithPureRenderMixin.js +0 -7
  472. data/public/vendor/npm/react@0.13.3/lib/ReactCompositeComponent.js +0 -374
  473. data/public/vendor/npm/react@0.13.3/lib/ReactContext.js +0 -27
  474. data/public/vendor/npm/react@0.13.3/lib/ReactCurrentOwner.js +0 -32
  475. data/public/vendor/npm/react@0.13.3/lib/ReactDOM.js +0 -146
  476. data/public/vendor/npm/react@0.13.3/lib/ReactDOMButton.js +0 -35
  477. data/public/vendor/npm/react@0.13.3/lib/ReactDOMComponent.js +0 -267
  478. data/public/vendor/npm/react@0.13.3/lib/ReactDOMForm.js +0 -21
  479. data/public/vendor/npm/react@0.13.3/lib/ReactDOMIDOperations.js +0 -63
  480. data/public/vendor/npm/react@0.13.3/lib/ReactDOMIframe.js +0 -20
  481. data/public/vendor/npm/react@0.13.3/lib/ReactDOMImg.js +0 -21
  482. data/public/vendor/npm/react@0.13.3/lib/ReactDOMInput.js +0 -94
  483. data/public/vendor/npm/react@0.13.3/lib/ReactDOMOption.js +0 -23
  484. data/public/vendor/npm/react@0.13.3/lib/ReactDOMSelect.js +0 -112
  485. data/public/vendor/npm/react@0.13.3/lib/ReactDOMSelection.js +0 -103
  486. data/public/vendor/npm/react@0.13.3/lib/ReactDOMTextComponent.js +0 -38
  487. data/public/vendor/npm/react@0.13.3/lib/ReactDOMTextarea.js +0 -70
  488. data/public/vendor/npm/react@0.13.3/lib/ReactDefaultBatchingStrategy.js +0 -37
  489. data/public/vendor/npm/react@0.13.3/lib/ReactDefaultInjection.js +0 -93
  490. data/public/vendor/npm/react@0.13.3/lib/ReactDefaultPerf.js +0 -183
  491. data/public/vendor/npm/react@0.13.3/lib/ReactDefaultPerfAnalysis.js +0 -145
  492. data/public/vendor/npm/react@0.13.3/lib/ReactElement.js +0 -151
  493. data/public/vendor/npm/react@0.13.3/lib/ReactElementValidator.js +0 -218
  494. data/public/vendor/npm/react@0.13.3/lib/ReactEmptyComponent.js +0 -47
  495. data/public/vendor/npm/react@0.13.3/lib/ReactErrorUtils.js +0 -30
  496. data/public/vendor/npm/react@0.13.3/lib/ReactEventEmitterMixin.js +0 -12
  497. data/public/vendor/npm/react@0.13.3/lib/ReactEventListener.js +0 -93
  498. data/public/vendor/npm/react@0.13.3/lib/ReactFragment.js +0 -110
  499. data/public/vendor/npm/react@0.13.3/lib/ReactInjection.js +0 -27
  500. data/public/vendor/npm/react@0.13.3/lib/ReactInputSelection.js +0 -75
  501. data/public/vendor/npm/react@0.13.3/lib/ReactInstanceHandles.js +0 -113
  502. data/public/vendor/npm/react@0.13.3/lib/ReactInstanceMap.js +0 -47
  503. data/public/vendor/npm/react@0.13.3/lib/ReactLifeCycle.js +0 -9
  504. data/public/vendor/npm/react@0.13.3/lib/ReactLink.js +0 -16
  505. data/public/vendor/npm/react@0.13.3/lib/ReactMarkupChecksum.js +0 -17
  506. data/public/vendor/npm/react@0.13.3/lib/ReactMount.js +0 -347
  507. data/public/vendor/npm/react@0.13.3/lib/ReactMultiChild.js +0 -190
  508. data/public/vendor/npm/react@0.13.3/lib/ReactMultiChildUpdateTypes.js +0 -10
  509. data/public/vendor/npm/react@0.13.3/lib/ReactNativeComponent.js +0 -53
  510. data/public/vendor/npm/react@0.13.3/lib/ReactOwner.js +0 -21
  511. data/public/vendor/npm/react@0.13.3/lib/ReactPerf.js +0 -42
  512. data/public/vendor/npm/react@0.13.3/lib/ReactPropTransferer.js +0 -40
  513. data/public/vendor/npm/react@0.13.3/lib/ReactPropTypeLocationNames.js +0 -13
  514. data/public/vendor/npm/react@0.13.3/lib/ReactPropTypeLocations.js +0 -9
  515. data/public/vendor/npm/react@0.13.3/lib/ReactPropTypes.js +0 -225
  516. data/public/vendor/npm/react@0.13.3/lib/ReactPutListenerQueue.js +0 -31
  517. data/public/vendor/npm/react@0.13.3/lib/ReactReconcileTransaction.js +0 -66
  518. data/public/vendor/npm/react@0.13.3/lib/ReactReconciler.js +0 -44
  519. data/public/vendor/npm/react@0.13.3/lib/ReactRef.js +0 -36
  520. data/public/vendor/npm/react@0.13.3/lib/ReactRootIndex.js +0 -29
  521. data/public/vendor/npm/react@0.13.3/lib/ReactServerRendering.js +0 -44
  522. data/public/vendor/npm/react@0.13.3/lib/ReactServerRenderingTransaction.js +0 -47
  523. data/public/vendor/npm/react@0.13.3/lib/ReactStateSetters.js +0 -104
  524. data/public/vendor/npm/react@0.13.3/lib/ReactTestUtils.js +0 -249
  525. data/public/vendor/npm/react@0.13.3/lib/ReactTransitionChildMapping.js +0 -53
  526. data/public/vendor/npm/react@0.13.3/lib/ReactTransitionEvents.js +0 -68
  527. data/public/vendor/npm/react@0.13.3/lib/ReactTransitionGroup.js +0 -140
  528. data/public/vendor/npm/react@0.13.3/lib/ReactUpdateQueue.js +0 -107
  529. data/public/vendor/npm/react@0.13.3/lib/ReactUpdates.js +0 -139
  530. data/public/vendor/npm/react@0.13.3/lib/ReactWithAddons.js +0 -30
  531. data/public/vendor/npm/react@0.13.3/lib/SVGDOMPropertyConfig.js +0 -76
  532. data/public/vendor/npm/react@0.13.3/lib/SelectEventPlugin.js +0 -91
  533. data/public/vendor/npm/react@0.13.3/lib/ServerReactRootIndex.js +0 -29
  534. data/public/vendor/npm/react@0.13.3/lib/SimpleEventPlugin.js +0 -287
  535. data/public/vendor/npm/react@0.13.3/lib/SyntheticClipboardEvent.js +0 -11
  536. data/public/vendor/npm/react@0.13.3/lib/SyntheticCompositionEvent.js +0 -9
  537. data/public/vendor/npm/react@0.13.3/lib/SyntheticDragEvent.js +0 -9
  538. data/public/vendor/npm/react@0.13.3/lib/SyntheticEvent.js +0 -90
  539. data/public/vendor/npm/react@0.13.3/lib/SyntheticFocusEvent.js +0 -9
  540. data/public/vendor/npm/react@0.13.3/lib/SyntheticInputEvent.js +0 -9
  541. data/public/vendor/npm/react@0.13.3/lib/SyntheticKeyboardEvent.js +0 -43
  542. data/public/vendor/npm/react@0.13.3/lib/SyntheticMouseEvent.js +0 -38
  543. data/public/vendor/npm/react@0.13.3/lib/SyntheticTouchEvent.js +0 -19
  544. data/public/vendor/npm/react@0.13.3/lib/SyntheticUIEvent.js +0 -29
  545. data/public/vendor/npm/react@0.13.3/lib/SyntheticWheelEvent.js +0 -18
  546. data/public/vendor/npm/react@0.13.3/lib/Transaction.js +0 -90
  547. data/public/vendor/npm/react@0.13.3/lib/ViewportMetrics.js +0 -27
  548. data/public/vendor/npm/react@0.13.3/lib/accumulateInto.js +0 -26
  549. data/public/vendor/npm/react@0.13.3/lib/adler32.js +0 -32
  550. data/public/vendor/npm/react@0.13.3/lib/camelize.js +0 -30
  551. data/public/vendor/npm/react@0.13.3/lib/camelizeStyleName.js +0 -8
  552. data/public/vendor/npm/react@0.13.3/lib/cloneWithProps.js +0 -20
  553. data/public/vendor/npm/react@0.13.3/lib/containsNode.js +0 -20
  554. data/public/vendor/npm/react@0.13.3/lib/createArrayFromMixed.js +0 -15
  555. data/public/vendor/npm/react@0.13.3/lib/createFullPageComponent.js +0 -22
  556. data/public/vendor/npm/react@0.13.3/lib/createNodesFromMarkup.js +0 -39
  557. data/public/vendor/npm/react@0.13.3/lib/cx.js +0 -20
  558. data/public/vendor/npm/react@0.13.3/lib/dangerousStyleValue.js +0 -19
  559. data/public/vendor/npm/react@0.13.3/lib/emptyFunction.js +0 -32
  560. data/public/vendor/npm/react@0.13.3/lib/emptyObject.js +0 -9
  561. data/public/vendor/npm/react@0.13.3/lib/escapeTextContentForBrowser.js +0 -38
  562. data/public/vendor/npm/react@0.13.3/lib/findDOMNode.js +0 -31
  563. data/public/vendor/npm/react@0.13.3/lib/flattenChildren.js +0 -25
  564. data/public/vendor/npm/react@0.13.3/lib/focusNode.js +0 -27
  565. data/public/vendor/npm/react@0.13.3/lib/forEachAccumulated.js +0 -29
  566. data/public/vendor/npm/react@0.13.3/lib/getActiveElement.js +0 -27
  567. data/public/vendor/npm/react@0.13.3/lib/getEventCharCode.js +0 -50
  568. data/public/vendor/npm/react@0.13.3/lib/getEventKey.js +0 -72
  569. data/public/vendor/npm/react@0.13.3/lib/getEventModifierState.js +0 -45
  570. data/public/vendor/npm/react@0.13.3/lib/getEventTarget.js +0 -29
  571. data/public/vendor/npm/react@0.13.3/lib/getIteratorFn.js +0 -42
  572. data/public/vendor/npm/react@0.13.3/lib/getMarkupWrap.js +0 -73
  573. data/public/vendor/npm/react@0.13.3/lib/getNodeForCharacterOffset.js +0 -73
  574. data/public/vendor/npm/react@0.13.3/lib/getReactRootElementInContainer.js +0 -33
  575. data/public/vendor/npm/react@0.13.3/lib/getTextContentAccessor.js +0 -11
  576. data/public/vendor/npm/react@0.13.3/lib/getUnboundedScrollPosition.js +0 -38
  577. data/public/vendor/npm/react@0.13.3/lib/hyphenate.js +0 -31
  578. data/public/vendor/npm/react@0.13.3/lib/hyphenateStyleName.js +0 -8
  579. data/public/vendor/npm/react@0.13.3/lib/instantiateReactComponent.js +0 -55
  580. data/public/vendor/npm/react@0.13.3/lib/invariant.js +0 -26
  581. data/public/vendor/npm/react@0.13.3/lib/isEventSupported.js +0 -24
  582. data/public/vendor/npm/react@0.13.3/lib/isNode.js +0 -25
  583. data/public/vendor/npm/react@0.13.3/lib/isTextInputElement.js +0 -41
  584. data/public/vendor/npm/react@0.13.3/lib/isTextNode.js +0 -6
  585. data/public/vendor/npm/react@0.13.3/lib/joinClasses.js +0 -39
  586. data/public/vendor/npm/react@0.13.3/lib/keyMirror.js +0 -18
  587. data/public/vendor/npm/react@0.13.3/lib/keyOf.js +0 -34
  588. data/public/vendor/npm/react@0.13.3/lib/mapObject.js +0 -51
  589. data/public/vendor/npm/react@0.13.3/lib/memoizeStringOnly.js +0 -31
  590. data/public/vendor/npm/react@0.13.3/lib/onlyChild.js +0 -11
  591. data/public/vendor/npm/react@0.13.3/lib/performance.js +0 -8
  592. data/public/vendor/npm/react@0.13.3/lib/performanceNow.js +0 -7
  593. data/public/vendor/npm/react@0.13.3/lib/quoteAttributeValueForBrowser.js +0 -7
  594. data/public/vendor/npm/react@0.13.3/lib/setInnerHTML.js +0 -40
  595. data/public/vendor/npm/react@0.13.3/lib/setTextContent.js +0 -16
  596. data/public/vendor/npm/react@0.13.3/lib/shallowEqual.js +0 -42
  597. data/public/vendor/npm/react@0.13.3/lib/shouldUpdateReactComponent.js +0 -51
  598. data/public/vendor/npm/react@0.13.3/lib/toArray.js +0 -21
  599. data/public/vendor/npm/react@0.13.3/lib/traverseAllChildren.js +0 -104
  600. data/public/vendor/npm/react@0.13.3/lib/update.js +0 -78
  601. data/public/vendor/npm/react@0.13.3/lib/warning.js +0 -34
  602. data/public/vendor/npm/react@0.13.3/package.json +0 -34
  603. data/public/vendor/npm/react@0.13.3/react.js +0 -2
  604. data/public/vendor/npm/react@0.13.3.js +0 -1
  605. data/public/vendor/npm/readable-stream@1.1.13/duplex.js +0 -2
  606. data/public/vendor/npm/readable-stream@1.1.13/passthrough.js +0 -2
  607. data/public/vendor/npm/readable-stream@1.1.13/readable.js +0 -8
  608. data/public/vendor/npm/readable-stream@1.1.13/transform.js +0 -2
  609. data/public/vendor/npm/readable-stream@1.1.13/writable.js +0 -2
  610. data/public/vendor/npm/readable-stream@1.1.13.js +0 -1
  611. data/public/vendor/npm/source-map@0.1.31/CHANGELOG.md +0 -112
  612. data/public/vendor/npm/source-map@0.1.31/LICENSE +0 -28
  613. data/public/vendor/npm/source-map@0.1.31/Makefile.dryice.js +0 -89
  614. data/public/vendor/npm/source-map@0.1.31/README.md +0 -434
  615. data/public/vendor/npm/source-map@0.1.31/build/assert-shim.js +0 -58
  616. data/public/vendor/npm/source-map@0.1.31/build/mini-require.js +0 -154
  617. data/public/vendor/npm/source-map@0.1.31/build/prefix-source-map.jsm +0 -20
  618. data/public/vendor/npm/source-map@0.1.31/build/prefix-utils.jsm +0 -18
  619. data/public/vendor/npm/source-map@0.1.31/build/suffix-browser.js +0 -8
  620. data/public/vendor/npm/source-map@0.1.31/build/suffix-source-map.jsm +0 -6
  621. data/public/vendor/npm/source-map@0.1.31/build/suffix-utils.jsm +0 -21
  622. data/public/vendor/npm/source-map@0.1.31/build/test-prefix.js +0 -10
  623. data/public/vendor/npm/source-map@0.1.31/build/test-suffix.js +0 -5
  624. data/public/vendor/npm/source-map@0.1.31/lib/source-map/array-set.js +0 -49
  625. data/public/vendor/npm/source-map@0.1.31/lib/source-map/base64-vlq.js +0 -56
  626. data/public/vendor/npm/source-map@0.1.31/lib/source-map/base64.js +0 -44
  627. data/public/vendor/npm/source-map@0.1.31/lib/source-map/binary-search.js +0 -83
  628. data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-map-consumer.js +0 -238
  629. data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-map-generator.js +0 -231
  630. data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-node.js +0 -234
  631. data/public/vendor/npm/source-map@0.1.31/lib/source-map/util.js +0 -207
  632. data/public/vendor/npm/source-map@0.1.31/lib/source-map.js +0 -4
  633. data/public/vendor/npm/source-map@0.1.31/package.json +0 -52
  634. data/public/vendor/npm/source-map@0.1.31/test/run-tests.js +0 -50
  635. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-api.js +0 -19
  636. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-array-set.js +0 -84
  637. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-base64-vlq.js +0 -17
  638. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-base64.js +0 -26
  639. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-binary-search.js +0 -37
  640. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-dog-fooding.js +0 -76
  641. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-map-consumer.js +0 -426
  642. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-map-generator.js +0 -480
  643. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-node.js +0 -307
  644. data/public/vendor/npm/source-map@0.1.31/test/source-map/util.js +0 -84
  645. data/public/vendor/npm/source-map@0.1.31.js +0 -1
  646. data/public/vendor/npm/through@2.3.8/LICENSE.APACHE2 +0 -15
  647. data/public/vendor/npm/through@2.3.8/LICENSE.MIT +0 -24
  648. data/public/vendor/npm/through@2.3.8/index.js +0 -93
  649. data/public/vendor/npm/through@2.3.8/package.json +0 -36
  650. data/public/vendor/npm/through@2.3.8/readme.markdown +0 -64
  651. data/public/vendor/npm/through@2.3.8/test/async.js +0 -26
  652. data/public/vendor/npm/through@2.3.8/test/auto-destroy.js +0 -26
  653. data/public/vendor/npm/through@2.3.8/test/buffering.js +0 -57
  654. data/public/vendor/npm/through@2.3.8/test/end.js +0 -37
  655. data/public/vendor/npm/through@2.3.8/test/index.js +0 -98
  656. data/public/vendor/npm/through@2.3.8/test.js +0 -2
  657. data/public/vendor/npm/through@2.3.8.js +0 -1
  658. data/views/_options.erb +0 -156
  659. /data/public/vendor/github/jspm/{nodelibs-buffer@0.1.0 → nodelibs-buffer@0.1.1}/index.js +0 -0
  660. /data/public/vendor/github/jspm/{nodelibs-process@0.1.1 → nodelibs-process@0.1.2}/index.js +0 -0
  661. /data/public/vendor/npm/{readable-stream@1.1.13 → assert@1.5.0}/LICENSE +0 -0
  662. /data/public/vendor/npm/{buffer@3.4.3 → buffer@5.7.1}/LICENSE +0 -0
  663. /data/public/vendor/npm/{core-util-is@1.0.1 → core-util-is@1.0.3}/README.md +0 -0
  664. /data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/LICENSE +0 -0
  665. /data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/index.js +0 -0
  666. /data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/README.md +0 -0
  667. /data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/float.patch +0 -0
@@ -1,463 +0,0 @@
1
- /* */
2
- jest.autoMockOff();
3
- describe('es6-classes', function() {
4
- var transformFn;
5
- var classVisitors;
6
- var arrowFunctionVisitors;
7
- var visitors;
8
- beforeEach(function() {
9
- require("mock-modules").dumpCache();
10
- transformFn = require("../../src/jstransform").transform;
11
- classVisitors = require("../es6-class-visitors").visitorList;
12
- arrowFunctionVisitors = require("../es6-arrow-function-visitors").visitorList;
13
- visitors = classVisitors.concat(arrowFunctionVisitors);
14
- });
15
- function transform(code, opts) {
16
- return transformFn(visitors, code, opts).code;
17
- }
18
- describe('ClassDeclarations', function() {
19
- describe('preserves line numbers', function() {
20
- it('does not add "use strict" unless necessary', function() {
21
- var code = ['function strictStuff() {', ' "use strict";', ' class A {', ' foo() {}', ' }', '}', 'class B {', ' bar() {', ' class C {}', ' }', '}'].join('\n');
22
- var expected = ['function strictStuff() {', ' "use strict";', ' function A(){}', ' Object.defineProperty(A.prototype,"foo",{writable:true,configurable:true,value:function() {}});', ' ', '}', 'function B(){"use strict";}', ' Object.defineProperty(B.prototype,"bar",{writable:true,configurable:true,value:function() {"use strict";', ' function C(){}', ' }});', ''].join('\n');
23
- expect(transform(code)).toBe(expected);
24
- });
25
- it('preserves lines with no inheritance', function() {
26
- var code = ['"use strict";', 'class Foo {', ' foo() {', ' ', ' ', ' }', '', ' constructor(p1,', ' p2) {', '', ' this.p1 = p1;', ' this.p2 = p2;', ' }', '', ' bar(){}', ' static baz() {', '}', '}'].join('\n');
27
- var expected = ['"use strict";', '', ' Object.defineProperty(Foo.prototype,"foo",{writable:true,configurable:true,value:function() {', ' ', ' ', ' }});', '', ' function Foo(p1,', ' p2) {', '', ' this.p1 = p1;', ' this.p2 = p2;', ' }', '', ' Object.defineProperty(Foo.prototype,"bar",{writable:true,configurable:true,value:function(){}});', ' Object.defineProperty(Foo,"baz",{writable:true,configurable:true,value:function() {', '}});', ''].join('\n');
28
- expect(transform(code)).toBe(expected);
29
- });
30
- it('preserves lines with inheritance from identifier', function() {
31
- var code = ['class Foo extends Bar {', ' foo() {', ' ', ' ', ' super(p1,', ' p2);', ' }', '', ' constructor(p1,', ' p2) {', '', ' this.p1 = p1;', ' this.p2 = p2;', ' super.blah(p1,', ' p2);', ' }', '', ' bar(){}', ' static baz() {', '}', '}'].join('\n');
32
- var expected = ['for(var Bar____Key in Bar){' + 'if(Bar.hasOwnProperty(Bar____Key)){' + 'Foo[Bar____Key]=Bar[Bar____Key];' + '}' + '}' + 'var ____SuperProtoOfBar=' + 'Bar===null' + '?null:' + 'Bar.prototype;' + 'Foo.prototype=Object.create(____SuperProtoOfBar);' + 'Foo.prototype.constructor=Foo;' + 'Foo.__superConstructor__=Bar;', ' Object.defineProperty(Foo.prototype,"foo",{writable:true,configurable:true,value:function() {"use strict";', ' ', ' ', ' ____SuperProtoOfBar.foo.call(this,p1,', ' p2);', ' }});', '', ' function Foo(p1,', ' p2) {"use strict";', '', ' this.p1 = p1;', ' this.p2 = p2;', ' ____SuperProtoOfBar.blah.call(this,p1,', ' p2);', ' }', '', ' Object.defineProperty(Foo.prototype,"bar",{writable:true,configurable:true,value:function(){"use strict";}});', ' Object.defineProperty(Foo,"baz",{writable:true,configurable:true,value:function() {"use strict";', '}});', ''].join('\n');
33
- expect(transform(code)).toBe(expected);
34
- });
35
- it('preserves lines with inheritance from expression', function() {
36
- var code = ['class Foo extends mixin(Bar, Baz) {', ' foo() {', ' ', ' ', ' }', '', ' constructor(p1,', ' p2) {', '', ' this.p1 = p1;', ' this.p2 = p2;', ' }', '', ' bar(){}', ' static baz() {', '}', '}'].join('\n');
37
- var expected = ['var ____Class0=mixin(Bar, Baz);' + 'for(var ____Class0____Key in ____Class0){' + 'if(____Class0.hasOwnProperty(____Class0____Key)){' + 'Foo[____Class0____Key]=____Class0[____Class0____Key];' + '}' + '}' + 'var ____SuperProtoOf____Class0=' + '____Class0===null' + '?null' + ':____Class0.prototype;' + 'Foo.prototype=Object.create(____SuperProtoOf____Class0);' + 'Foo.prototype.constructor=Foo;' + 'Foo.__superConstructor__=____Class0;', ' Object.defineProperty(Foo.prototype,"foo",{writable:true,configurable:true,value:function() {"use strict";', ' ', ' ', ' }});', '', ' function Foo(p1,', ' p2) {"use strict";', '', ' this.p1 = p1;', ' this.p2 = p2;', ' }', '', ' Object.defineProperty(Foo.prototype,"bar",{writable:true,configurable:true,value:function(){"use strict";}});', ' Object.defineProperty(Foo,"baz",{writable:true,configurable:true,value:function() {"use strict";', '}});', ''].join('\n');
38
- expect(transform(code)).toBe(expected);
39
- });
40
- });
41
- describe('functional tests', function() {
42
- it('handles an empty body', function() {
43
- var code = transform('class Foo {}');
44
- eval(code);
45
- var fooInst = new Foo();
46
- expect(fooInst instanceof Foo).toBe(true);
47
- });
48
- it('handles constructors without params', function() {
49
- var code = transform(['class Foo {', ' constructor() {', ' this.test = "testValue";', ' }', '}'].join('\n'));
50
- eval(code);
51
- var fooInst = new Foo();
52
- expect(fooInst.test).toBe('testValue');
53
- });
54
- it('handles constructors with params', function() {
55
- var code = transform(['class Foo {', ' constructor(p1, p2) {', ' this.p1 = p1;', ' this.p2 = p2;', ' }', '}'].join('\n'));
56
- eval(code);
57
- var fooInst = new Foo('a', 'b');
58
- expect(fooInst.p1).toBe('a');
59
- expect(fooInst.p2).toBe('b');
60
- });
61
- it('handles prototype methods without params', function() {
62
- var code = transform(['class Foo {', ' bar() {', ' return "stuff";', ' }', '}'].join('\n'));
63
- eval(code);
64
- var fooInst = new Foo();
65
- expect(fooInst.bar()).toBe('stuff');
66
- });
67
- it('handles prototype methods with params', function() {
68
- var code = transform(['class Foo {', ' bar(p1, p2) {', ' this.p1 = p1;', ' this.p2 = p2;', ' }', '}'].join('\n'));
69
- eval(code);
70
- var fooInst = new Foo();
71
- fooInst.bar('a', 'b');
72
- expect(fooInst.p1).toBe('a');
73
- expect(fooInst.p2).toBe('b');
74
- });
75
- it('handles static methods without params', function() {
76
- var code = transform(['class Foo {', ' static bar() {', ' return "stuff";', ' }', '}'].join('\n'));
77
- eval(code);
78
- expect(Foo.bar()).toBe('stuff');
79
- var fooInst = new Foo();
80
- expect(fooInst.bar).toBe(undefined);
81
- });
82
- it('handles static methods with params', function() {
83
- var code = transform(['class Foo {', ' static bar(p1, p2) {', ' return [p1, p2];', ' }', '}'].join('\n'));
84
- eval(code);
85
- expect(Foo.bar('a', 'b')).toEqual(['a', 'b']);
86
- var fooInst = new Foo();
87
- expect(fooInst.bar).toBe(undefined);
88
- });
89
- it('handles extension from an identifier', function() {
90
- var code = transform(['function Parent() {}', 'Parent.prototype.protoProp = "protoProp";', 'Parent.staticProp = "staticProp";', 'class Child extends Parent {}'].join('\n'));
91
- var exports = new Function(code + 'return {Child: Child, Parent: Parent};')();
92
- var Child = exports.Child;
93
- var Parent = exports.Parent;
94
- expect(Child.protoProp).toBe(undefined);
95
- expect(Child.staticProp).toBe('staticProp');
96
- var childInst = new Child();
97
- expect(childInst instanceof Child).toBe(true);
98
- expect(childInst instanceof Parent).toBe(true);
99
- expect(childInst.protoProp).toBe('protoProp');
100
- });
101
- it('handles extension from a left hand expression', function() {
102
- var code = transform(['function Parent1() {}', 'Parent1.prototype.protoProp = "protoProp";', 'Parent1.staticProp = "staticProp";', 'function Parent2() {}', 'class Child extends (true ? Parent1 : Parent2) {}'].join('\n'));
103
- var exports = new Function(code + 'return {Parent1: Parent1, Child: Child};')();
104
- var Child = exports.Child;
105
- var Parent1 = exports.Parent1;
106
- expect(Child.protoProp).toBe(undefined);
107
- expect(Child.staticProp).toBe('staticProp');
108
- var childInst = new Child();
109
- expect(childInst instanceof Child).toBe(true);
110
- expect(childInst instanceof Parent1).toBe(true);
111
- expect(childInst.protoProp).toBe('protoProp');
112
- expect(childInst.staticProp).toBe(undefined);
113
- });
114
- it('runs parent constructor when child constructor absent', function() {
115
- var code = transform(['class Parent {', ' constructor(p1, p2) {', ' this.p1 = p1;', ' this.p2 = p2;', ' }', '}', 'class Child extends Parent {}'].join('\n'));
116
- var Child = new Function(code + 'return Child;')();
117
- var childInst = new Child('a', 'b');
118
- expect(childInst.p1).toBe('a');
119
- expect(childInst.p2).toBe('b');
120
- });
121
- it('sets constructor property to point at constructor func', function() {
122
- var code = transform(['class Parent {}', 'class Child extends Parent {}'].join('\n'));
123
- var Child = new Function(code + 'return Child;')();
124
- var childInst = new Child();
125
- expect(childInst.constructor).toBe(Child);
126
- });
127
- it('handles super CallExpressions within constructors', function() {
128
- var code = transform(['class Parent {', ' constructor(p1, p2) {', ' this.p1 = p1;', ' this.p2 = p2;', ' }', '}', 'class Child extends Parent {', ' constructor() {', ' super("a", "b");', ' this.childRan = true;', ' }', '}'].join('\n'));
129
- var Child = new Function(code + 'return Child;')();
130
- var childInst = new Child();
131
- expect(childInst.p1).toBe('a');
132
- expect(childInst.p2).toBe('b');
133
- expect(childInst.childRan).toBe(true);
134
- });
135
- it('handles super CallExpressions within proto methods', function() {
136
- var code = transform(['class Parent {', ' bar(p1, p2) {', ' this.p1 = p1;', ' this.p2 = p2;', ' }', ' "baz qux"(p3) {', ' this.p3 = p3;', ' }', '}', 'class Child extends Parent {', ' bar() {', ' super("a", "b");', ' this.barRan = true;', ' }', ' "baz qux"() {', ' super("c");', ' this["baz qux run"] = true;', ' }', '}'].join('\n'));
137
- var Child = new Function(code + 'return Child;')();
138
- var childInst = new Child();
139
- expect(childInst.p1).toBe(undefined);
140
- expect(childInst.p2).toBe(undefined);
141
- expect(childInst.barRan).toBe(undefined);
142
- childInst.bar();
143
- expect(childInst.p1).toBe('a');
144
- expect(childInst.p2).toBe('b');
145
- expect(childInst.barRan).toBe(true);
146
- expect(childInst.p3).toBe(undefined);
147
- expect(childInst['baz qux run']).toBe(undefined);
148
- childInst['baz qux']();
149
- expect(childInst.p3).toBe('c');
150
- expect(childInst['baz qux run']).toBe(true);
151
- });
152
- it('handles computed super MemberExpressions', function() {
153
- var code = transform(['class Parent {', ' constructor() {', ' this.counter = 0;', ' }', ' incrementCounter(amount) {', ' this.counter += amount;', ' }', '}', 'class Child extends Parent {', ' childIncrement() {', ' super["increment" + "Counter"](2);', ' }', '}'].join('\n'));
154
- var Child = new Function(code + 'return Child;')();
155
- var childInst = new Child();
156
- expect(childInst.counter).toBe(0);
157
- childInst.childIncrement();
158
- expect(childInst.counter).toBe(2);
159
- });
160
- it('handles simple super MemberExpression access', function() {
161
- var code = transform(['class Parent {', ' getFoo(p) {', ' return "foo" + p;', ' }', '}', 'class Child extends Parent {', ' getChildFoo() {', ' var x = super.getFoo;', ' return x("bar");', ' }', '}'].join('\n'));
162
- var Child = new Function(code + 'return Child;')();
163
- var childInst = new Child();
164
- expect(childInst.getChildFoo()).toBe('foobar');
165
- });
166
- it('handles CallExpression on a super MemberExpression', function() {
167
- var code = transform(['class Parent {', ' getFoo(p) {', ' this.fooValue = "foo";', ' return this.fooValue + p;', ' }', '}', 'class Child extends Parent {', ' getChildFoo() {', ' return super.getFoo.call(this, "bar");', ' }', '}'].join('\n'));
168
- var Child = new Function(code + 'return Child;')();
169
- var childInst = new Child();
170
- expect(childInst.getChildFoo()).toBe('foobar');
171
- expect(childInst.fooValue).toBe('foo');
172
- });
173
- it('handles super MemberExpressions within constructors', function() {
174
- var code = transform(['class Parent {', ' setParams(p1, p2) {', ' this.p1 = p1;', ' this.p2 = p2;', ' }', '}', 'class Child extends Parent {', ' constructor() {', ' super.setParams("a", "b");', ' }', '}'].join('\n'));
175
- var Child = new Function(code + 'return Child;')();
176
- var childInst = new Child();
177
- expect(childInst.p1).toBe('a');
178
- expect(childInst.p2).toBe('b');
179
- });
180
- it('handles super MemberExpressions within proto methods', function() {
181
- var code = transform(['class Parent {', ' setParams(p1, p2) {', ' this.p1 = p1;', ' this.p2 = p2;', ' }', '}', 'class Child extends Parent {', ' bar() {', ' super.setParams("a", "b");', ' this.barRan = true;', ' }', '}'].join('\n'));
182
- var Child = new Function(code + 'return Child;')();
183
- var childInst = new Child();
184
- expect(childInst.p1).toBe(undefined);
185
- expect(childInst.p2).toBe(undefined);
186
- expect(childInst.barRan).toBe(undefined);
187
- childInst.bar();
188
- expect(childInst.p1).toBe('a');
189
- expect(childInst.p2).toBe('b');
190
- expect(childInst.barRan).toBe(true);
191
- });
192
- it('consistently munges private property identifiers', function() {
193
- var code = transform(['class Foo {', ' constructor(p1) {', ' this._p1 = p1;', ' }', ' getP1() {', ' return this._p1;', ' }', '}'].join('\n'));
194
- eval(code);
195
- var fooInst = new Foo('a');
196
- expect(fooInst._p1).toBe(undefined);
197
- expect(fooInst.getP1()).toBe('a');
198
- });
199
- it('stores munged private properties on the instance', function() {
200
- var code = transform(['class Foo {', ' constructor(p1) {', ' this._p1 = p1;', ' }', ' getP1() {', ' return this._p1;', ' }', '}'].join('\n'));
201
- eval(code);
202
- var fooInst1 = new Foo('a');
203
- var fooInst2 = new Foo('b');
204
- expect(fooInst1.getP1()).toBe('a');
205
- expect(fooInst2.getP1()).toBe('b');
206
- });
207
- it('consistently munges nested private property identifiers', function() {
208
- var code = transform(['class Foo {', ' constructor(p1) {', ' this._data = {_p1: null};', ' this._data._p1 = p1;', ' }', ' getData() {', ' return this._data;', ' }', ' getP1() {', ' return this._data._p1;', ' }', '}'].join('\n'));
209
- eval(code);
210
- var fooInst = new Foo('a');
211
- expect(fooInst.getData()._p1).toBe(undefined);
212
- expect(fooInst.getP1()).toBe('a');
213
- });
214
- it('consistently munges private method identifiers', function() {
215
- var code = transform(['class Foo {', ' getBar() {', ' return this._getBar();', ' }', ' _getBar() {', ' return 42;', ' }', '}'].join('\n'));
216
- eval(code);
217
- var fooInst = new Foo();
218
- expect(fooInst._getBar).toBe(undefined);
219
- expect(fooInst.getBar()).toBe(42);
220
- });
221
- it('consistently munges private method params', function() {
222
- var code = transform(['class Foo {', ' bar(_counter, _function) {', ' this.counter = _counter;', ' _function();', ' }', '}'].join('\n'));
223
- eval(code);
224
- var fooInst = new Foo();
225
- var callbackCalled = false;
226
- fooInst.bar(42, function() {
227
- callbackCalled = true;
228
- });
229
- expect(fooInst.counter).toBe(42);
230
- expect(callbackCalled).toBe(true);
231
- });
232
- it('consistently munges private idents in super call params', function() {
233
- var code = transform(['class Parent {', ' constructor(foo) {', ' this.foo = foo;', ' }', ' setBar(bar) {', ' this.bar = bar;', ' }', '}', 'class Child extends Parent {', ' constructor(_foo, _bar) {', ' super(_foo);', ' super.setBar(_bar);', ' }', '}'].join('\n'));
234
- var Child = new Function(code + 'return Child;')();
235
- var childInst = new Child('foo', 'bar');
236
- expect(childInst.foo).toBe('foo');
237
- expect(childInst.bar).toBe('bar');
238
- });
239
- it('consistently munges private idents in nested funcs', function() {
240
- var code = transform(['class Foo {', ' bar(_p1, p2) {', ' return function(_a) {', ' return [_p1, p2, _a];', ' };', ' }', '}'].join('\n'));
241
- eval(code);
242
- var fooInst = new Foo();
243
- expect(fooInst.bar('a', 'b')('c')).toEqual(['a', 'b', 'c']);
244
- });
245
- it('consistently munges private idents in nested arrow funcs', function() {
246
- var code = transform(['class Foo {', ' bar(_p1, p2) {', ' return (_a, b) => {', ' return [_p1, p2, _a, b];', ' };', ' }', '}'].join('\n'));
247
- eval(code);
248
- var fooInst = new Foo();
249
- expect(fooInst.bar('a', 'b')('c', 'd')).toEqual(['a', 'b', 'c', 'd']);
250
- });
251
- it('does not munge dunder-scored properties', function() {
252
- var code = transform(['class Foo {', ' constructor(p1) {', ' this.__p1 = p1;', ' }', '}'].join('\n'));
253
- eval(code);
254
- var fooInst = new Foo('a');
255
- expect(fooInst.__p1).toBe('a');
256
- });
257
- it('does not munge dunder-scored methods', function() {
258
- var code = transform(['class Foo {', ' __getBar() {', ' return 42;', ' }', '}'].join('\n'));
259
- eval(code);
260
- var fooInst = new Foo();
261
- expect(fooInst.__getBar()).toBe(42);
262
- });
263
- it('properly handles private vars declared in outer scope', function() {
264
- var code = transform(['var _bar = "outer";', 'class Foo {', ' getOuterBar() {', ' return _bar;', ' }', '}'].join('\n'));
265
- var Foo = new Function(code + 'return Foo;')();
266
- var fooInst = new Foo();
267
- expect(fooInst.getOuterBar()).toBe('outer');
268
- });
269
- it('does not munge outer-declared private vars when used to calculate ' + 'a computed member expression', function() {
270
- var code = transform(['var _privateObjKey = "pvt";', 'var outerDataStore = {pvt: 42};', 'class Foo {', ' getStuff() {', ' return outerDataStore[_privateObjKey];', ' }', '}'].join('\n'));
271
- var Foo = new Function(code + 'return Foo;')();
272
- var fooInst = new Foo();
273
- expect(fooInst.getStuff()).toBe(42);
274
- });
275
- it('properly handles private vars declared in inner scope', function() {
276
- var code = transform(['var _bar = {_private: 42};', 'class Foo {', ' getBarPrivate(p1) {', ' var _bar = {_private: p1};', ' return _bar._private;', ' }', '}'].join('\n'));
277
- eval(code);
278
- var fooInst = new Foo();
279
- expect(fooInst.getBarPrivate('a')).toBe('a');
280
- });
281
- it('munges properties of private vars declared out of scope', function() {
282
- var code = transform(['var _bar = {_private: 42}', 'class Foo {', ' getOuterPrivate() {', ' return _bar._private;', ' }', '}'].join('\n'));
283
- var exports = new Function(code + 'return {_bar: _bar, Foo: Foo};')();
284
- var _bar = exports._bar;
285
- var Foo = exports.Foo;
286
- var fooInst = new Foo();
287
- expect(_bar._private).toBe(42);
288
- expect(fooInst.getOuterPrivate()).toBe(undefined);
289
- });
290
- it('does not munge when @preventMunge is specified', function() {
291
- var code = transform(['/**', ' * @preventMunge', ' */', 'class Foo {', ' constructor(p1) {', ' this._p1 = p1;', ' }', ' _privateMethod() {', ' }', '}'].join('\n'));
292
- eval(code);
293
- var fooInst = new Foo('a');
294
- expect(fooInst._p1).toBe('a');
295
- expect(fooInst._privateMethod).not.toBe(undefined);
296
- });
297
- it('minifies private properties when minify opt is set', function() {
298
- var code = transform(['class Foo {', ' constructor(p1) {', ' this._p1 = p1;', ' }', '}'].join('\n'), {minify: true});
299
- eval(code);
300
- var fooInst = new Foo('a');
301
- expect(fooInst.$Foo0).toBe('a');
302
- });
303
- it('minifies private methods when minify opt is set', function() {
304
- var code = transform(['class Foo {', ' _bar() {', ' return 42;', ' }', '}'].join('\n'), {minify: true});
305
- eval(code);
306
- var fooInst = new Foo();
307
- expect(fooInst.$Foo0()).toBe(42);
308
- });
309
- it('munges child class different from parent in same file', function() {
310
- var code = transform(['class Parent {', ' setParentFoo(foo) {', ' this._foo = foo;', ' }', ' getParentFoo() {', ' return this._foo;', ' }', '}', 'class Child extends Parent {', ' setChildFoo(foo) {', ' this._foo = foo;', ' }', ' getChildFoo() {', ' return this._foo;', ' }', '}'].join('\n'));
311
- var Child = new Function(code + 'return Child;')();
312
- var childInst = new Child();
313
- childInst.setParentFoo('parent');
314
- childInst.setChildFoo('child');
315
- expect(childInst.getParentFoo()).toBe('parent');
316
- expect(childInst.getChildFoo()).toBe('child');
317
- });
318
- it('munges child class different from parent in other file', function() {
319
- var code1 = transform(['class Parent {', ' setParentFoo(foo) {', ' this._foo = foo;', ' }', ' getParentFoo() {', ' return this._foo;', ' }', '}'].join('\n'));
320
- var code2 = transform(['class Child extends Parent {', ' setChildFoo(foo) {', ' this._foo = foo;', ' }', ' getChildFoo() {', ' return this._foo;', ' }', '}'].join('\n'));
321
- var exports = new Function(code1 + code2 + 'return {Parent: Parent, Child: Child};')();
322
- var Child = exports.Child;
323
- var childInst = new Child();
324
- childInst.setParentFoo('parent');
325
- childInst.setChildFoo('child');
326
- expect(childInst.getParentFoo()).toBe('parent');
327
- expect(childInst.getChildFoo()).toBe('child');
328
- });
329
- it('makes class methods implicitly "use strict"', function() {
330
- var code = transform(['class Foo {', ' constructor() {', ' this.constructorIsStrict = ' + '(function() {return this === undefined;})();', ' }', ' protoFn() {', ' return (function() {return this === undefined;})();', ' }', ' static staticFn() {', ' return (function() {return this === undefined;})();', ' }', '}'].join('\n'));
331
- eval(code);
332
- var fooInst = new Foo();
333
- expect(fooInst.constructorIsStrict).toBe(true);
334
- expect(fooInst.protoFn()).toBe(true);
335
- expect(Foo.staticFn()).toBe(true);
336
- });
337
- it('preserves generators', function() {
338
- var code = transform(['class Foo {', ' static *title() {', ' yield 21;', ' }', '', ' *gen() {', ' yield 42;', ' }', '}'].join('\n'));
339
- expect(code).toMatch(/function\*\(/);
340
- expect(code).toMatch(/function\*\(/);
341
- });
342
- it('properly handles methods in ES3 compat mode', function() {
343
- var code = transform(['class Foo {', ' title() {', ' return 42;', ' }', '}'].join('\n'), {es3: true});
344
- eval(code);
345
- var fooInst = new Foo();
346
- var descriptor = Object.getOwnPropertyDescriptor(Foo.prototype, 'title');
347
- expect(fooInst.title()).toBe(42);
348
- expect(descriptor.enumerable).toBe(true);
349
- expect(descriptor.configurable).toBe(true);
350
- });
351
- it('properly handles static methods in ES3 compat mode', function() {
352
- var code = transform(['class Foo {', ' static title() {', ' return 42;', ' }', '}'].join('\n'), {es3: true});
353
- eval(code);
354
- var descriptor = Object.getOwnPropertyDescriptor(Foo, 'title');
355
- expect(Foo.title()).toBe(42);
356
- expect(descriptor.enumerable).toBe(true);
357
- expect(descriptor.configurable).toBe(true);
358
- });
359
- it('properly handles getter methods in ES5 compat mode', function() {
360
- var code = transform(['class Foo {', ' get title() {', ' return 42;', ' }', ' get "foo bar"() {', ' return 21;', ' }', '}'].join('\n'), {es5: true});
361
- eval(code);
362
- var fooInst = new Foo();
363
- var descriptor = Object.getOwnPropertyDescriptor(Foo.prototype, 'title');
364
- expect(fooInst.title).toBe(42);
365
- expect(descriptor.enumerable).toBe(false);
366
- expect(descriptor.configurable).toBe(true);
367
- expect(fooInst['foo bar']).toBe(21);
368
- });
369
- it('properly handles setter methods in ES5 compat mode', function() {
370
- var code = transform(['class Foo {', ' set title(value) {', ' this.__title = 42;', ' }', ' set "foo bar"(value) {', ' this.__fooBar = 21;', ' }', '}'].join('\n'), {es5: true});
371
- eval(code);
372
- var fooInst = new Foo();
373
- fooInst.title = 42;
374
- fooInst['foo bar'] = 21;
375
- var descriptor = Object.getOwnPropertyDescriptor(Foo.prototype, 'title');
376
- expect(fooInst.__title).toBe(42);
377
- expect(descriptor.enumerable).toBe(false);
378
- expect(descriptor.configurable).toBe(true);
379
- expect(fooInst.__fooBar).toBe(21);
380
- });
381
- it('properly handles getters and setters in ES5 compat mode', function() {
382
- var code = transform(['class Foo {', ' get title() {', ' return this.__title;', ' }', '', ' set title(value) {', ' this.__title = value;', ' }', '}'].join('\n'), {es5: true});
383
- eval(code);
384
- var fooInst = new Foo();
385
- var descriptor = Object.getOwnPropertyDescriptor(Foo.prototype, 'title');
386
- fooInst.title = 42;
387
- expect(fooInst.__title).toBe(42);
388
- expect(fooInst.title).toBe(42);
389
- expect(descriptor.enumerable).toBe(false);
390
- expect(descriptor.configurable).toBe(true);
391
- });
392
- it('properly handles static and non-static getters and setters ' + 'with the same name in ES5 compat mode', function() {
393
- var code = transform(['class Foo {', ' static get title() {', ' return this._title;', ' }', '', ' static set title(value) {', ' this._title = value;', ' }', '', ' get title() {', ' return this.__title;', ' }', '', ' set title(value) {', ' this.__title = value;', ' }', '}'].join('\n'), {es5: true});
394
- eval(code);
395
- var fooInst = new Foo();
396
- Foo.title = 21;
397
- fooInst.title = 42;
398
- expect(Foo.title).toBe(21);
399
- expect(fooInst.title).toBe(42);
400
- });
401
- it('properly handles private getters and setters in ES5 compat mode', function() {
402
- var code = transform(['class Foo {', ' get title() {', ' return this._private;', ' }', '', ' set title(value) {', ' this._private = value;', ' }', '', ' get _private() {', ' return this.__superPrivate;', ' }', '', ' set _private(value) {', ' this.__superPrivate = value;', ' }', '}'].join('\n'), {es5: true});
403
- eval(code);
404
- var fooInst = new Foo();
405
- fooInst.title = 42;
406
- expect(fooInst.__superPrivate).toBe(42);
407
- });
408
- it('throws upon encountering getter methods', function() {
409
- expect(function() {
410
- transform(['class Foo {', ' get title() {', ' return 42;', ' }', '}'].join('\n'));
411
- }).toThrow('This transform does not support getter methods for ES6 classes. ' + '(line: 2, col: 2)');
412
- });
413
- it('throws upon encountering setter methods', function() {
414
- expect(function() {
415
- transform(['class Foo {', ' set title(value) {', ' this._title = value;', ' }', '}'].join('\n'));
416
- }).toThrow('This transform does not support setter methods for ES6 classes. ' + '(line: 2, col: 2)');
417
- });
418
- });
419
- });
420
- describe('ClassExpressions', function() {
421
- describe('preserves line numbers', function() {
422
- it('preserves lines with no inheritance', function() {
423
- var code = ['var Foo = class {', ' foo() {', ' ', ' ', ' }', '', ' constructor(p1,', ' p2) {', '', ' this.p1 = p1;', ' this.p2 = p2;', ' }', '', ' bar(){}', ' static baz() {', '}', '}'].join('\n');
424
- var expected = ['var Foo = (function(){', ' Object.defineProperty(____Class0.prototype,"foo",{writable:true,configurable:true,value:function() {"use strict";', ' ', ' ', ' }});', '', ' function ____Class0(p1,', ' p2) {"use strict";', '', ' this.p1 = p1;', ' this.p2 = p2;', ' }', '', ' Object.defineProperty(____Class0.prototype,"bar",{writable:true,configurable:true,value:function(){"use strict";}});', ' Object.defineProperty(____Class0,"baz",{writable:true,configurable:true,value:function() {"use strict";', '}});', 'return ____Class0;})()'].join('\n');
425
- expect(transform(code)).toBe(expected);
426
- });
427
- it('preserves lines with inheritance from identifier', function() {
428
- var code = ['var Foo = class extends Bar {', ' foo() {', ' ', ' ', ' super(p1,', ' p2);', ' }', '', ' constructor(p1,', ' p2) {', '', ' this.p1 = p1;', ' this.p2 = p2;', ' super.blah(p1,', ' p2);', ' }', '', ' bar(){}', ' static baz() {', '}', '}'].join('\n');
429
- var expected = ['var Foo = (function(){' + 'for(var Bar____Key in Bar){' + 'if(Bar.hasOwnProperty(Bar____Key)){' + '____Class0[Bar____Key]=Bar[Bar____Key];' + '}' + '}' + 'var ____SuperProtoOfBar=' + 'Bar===null' + '?null' + ':Bar.prototype;' + '____Class0.prototype=Object.create(____SuperProtoOfBar);' + '____Class0.prototype.constructor=____Class0;' + '____Class0.__superConstructor__=Bar;', ' Object.defineProperty(____Class0.prototype,"foo",{writable:true,configurable:true,value:function() {"use strict";', ' ', ' ', ' ____SuperProtoOfBar.foo.call(this,p1,', ' p2);', ' }});', '', ' function ____Class0(p1,', ' p2) {"use strict";', '', ' this.p1 = p1;', ' this.p2 = p2;', ' ____SuperProtoOfBar.blah.call(this,p1,', ' p2);', ' }', '', ' Object.defineProperty(____Class0.prototype,"bar",{writable:true,configurable:true,value:function(){"use strict";}});', ' Object.defineProperty(____Class0,"baz",{writable:true,configurable:true,value:function() {"use strict";', '}});', 'return ____Class0;})()'].join('\n');
430
- expect(transform(code)).toBe(expected);
431
- });
432
- it('preserves lines with inheritance from expression', function() {
433
- var code = ['var Foo = class extends mixin(Bar, Baz) {', ' foo() {', ' ', ' ', ' }', '', ' constructor(p1,', ' p2) {', '', ' this.p1 = p1;', ' this.p2 = p2;', ' }', '', ' bar(){}', ' static baz() {', '}', '}'].join('\n');
434
- var expected = ['var Foo = (function(){' + 'var ____Class1=mixin(Bar, Baz);' + 'for(var ____Class1____Key in ____Class1){' + 'if(____Class1.hasOwnProperty(____Class1____Key)){' + '____Class0[____Class1____Key]=____Class1[____Class1____Key];' + '}' + '}' + 'var ____SuperProtoOf____Class1=' + '____Class1===null' + '?null' + ':____Class1.prototype;' + '____Class0.prototype=Object.create(____SuperProtoOf____Class1);' + '____Class0.prototype.constructor=____Class0;' + '____Class0.__superConstructor__=____Class1;', ' Object.defineProperty(____Class0.prototype,"foo",{writable:true,configurable:true,value:function() {"use strict";', ' ', ' ', ' }});', '', ' function ____Class0(p1,', ' p2) {"use strict";', '', ' this.p1 = p1;', ' this.p2 = p2;', ' }', '', ' Object.defineProperty(____Class0.prototype,"bar",{writable:true,configurable:true,value:function(){"use strict";}});', ' Object.defineProperty(____Class0,"baz",{writable:true,configurable:true,value:function() {"use strict";', '}});', 'return ____Class0;})()'].join('\n');
435
- expect(transform(code)).toBe(expected);
436
- });
437
- });
438
- describe('functional tests', function() {
439
- it('scopes each anonymous class separately', function() {
440
- var code = transform(['var Foo = class {', ' constructor() {', ' this._name = "foo";', ' var properties = [];', ' for (var key in this) {', ' properties.push(key);', ' }', ' this.properties = properties', ' }', '};', 'var Bar = class {', ' constructor() {', ' this._name = "bar";', ' var properties = [];', ' for (var key in this) {', ' properties.push(key);', ' }', ' this.properties = properties', ' }', '}'].join('\n'));
441
- eval(code);
442
- var fooInst = new Foo();
443
- var barInst = new Bar();
444
- expect(fooInst.properties).not.toEqual(barInst.properties);
445
- expect(fooInst[fooInst.properties[0]]).toBe('foo');
446
- expect(barInst[barInst.properties[0]]).toBe('bar');
447
- });
448
- });
449
- });
450
- describe('handles reserved words', function() {
451
- it('handles reserved words', function() {
452
- expect(transform(['class Foo {', ' delete(x, y) {', ' bar();', ' }', '}'].join('\n'))).toBe(['function Foo(){"use strict";}', ' Object.defineProperty(Foo.prototype,"delete",{writable:true,configurable:true,value:function(x, y) {"use strict";', ' bar();', ' }});', ''].join('\n'));
453
- });
454
- });
455
- describe('preserves non-class syntax/style', function() {
456
- it('preserve newlines', function() {
457
- expect(transform(['class Foo {', ' A', ' (', ' x, y) {', ' bar();', ' }', '}'].join('\n'))).toBe(['function Foo(){"use strict";}', ' Object.defineProperty(Foo.prototype,"A",{writable:true,configurable:true,value:function(', '', 'x, y) {"use strict";', ' bar();', ' }});', ''].join('\n'));
458
- });
459
- it('preserves comments between method params and open-bracket', function() {
460
- expect(transform(['class Foo {', ' testMethod() /* comment */ {}', '}'].join('\n'))).toBe(['function Foo(){"use strict";}', ' Object.defineProperty(Foo.prototype,"testMethod",{writable:true,configurable:true,value:function() /* comment */ {"use strict";}});', ''].join('\n'));
461
- });
462
- });
463
- });
@@ -1,144 +0,0 @@
1
- /* */
2
- require("mock-modules").autoMockOff();
3
- describe('es6-destructuring-visitors', function() {
4
- var transformFn;
5
- var destructuringVisitors;
6
- var conciseMethodVisitors;
7
- var shortObjectsVisitors;
8
- var reservedWordsVisitors;
9
- var restParamVisitors;
10
- var classVisitorsVisitors;
11
- var arrowFunctionVisitors;
12
- var visitors;
13
- beforeEach(function() {
14
- require("mock-modules").dumpCache();
15
- transformFn = require("../../src/jstransform").transform;
16
- destructuringVisitors = require("../es6-destructuring-visitors").visitorList;
17
- conciseMethodVisitors = require("../es6-object-concise-method-visitors").visitorList;
18
- shortObjectsVisitors = require("../es6-object-short-notation-visitors").visitorList;
19
- reservedWordsVisitors = require("../reserved-words-visitors").visitorList;
20
- restParamVisitors = require("../es6-rest-param-visitors").visitorList;
21
- classVisitorsVisitors = require("../es6-class-visitors").visitorList;
22
- arrowFunctionVisitors = require("../es6-arrow-function-visitors").visitorList;
23
- visitors = destructuringVisitors.concat(conciseMethodVisitors, shortObjectsVisitors, restParamVisitors, classVisitorsVisitors, arrowFunctionVisitors, reservedWordsVisitors);
24
- });
25
- function transform(code) {
26
- return transformFn(visitors, code).code;
27
- }
28
- function expectTransform(code, result) {
29
- expect(transform(code)).toEqual(result);
30
- }
31
- it('should handle simple object pattern', function() {
32
- var code = transform(['var {x, y} = {x: 10, y: 20};', '(x + y);'].join('\n'));
33
- expect(eval(code)).toEqual(30);
34
- });
35
- it('should handle literal property names', function() {
36
- var code = transform(['var {x, "y y": yy, 0: z} = {x: 10, "y y": 20, 0: 30};', '([x, yy, z]);'].join('\n'));
37
- expect(eval(code)).toEqual([10, 20, 30]);
38
- });
39
- it('should handle array pattern assignment expression', function() {
40
- var code = transform(['var x = 10, y = 20;', '[x, y] = [y, x];', '([x, y]);'].join('\n'));
41
- expect(eval(code)).toEqual([20, 10]);
42
- });
43
- it('should should not redeclare vars with assignment expression', function() {
44
- var code = transform(['var x = 10, y = 20;', '(function() {', ' [x, y] = [y, x];', '})();', '([x, y]);'].join('\n'));
45
- expect(eval(code)).toEqual([20, 10]);
46
- });
47
- it('should handle object pattern assignment expression', function() {
48
- var code = transform(['var x = 10, y = 20;', '({x, y} = {y, x});', '({x, y});'].join('\n'));
49
- expect(eval(code)).toEqual({
50
- x: 10,
51
- y: 20
52
- });
53
- });
54
- it('should destructure result of a function', function() {
55
- var code = transform(['var [x, y] = (function({x, y}) { return [x, y]; })({x: 1, y: 2});', '([x, y]);'].join('\n'));
56
- expect(eval(code)).toEqual([1, 2]);
57
- });
58
- it('should handle skipped array elements', function() {
59
- var code = transform(['var [x, , y] = [1, 2, 3];', '([x, y]);'].join('\n'));
60
- expect(eval(code)).toEqual([1, 3]);
61
- });
62
- it('should handle rest elements of an array', function() {
63
- var code = transform(['var [x, ...xs] = [1, 2, 3];'].join('\n'));
64
- eval(code);
65
- expect(x).toEqual(1);
66
- expect(xs).toEqual([2, 3]);
67
- });
68
- it('should swap two variables w/o third using pattern', function() {
69
- var code = transform(['var x = 10, y = 20;', 'var [x, y] = [y, x];', '([x, y]);'].join('\n'));
70
- expect(eval(code)).toEqual([20, 10]);
71
- });
72
- it('should transform complex pattern argument', function() {
73
- var code = transform(['function init(user, {ip, coords: [x, y], port}) {', ' return [user, ip, x, y, port].join(", ");', '}'].join('\n'));
74
- eval(code);
75
- expect(init('John Doe', {
76
- ip: '127.0.0.1',
77
- coords: [1, 2],
78
- port: 8080
79
- })).toBe('John Doe, 127.0.0.1, 1, 2, 8080');
80
- });
81
- it('should work with rest params', function() {
82
- var code = transform(['function foo({bar, baz}, ...rest) {', ' return {bar, baz, qux: rest[0]};', '}'].join('\n'));
83
- eval(code);
84
- expect(foo({
85
- bar: 10,
86
- baz: 20
87
- }, 30)).toEqual({
88
- bar: 10,
89
- baz: 20,
90
- qux: 30
91
- });
92
- });
93
- it('should work with class methods', function() {
94
- var code = transform(['class Point {', ' constructor({x, y}) {', ' this._x = x;', ' this._y = y;', ' }', '', ' getData([deltaX, deltaY]) {', ' return this._x + deltaX + this._y + deltaY', ' }', '}'].join('\n'));
95
- eval(code);
96
- var x = 10,
97
- y = 20;
98
- var foo = new Point({
99
- x: x,
100
- y: y
101
- });
102
- var data = foo.getData([30, 40]);
103
- expect(data).toBe(100);
104
- });
105
- it('should work with object concise methods', function() {
106
- var code = transform(['var foo = {', ' bar({x, y}) {', ' return {x, y};', ' }', '}'].join('\n'));
107
- eval(code);
108
- expect(foo.bar({
109
- x: 10,
110
- y: 20
111
- })).toEqual({
112
- x: 10,
113
- y: 20
114
- });
115
- });
116
- it('should work with arrows', function() {
117
- var code = transform(['var foo = ({x, y}, z) => x + y + z;'].join('\n'));
118
- eval(code);
119
- expect(foo({
120
- x: 10,
121
- y: 20
122
- }, 30)).toEqual(60);
123
- });
124
- it('should allocate correct temp index', function() {
125
- var code = transform(['function foo(x, {y}, {z}) {', ' var {q} = {q: 30};', ' return [$__0, $__1, $__2];', '}'].join('\n'));
126
- eval(code);
127
- expect(foo(1, {y: 10}, {z: 20})).toEqual([{y: 10}, {z: 20}, {q: 30}]);
128
- });
129
- it('should allocate correct temp nested index', function() {
130
- var code = transform(['var foo = function(x, {y}, {z}) {', ' var {q, m: {v}} = {q: 30, m: {v: 40}};', ' var {a} = (function({a}) { return $__0; })({a: 50});', ' return [$__0, $__1, $__2, $__3, a];', '}'].join('\n'));
131
- eval(code);
132
- expect(foo(1, {y: 10}, {z: 20})).toEqual([{y: 10}, {z: 20}, {
133
- q: 30,
134
- m: {v: 40}
135
- }, {v: 40}, 50]);
136
- });
137
- it('should correctly transform structured patterns', function() {
138
- expectTransform('var a, {x, data: [y, , z]} = {x: 10, data: [1, 2, 3]};', 'var a, $__0= {x: 10, data: [1, 2, 3]},x=$__0.x,$__1=$__0.data,y=$__1[0],z=$__1[2];');
139
- expectTransform('function f(a, {x, data: [y, z]}, b) {}', 'function f(a, $__0 , b) {var x=$__0.x,$__1=$__0.data,y=$__1[0],z=$__1[1];}');
140
- });
141
- it('should handle reserved words', function() {
142
- expectTransform('var {delete: x} = {delete: 1};', 'var $__0= {"delete": 1},x=$__0["delete"];');
143
- });
144
- });