sequenceserver 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
- });