sequenceserver 2.0.0 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sequenceserver might be problematic. Click here for more details.

Files changed (675) hide show
  1. checksums.yaml +4 -4
  2. data/bin/sequenceserver +7 -2
  3. data/lib/sequenceserver/api_errors.rb +24 -2
  4. data/lib/sequenceserver/blast/formatter.rb +13 -4
  5. data/lib/sequenceserver/blast/job.rb +41 -7
  6. data/lib/sequenceserver/blast/report.rb +69 -33
  7. data/lib/sequenceserver/config.rb +52 -27
  8. data/lib/sequenceserver/job.rb +13 -3
  9. data/lib/sequenceserver/job_remover.rb +25 -29
  10. data/lib/sequenceserver/makeblastdb.rb +80 -72
  11. data/lib/sequenceserver/pool.rb +1 -1
  12. data/lib/sequenceserver/refinements.rb +15 -0
  13. data/lib/sequenceserver/report.rb +1 -5
  14. data/lib/sequenceserver/routes.rb +92 -9
  15. data/lib/sequenceserver/sequence.rb +8 -7
  16. data/lib/sequenceserver/sys.rb +3 -3
  17. data/lib/sequenceserver/version.rb +1 -1
  18. data/lib/sequenceserver/zip_file_generator.rb +56 -0
  19. data/lib/sequenceserver.rb +9 -2
  20. data/public/config.js +149 -143
  21. data/public/css/sequenceserver.css +44 -3
  22. data/public/css/sequenceserver.min.css +3 -3
  23. data/public/js/alignment_exporter.js +16 -8
  24. data/public/js/circos.js +370 -234
  25. data/public/js/cloud_share_modal.js +216 -0
  26. data/public/js/databases.js +144 -0
  27. data/public/js/databases_tree.js +42 -113
  28. data/public/js/dnd.js +164 -0
  29. data/public/js/error_modal.js +4 -11
  30. data/public/js/exporter.js +7 -3
  31. data/public/js/form.js +260 -0
  32. data/public/js/grapher.js +113 -106
  33. data/public/js/hit.js +80 -67
  34. data/public/js/hits_overview.js +2 -2
  35. data/public/js/hsp.js +343 -288
  36. data/public/js/jquery_world.js +4 -4
  37. data/public/js/mailto.js +36 -0
  38. data/public/js/options.js +84 -0
  39. data/public/js/query.js +319 -59
  40. data/public/js/report.js +369 -269
  41. data/public/js/report_root.js +75 -0
  42. data/public/js/search.js +28 -1011
  43. data/public/js/search_button.js +195 -0
  44. data/public/js/sequence.js +2409 -2411
  45. data/public/js/sequence_modal.js +152 -159
  46. data/public/js/share_url.js +23 -0
  47. data/public/js/sidebar.js +262 -83
  48. data/public/js/tests/advanced_parameters.spec.js +36 -0
  49. data/public/js/tests/database.spec.js +60 -0
  50. data/public/js/tests/mock_data/databases.json +91 -0
  51. data/public/js/tests/mock_data/long_response.json +269 -0
  52. data/public/js/tests/mock_data/sequences.js +32 -0
  53. data/public/js/tests/mock_data/short_response.json +2240 -0
  54. data/public/js/tests/report.spec.js +155 -0
  55. data/public/js/tests/search_button.spec.js +14 -0
  56. data/public/js/tests/search_query.spec.js +58 -0
  57. data/public/js/visualisation_helpers.js +1 -1
  58. data/public/packages/circosJS@1.7.0.js +1640 -0
  59. data/public/packages/jquery-ui@1.11.4.js +16624 -0
  60. data/public/sequenceserver-report.min.js +2425 -19
  61. data/public/sequenceserver-search.min.js +2337 -15
  62. data/public/vendor/github/jspm/nodelibs-assert@0.1.0/index.js +2 -0
  63. data/public/vendor/github/jspm/{nodelibs-buffer@0.1.0 → nodelibs-assert@0.1.0}/package.json +1 -1
  64. data/public/vendor/github/jspm/nodelibs-assert@0.1.0.js +1 -0
  65. data/public/vendor/github/jspm/nodelibs-buffer@0.1.1/package.json +6 -0
  66. data/public/vendor/github/jspm/nodelibs-buffer@0.1.1.js +1 -0
  67. data/public/vendor/github/jspm/{nodelibs-process@0.1.1 → nodelibs-process@0.1.2}/package.json +2 -2
  68. data/public/vendor/github/jspm/nodelibs-process@0.1.2.js +1 -0
  69. data/public/vendor/github/jspm/nodelibs-vm@0.1.0/index.js +2 -0
  70. data/public/vendor/github/jspm/nodelibs-vm@0.1.0/package.json +6 -0
  71. data/public/vendor/github/jspm/nodelibs-vm@0.1.0.js +1 -0
  72. data/public/vendor/npm/assert@1.5.0/CHANGELOG.md +8 -0
  73. data/public/vendor/npm/assert@1.5.0/README.md +105 -0
  74. data/public/vendor/npm/assert@1.5.0/assert.js +327 -0
  75. data/public/vendor/npm/assert@1.5.0/package.json +32 -0
  76. data/public/vendor/npm/assert@1.5.0/test.js +288 -0
  77. data/public/vendor/npm/assert@1.5.0.js +1 -0
  78. data/public/vendor/npm/{base64-js@0.0.8/LICENSE.MIT → base64-js@1.5.1/LICENSE} +1 -1
  79. data/public/vendor/npm/{base64-js@0.0.8 → base64-js@1.5.1}/README.md +10 -7
  80. data/public/vendor/npm/base64-js@1.5.1/base64js.min.js +3 -0
  81. data/public/vendor/npm/base64-js@1.5.1/index.d.ts +3 -0
  82. data/public/vendor/npm/base64-js@1.5.1/index.js +151 -0
  83. data/public/vendor/npm/base64-js@1.5.1/package.json +47 -0
  84. data/public/vendor/npm/base64-js@1.5.1.js +1 -0
  85. data/public/vendor/npm/buffer@5.7.1/AUTHORS.md +70 -0
  86. data/public/vendor/npm/{buffer@3.4.3 → buffer@5.7.1}/README.md +111 -41
  87. data/public/vendor/npm/buffer@5.7.1/index.d.ts +186 -0
  88. data/public/vendor/npm/buffer@5.7.1/index.js +1817 -0
  89. data/public/vendor/npm/buffer@5.7.1/package.json +96 -0
  90. data/public/vendor/npm/buffer@5.7.1.js +1 -0
  91. data/public/vendor/npm/core-util-is@1.0.3/LICENSE +19 -0
  92. data/public/vendor/npm/core-util-is@1.0.3/lib/util.js +64 -0
  93. data/public/vendor/npm/{core-util-is@1.0.1 → core-util-is@1.0.3}/package.json +13 -1
  94. data/public/vendor/npm/core-util-is@1.0.3.js +1 -0
  95. data/public/vendor/npm/events@1.0.2/tests/add-listeners.js +2 -2
  96. data/public/vendor/npm/events@1.0.2/tests/check-listener-leaks.js +3 -3
  97. data/public/vendor/npm/events@1.0.2/tests/common.js +1 -1
  98. data/public/vendor/npm/events@1.0.2/tests/index.js +13 -13
  99. data/public/vendor/npm/events@1.0.2/tests/listeners-side-effects.js +2 -2
  100. data/public/vendor/npm/events@1.0.2/tests/listeners.js +2 -2
  101. data/public/vendor/npm/events@1.0.2/tests/max-listeners.js +2 -2
  102. data/public/vendor/npm/events@1.0.2/tests/modify-in-emit.js +2 -2
  103. data/public/vendor/npm/events@1.0.2/tests/num-args.js +2 -2
  104. data/public/vendor/npm/events@1.0.2/tests/once.js +2 -2
  105. data/public/vendor/npm/events@1.0.2/tests/remove-all-listeners.js +3 -3
  106. data/public/vendor/npm/events@1.0.2/tests/remove-listeners.js +3 -3
  107. data/public/vendor/npm/events@1.0.2/tests/set-max-listeners-side-effects.js +2 -2
  108. data/public/vendor/npm/events@1.0.2/tests/subclass.js +3 -3
  109. data/public/vendor/npm/events@1.0.2.js +1 -1
  110. data/public/vendor/npm/ieee754@1.2.1/LICENSE +11 -0
  111. data/public/vendor/npm/{ieee754@1.1.6 → ieee754@1.2.1}/README.md +12 -8
  112. data/public/vendor/npm/ieee754@1.2.1/index.d.ts +10 -0
  113. data/public/vendor/npm/{ieee754@1.1.6 → ieee754@1.2.1}/index.js +6 -6
  114. data/public/vendor/npm/ieee754@1.2.1/package.json +52 -0
  115. data/public/vendor/npm/ieee754@1.2.1.js +1 -0
  116. data/public/vendor/npm/{is-array@1.0.1 → indexof@0.0.1}/Makefile +3 -3
  117. data/public/vendor/npm/indexof@0.0.1/Readme.md +15 -0
  118. data/public/vendor/npm/indexof@0.0.1/component.json +10 -0
  119. data/public/vendor/npm/indexof@0.0.1/index.js +11 -0
  120. data/public/vendor/npm/indexof@0.0.1/package.json +12 -0
  121. data/public/vendor/npm/indexof@0.0.1.js +1 -0
  122. data/public/vendor/npm/inherits@2.0.1/inherits.js +1 -1
  123. data/public/vendor/npm/inherits@2.0.1.js +1 -1
  124. data/public/vendor/npm/isarray@0.0.1.js +1 -1
  125. data/public/vendor/npm/js-tokens@4.0.0/index.js +23 -0
  126. data/public/vendor/npm/js-tokens@4.0.0/package.json +30 -0
  127. data/public/vendor/npm/js-tokens@4.0.0.js +1 -0
  128. data/public/vendor/npm/loose-envify@1.4.0/LICENSE +21 -0
  129. data/public/vendor/npm/loose-envify@1.4.0/README.md +45 -0
  130. data/public/vendor/npm/loose-envify@1.4.0/cli.js +12 -0
  131. data/public/vendor/npm/loose-envify@1.4.0/custom.js +3 -0
  132. data/public/vendor/npm/loose-envify@1.4.0/index.js +5 -0
  133. data/public/vendor/npm/loose-envify@1.4.0/loose-envify.js +33 -0
  134. data/public/vendor/npm/loose-envify@1.4.0/package.json +36 -0
  135. data/public/vendor/npm/loose-envify@1.4.0/replace.js +52 -0
  136. data/public/vendor/npm/loose-envify@1.4.0.js +1 -0
  137. data/public/vendor/npm/object-assign@4.1.1/index.js +90 -0
  138. data/public/vendor/npm/object-assign@4.1.1/package.json +42 -0
  139. data/public/vendor/npm/object-assign@4.1.1.js +1 -0
  140. data/public/vendor/npm/path-browserify@0.0.0/index.js +1 -1
  141. data/public/vendor/npm/path-browserify@0.0.0.js +1 -1
  142. data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/README.md +4 -1
  143. data/public/vendor/npm/process@0.11.10/browser.js +184 -0
  144. data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/package.json +10 -1
  145. data/public/vendor/npm/process@0.11.10/test.js +185 -0
  146. data/public/vendor/npm/process@0.11.10.js +1 -0
  147. data/public/vendor/npm/react-dom@18.0.0/LICENSE +21 -0
  148. data/public/vendor/npm/react-dom@18.0.0/README.md +50 -0
  149. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.browser.development.js +4771 -0
  150. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.browser.production.min.js +85 -0
  151. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.node.development.js +4813 -0
  152. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.node.production.min.js +1705 -0
  153. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.browser.development.js +4746 -0
  154. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.browser.production.min.js +90 -0
  155. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.node.development.js +4714 -0
  156. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.node.production.min.js +1746 -0
  157. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-test-utils.development.js +1017 -0
  158. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-test-utils.production.min.js +617 -0
  159. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.development.js +20092 -0
  160. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.production.min.js +322 -0
  161. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.profiling.min.js +364 -0
  162. data/public/vendor/npm/react-dom@18.0.0/client.js +27 -0
  163. data/public/vendor/npm/react-dom@18.0.0/index.js +23 -0
  164. data/public/vendor/npm/react-dom@18.0.0/package.json +62 -0
  165. data/public/vendor/npm/react-dom@18.0.0/profiling.js +23 -0
  166. data/public/vendor/npm/react-dom@18.0.0/server.browser.js +19 -0
  167. data/public/vendor/npm/react-dom@18.0.0/server.js +3 -0
  168. data/public/vendor/npm/react-dom@18.0.0/server.node.js +19 -0
  169. data/public/vendor/npm/react-dom@18.0.0/test-utils.js +9 -0
  170. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server-legacy.browser.development.js +4770 -0
  171. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server-legacy.browser.production.min.js +72 -0
  172. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server.browser.development.js +4745 -0
  173. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server.browser.production.min.js +74 -0
  174. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-test-utils.development.js +1013 -0
  175. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-test-utils.production.min.js +625 -0
  176. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.development.js +20106 -0
  177. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.production.min.js +269 -0
  178. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.profiling.min.js +285 -0
  179. data/public/vendor/npm/react-dom@18.0.0.js +1 -0
  180. data/public/vendor/npm/react@18.0.0/LICENSE +21 -0
  181. data/public/vendor/npm/react@18.0.0/README.md +13 -0
  182. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.development.js +837 -0
  183. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.production.min.js +10 -0
  184. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.profiling.min.js +10 -0
  185. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.development.js +849 -0
  186. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.production.min.js +38 -0
  187. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.profiling.min.js +38 -0
  188. data/public/vendor/npm/react@18.0.0/cjs/react.development.js +1746 -0
  189. data/public/vendor/npm/react@18.0.0/cjs/react.production.min.js +26 -0
  190. data/public/vendor/npm/react@18.0.0/cjs/react.shared-subset.development.js +10 -0
  191. data/public/vendor/npm/react@18.0.0/cjs/react.shared-subset.production.min.js +12 -0
  192. data/public/vendor/npm/react@18.0.0/index.js +9 -0
  193. data/public/vendor/npm/react@18.0.0/jsx-dev-runtime.js +9 -0
  194. data/public/vendor/npm/react@18.0.0/jsx-runtime.js +9 -0
  195. data/public/vendor/npm/react@18.0.0/package.json +47 -0
  196. data/public/vendor/npm/react@18.0.0/react.shared-subset.js +9 -0
  197. data/public/vendor/npm/react@18.0.0/umd/react.development.js +2186 -0
  198. data/public/vendor/npm/react@18.0.0/umd/react.production.min.js +33 -0
  199. data/public/vendor/npm/react@18.0.0/umd/react.profiling.min.js +33 -0
  200. data/public/vendor/npm/react@18.0.0.js +1 -0
  201. data/public/vendor/npm/readable-stream@1.1.14/LICENSE +18 -0
  202. data/public/vendor/npm/readable-stream@1.1.14/duplex.js +2 -0
  203. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_duplex.js +5 -5
  204. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_passthrough.js +3 -3
  205. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_readable.js +10 -10
  206. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_transform.js +4 -4
  207. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_writable.js +6 -6
  208. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/package.json +1 -1
  209. data/public/vendor/npm/readable-stream@1.1.14/passthrough.js +2 -0
  210. data/public/vendor/npm/readable-stream@1.1.14/readable.js +13 -0
  211. data/public/vendor/npm/readable-stream@1.1.14/transform.js +2 -0
  212. data/public/vendor/npm/readable-stream@1.1.14/writable.js +2 -0
  213. data/public/vendor/npm/readable-stream@1.1.14.js +1 -0
  214. data/public/vendor/npm/scheduler@0.21.0/LICENSE +21 -0
  215. data/public/vendor/npm/scheduler@0.21.0/README.md +9 -0
  216. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_mock.development.js +530 -0
  217. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_mock.production.min.js +20 -0
  218. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_post_task.development.js +153 -0
  219. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_post_task.production.min.js +14 -0
  220. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler.development.js +444 -0
  221. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler.production.min.js +19 -0
  222. data/public/vendor/npm/scheduler@0.21.0/index.js +9 -0
  223. data/public/vendor/npm/scheduler@0.21.0/package.json +36 -0
  224. data/public/vendor/npm/scheduler@0.21.0/umd/scheduler-unstable_mock.development.js +701 -0
  225. data/public/vendor/npm/scheduler@0.21.0/umd/scheduler-unstable_mock.production.min.js +21 -0
  226. data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.development.js +154 -0
  227. data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.production.min.js +148 -0
  228. data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.profiling.min.js +148 -0
  229. data/public/vendor/npm/scheduler@0.21.0/unstable_mock.js +9 -0
  230. data/public/vendor/npm/scheduler@0.21.0/unstable_post_task.js +9 -0
  231. data/public/vendor/npm/scheduler@0.21.0.js +1 -0
  232. data/public/vendor/npm/stream-browserify@1.0.0/index.js +7 -7
  233. data/public/vendor/npm/stream-browserify@1.0.0/test/buf.js +5 -5
  234. data/public/vendor/npm/stream-browserify@1.0.0.js +1 -1
  235. data/public/vendor/npm/string_decoder@0.10.31/index.js +2 -2
  236. data/public/vendor/npm/string_decoder@0.10.31.js +1 -1
  237. data/public/vendor/npm/util@0.10.3/support/isBuffer.js +1 -1
  238. data/public/vendor/npm/util@0.10.3/test/browser/inspect.js +2 -2
  239. data/public/vendor/npm/util@0.10.3/test/browser/is.js +3 -3
  240. data/public/vendor/npm/util@0.10.3/test/node/debug.js +4 -4
  241. data/public/vendor/npm/util@0.10.3/test/node/format.js +2 -2
  242. data/public/vendor/npm/util@0.10.3/test/node/inspect.js +3 -3
  243. data/public/vendor/npm/util@0.10.3/test/node/log.js +3 -3
  244. data/public/vendor/npm/util@0.10.3/test/node/util.js +3 -3
  245. data/public/vendor/npm/util@0.10.3/util.js +3 -3
  246. data/public/vendor/npm/util@0.10.3.js +1 -1
  247. data/public/vendor/npm/vm-browserify@0.0.4/LICENSE +18 -0
  248. data/public/vendor/npm/vm-browserify@0.0.4/example/run/bundle.js +376 -0
  249. data/public/vendor/npm/vm-browserify@0.0.4/example/run/entry.js +6 -0
  250. data/public/vendor/npm/vm-browserify@0.0.4/example/run/index.html +9 -0
  251. data/public/vendor/npm/vm-browserify@0.0.4/example/run/server.js +6 -0
  252. data/public/vendor/npm/vm-browserify@0.0.4/index.js +139 -0
  253. data/public/vendor/npm/vm-browserify@0.0.4/package.json +46 -0
  254. data/public/vendor/npm/vm-browserify@0.0.4/readme.markdown +67 -0
  255. data/public/vendor/npm/vm-browserify@0.0.4/test/vm.js +34 -0
  256. data/public/vendor/npm/vm-browserify@0.0.4.js +1 -0
  257. data/public/vendor/npm/webshim@1.15.8/Gruntfile.js +4 -4
  258. data/public/vendor/npm/webshim@1.15.8/build/combobuild.js +2 -2
  259. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/color-picker.js +1 -1
  260. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/10.js +1 -1
  261. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/11.js +1 -1
  262. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/17.js +1 -1
  263. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/5.js +1 -1
  264. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/6.js +1 -1
  265. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/9.js +1 -1
  266. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/es6.js +1 -1
  267. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/excanvas.js +1 -1
  268. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/form-number-date-ui.js +1 -1
  269. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/moxie/js/moxie-html4.js +1 -1
  270. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/moxie/js/moxie-swf.js +1 -1
  271. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/sizzle.js +1 -1
  272. data/public/vendor/npm/webshim@1.15.8/js-webshim/minified/shims/es6.js +1 -1
  273. data/public/vendor/npm/webshim@1.15.8/src/shims/color-picker.js +1 -1
  274. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/10.js +1 -1
  275. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/11.js +1 -1
  276. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/17.js +1 -1
  277. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/5.js +1 -1
  278. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/6.js +1 -1
  279. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/9.js +1 -1
  280. data/public/vendor/npm/webshim@1.15.8/src/shims/es6.js +1 -1
  281. data/public/vendor/npm/webshim@1.15.8/src/shims/excanvas.js +1 -1
  282. data/public/vendor/npm/webshim@1.15.8/src/shims/form-number-date-ui.js +1 -1
  283. data/public/vendor/npm/webshim@1.15.8/src/shims/moxie/js/moxie-html4.js +1 -1
  284. data/public/vendor/npm/webshim@1.15.8/src/shims/moxie/js/moxie-swf.js +1 -1
  285. data/public/vendor/npm/webshim@1.15.8/src/shims/sizzle.js +1 -1
  286. data/public/vendor/npm/webshim@1.15.8/tests/dist/jquery.js +1 -1
  287. data/public/vendor/npm/webshim@1.15.8/tests/jquery/unit/core.js +1 -1
  288. data/public/vendor/npm/webshim@1.15.8/tests/jquery/unit/event.js +1388 -711
  289. data/public/vendor/npm/webshim@1.15.8/tests/qunit/qunit.js +1 -1
  290. data/public/vendor/npm/webshim@1.15.8/tests/test-ext/jquery-1-custom.js +1 -1
  291. data/public/vendor/npm/webshim@1.15.8/tests/test-ext/jquery-2-custom.js +1 -1
  292. data/public/vendor/npm/webshim@1.15.8/tests/test-ext/punycode.js +1 -1
  293. data/public/vendor/system-polyfills.js +865 -1
  294. data/views/blastn_options.erb +291 -0
  295. data/views/blastp_options.erb +288 -0
  296. data/views/blastx_options.erb +318 -0
  297. data/views/error.erb +12 -0
  298. data/views/layout.erb +2 -30
  299. data/views/report.erb +0 -8
  300. data/views/search.erb +16 -9
  301. data/views/tblastn_options.erb +266 -0
  302. data/views/tblastx_options.erb +291 -0
  303. metadata +320 -439
  304. data/public/vendor/github/jspm/nodelibs-buffer@0.1.0.js +0 -1
  305. data/public/vendor/github/jspm/nodelibs-module@0.1.0/index.js +0 -1
  306. data/public/vendor/github/jspm/nodelibs-module@0.1.0.js +0 -1
  307. data/public/vendor/github/jspm/nodelibs-process@0.1.1.js +0 -1
  308. data/public/vendor/npm/amdefine@1.0.0/LICENSE +0 -58
  309. data/public/vendor/npm/amdefine@1.0.0/README.md +0 -171
  310. data/public/vendor/npm/amdefine@1.0.0/amdefine.js +0 -200
  311. data/public/vendor/npm/amdefine@1.0.0/intercept.js +0 -24
  312. data/public/vendor/npm/amdefine@1.0.0/package.json +0 -16
  313. data/public/vendor/npm/amdefine@1.0.0.js +0 -1
  314. data/public/vendor/npm/base62@0.1.1/LICENSE +0 -20
  315. data/public/vendor/npm/base62@0.1.1/Readme.md +0 -30
  316. data/public/vendor/npm/base62@0.1.1/base62.js +0 -28
  317. data/public/vendor/npm/base62@0.1.1/package.json +0 -21
  318. data/public/vendor/npm/base62@0.1.1/test/test.js +0 -13
  319. data/public/vendor/npm/base62@0.1.1.js +0 -1
  320. data/public/vendor/npm/base64-js@0.0.8/lib/b64.js +0 -125
  321. data/public/vendor/npm/base64-js@0.0.8/package.json +0 -34
  322. data/public/vendor/npm/base64-js@0.0.8/test/convert.js +0 -39
  323. data/public/vendor/npm/base64-js@0.0.8/test/url-safe.js +0 -15
  324. data/public/vendor/npm/base64-js@0.0.8.js +0 -1
  325. data/public/vendor/npm/buffer@3.4.3/index.js +0 -1533
  326. data/public/vendor/npm/buffer@3.4.3/package.json +0 -67
  327. data/public/vendor/npm/buffer@3.4.3/test/_polyfill.js +0 -152
  328. data/public/vendor/npm/buffer@3.4.3/test/base64.js +0 -33
  329. data/public/vendor/npm/buffer@3.4.3/test/basic.js +0 -58
  330. data/public/vendor/npm/buffer@3.4.3/test/compare.js +0 -53
  331. data/public/vendor/npm/buffer@3.4.3/test/constructor.js +0 -132
  332. data/public/vendor/npm/buffer@3.4.3/test/deprecated.js +0 -21
  333. data/public/vendor/npm/buffer@3.4.3/test/from-string.js +0 -105
  334. data/public/vendor/npm/buffer@3.4.3/test/methods.js +0 -109
  335. data/public/vendor/npm/buffer@3.4.3/test/node/README.txt +0 -1
  336. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-ascii.js +0 -20
  337. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-bytelength.js +0 -38
  338. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-concat.js +0 -26
  339. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-indexof.js +0 -78
  340. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-inspect.js +0 -31
  341. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer.js +0 -804
  342. data/public/vendor/npm/buffer@3.4.3/test/node-es6/README.txt +0 -1
  343. data/public/vendor/npm/buffer@3.4.3/test/node-es6/test-buffer-arraybuffer.js +0 -37
  344. data/public/vendor/npm/buffer@3.4.3/test/node-es6/test-buffer-iterator.js +0 -32
  345. data/public/vendor/npm/buffer@3.4.3/test/slice.js +0 -33
  346. data/public/vendor/npm/buffer@3.4.3/test/static.js +0 -32
  347. data/public/vendor/npm/buffer@3.4.3/test/to-string.js +0 -106
  348. data/public/vendor/npm/buffer@3.4.3/test/write.js +0 -90
  349. data/public/vendor/npm/buffer@3.4.3.js +0 -1
  350. data/public/vendor/npm/core-util-is@1.0.1/float.patch +0 -604
  351. data/public/vendor/npm/core-util-is@1.0.1/lib/util.js +0 -66
  352. data/public/vendor/npm/core-util-is@1.0.1/util.js +0 -66
  353. data/public/vendor/npm/core-util-is@1.0.1.js +0 -1
  354. data/public/vendor/npm/envify@3.4.0/README.md +0 -145
  355. data/public/vendor/npm/envify@3.4.0/bin/envify +0 -17
  356. data/public/vendor/npm/envify@3.4.0/custom.js +0 -33
  357. data/public/vendor/npm/envify@3.4.0/index.js +0 -4
  358. data/public/vendor/npm/envify@3.4.0/package.json +0 -35
  359. data/public/vendor/npm/envify@3.4.0/visitors.js +0 -33
  360. data/public/vendor/npm/envify@3.4.0.js +0 -1
  361. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/bin/esparse.js +0 -90
  362. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/bin/esvalidate.js +0 -145
  363. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/esprima.js +0 -6191
  364. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/package.json +0 -72
  365. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/compat.js +0 -167
  366. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/reflect.js +0 -421
  367. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/run.js +0 -34
  368. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/runner.js +0 -418
  369. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/test.js +0 -34730
  370. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb.js +0 -1
  371. data/public/vendor/npm/ieee754@1.1.6/LICENSE +0 -56
  372. data/public/vendor/npm/ieee754@1.1.6/package.json +0 -34
  373. data/public/vendor/npm/ieee754@1.1.6/test/basic.js +0 -20
  374. data/public/vendor/npm/ieee754@1.1.6.js +0 -1
  375. data/public/vendor/npm/is-array@1.0.1/History.md +0 -11
  376. data/public/vendor/npm/is-array@1.0.1/Readme.md +0 -27
  377. data/public/vendor/npm/is-array@1.0.1/component.json +0 -13
  378. data/public/vendor/npm/is-array@1.0.1/index.js +0 -33
  379. data/public/vendor/npm/is-array@1.0.1/package.json +0 -10
  380. data/public/vendor/npm/is-array@1.0.1/test/test.html +0 -46
  381. data/public/vendor/npm/is-array@1.0.1.js +0 -1
  382. data/public/vendor/npm/jstransform@10.1.0/LICENSE +0 -201
  383. data/public/vendor/npm/jstransform@10.1.0/README.md +0 -98
  384. data/public/vendor/npm/jstransform@10.1.0/jestEnvironment.js +0 -3
  385. data/public/vendor/npm/jstransform@10.1.0/jestPreprocessor.js +0 -8
  386. data/public/vendor/npm/jstransform@10.1.0/package.json +0 -52
  387. data/public/vendor/npm/jstransform@10.1.0/polyfill/Object.es6.js +0 -54
  388. data/public/vendor/npm/jstransform@10.1.0/src/__tests__/jstransform-test.js +0 -246
  389. data/public/vendor/npm/jstransform@10.1.0/src/__tests__/jstransform-utils-test.js +0 -31
  390. data/public/vendor/npm/jstransform@10.1.0/src/docblock.js +0 -86
  391. data/public/vendor/npm/jstransform@10.1.0/src/jstransform.js +0 -180
  392. data/public/vendor/npm/jstransform@10.1.0/src/utils.js +0 -386
  393. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-arrow-function-visitors-test.js +0 -57
  394. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-call-spread-visitors-test.js +0 -46
  395. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-class-visitors-test.js +0 -463
  396. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-destructuring-visitors-test.js +0 -144
  397. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-es7-object-integration-test.js +0 -40
  398. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-object-concise-method-visitors-test.js +0 -47
  399. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-object-short-notation-visitors-test.js +0 -33
  400. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-rest-param-visitors-test.js +0 -119
  401. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-template-visitors-test.js +0 -138
  402. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es7-rest-property-helpers-test.js +0 -47
  403. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es7-spread-property-visitors-test.js +0 -90
  404. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/gen/generate-type-syntax-test.js +0 -40
  405. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/gen/type-syntax-test.rec.js +0 -846
  406. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/reserved-words-test.js +0 -40
  407. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-alias-syntax-test.js +0 -34
  408. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-class-syntax-test.js +0 -105
  409. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-function-syntax-test.js +0 -126
  410. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-interface-syntax-test.js +0 -29
  411. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-object-method-syntax-test.js +0 -65
  412. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-pattern-syntax-test.js +0 -45
  413. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-syntax-test.js +0 -46
  414. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-variable-declaration-syntax-test.js +0 -102
  415. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-arrow-function-visitors.js +0 -66
  416. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-call-spread-visitors.js +0 -72
  417. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-class-visitors.js +0 -316
  418. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-destructuring-visitors.js +0 -135
  419. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-object-concise-method-visitors.js +0 -28
  420. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-object-short-notation-visitors.js +0 -12
  421. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-rest-param-visitors.js +0 -45
  422. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-template-visitors.js +0 -90
  423. data/public/vendor/npm/jstransform@10.1.0/visitors/es7-rest-property-helpers.js +0 -80
  424. data/public/vendor/npm/jstransform@10.1.0/visitors/es7-spread-property-visitors.js +0 -56
  425. data/public/vendor/npm/jstransform@10.1.0/visitors/reserved-words-helper.js +0 -74
  426. data/public/vendor/npm/jstransform@10.1.0/visitors/reserved-words-visitors.js +0 -30
  427. data/public/vendor/npm/jstransform@10.1.0/visitors/type-syntax.js +0 -118
  428. data/public/vendor/npm/jstransform@10.1.0.js +0 -1
  429. data/public/vendor/npm/process@0.10.1/browser.js +0 -58
  430. data/public/vendor/npm/process@0.10.1.js +0 -1
  431. data/public/vendor/npm/qs@2.4.1/test/stringify.js +0 -162
  432. data/public/vendor/npm/react@0.13.3/README.md +0 -20
  433. data/public/vendor/npm/react@0.13.3/addons.js +0 -2
  434. data/public/vendor/npm/react@0.13.3/dist/JSXTransformer.js +0 -11346
  435. data/public/vendor/npm/react@0.13.3/dist/react-with-addons.js +0 -10483
  436. data/public/vendor/npm/react@0.13.3/dist/react-with-addons.min.js +0 -7297
  437. data/public/vendor/npm/react@0.13.3/dist/react.js +0 -9468
  438. data/public/vendor/npm/react@0.13.3/dist/react.min.js +0 -6764
  439. data/public/vendor/npm/react@0.13.3/lib/AutoFocusMixin.js +0 -9
  440. data/public/vendor/npm/react@0.13.3/lib/BeforeInputEventPlugin.js +0 -197
  441. data/public/vendor/npm/react@0.13.3/lib/CSSCore.js +0 -39
  442. data/public/vendor/npm/react@0.13.3/lib/CSSProperty.js +0 -123
  443. data/public/vendor/npm/react@0.13.3/lib/CSSPropertyOperations.js +0 -103
  444. data/public/vendor/npm/react@0.13.3/lib/CallbackQueue.js +0 -43
  445. data/public/vendor/npm/react@0.13.3/lib/ChangeEventPlugin.js +0 -174
  446. data/public/vendor/npm/react@0.13.3/lib/ClientReactRootIndex.js +0 -23
  447. data/public/vendor/npm/react@0.13.3/lib/DOMChildrenOperations.js +0 -57
  448. data/public/vendor/npm/react@0.13.3/lib/DOMProperty.js +0 -96
  449. data/public/vendor/npm/react@0.13.3/lib/DOMPropertyOperations.js +0 -99
  450. data/public/vendor/npm/react@0.13.3/lib/Danger.js +0 -67
  451. data/public/vendor/npm/react@0.13.3/lib/DefaultEventPluginOrder.js +0 -5
  452. data/public/vendor/npm/react@0.13.3/lib/EnterLeaveEventPlugin.js +0 -69
  453. data/public/vendor/npm/react@0.13.3/lib/EventConstants.js +0 -55
  454. data/public/vendor/npm/react@0.13.3/lib/EventListener.js +0 -34
  455. data/public/vendor/npm/react@0.13.3/lib/EventPluginHub.js +0 -103
  456. data/public/vendor/npm/react@0.13.3/lib/EventPluginRegistry.js +0 -115
  457. data/public/vendor/npm/react@0.13.3/lib/EventPluginUtils.js +0 -121
  458. data/public/vendor/npm/react@0.13.3/lib/EventPropagators.js +0 -62
  459. data/public/vendor/npm/react@0.13.3/lib/ExecutionEnvironment.js +0 -42
  460. data/public/vendor/npm/react@0.13.3/lib/FallbackCompositionState.js +0 -45
  461. data/public/vendor/npm/react@0.13.3/lib/HTMLDOMPropertyConfig.js +0 -155
  462. data/public/vendor/npm/react@0.13.3/lib/LinkedStateMixin.js +0 -8
  463. data/public/vendor/npm/react@0.13.3/lib/LinkedValueUtils.js +0 -74
  464. data/public/vendor/npm/react@0.13.3/lib/LocalEventTrapMixin.js +0 -26
  465. data/public/vendor/npm/react@0.13.3/lib/MobileSafariClickEventPlugin.js +0 -17
  466. data/public/vendor/npm/react@0.13.3/lib/Object.assign.js +0 -47
  467. data/public/vendor/npm/react@0.13.3/lib/PooledClass.js +0 -75
  468. data/public/vendor/npm/react@0.13.3/lib/React.js +0 -93
  469. data/public/vendor/npm/react@0.13.3/lib/ReactBrowserComponentMixin.js +0 -7
  470. data/public/vendor/npm/react@0.13.3/lib/ReactBrowserEventEmitter.js +0 -136
  471. data/public/vendor/npm/react@0.13.3/lib/ReactCSSTransitionGroup.js +0 -34
  472. data/public/vendor/npm/react@0.13.3/lib/ReactCSSTransitionGroupChild.js +0 -92
  473. data/public/vendor/npm/react@0.13.3/lib/ReactChildReconciler.js +0 -57
  474. data/public/vendor/npm/react@0.13.3/lib/ReactChildren.js +0 -67
  475. data/public/vendor/npm/react@0.13.3/lib/ReactClass.js +0 -338
  476. data/public/vendor/npm/react@0.13.3/lib/ReactComponent.js +0 -50
  477. data/public/vendor/npm/react@0.13.3/lib/ReactComponentBrowserEnvironment.js +0 -14
  478. data/public/vendor/npm/react@0.13.3/lib/ReactComponentEnvironment.js +0 -19
  479. data/public/vendor/npm/react@0.13.3/lib/ReactComponentWithPureRenderMixin.js +0 -7
  480. data/public/vendor/npm/react@0.13.3/lib/ReactCompositeComponent.js +0 -374
  481. data/public/vendor/npm/react@0.13.3/lib/ReactContext.js +0 -27
  482. data/public/vendor/npm/react@0.13.3/lib/ReactCurrentOwner.js +0 -32
  483. data/public/vendor/npm/react@0.13.3/lib/ReactDOM.js +0 -146
  484. data/public/vendor/npm/react@0.13.3/lib/ReactDOMButton.js +0 -35
  485. data/public/vendor/npm/react@0.13.3/lib/ReactDOMComponent.js +0 -267
  486. data/public/vendor/npm/react@0.13.3/lib/ReactDOMForm.js +0 -21
  487. data/public/vendor/npm/react@0.13.3/lib/ReactDOMIDOperations.js +0 -63
  488. data/public/vendor/npm/react@0.13.3/lib/ReactDOMIframe.js +0 -20
  489. data/public/vendor/npm/react@0.13.3/lib/ReactDOMImg.js +0 -21
  490. data/public/vendor/npm/react@0.13.3/lib/ReactDOMInput.js +0 -94
  491. data/public/vendor/npm/react@0.13.3/lib/ReactDOMOption.js +0 -23
  492. data/public/vendor/npm/react@0.13.3/lib/ReactDOMSelect.js +0 -112
  493. data/public/vendor/npm/react@0.13.3/lib/ReactDOMSelection.js +0 -103
  494. data/public/vendor/npm/react@0.13.3/lib/ReactDOMTextComponent.js +0 -38
  495. data/public/vendor/npm/react@0.13.3/lib/ReactDOMTextarea.js +0 -70
  496. data/public/vendor/npm/react@0.13.3/lib/ReactDefaultBatchingStrategy.js +0 -37
  497. data/public/vendor/npm/react@0.13.3/lib/ReactDefaultInjection.js +0 -93
  498. data/public/vendor/npm/react@0.13.3/lib/ReactDefaultPerf.js +0 -183
  499. data/public/vendor/npm/react@0.13.3/lib/ReactDefaultPerfAnalysis.js +0 -145
  500. data/public/vendor/npm/react@0.13.3/lib/ReactElement.js +0 -151
  501. data/public/vendor/npm/react@0.13.3/lib/ReactElementValidator.js +0 -218
  502. data/public/vendor/npm/react@0.13.3/lib/ReactEmptyComponent.js +0 -47
  503. data/public/vendor/npm/react@0.13.3/lib/ReactErrorUtils.js +0 -30
  504. data/public/vendor/npm/react@0.13.3/lib/ReactEventEmitterMixin.js +0 -12
  505. data/public/vendor/npm/react@0.13.3/lib/ReactEventListener.js +0 -93
  506. data/public/vendor/npm/react@0.13.3/lib/ReactFragment.js +0 -110
  507. data/public/vendor/npm/react@0.13.3/lib/ReactInjection.js +0 -27
  508. data/public/vendor/npm/react@0.13.3/lib/ReactInputSelection.js +0 -75
  509. data/public/vendor/npm/react@0.13.3/lib/ReactInstanceHandles.js +0 -113
  510. data/public/vendor/npm/react@0.13.3/lib/ReactInstanceMap.js +0 -47
  511. data/public/vendor/npm/react@0.13.3/lib/ReactLifeCycle.js +0 -9
  512. data/public/vendor/npm/react@0.13.3/lib/ReactLink.js +0 -16
  513. data/public/vendor/npm/react@0.13.3/lib/ReactMarkupChecksum.js +0 -17
  514. data/public/vendor/npm/react@0.13.3/lib/ReactMount.js +0 -347
  515. data/public/vendor/npm/react@0.13.3/lib/ReactMultiChild.js +0 -190
  516. data/public/vendor/npm/react@0.13.3/lib/ReactMultiChildUpdateTypes.js +0 -10
  517. data/public/vendor/npm/react@0.13.3/lib/ReactNativeComponent.js +0 -53
  518. data/public/vendor/npm/react@0.13.3/lib/ReactOwner.js +0 -21
  519. data/public/vendor/npm/react@0.13.3/lib/ReactPerf.js +0 -42
  520. data/public/vendor/npm/react@0.13.3/lib/ReactPropTransferer.js +0 -40
  521. data/public/vendor/npm/react@0.13.3/lib/ReactPropTypeLocationNames.js +0 -13
  522. data/public/vendor/npm/react@0.13.3/lib/ReactPropTypeLocations.js +0 -9
  523. data/public/vendor/npm/react@0.13.3/lib/ReactPropTypes.js +0 -225
  524. data/public/vendor/npm/react@0.13.3/lib/ReactPutListenerQueue.js +0 -31
  525. data/public/vendor/npm/react@0.13.3/lib/ReactReconcileTransaction.js +0 -66
  526. data/public/vendor/npm/react@0.13.3/lib/ReactReconciler.js +0 -44
  527. data/public/vendor/npm/react@0.13.3/lib/ReactRef.js +0 -36
  528. data/public/vendor/npm/react@0.13.3/lib/ReactRootIndex.js +0 -29
  529. data/public/vendor/npm/react@0.13.3/lib/ReactServerRendering.js +0 -44
  530. data/public/vendor/npm/react@0.13.3/lib/ReactServerRenderingTransaction.js +0 -47
  531. data/public/vendor/npm/react@0.13.3/lib/ReactStateSetters.js +0 -104
  532. data/public/vendor/npm/react@0.13.3/lib/ReactTestUtils.js +0 -249
  533. data/public/vendor/npm/react@0.13.3/lib/ReactTransitionChildMapping.js +0 -53
  534. data/public/vendor/npm/react@0.13.3/lib/ReactTransitionEvents.js +0 -68
  535. data/public/vendor/npm/react@0.13.3/lib/ReactTransitionGroup.js +0 -140
  536. data/public/vendor/npm/react@0.13.3/lib/ReactUpdateQueue.js +0 -107
  537. data/public/vendor/npm/react@0.13.3/lib/ReactUpdates.js +0 -139
  538. data/public/vendor/npm/react@0.13.3/lib/ReactWithAddons.js +0 -30
  539. data/public/vendor/npm/react@0.13.3/lib/SVGDOMPropertyConfig.js +0 -76
  540. data/public/vendor/npm/react@0.13.3/lib/SelectEventPlugin.js +0 -91
  541. data/public/vendor/npm/react@0.13.3/lib/ServerReactRootIndex.js +0 -29
  542. data/public/vendor/npm/react@0.13.3/lib/SimpleEventPlugin.js +0 -287
  543. data/public/vendor/npm/react@0.13.3/lib/SyntheticClipboardEvent.js +0 -11
  544. data/public/vendor/npm/react@0.13.3/lib/SyntheticCompositionEvent.js +0 -9
  545. data/public/vendor/npm/react@0.13.3/lib/SyntheticDragEvent.js +0 -9
  546. data/public/vendor/npm/react@0.13.3/lib/SyntheticEvent.js +0 -90
  547. data/public/vendor/npm/react@0.13.3/lib/SyntheticFocusEvent.js +0 -9
  548. data/public/vendor/npm/react@0.13.3/lib/SyntheticInputEvent.js +0 -9
  549. data/public/vendor/npm/react@0.13.3/lib/SyntheticKeyboardEvent.js +0 -43
  550. data/public/vendor/npm/react@0.13.3/lib/SyntheticMouseEvent.js +0 -38
  551. data/public/vendor/npm/react@0.13.3/lib/SyntheticTouchEvent.js +0 -19
  552. data/public/vendor/npm/react@0.13.3/lib/SyntheticUIEvent.js +0 -29
  553. data/public/vendor/npm/react@0.13.3/lib/SyntheticWheelEvent.js +0 -18
  554. data/public/vendor/npm/react@0.13.3/lib/Transaction.js +0 -90
  555. data/public/vendor/npm/react@0.13.3/lib/ViewportMetrics.js +0 -27
  556. data/public/vendor/npm/react@0.13.3/lib/accumulateInto.js +0 -26
  557. data/public/vendor/npm/react@0.13.3/lib/adler32.js +0 -32
  558. data/public/vendor/npm/react@0.13.3/lib/camelize.js +0 -30
  559. data/public/vendor/npm/react@0.13.3/lib/camelizeStyleName.js +0 -8
  560. data/public/vendor/npm/react@0.13.3/lib/cloneWithProps.js +0 -20
  561. data/public/vendor/npm/react@0.13.3/lib/containsNode.js +0 -20
  562. data/public/vendor/npm/react@0.13.3/lib/createArrayFromMixed.js +0 -15
  563. data/public/vendor/npm/react@0.13.3/lib/createFullPageComponent.js +0 -22
  564. data/public/vendor/npm/react@0.13.3/lib/createNodesFromMarkup.js +0 -39
  565. data/public/vendor/npm/react@0.13.3/lib/cx.js +0 -20
  566. data/public/vendor/npm/react@0.13.3/lib/dangerousStyleValue.js +0 -19
  567. data/public/vendor/npm/react@0.13.3/lib/emptyFunction.js +0 -32
  568. data/public/vendor/npm/react@0.13.3/lib/emptyObject.js +0 -9
  569. data/public/vendor/npm/react@0.13.3/lib/escapeTextContentForBrowser.js +0 -38
  570. data/public/vendor/npm/react@0.13.3/lib/findDOMNode.js +0 -31
  571. data/public/vendor/npm/react@0.13.3/lib/flattenChildren.js +0 -25
  572. data/public/vendor/npm/react@0.13.3/lib/focusNode.js +0 -27
  573. data/public/vendor/npm/react@0.13.3/lib/forEachAccumulated.js +0 -29
  574. data/public/vendor/npm/react@0.13.3/lib/getActiveElement.js +0 -27
  575. data/public/vendor/npm/react@0.13.3/lib/getEventCharCode.js +0 -50
  576. data/public/vendor/npm/react@0.13.3/lib/getEventKey.js +0 -72
  577. data/public/vendor/npm/react@0.13.3/lib/getEventModifierState.js +0 -45
  578. data/public/vendor/npm/react@0.13.3/lib/getEventTarget.js +0 -29
  579. data/public/vendor/npm/react@0.13.3/lib/getIteratorFn.js +0 -42
  580. data/public/vendor/npm/react@0.13.3/lib/getMarkupWrap.js +0 -73
  581. data/public/vendor/npm/react@0.13.3/lib/getNodeForCharacterOffset.js +0 -73
  582. data/public/vendor/npm/react@0.13.3/lib/getReactRootElementInContainer.js +0 -33
  583. data/public/vendor/npm/react@0.13.3/lib/getTextContentAccessor.js +0 -11
  584. data/public/vendor/npm/react@0.13.3/lib/getUnboundedScrollPosition.js +0 -38
  585. data/public/vendor/npm/react@0.13.3/lib/hyphenate.js +0 -31
  586. data/public/vendor/npm/react@0.13.3/lib/hyphenateStyleName.js +0 -8
  587. data/public/vendor/npm/react@0.13.3/lib/instantiateReactComponent.js +0 -55
  588. data/public/vendor/npm/react@0.13.3/lib/invariant.js +0 -26
  589. data/public/vendor/npm/react@0.13.3/lib/isEventSupported.js +0 -24
  590. data/public/vendor/npm/react@0.13.3/lib/isNode.js +0 -25
  591. data/public/vendor/npm/react@0.13.3/lib/isTextInputElement.js +0 -41
  592. data/public/vendor/npm/react@0.13.3/lib/isTextNode.js +0 -6
  593. data/public/vendor/npm/react@0.13.3/lib/joinClasses.js +0 -39
  594. data/public/vendor/npm/react@0.13.3/lib/keyMirror.js +0 -18
  595. data/public/vendor/npm/react@0.13.3/lib/keyOf.js +0 -34
  596. data/public/vendor/npm/react@0.13.3/lib/mapObject.js +0 -51
  597. data/public/vendor/npm/react@0.13.3/lib/memoizeStringOnly.js +0 -31
  598. data/public/vendor/npm/react@0.13.3/lib/onlyChild.js +0 -11
  599. data/public/vendor/npm/react@0.13.3/lib/performance.js +0 -8
  600. data/public/vendor/npm/react@0.13.3/lib/performanceNow.js +0 -7
  601. data/public/vendor/npm/react@0.13.3/lib/quoteAttributeValueForBrowser.js +0 -7
  602. data/public/vendor/npm/react@0.13.3/lib/setInnerHTML.js +0 -40
  603. data/public/vendor/npm/react@0.13.3/lib/setTextContent.js +0 -16
  604. data/public/vendor/npm/react@0.13.3/lib/shallowEqual.js +0 -42
  605. data/public/vendor/npm/react@0.13.3/lib/shouldUpdateReactComponent.js +0 -51
  606. data/public/vendor/npm/react@0.13.3/lib/toArray.js +0 -21
  607. data/public/vendor/npm/react@0.13.3/lib/traverseAllChildren.js +0 -104
  608. data/public/vendor/npm/react@0.13.3/lib/update.js +0 -78
  609. data/public/vendor/npm/react@0.13.3/lib/warning.js +0 -34
  610. data/public/vendor/npm/react@0.13.3/package.json +0 -34
  611. data/public/vendor/npm/react@0.13.3/react.js +0 -2
  612. data/public/vendor/npm/react@0.13.3.js +0 -1
  613. data/public/vendor/npm/readable-stream@1.1.13/duplex.js +0 -2
  614. data/public/vendor/npm/readable-stream@1.1.13/passthrough.js +0 -2
  615. data/public/vendor/npm/readable-stream@1.1.13/readable.js +0 -8
  616. data/public/vendor/npm/readable-stream@1.1.13/transform.js +0 -2
  617. data/public/vendor/npm/readable-stream@1.1.13/writable.js +0 -2
  618. data/public/vendor/npm/readable-stream@1.1.13.js +0 -1
  619. data/public/vendor/npm/source-map@0.1.31/CHANGELOG.md +0 -112
  620. data/public/vendor/npm/source-map@0.1.31/LICENSE +0 -28
  621. data/public/vendor/npm/source-map@0.1.31/Makefile.dryice.js +0 -89
  622. data/public/vendor/npm/source-map@0.1.31/README.md +0 -434
  623. data/public/vendor/npm/source-map@0.1.31/build/assert-shim.js +0 -58
  624. data/public/vendor/npm/source-map@0.1.31/build/mini-require.js +0 -154
  625. data/public/vendor/npm/source-map@0.1.31/build/prefix-source-map.jsm +0 -20
  626. data/public/vendor/npm/source-map@0.1.31/build/prefix-utils.jsm +0 -18
  627. data/public/vendor/npm/source-map@0.1.31/build/suffix-browser.js +0 -8
  628. data/public/vendor/npm/source-map@0.1.31/build/suffix-source-map.jsm +0 -6
  629. data/public/vendor/npm/source-map@0.1.31/build/suffix-utils.jsm +0 -21
  630. data/public/vendor/npm/source-map@0.1.31/build/test-prefix.js +0 -10
  631. data/public/vendor/npm/source-map@0.1.31/build/test-suffix.js +0 -5
  632. data/public/vendor/npm/source-map@0.1.31/lib/source-map/array-set.js +0 -49
  633. data/public/vendor/npm/source-map@0.1.31/lib/source-map/base64-vlq.js +0 -56
  634. data/public/vendor/npm/source-map@0.1.31/lib/source-map/base64.js +0 -44
  635. data/public/vendor/npm/source-map@0.1.31/lib/source-map/binary-search.js +0 -83
  636. data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-map-consumer.js +0 -238
  637. data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-map-generator.js +0 -231
  638. data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-node.js +0 -234
  639. data/public/vendor/npm/source-map@0.1.31/lib/source-map/util.js +0 -207
  640. data/public/vendor/npm/source-map@0.1.31/lib/source-map.js +0 -4
  641. data/public/vendor/npm/source-map@0.1.31/package.json +0 -52
  642. data/public/vendor/npm/source-map@0.1.31/test/run-tests.js +0 -50
  643. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-api.js +0 -19
  644. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-array-set.js +0 -84
  645. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-base64-vlq.js +0 -17
  646. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-base64.js +0 -26
  647. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-binary-search.js +0 -37
  648. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-dog-fooding.js +0 -76
  649. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-map-consumer.js +0 -426
  650. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-map-generator.js +0 -480
  651. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-node.js +0 -307
  652. data/public/vendor/npm/source-map@0.1.31/test/source-map/util.js +0 -84
  653. data/public/vendor/npm/source-map@0.1.31.js +0 -1
  654. data/public/vendor/npm/through@2.3.8/LICENSE.APACHE2 +0 -15
  655. data/public/vendor/npm/through@2.3.8/LICENSE.MIT +0 -24
  656. data/public/vendor/npm/through@2.3.8/index.js +0 -93
  657. data/public/vendor/npm/through@2.3.8/package.json +0 -36
  658. data/public/vendor/npm/through@2.3.8/readme.markdown +0 -64
  659. data/public/vendor/npm/through@2.3.8/test/async.js +0 -26
  660. data/public/vendor/npm/through@2.3.8/test/auto-destroy.js +0 -26
  661. data/public/vendor/npm/through@2.3.8/test/buffering.js +0 -57
  662. data/public/vendor/npm/through@2.3.8/test/end.js +0 -37
  663. data/public/vendor/npm/through@2.3.8/test/index.js +0 -98
  664. data/public/vendor/npm/through@2.3.8/test.js +0 -2
  665. data/public/vendor/npm/through@2.3.8.js +0 -1
  666. data/views/_options.erb +0 -156
  667. /data/public/vendor/github/jspm/{nodelibs-buffer@0.1.0 → nodelibs-buffer@0.1.1}/index.js +0 -0
  668. /data/public/vendor/github/jspm/{nodelibs-process@0.1.1 → nodelibs-process@0.1.2}/index.js +0 -0
  669. /data/public/vendor/npm/{readable-stream@1.1.13 → assert@1.5.0}/LICENSE +0 -0
  670. /data/public/vendor/npm/{buffer@3.4.3 → buffer@5.7.1}/LICENSE +0 -0
  671. /data/public/vendor/npm/{core-util-is@1.0.1 → core-util-is@1.0.3}/README.md +0 -0
  672. /data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/LICENSE +0 -0
  673. /data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/index.js +0 -0
  674. /data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/README.md +0 -0
  675. /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
- });