elm-rails 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (591) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +7 -0
  3. data/lib/elm/rails/helper.rb +53 -0
  4. data/lib/elm/rails/railtie.rb +29 -0
  5. data/lib/elm/rails/sprockets.rb +62 -0
  6. data/lib/elm/rails/version.rb +1 -1
  7. data/lib/elm/rails.rb +2 -0
  8. data/lib/elm-rails.rb +1 -3
  9. data/test/pipeline_test.rb +19 -0
  10. data/test/rails4.2/Gemfile +50 -0
  11. data/test/rails4.2/Gemfile.lock +170 -0
  12. data/test/rails4.2/README.rdoc +28 -0
  13. data/test/rails4.2/Rakefile +6 -0
  14. data/test/rails4.2/app/assets/elm/App.elm +7 -0
  15. data/test/rails4.2/app/assets/javascripts/application.js +1 -0
  16. data/test/rails4.2/app/assets/stylesheets/application.css +15 -0
  17. data/test/rails4.2/app/controllers/application_controller.rb +5 -0
  18. data/test/rails4.2/app/helpers/application_helper.rb +2 -0
  19. data/test/rails4.2/app/views/layouts/application.html.erb +14 -0
  20. data/test/rails4.2/bin/bundle +3 -0
  21. data/test/rails4.2/bin/rails +9 -0
  22. data/test/rails4.2/bin/rake +9 -0
  23. data/test/rails4.2/bin/setup +29 -0
  24. data/test/rails4.2/bin/spring +16 -0
  25. data/test/rails4.2/config/application.rb +26 -0
  26. data/test/rails4.2/config/boot.rb +3 -0
  27. data/test/rails4.2/config/database.yml +25 -0
  28. data/test/rails4.2/config/environment.rb +5 -0
  29. data/test/rails4.2/config/environments/development.rb +41 -0
  30. data/test/rails4.2/config/environments/production.rb +79 -0
  31. data/test/rails4.2/config/environments/test.rb +42 -0
  32. data/test/rails4.2/config/initializers/assets.rb +11 -0
  33. data/test/rails4.2/config/initializers/backtrace_silencers.rb +7 -0
  34. data/test/rails4.2/config/initializers/cookies_serializer.rb +3 -0
  35. data/test/rails4.2/config/initializers/filter_parameter_logging.rb +4 -0
  36. data/test/rails4.2/config/initializers/inflections.rb +16 -0
  37. data/test/rails4.2/config/initializers/mime_types.rb +4 -0
  38. data/test/rails4.2/config/initializers/session_store.rb +3 -0
  39. data/test/rails4.2/config/initializers/wrap_parameters.rb +14 -0
  40. data/test/rails4.2/config/locales/en.yml +23 -0
  41. data/test/rails4.2/config/routes.rb +56 -0
  42. data/test/rails4.2/config/secrets.yml +22 -0
  43. data/test/rails4.2/config.ru +4 -0
  44. data/test/rails4.2/db/seeds.rb +7 -0
  45. data/test/rails4.2/elm-package.json +15 -0
  46. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Array.elmi +0 -0
  47. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Array.elmo +54 -0
  48. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Basics.elmi +0 -0
  49. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Basics.elmo +125 -0
  50. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Bitwise.elmi +0 -0
  51. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Bitwise.elmo +7 -0
  52. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Char.elmi +0 -0
  53. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Char.elmo +42 -0
  54. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Color.elmi +0 -0
  55. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Color.elmo +165 -0
  56. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Date.elmi +0 -0
  57. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Date.elmo +32 -0
  58. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Debug.elmi +0 -0
  59. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Debug.elmo +2 -0
  60. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Dict.elmi +0 -0
  61. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Dict.elmo +916 -0
  62. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Decode.elmi +0 -0
  63. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Decode.elmo +62 -0
  64. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Encode.elmi +0 -0
  65. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Encode.elmo +10 -0
  66. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/List.elmi +0 -0
  67. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/List.elmo +545 -0
  68. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Maybe.elmi +0 -0
  69. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Maybe.elmo +72 -0
  70. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Cmd.elmi +0 -0
  71. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Cmd.elmo +14 -0
  72. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Sub.elmi +0 -0
  73. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Sub.elmo +5 -0
  74. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform.elmi +0 -0
  75. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform.elmo +9 -0
  76. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Process.elmi +0 -0
  77. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Process.elmo +3 -0
  78. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Random.elmi +0 -0
  79. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Random.elmo +378 -0
  80. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Regex.elmi +0 -0
  81. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Regex.elmo +16 -0
  82. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Result.elmi +0 -0
  83. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Result.elmo +141 -0
  84. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Set.elmi +0 -0
  85. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Set.elmo +130 -0
  86. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/String.elmi +0 -0
  87. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/String.elmo +43 -0
  88. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Task.elmi +0 -0
  89. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Task.elmo +196 -0
  90. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Time.elmi +0 -0
  91. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Time.elmo +187 -0
  92. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Tuple.elmi +0 -0
  93. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Tuple.elmo +26 -0
  94. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/graph.dat +0 -0
  95. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmi +0 -0
  96. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmo +349 -0
  97. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmi +0 -0
  98. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmo +114 -0
  99. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmi +0 -0
  100. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmo +3 -0
  101. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmi +0 -0
  102. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmo +3 -0
  103. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html.elmi +0 -0
  104. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html.elmo +124 -0
  105. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/graph.dat +0 -0
  106. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Debug.elmi +0 -0
  107. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Debug.elmo +622 -0
  108. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Expando.elmi +0 -0
  109. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Expando.elmo +1353 -0
  110. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Helpers.elmi +0 -0
  111. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Helpers.elmo +45 -0
  112. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-History.elmi +0 -0
  113. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-History.elmo +367 -0
  114. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Metadata.elmi +0 -0
  115. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Metadata.elmo +393 -0
  116. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Overlay.elmi +0 -0
  117. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Overlay.elmo +793 -0
  118. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Report.elmi +0 -0
  119. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Report.elmo +98 -0
  120. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom.elmi +0 -0
  121. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom.elmo +30 -0
  122. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/graph.dat +0 -0
  123. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/user/project/1.0.0/Main.elmi +0 -0
  124. data/test/rails4.2/elm-stuff/build-artifacts/0.18.0/user/project/1.0.0/Main.elmo +2 -0
  125. data/test/rails4.2/elm-stuff/exact-dependencies.json +5 -0
  126. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/CONTRIBUTING.md +41 -0
  127. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/LICENSE +30 -0
  128. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/README.md +34 -0
  129. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/changelog.md +143 -0
  130. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/elm-package.json +38 -0
  131. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Array.elm +240 -0
  132. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Basics.elm +655 -0
  133. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Bitwise.elm +90 -0
  134. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Char.elm +103 -0
  135. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Color.elm +456 -0
  136. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Date.elm +150 -0
  137. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Debug.elm +62 -0
  138. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Dict.elm +661 -0
  139. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Json/Decode.elm +520 -0
  140. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Json/Encode.elm +102 -0
  141. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/List.elm +603 -0
  142. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Maybe.elm +157 -0
  143. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Array.js +967 -0
  144. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Basics.js +141 -0
  145. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Bitwise.js +13 -0
  146. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Char.js +14 -0
  147. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Date.js +33 -0
  148. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Debug.js +30 -0
  149. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Json.js +580 -0
  150. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/List.js +137 -0
  151. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Platform.js +560 -0
  152. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Regex.js +119 -0
  153. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Scheduler.js +281 -0
  154. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/String.js +335 -0
  155. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Time.js +27 -0
  156. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Utils.js +489 -0
  157. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform/Cmd.elm +67 -0
  158. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform/Sub.elm +52 -0
  159. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform.elm +145 -0
  160. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Process.elm +106 -0
  161. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Random.elm +532 -0
  162. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Regex.elm +148 -0
  163. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Result.elm +210 -0
  164. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Set.elm +168 -0
  165. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/String.elm +464 -0
  166. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Task.elm +278 -0
  167. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Time.elm +243 -0
  168. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/src/Tuple.elm +61 -0
  169. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Array.elm +90 -0
  170. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Basics.elm +158 -0
  171. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Bitwise.elm +50 -0
  172. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Char.elm +93 -0
  173. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/CodeGen.elm +59 -0
  174. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Dict.elm +79 -0
  175. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Equality.elm +28 -0
  176. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Json.elm +83 -0
  177. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/List.elm +165 -0
  178. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Regex.elm +46 -0
  179. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Result.elm +60 -0
  180. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Set.elm +29 -0
  181. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/String.elm +41 -0
  182. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test.elm +40 -0
  183. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/elm-package.json +16 -0
  184. data/test/rails4.2/elm-stuff/packages/elm-lang/core/5.0.0/tests/run-tests.sh +18 -0
  185. data/test/rails4.2/elm-stuff/packages/elm-lang/html/2.0.0/LICENSE +30 -0
  186. data/test/rails4.2/elm-stuff/packages/elm-lang/html/2.0.0/README.md +5 -0
  187. data/test/rails4.2/elm-stuff/packages/elm-lang/html/2.0.0/elm-package.json +21 -0
  188. data/test/rails4.2/elm-stuff/packages/elm-lang/html/2.0.0/properties-vs-attributes.md +15 -0
  189. data/test/rails4.2/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Attributes.elm +1009 -0
  190. data/test/rails4.2/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Events.elm +269 -0
  191. data/test/rails4.2/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Keyed.elm +48 -0
  192. data/test/rails4.2/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Lazy.elm +48 -0
  193. data/test/rails4.2/elm-stuff/packages/elm-lang/html/2.0.0/src/Html.elm +923 -0
  194. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/LICENSE +30 -0
  195. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/README.md +5 -0
  196. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/elm-package.json +17 -0
  197. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/Native/Debug.js +280 -0
  198. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/Native/VirtualDom.js +1881 -0
  199. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Debug.elm +567 -0
  200. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Expando.elm +659 -0
  201. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Helpers.elm +137 -0
  202. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/History.elm +290 -0
  203. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Metadata.elm +326 -0
  204. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Overlay.elm +541 -0
  205. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Report.elm +99 -0
  206. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom.elm +331 -0
  207. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/Native/TestHelpers.js +35 -0
  208. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/TestCases/Lazy.elm +72 -0
  209. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/TestHelpers.elm +34 -0
  210. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/TestMain.elm +18 -0
  211. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/elm-package.json +18 -0
  212. data/test/rails4.2/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/run-tests.sh +24 -0
  213. data/test/rails4.2/log/development.log +0 -0
  214. data/test/rails4.2/public/404.html +67 -0
  215. data/test/rails4.2/public/422.html +67 -0
  216. data/test/rails4.2/public/500.html +66 -0
  217. data/test/rails4.2/public/assets/App-7d929e251b1b5953bc83f870e24e45eb1fa7b0a02381f6f35c22e4f2217c741f.elm +7 -0
  218. data/test/rails4.2/public/assets/App-7d929e251b1b5953bc83f870e24e45eb1fa7b0a02381f6f35c22e4f2217c741f.elm.gz +0 -0
  219. data/test/rails4.2/public/assets/application-469de1fc2cc36f411d3b3eadfedae733601a2e46e2b263ae5f43edfd07b90f9a.js +7832 -0
  220. data/test/rails4.2/public/assets/application-469de1fc2cc36f411d3b3eadfedae733601a2e46e2b263ae5f43edfd07b90f9a.js.gz +0 -0
  221. data/test/rails4.2/public/assets/application-e80e8f2318043e8af94dddc2adad5a4f09739a8ebb323b3ab31cd71d45fd9113.css +16 -0
  222. data/test/rails4.2/public/assets/application-e80e8f2318043e8af94dddc2adad5a4f09739a8ebb323b3ab31cd71d45fd9113.css.gz +0 -0
  223. data/test/rails4.2/public/favicon.ico +0 -0
  224. data/test/rails4.2/public/robots.txt +5 -0
  225. data/test/rails4.2/test/test_helper.rb +10 -0
  226. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/3Z/3ZUHn6AXhav97w7CxzPk35QWKSdt2_NCypMlfBdbups.cache +12 -0
  227. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/5L/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +2 -0
  228. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/71/71BGoYgC3JqePcE6mkmZGNm3Hfsplh6GflNISb1nXDY.cache +0 -0
  229. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/7S/7SQg7etrus-CzMQvT50aoqaBFr3g7-XySHgIIYYi120.cache +1 -0
  230. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/8C/8CWOHQ8XpWWEQhSbnexku4svsDm4D6D4khMM1U-hefo.cache +1 -0
  231. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/IL/ILmLNBWq6NCoxa6wQBxL0QZQ1tl0B5EIHe7XNBBzD1c.cache +0 -0
  232. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/Jw/Jw2wqmTaqaVoWeJUIJTeAya_hLYhvjMluyuIExcy7RQ.cache +1 -0
  233. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/KO/KOowMnhBFbIfSnPnJZMvcBO-Ty7jfGMZhfCPyToJ0A0.cache +0 -0
  234. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/LY/LYDHbQunWPAx1lUtqHvYce69OCXyJ_ddebDFMKNuqlI.cache +2 -0
  235. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/OI/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +2 -0
  236. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/SD/SDBBYwPJLyEQ0kGeBlzlcA-ZfyOrEXYYMADcJmj99CY.cache +1 -0
  237. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/SQ/SQimA5KzAj_p9zMNAsX60SUcMn2uuF16TZC9Klnra0I.cache +0 -0
  238. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/TB/TB5cZ_yulrrkXOX5VPV-Hy5BzCg9Qmp1Cd76AK0H1bw.cache +1 -0
  239. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/Xr/Xrv18wc_alopx84_TfluuduEqUFCvzvieMl9h0IONy8.cache +1 -0
  240. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/_0/_0WRX8uYUBKibrKHGMOPi9ffV0Inaw32I7fxq3XqXZE.cache +1 -0
  241. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/cQ/cQqYRTAhh55ixFFFweV5kSlUV8uTd-quLQSppYOw_HY.cache +0 -0
  242. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/f7/f7vLTrT3HIZzA85tAlEpmeTxMz_oRIycHo8pJytouk4.cache +1 -0
  243. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/gz/gztd2iOfuGm_FtspKA2TGTb05WC_ma2r-cStMmahKA4.cache +1 -0
  244. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/hU/hUc40B5Z1hDZyLf6j_tnQZtdiKDG5hlWrztJBska0PE.cache +3 -0
  245. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/pu/puuyFOZIeE21lmTrCNiNXukuNcijKwpMdOYC1egNvNg.cache +3 -0
  246. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/tR/tRv7-RPbJTn8ti-ONHftBMGXAAV4zzK02vrO2kOYsMA.cache +1 -0
  247. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/vP/vPP5AGlfEDDH5hIun-dIdpO1CYuIZo_fknD6Gkm2hKE.cache +2 -0
  248. data/test/rails4.2/tmp/cache/assets/sprockets/v3.0/yv/yvroNANofqgnk7FsbrrvJ5jFI9iXwLYf9WP7_ZKa82k.cache +1 -0
  249. data/test/rails5.0/Gemfile +51 -0
  250. data/test/rails5.0/Gemfile.lock +183 -0
  251. data/test/rails5.0/README.md +24 -0
  252. data/test/rails5.0/Rakefile +6 -0
  253. data/test/rails5.0/app/assets/config/manifest.js +3 -0
  254. data/test/rails5.0/app/assets/elm/App.elm +7 -0
  255. data/test/rails5.0/app/assets/javascripts/application.js +1 -0
  256. data/test/rails5.0/app/assets/javascripts/cable.js +13 -0
  257. data/test/rails5.0/app/assets/stylesheets/application.css +15 -0
  258. data/test/rails5.0/app/channels/application_cable/channel.rb +4 -0
  259. data/test/rails5.0/app/channels/application_cable/connection.rb +4 -0
  260. data/test/rails5.0/app/controllers/application_controller.rb +3 -0
  261. data/test/rails5.0/app/helpers/application_helper.rb +2 -0
  262. data/test/rails5.0/app/jobs/application_job.rb +2 -0
  263. data/test/rails5.0/app/mailers/application_mailer.rb +4 -0
  264. data/test/rails5.0/app/models/application_record.rb +3 -0
  265. data/test/rails5.0/app/views/layouts/application.html.erb +14 -0
  266. data/test/rails5.0/app/views/layouts/mailer.html.erb +13 -0
  267. data/test/rails5.0/app/views/layouts/mailer.text.erb +1 -0
  268. data/test/rails5.0/bin/bundle +3 -0
  269. data/test/rails5.0/bin/rails +9 -0
  270. data/test/rails5.0/bin/rake +9 -0
  271. data/test/rails5.0/bin/setup +34 -0
  272. data/test/rails5.0/bin/spring +16 -0
  273. data/test/rails5.0/bin/update +29 -0
  274. data/test/rails5.0/config/application.rb +15 -0
  275. data/test/rails5.0/config/boot.rb +3 -0
  276. data/test/rails5.0/config/cable.yml +9 -0
  277. data/test/rails5.0/config/database.yml +25 -0
  278. data/test/rails5.0/config/environment.rb +5 -0
  279. data/test/rails5.0/config/environments/development.rb +54 -0
  280. data/test/rails5.0/config/environments/production.rb +86 -0
  281. data/test/rails5.0/config/environments/test.rb +42 -0
  282. data/test/rails5.0/config/initializers/application_controller_renderer.rb +6 -0
  283. data/test/rails5.0/config/initializers/assets.rb +11 -0
  284. data/test/rails5.0/config/initializers/backtrace_silencers.rb +7 -0
  285. data/test/rails5.0/config/initializers/cookies_serializer.rb +5 -0
  286. data/test/rails5.0/config/initializers/filter_parameter_logging.rb +4 -0
  287. data/test/rails5.0/config/initializers/inflections.rb +16 -0
  288. data/test/rails5.0/config/initializers/mime_types.rb +4 -0
  289. data/test/rails5.0/config/initializers/new_framework_defaults.rb +24 -0
  290. data/test/rails5.0/config/initializers/session_store.rb +3 -0
  291. data/test/rails5.0/config/initializers/wrap_parameters.rb +14 -0
  292. data/test/rails5.0/config/locales/en.yml +23 -0
  293. data/test/rails5.0/config/puma.rb +47 -0
  294. data/test/rails5.0/config/routes.rb +3 -0
  295. data/test/rails5.0/config/secrets.yml +22 -0
  296. data/test/rails5.0/config/spring.rb +6 -0
  297. data/test/rails5.0/config.ru +5 -0
  298. data/test/rails5.0/db/seeds.rb +7 -0
  299. data/test/rails5.0/elm-package.json +15 -0
  300. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Array.elmi +0 -0
  301. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Array.elmo +54 -0
  302. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Basics.elmi +0 -0
  303. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Basics.elmo +125 -0
  304. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Bitwise.elmi +0 -0
  305. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Bitwise.elmo +7 -0
  306. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Char.elmi +0 -0
  307. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Char.elmo +42 -0
  308. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Color.elmi +0 -0
  309. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Color.elmo +165 -0
  310. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Date.elmi +0 -0
  311. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Date.elmo +32 -0
  312. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Debug.elmi +0 -0
  313. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Debug.elmo +2 -0
  314. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Dict.elmi +0 -0
  315. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Dict.elmo +916 -0
  316. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Decode.elmi +0 -0
  317. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Decode.elmo +62 -0
  318. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Encode.elmi +0 -0
  319. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Json-Encode.elmo +10 -0
  320. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/List.elmi +0 -0
  321. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/List.elmo +545 -0
  322. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Maybe.elmi +0 -0
  323. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Maybe.elmo +72 -0
  324. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Cmd.elmi +0 -0
  325. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Cmd.elmo +14 -0
  326. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Sub.elmi +0 -0
  327. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform-Sub.elmo +5 -0
  328. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform.elmi +0 -0
  329. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Platform.elmo +9 -0
  330. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Process.elmi +0 -0
  331. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Process.elmo +3 -0
  332. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Random.elmi +0 -0
  333. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Random.elmo +378 -0
  334. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Regex.elmi +0 -0
  335. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Regex.elmo +16 -0
  336. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Result.elmi +0 -0
  337. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Result.elmo +141 -0
  338. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Set.elmi +0 -0
  339. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Set.elmo +130 -0
  340. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/String.elmi +0 -0
  341. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/String.elmo +43 -0
  342. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Task.elmi +0 -0
  343. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Task.elmo +196 -0
  344. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Time.elmi +0 -0
  345. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Time.elmo +187 -0
  346. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Tuple.elmi +0 -0
  347. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/Tuple.elmo +26 -0
  348. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/core/5.0.0/graph.dat +0 -0
  349. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmi +0 -0
  350. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Attributes.elmo +349 -0
  351. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmi +0 -0
  352. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Events.elmo +114 -0
  353. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmi +0 -0
  354. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Keyed.elmo +3 -0
  355. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmi +0 -0
  356. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html-Lazy.elmo +3 -0
  357. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html.elmi +0 -0
  358. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/Html.elmo +124 -0
  359. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/html/2.0.0/graph.dat +0 -0
  360. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Debug.elmi +0 -0
  361. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Debug.elmo +622 -0
  362. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Expando.elmi +0 -0
  363. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Expando.elmo +1353 -0
  364. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Helpers.elmi +0 -0
  365. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Helpers.elmo +45 -0
  366. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-History.elmi +0 -0
  367. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-History.elmo +367 -0
  368. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Metadata.elmi +0 -0
  369. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Metadata.elmo +393 -0
  370. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Overlay.elmi +0 -0
  371. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Overlay.elmo +793 -0
  372. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Report.elmi +0 -0
  373. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom-Report.elmo +98 -0
  374. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom.elmi +0 -0
  375. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/VirtualDom.elmo +30 -0
  376. data/test/rails5.0/elm-stuff/build-artifacts/0.18.0/elm-lang/virtual-dom/2.0.3/graph.dat +0 -0
  377. data/test/rails5.0/elm-stuff/exact-dependencies.json +5 -0
  378. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/CONTRIBUTING.md +41 -0
  379. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/LICENSE +30 -0
  380. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/README.md +34 -0
  381. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/changelog.md +143 -0
  382. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/elm-package.json +38 -0
  383. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Array.elm +240 -0
  384. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Basics.elm +655 -0
  385. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Bitwise.elm +90 -0
  386. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Char.elm +103 -0
  387. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Color.elm +456 -0
  388. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Date.elm +150 -0
  389. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Debug.elm +62 -0
  390. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Dict.elm +661 -0
  391. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Json/Decode.elm +520 -0
  392. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Json/Encode.elm +102 -0
  393. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/List.elm +603 -0
  394. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Maybe.elm +157 -0
  395. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Array.js +967 -0
  396. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Basics.js +141 -0
  397. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Bitwise.js +13 -0
  398. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Char.js +14 -0
  399. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Date.js +33 -0
  400. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Debug.js +30 -0
  401. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Json.js +580 -0
  402. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/List.js +137 -0
  403. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Platform.js +560 -0
  404. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Regex.js +119 -0
  405. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Scheduler.js +281 -0
  406. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/String.js +335 -0
  407. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Time.js +27 -0
  408. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Native/Utils.js +489 -0
  409. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform/Cmd.elm +67 -0
  410. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform/Sub.elm +52 -0
  411. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Platform.elm +145 -0
  412. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Process.elm +106 -0
  413. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Random.elm +532 -0
  414. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Regex.elm +148 -0
  415. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Result.elm +210 -0
  416. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Set.elm +168 -0
  417. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/String.elm +464 -0
  418. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Task.elm +278 -0
  419. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Time.elm +243 -0
  420. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/src/Tuple.elm +61 -0
  421. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Array.elm +90 -0
  422. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Basics.elm +158 -0
  423. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Bitwise.elm +50 -0
  424. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Char.elm +93 -0
  425. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/CodeGen.elm +59 -0
  426. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Dict.elm +79 -0
  427. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Equality.elm +28 -0
  428. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Json.elm +83 -0
  429. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/List.elm +165 -0
  430. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Regex.elm +46 -0
  431. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Result.elm +60 -0
  432. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/Set.elm +29 -0
  433. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test/String.elm +41 -0
  434. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/Test.elm +40 -0
  435. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/elm-package.json +16 -0
  436. data/test/rails5.0/elm-stuff/packages/elm-lang/core/5.0.0/tests/run-tests.sh +18 -0
  437. data/test/rails5.0/elm-stuff/packages/elm-lang/html/2.0.0/LICENSE +30 -0
  438. data/test/rails5.0/elm-stuff/packages/elm-lang/html/2.0.0/README.md +5 -0
  439. data/test/rails5.0/elm-stuff/packages/elm-lang/html/2.0.0/elm-package.json +21 -0
  440. data/test/rails5.0/elm-stuff/packages/elm-lang/html/2.0.0/properties-vs-attributes.md +15 -0
  441. data/test/rails5.0/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Attributes.elm +1009 -0
  442. data/test/rails5.0/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Events.elm +269 -0
  443. data/test/rails5.0/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Keyed.elm +48 -0
  444. data/test/rails5.0/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Lazy.elm +48 -0
  445. data/test/rails5.0/elm-stuff/packages/elm-lang/html/2.0.0/src/Html.elm +923 -0
  446. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/LICENSE +30 -0
  447. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/README.md +5 -0
  448. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/elm-package.json +17 -0
  449. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/Native/Debug.js +280 -0
  450. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/Native/VirtualDom.js +1881 -0
  451. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Debug.elm +567 -0
  452. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Expando.elm +659 -0
  453. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Helpers.elm +137 -0
  454. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/History.elm +290 -0
  455. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Metadata.elm +326 -0
  456. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Overlay.elm +541 -0
  457. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom/Report.elm +99 -0
  458. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/src/VirtualDom.elm +331 -0
  459. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/Native/TestHelpers.js +35 -0
  460. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/TestCases/Lazy.elm +72 -0
  461. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/TestHelpers.elm +34 -0
  462. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/TestMain.elm +18 -0
  463. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/elm-package.json +18 -0
  464. data/test/rails5.0/elm-stuff/packages/elm-lang/virtual-dom/2.0.3/tests/run-tests.sh +24 -0
  465. data/test/rails5.0/log/development.log +0 -0
  466. data/test/rails5.0/log/test.log +0 -0
  467. data/test/rails5.0/public/404.html +67 -0
  468. data/test/rails5.0/public/422.html +67 -0
  469. data/test/rails5.0/public/500.html +66 -0
  470. data/test/rails5.0/public/apple-touch-icon-precomposed.png +0 -0
  471. data/test/rails5.0/public/apple-touch-icon.png +0 -0
  472. data/test/rails5.0/public/assets/App-1602b94f98947092c88dc265ff74f09a5e843f8da65d389ffbc3e33780fffede.elm +9 -0
  473. data/test/rails5.0/public/assets/App-1602b94f98947092c88dc265ff74f09a5e843f8da65d389ffbc3e33780fffede.elm.gz +0 -0
  474. data/test/rails5.0/public/assets/App-5e519e981b0f90300c651aefaa6caae0d86b07d230d233a1bfb0d39a5d880e3c.elm +1 -0
  475. data/test/rails5.0/public/assets/App-5e519e981b0f90300c651aefaa6caae0d86b07d230d233a1bfb0d39a5d880e3c.elm.gz +0 -0
  476. data/test/rails5.0/public/assets/App-7d929e251b1b5953bc83f870e24e45eb1fa7b0a02381f6f35c22e4f2217c741f.elm +7 -0
  477. data/test/rails5.0/public/assets/App-7d929e251b1b5953bc83f870e24e45eb1fa7b0a02381f6f35c22e4f2217c741f.elm.gz +0 -0
  478. data/test/rails5.0/public/assets/App-8a8d0e9bfb375345038db521f127df9481ab51071ed163f15245377ceb88eaca.elm +8 -0
  479. data/test/rails5.0/public/assets/App-8a8d0e9bfb375345038db521f127df9481ab51071ed163f15245377ceb88eaca.elm.gz +0 -0
  480. data/test/rails5.0/public/assets/App-eca9cb629bea66373157a8cc52c5b0f93a31aaf50ecff27c10d7239be48b248f.elm +9 -0
  481. data/test/rails5.0/public/assets/App-eca9cb629bea66373157a8cc52c5b0f93a31aaf50ecff27c10d7239be48b248f.elm.gz +0 -0
  482. data/test/rails5.0/public/assets/application-4586df2c9172aec6cc707426ba5f83f7a590a4aeac2fe816fa5023c32963f2f9.js +12198 -0
  483. data/test/rails5.0/public/assets/application-4586df2c9172aec6cc707426ba5f83f7a590a4aeac2fe816fa5023c32963f2f9.js.gz +0 -0
  484. data/test/rails5.0/public/assets/application-469de1fc2cc36f411d3b3eadfedae733601a2e46e2b263ae5f43edfd07b90f9a.js +7832 -0
  485. data/test/rails5.0/public/assets/application-469de1fc2cc36f411d3b3eadfedae733601a2e46e2b263ae5f43edfd07b90f9a.js.gz +0 -0
  486. data/test/rails5.0/public/assets/application-af04b226fd7202dfc532ce7aedb95a0128277937e90d3b3a3d35e1cce9e16886.css +16 -0
  487. data/test/rails5.0/public/assets/application-af04b226fd7202dfc532ce7aedb95a0128277937e90d3b3a3d35e1cce9e16886.css.gz +0 -0
  488. data/test/rails5.0/public/favicon.ico +0 -0
  489. data/test/rails5.0/public/robots.txt +5 -0
  490. data/test/rails5.0/test/test_helper.rb +10 -0
  491. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/0Y/0YB7dUAeS_crvTkoNmYLCXhHXzZyo1iBdHiGDB66haY.cache +0 -0
  492. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/1N/1NhL0zKSPgA05Uc-SJFX3grlL83t06cgOrX3bVN59rY.cache +3 -0
  493. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/1a/1aCAw9tIoeRlkEQrkNffBdK1iX2sVmGKo0ZSDujjzzQ.cache +1 -0
  494. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/35/35k3BKm9w8BazTN5Y5LaRFfxzV1IXXkXfhyMO-0bbqE.cache +1 -0
  495. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/3H/3HMMKH-mmYBvbL_QMZIVF9hFTjtLPFytSfllY3Quc40.cache +1 -0
  496. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/4L/4LstvGmpBCrhBQdjwm9XUSk8KT0o7CTK79wVCZD0rYA.cache +0 -0
  497. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/5n/5nYbBZ2v-Olkh8gU3Gj8q75NJNzG188X8wVFaRMSO4Y.cache +0 -0
  498. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/6k/6kGz9Pbsl1lurmvNTUwodRApjpjcg44MDFmGicCYtkM.cache +1 -0
  499. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/6x/6xh5M9_QsilQ8b2CIjSm980iyp5htgQNGpe2smD8EFY.cache +1 -0
  500. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/7E/7EmKgeIbIEosUjuD7RwrwSOU6qG-YNCXISqzKAIj6XY.cache +1 -0
  501. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/7r/7rKBKpKdQ-dlqhkkPc_YTTDH8Hcb-aA25EWqyF_SCnM.cache +0 -0
  502. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/8E/8EqfkaQzxFfiMRJxFhO6QMYvUsGoreG0wuo0Z9ZIQMI.cache +1 -0
  503. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/9S/9SjxHQK7xOt2WfMDQSUnTh7cRFOD9pYnDnhz-fYcGIM.cache +1 -0
  504. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/9Y/9YPGrz99c2jdTmAXI-gcar5ZuLy_DICUkenwTffZpXM.cache +3 -0
  505. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/9n/9nNrLIfeQBbmhfdE-wyq6IofxTnrSh_qjbhxpIV8e8k.cache +0 -0
  506. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/AD/ADdMEFmbNhFvLXTmHzEKQ6aeGjlW3xFS-SNaOS9G5E0.cache +1 -0
  507. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Aq/AqD6i7Uh0R4iSD3LnqgXtyhDzZulN4Ll4BYugwcVMd8.cache +14 -0
  508. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/B1/B12JeqH5j_oNIiH4FIhK4IIogEXMhp7HkXRDG5_W9TE.cache +1 -0
  509. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/B9/B9QjSHDYRcZ6vHYyAL-9LVloVXrAxRNuLBhBQlszyYY.cache +0 -0
  510. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Br/BrAzyoqGDsBq0SuTmtVy_UPxIRQ6GT9GZ4rtUWXur50.cache +1 -0
  511. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Bx/BxzoG0KxeNLac4xTNeJv3qfeytbNBw58xj2zD-xdbrE.cache +2 -0
  512. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/H1/H1jTfx5eWFTr9nS4BAYci_jWFKDFikgWTQfytyXbxE8.cache +1 -0
  513. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/He/HeCPR0vx95YOit3sQBrJqvU-qt5UlrVo6oR3gmLsVRE.cache +1 -0
  514. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Ik/IkfUJk7rZOFkONwuH61NE0Qm02VNU_Kzs2BXpLxU_jA.cache +0 -0
  515. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Il/Il5IfApBiO1hgPEjL4xSAmMFSLuMGqPKdqHxVKl4xto.cache +0 -0
  516. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/J0/J0jmom5PJvcEBroo5EmWZWwS-qIS_vrXeDWc7eno-Bo.cache +1 -0
  517. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Ja/JacseGFSNScIY88_jg9qPVjxr8noy1N-SqVqj639jqM.cache +2 -0
  518. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/KK/KKsRXpOYUoX-CUIJkA1HOY5KZSS95aEclXJ2W435720.cache +3 -0
  519. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Kg/Kgkr5ONb7guGJNJQ1Kk_cYcJ8P9SyW6pQ9rcBL1NRU4.cache +1 -0
  520. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Ko/Ko3lwpLJwK6NWfB58rcpen0NlXa3kpCsc4RAKKT6Kpk.cache +0 -0
  521. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/LY/LYDHbQunWPAx1lUtqHvYce69OCXyJ_ddebDFMKNuqlI.cache +0 -0
  522. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/NB/NBzfgqIkjfw28ZiYRd57NZjfR58xLNoos_RalMVjNbg.cache +1 -0
  523. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Nf/NfYfMVLdt_Ou9w7rLSKpXrPDpgDbZrBnQ4z-Hum-6vI.cache +3 -0
  524. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/O9/O9TrSGgLM3Z_MRoHypJwNImwwSQ4RrvgHT8jvNgJEw8.cache +1 -0
  525. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/OD/ODpH56RUMtxnzhaH5U_u4tOMq8TBgYFxa_uOtVDIYYY.cache +0 -0
  526. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Og/Ogbuh2wE0u29GxE1agxdqtbvGm1gNQDgbAsON6mmqEs.cache +1 -0
  527. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/PD/PDGhNPQf4tpr04KnK-MVoL7vfP1-IkOZ82t96aM9rzU.cache +0 -0
  528. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/S0/S0YVAAdEQsPWUvEL2HO_0mkuTBPd1YN5qnFMZdbl__s.cache +1 -0
  529. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/SH/SHzDzeCYjrPInxH5PdvvnaSwG6saboDBExYeizii9l8.cache +12 -0
  530. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/V3/V3n8zFh7QU2BX4zbGf-6u3v3UV6gk-Kd4ukzWRKzygE.cache +0 -0
  531. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/VJ/VJhOylb5YLNno0g3xGtELVfa6ADi2hjAKipWJHNwmaw.cache +3 -0
  532. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/VU/VUgLLHwZhPSRCNTktsMDxGoe9FM10f1KyYCYHtM9i6s.cache +1 -0
  533. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/VX/VXJe3zEbcTeaXjBIUHOqnlo0wzUJFGr4qbX1a07mhCU.cache +1 -0
  534. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Vl/VlNigKvkrAT-d0xZ-dPrWFc5-ftFTPWjgV-pNXINZNI.cache +1 -0
  535. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/W9/W9hQOrzOprntvhFuuLQMjVuIqkA4glCKEU85O97ePPg.cache +1 -0
  536. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Wl/WlA2b2ztRT1INWN_KF2AQYcgo6xtPD5MN4Xbn6Y0P4c.cache +1 -0
  537. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/XO/XOQxQt2ChZX9nP-bS-4LeZpDoXqgy8b0ZeDrBv7Fm7E.cache +0 -0
  538. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Ya/YA2cPxMXBtg-8-rve8W_M3jPY9XWs7m0Shsiqp8gQws.cache +1 -0
  539. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Ya/YayMISAqD-Y3vBFywwKrXbUovGf5o77HUF5s8mnQgO0.cache +0 -0
  540. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Yh/YhLPDOqEMwfXgbP2sDA4lj6jrbOvB7bC_uxlXzV_TQE.cache +1 -0
  541. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/Yi/YiYRhSq0opHKMpfxdgTluU5wxBb3DiqZwjHmFTpvFHw.cache +1 -0
  542. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/_g/_gcA7ve5b9gRqyMtexel8zqzGx251FMb6tjSg2RWOW8.cache +1 -0
  543. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/aO/aOnqAc44IjU1sN_EMsXGnQ0JKh9IcG460FYR5bIrFms.cache +1 -0
  544. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/bP/bPPhf5cxBG77CDeKdBShe42BgQoDTLDoTLD3zruq1W0.cache +1 -0
  545. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/ba/baB1035_Crz8wasVlcXhl_FU16sjjVvXpxIe38OPvXQ.cache +1 -0
  546. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/df/dfWZd4DzOiImVd7W0kkLrInPO1OOqVzpfz5sSvjF-Uo.cache +1 -0
  547. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/eA/eAld1SKvn6CmGs606xnR5u_RD-9jztgHGg80umZcU1E.cache +1 -0
  548. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/gh/ghVAcaqdDpGTOqJjPARKgCiR8CiHW6QlnKTOF9e9ORI.cache +1 -0
  549. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/hR/hRvM5YCxMAgeLQZUX1xYPkVAuja6B4tOqBQAkydPLJU.cache +1 -0
  550. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/hU/hUc40B5Z1hDZyLf6j_tnQZtdiKDG5hlWrztJBska0PE.cache +3 -0
  551. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/hp/hppUy6OHEQcsWCk8s_i6M5mO9LNdD9yRZb5kX4ptVrc.cache +1 -0
  552. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/iU/iUAm_moTHIafsRJIY5-RfSh2OKUIz_yhNnQqpUVBNYQ.cache +3 -0
  553. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/jZ/JZxXAA7PYxyTc8rmt8jxfR8grbq2jBfZbseUMSuH8zk.cache +1 -0
  554. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/jZ/jZMUnpPr_EmTmI8mHPj7EQicOUHDug2aEoohjId_0Yk.cache +0 -0
  555. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/je/je5iFjCcUlxNbZPRHgNBSB6qWaC9kCNxQ6q1yj_qOOY.cache +1 -0
  556. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/kV/kVOpHbvQlTwqjBkr02sqtQqzLzxINYcecM_naAzjdC0.cache +1 -0
  557. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/lt/ltXAG0-rNlM_PLKTy1WHlI7D1O_CMbd84zaRydmU-Rg.cache +3 -0
  558. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/n3/n3lkVpUjkcCDAQhxykQ6y8IP6y1JdTtH06FRqfkq9LI.cache +0 -0
  559. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/nJ/nJdrXYYtjc5zT8HUWi7je-yfrVicfQZvwRqPzaCa6wk.cache +0 -0
  560. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/n_/n_xYqQYhwEMQknb3jFQnjlxxBE9TzMNHCdJ-bEyZFIw.cache +2 -0
  561. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/nd/nd-cz3iq2NvZgc2KOeAgQoVy3JMKsXNeLqWxG6FteZI.cache +0 -0
  562. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/nx/nxTv3sKVUQZADJyM3dPaVmUA78MIsMLD_K279yN_GsI.cache +2 -0
  563. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/oW/oWyRdiks7gwGe0iIy_7eP4tuLKREDJpw5zmcvzTcz6A.cache +1 -0
  564. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/pg/pg9UjX5tF6eU8BVS5bMsq1C-zoY8SryXO2KGgRQlTss.cache +1 -0
  565. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/pu/puuyFOZIeE21lmTrCNiNXukuNcijKwpMdOYC1egNvNg.cache +3 -0
  566. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/qA/qAs4p5gy36IKHVRTncIU2bEoe5U7AfqZbEfHn53X_8o.cache +1 -0
  567. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/r5/r50Jp6i83eTDHlxTfnNc3wsRhTkVGnBnoPm8Qu6ygk4.cache +1 -0
  568. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/rw/rwpefxNnYvOKp9N-3v7kg_-CK3lbIjgExClJ5C2qDlc.cache +1 -0
  569. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/sD/sDyffi23VNNBUqPAOf8uo7Jc_-JJBh_XGi-sG-OwCi4.cache +1 -0
  570. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/sJ/sJ_lXp0OZ-d7xXSO7IYvbYXNnRfmoF4y_wtVeHyro0M.cache +0 -0
  571. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/sV/sVvb4rIxllY1RcnneFQOouJRcNLkQOPJsXMXfyrpWl4.cache +1 -0
  572. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/st/stJIDRPJd8LU1crSDOT6xb63bnHMwWO4uZ61z36ULO4.cache +1 -0
  573. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/tE/tEY3hs40EEJehLXOpxKqICNDETqbP3DVCUnrgXfyQxw.cache +1 -0
  574. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/uG/uGZh7ticrbdLry2ydkTxxa9RaZYIsvbcJ057EcQueW8.cache +0 -0
  575. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/v9/v9cyeu6pHsQwNBnaL4mINPaINTR7_dNGEQ00mceS32c.cache +1 -0
  576. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/vK/vKJHMH5Wqw3Wo2DhWgK89qPpgICbKVGlbi7Epi81gWU.cache +1 -0
  577. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/vP/vPP5AGlfEDDH5hIun-dIdpO1CYuIZo_fknD6Gkm2hKE.cache +2 -0
  578. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/vV/vV1yyk2vB13JUn09187gZiT8X8m5KEuoXpzNXurlOac.cache +1 -0
  579. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/vm/vmwJEykJEbQgCiW25SHHCVsIr-mYCWzhbBqXfnXbeag.cache +1 -0
  580. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/w4/w4A4RKVM0xMsKjHNht7XVaSOGkromySr10SKObjndhE.cache +7 -0
  581. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/wA/wADgvgw7vRo-sR-CZWwBHg9f7eRGZxNv8hM5eYH4JDU.cache +1 -0
  582. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/x7/x7PYh8DJvPykcEqpVab2vcY9-GFz-3cqtoMlRAu94Uc.cache +2 -0
  583. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/zB/zBYhnUcTDDOZYknO_mReeJDV-GDjp4GG2arMnzKck4c.cache +3 -0
  584. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/zC/zCss2J7QY-MVljeBbkecU985YlJ18YOkRRGy4BnJtkQ.cache +1 -0
  585. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/zm/zm9elFKfdhwhhSo15dXPFF3VYW_YQj-vbTgLhM-twP0.cache +1 -0
  586. data/test/rails5.0/tmp/cache/assets/sprockets/v3.0/zv/zvZfghSs_sLIZlmb5anW4qZc40WkO23Afn41Xy2RljQ.cache +1 -0
  587. metadata +1166 -10
  588. data/app/assets/javascripts/elm_modules.js.erb +0 -1
  589. data/app/helpers/elm_view_helper.rb +0 -21
  590. data/app/views/elm/mount_script.js.erb +0 -29
  591. data/lib/elm/rails/engine.rb +0 -6
@@ -0,0 +1,1881 @@
1
+ var _elm_lang$virtual_dom$VirtualDom_Debug$wrap;
2
+ var _elm_lang$virtual_dom$VirtualDom_Debug$wrapWithFlags;
3
+
4
+ var _elm_lang$virtual_dom$Native_VirtualDom = function() {
5
+
6
+ var STYLE_KEY = 'STYLE';
7
+ var EVENT_KEY = 'EVENT';
8
+ var ATTR_KEY = 'ATTR';
9
+ var ATTR_NS_KEY = 'ATTR_NS';
10
+
11
+ var localDoc = typeof document !== 'undefined' ? document : {};
12
+
13
+
14
+ //////////// VIRTUAL DOM NODES ////////////
15
+
16
+
17
+ function text(string)
18
+ {
19
+ return {
20
+ type: 'text',
21
+ text: string
22
+ };
23
+ }
24
+
25
+
26
+ function node(tag)
27
+ {
28
+ return F2(function(factList, kidList) {
29
+ return nodeHelp(tag, factList, kidList);
30
+ });
31
+ }
32
+
33
+
34
+ function nodeHelp(tag, factList, kidList)
35
+ {
36
+ var organized = organizeFacts(factList);
37
+ var namespace = organized.namespace;
38
+ var facts = organized.facts;
39
+
40
+ var children = [];
41
+ var descendantsCount = 0;
42
+ while (kidList.ctor !== '[]')
43
+ {
44
+ var kid = kidList._0;
45
+ descendantsCount += (kid.descendantsCount || 0);
46
+ children.push(kid);
47
+ kidList = kidList._1;
48
+ }
49
+ descendantsCount += children.length;
50
+
51
+ return {
52
+ type: 'node',
53
+ tag: tag,
54
+ facts: facts,
55
+ children: children,
56
+ namespace: namespace,
57
+ descendantsCount: descendantsCount
58
+ };
59
+ }
60
+
61
+
62
+ function keyedNode(tag, factList, kidList)
63
+ {
64
+ var organized = organizeFacts(factList);
65
+ var namespace = organized.namespace;
66
+ var facts = organized.facts;
67
+
68
+ var children = [];
69
+ var descendantsCount = 0;
70
+ while (kidList.ctor !== '[]')
71
+ {
72
+ var kid = kidList._0;
73
+ descendantsCount += (kid._1.descendantsCount || 0);
74
+ children.push(kid);
75
+ kidList = kidList._1;
76
+ }
77
+ descendantsCount += children.length;
78
+
79
+ return {
80
+ type: 'keyed-node',
81
+ tag: tag,
82
+ facts: facts,
83
+ children: children,
84
+ namespace: namespace,
85
+ descendantsCount: descendantsCount
86
+ };
87
+ }
88
+
89
+
90
+ function custom(factList, model, impl)
91
+ {
92
+ var facts = organizeFacts(factList).facts;
93
+
94
+ return {
95
+ type: 'custom',
96
+ facts: facts,
97
+ model: model,
98
+ impl: impl
99
+ };
100
+ }
101
+
102
+
103
+ function map(tagger, node)
104
+ {
105
+ return {
106
+ type: 'tagger',
107
+ tagger: tagger,
108
+ node: node,
109
+ descendantsCount: 1 + (node.descendantsCount || 0)
110
+ };
111
+ }
112
+
113
+
114
+ function thunk(func, args, thunk)
115
+ {
116
+ return {
117
+ type: 'thunk',
118
+ func: func,
119
+ args: args,
120
+ thunk: thunk,
121
+ node: undefined
122
+ };
123
+ }
124
+
125
+ function lazy(fn, a)
126
+ {
127
+ return thunk(fn, [a], function() {
128
+ return fn(a);
129
+ });
130
+ }
131
+
132
+ function lazy2(fn, a, b)
133
+ {
134
+ return thunk(fn, [a,b], function() {
135
+ return A2(fn, a, b);
136
+ });
137
+ }
138
+
139
+ function lazy3(fn, a, b, c)
140
+ {
141
+ return thunk(fn, [a,b,c], function() {
142
+ return A3(fn, a, b, c);
143
+ });
144
+ }
145
+
146
+
147
+
148
+ // FACTS
149
+
150
+
151
+ function organizeFacts(factList)
152
+ {
153
+ var namespace, facts = {};
154
+
155
+ while (factList.ctor !== '[]')
156
+ {
157
+ var entry = factList._0;
158
+ var key = entry.key;
159
+
160
+ if (key === ATTR_KEY || key === ATTR_NS_KEY || key === EVENT_KEY)
161
+ {
162
+ var subFacts = facts[key] || {};
163
+ subFacts[entry.realKey] = entry.value;
164
+ facts[key] = subFacts;
165
+ }
166
+ else if (key === STYLE_KEY)
167
+ {
168
+ var styles = facts[key] || {};
169
+ var styleList = entry.value;
170
+ while (styleList.ctor !== '[]')
171
+ {
172
+ var style = styleList._0;
173
+ styles[style._0] = style._1;
174
+ styleList = styleList._1;
175
+ }
176
+ facts[key] = styles;
177
+ }
178
+ else if (key === 'namespace')
179
+ {
180
+ namespace = entry.value;
181
+ }
182
+ else if (key === 'className')
183
+ {
184
+ var classes = facts[key];
185
+ facts[key] = typeof classes === 'undefined'
186
+ ? entry.value
187
+ : classes + ' ' + entry.value;
188
+ }
189
+ else
190
+ {
191
+ facts[key] = entry.value;
192
+ }
193
+ factList = factList._1;
194
+ }
195
+
196
+ return {
197
+ facts: facts,
198
+ namespace: namespace
199
+ };
200
+ }
201
+
202
+
203
+
204
+ //////////// PROPERTIES AND ATTRIBUTES ////////////
205
+
206
+
207
+ function style(value)
208
+ {
209
+ return {
210
+ key: STYLE_KEY,
211
+ value: value
212
+ };
213
+ }
214
+
215
+
216
+ function property(key, value)
217
+ {
218
+ return {
219
+ key: key,
220
+ value: value
221
+ };
222
+ }
223
+
224
+
225
+ function attribute(key, value)
226
+ {
227
+ return {
228
+ key: ATTR_KEY,
229
+ realKey: key,
230
+ value: value
231
+ };
232
+ }
233
+
234
+
235
+ function attributeNS(namespace, key, value)
236
+ {
237
+ return {
238
+ key: ATTR_NS_KEY,
239
+ realKey: key,
240
+ value: {
241
+ value: value,
242
+ namespace: namespace
243
+ }
244
+ };
245
+ }
246
+
247
+
248
+ function on(name, options, decoder)
249
+ {
250
+ return {
251
+ key: EVENT_KEY,
252
+ realKey: name,
253
+ value: {
254
+ options: options,
255
+ decoder: decoder
256
+ }
257
+ };
258
+ }
259
+
260
+
261
+ function equalEvents(a, b)
262
+ {
263
+ if (!a.options === b.options)
264
+ {
265
+ if (a.stopPropagation !== b.stopPropagation || a.preventDefault !== b.preventDefault)
266
+ {
267
+ return false;
268
+ }
269
+ }
270
+ return _elm_lang$core$Native_Json.equality(a.decoder, b.decoder);
271
+ }
272
+
273
+
274
+ function mapProperty(func, property)
275
+ {
276
+ if (property.key !== EVENT_KEY)
277
+ {
278
+ return property;
279
+ }
280
+ return on(
281
+ property.realKey,
282
+ property.value.options,
283
+ A2(_elm_lang$core$Json_Decode$map, func, property.value.decoder)
284
+ );
285
+ }
286
+
287
+
288
+ //////////// RENDER ////////////
289
+
290
+
291
+ function render(vNode, eventNode)
292
+ {
293
+ switch (vNode.type)
294
+ {
295
+ case 'thunk':
296
+ if (!vNode.node)
297
+ {
298
+ vNode.node = vNode.thunk();
299
+ }
300
+ return render(vNode.node, eventNode);
301
+
302
+ case 'tagger':
303
+ var subNode = vNode.node;
304
+ var tagger = vNode.tagger;
305
+
306
+ while (subNode.type === 'tagger')
307
+ {
308
+ typeof tagger !== 'object'
309
+ ? tagger = [tagger, subNode.tagger]
310
+ : tagger.push(subNode.tagger);
311
+
312
+ subNode = subNode.node;
313
+ }
314
+
315
+ var subEventRoot = { tagger: tagger, parent: eventNode };
316
+ var domNode = render(subNode, subEventRoot);
317
+ domNode.elm_event_node_ref = subEventRoot;
318
+ return domNode;
319
+
320
+ case 'text':
321
+ return localDoc.createTextNode(vNode.text);
322
+
323
+ case 'node':
324
+ var domNode = vNode.namespace
325
+ ? localDoc.createElementNS(vNode.namespace, vNode.tag)
326
+ : localDoc.createElement(vNode.tag);
327
+
328
+ applyFacts(domNode, eventNode, vNode.facts);
329
+
330
+ var children = vNode.children;
331
+
332
+ for (var i = 0; i < children.length; i++)
333
+ {
334
+ domNode.appendChild(render(children[i], eventNode));
335
+ }
336
+
337
+ return domNode;
338
+
339
+ case 'keyed-node':
340
+ var domNode = vNode.namespace
341
+ ? localDoc.createElementNS(vNode.namespace, vNode.tag)
342
+ : localDoc.createElement(vNode.tag);
343
+
344
+ applyFacts(domNode, eventNode, vNode.facts);
345
+
346
+ var children = vNode.children;
347
+
348
+ for (var i = 0; i < children.length; i++)
349
+ {
350
+ domNode.appendChild(render(children[i]._1, eventNode));
351
+ }
352
+
353
+ return domNode;
354
+
355
+ case 'custom':
356
+ var domNode = vNode.impl.render(vNode.model);
357
+ applyFacts(domNode, eventNode, vNode.facts);
358
+ return domNode;
359
+ }
360
+ }
361
+
362
+
363
+
364
+ //////////// APPLY FACTS ////////////
365
+
366
+
367
+ function applyFacts(domNode, eventNode, facts)
368
+ {
369
+ for (var key in facts)
370
+ {
371
+ var value = facts[key];
372
+
373
+ switch (key)
374
+ {
375
+ case STYLE_KEY:
376
+ applyStyles(domNode, value);
377
+ break;
378
+
379
+ case EVENT_KEY:
380
+ applyEvents(domNode, eventNode, value);
381
+ break;
382
+
383
+ case ATTR_KEY:
384
+ applyAttrs(domNode, value);
385
+ break;
386
+
387
+ case ATTR_NS_KEY:
388
+ applyAttrsNS(domNode, value);
389
+ break;
390
+
391
+ case 'value':
392
+ if (domNode[key] !== value)
393
+ {
394
+ domNode[key] = value;
395
+ }
396
+ break;
397
+
398
+ default:
399
+ domNode[key] = value;
400
+ break;
401
+ }
402
+ }
403
+ }
404
+
405
+ function applyStyles(domNode, styles)
406
+ {
407
+ var domNodeStyle = domNode.style;
408
+
409
+ for (var key in styles)
410
+ {
411
+ domNodeStyle[key] = styles[key];
412
+ }
413
+ }
414
+
415
+ function applyEvents(domNode, eventNode, events)
416
+ {
417
+ var allHandlers = domNode.elm_handlers || {};
418
+
419
+ for (var key in events)
420
+ {
421
+ var handler = allHandlers[key];
422
+ var value = events[key];
423
+
424
+ if (typeof value === 'undefined')
425
+ {
426
+ domNode.removeEventListener(key, handler);
427
+ allHandlers[key] = undefined;
428
+ }
429
+ else if (typeof handler === 'undefined')
430
+ {
431
+ var handler = makeEventHandler(eventNode, value);
432
+ domNode.addEventListener(key, handler);
433
+ allHandlers[key] = handler;
434
+ }
435
+ else
436
+ {
437
+ handler.info = value;
438
+ }
439
+ }
440
+
441
+ domNode.elm_handlers = allHandlers;
442
+ }
443
+
444
+ function makeEventHandler(eventNode, info)
445
+ {
446
+ function eventHandler(event)
447
+ {
448
+ var info = eventHandler.info;
449
+
450
+ var value = A2(_elm_lang$core$Native_Json.run, info.decoder, event);
451
+
452
+ if (value.ctor === 'Ok')
453
+ {
454
+ var options = info.options;
455
+ if (options.stopPropagation)
456
+ {
457
+ event.stopPropagation();
458
+ }
459
+ if (options.preventDefault)
460
+ {
461
+ event.preventDefault();
462
+ }
463
+
464
+ var message = value._0;
465
+
466
+ var currentEventNode = eventNode;
467
+ while (currentEventNode)
468
+ {
469
+ var tagger = currentEventNode.tagger;
470
+ if (typeof tagger === 'function')
471
+ {
472
+ message = tagger(message);
473
+ }
474
+ else
475
+ {
476
+ for (var i = tagger.length; i--; )
477
+ {
478
+ message = tagger[i](message);
479
+ }
480
+ }
481
+ currentEventNode = currentEventNode.parent;
482
+ }
483
+ }
484
+ };
485
+
486
+ eventHandler.info = info;
487
+
488
+ return eventHandler;
489
+ }
490
+
491
+ function applyAttrs(domNode, attrs)
492
+ {
493
+ for (var key in attrs)
494
+ {
495
+ var value = attrs[key];
496
+ if (typeof value === 'undefined')
497
+ {
498
+ domNode.removeAttribute(key);
499
+ }
500
+ else
501
+ {
502
+ domNode.setAttribute(key, value);
503
+ }
504
+ }
505
+ }
506
+
507
+ function applyAttrsNS(domNode, nsAttrs)
508
+ {
509
+ for (var key in nsAttrs)
510
+ {
511
+ var pair = nsAttrs[key];
512
+ var namespace = pair.namespace;
513
+ var value = pair.value;
514
+
515
+ if (typeof value === 'undefined')
516
+ {
517
+ domNode.removeAttributeNS(namespace, key);
518
+ }
519
+ else
520
+ {
521
+ domNode.setAttributeNS(namespace, key, value);
522
+ }
523
+ }
524
+ }
525
+
526
+
527
+
528
+ //////////// DIFF ////////////
529
+
530
+
531
+ function diff(a, b)
532
+ {
533
+ var patches = [];
534
+ diffHelp(a, b, patches, 0);
535
+ return patches;
536
+ }
537
+
538
+
539
+ function makePatch(type, index, data)
540
+ {
541
+ return {
542
+ index: index,
543
+ type: type,
544
+ data: data,
545
+ domNode: undefined,
546
+ eventNode: undefined
547
+ };
548
+ }
549
+
550
+
551
+ function diffHelp(a, b, patches, index)
552
+ {
553
+ if (a === b)
554
+ {
555
+ return;
556
+ }
557
+
558
+ var aType = a.type;
559
+ var bType = b.type;
560
+
561
+ // Bail if you run into different types of nodes. Implies that the
562
+ // structure has changed significantly and it's not worth a diff.
563
+ if (aType !== bType)
564
+ {
565
+ patches.push(makePatch('p-redraw', index, b));
566
+ return;
567
+ }
568
+
569
+ // Now we know that both nodes are the same type.
570
+ switch (bType)
571
+ {
572
+ case 'thunk':
573
+ var aArgs = a.args;
574
+ var bArgs = b.args;
575
+ var i = aArgs.length;
576
+ var same = a.func === b.func && i === bArgs.length;
577
+ while (same && i--)
578
+ {
579
+ same = aArgs[i] === bArgs[i];
580
+ }
581
+ if (same)
582
+ {
583
+ b.node = a.node;
584
+ return;
585
+ }
586
+ b.node = b.thunk();
587
+ var subPatches = [];
588
+ diffHelp(a.node, b.node, subPatches, 0);
589
+ if (subPatches.length > 0)
590
+ {
591
+ patches.push(makePatch('p-thunk', index, subPatches));
592
+ }
593
+ return;
594
+
595
+ case 'tagger':
596
+ // gather nested taggers
597
+ var aTaggers = a.tagger;
598
+ var bTaggers = b.tagger;
599
+ var nesting = false;
600
+
601
+ var aSubNode = a.node;
602
+ while (aSubNode.type === 'tagger')
603
+ {
604
+ nesting = true;
605
+
606
+ typeof aTaggers !== 'object'
607
+ ? aTaggers = [aTaggers, aSubNode.tagger]
608
+ : aTaggers.push(aSubNode.tagger);
609
+
610
+ aSubNode = aSubNode.node;
611
+ }
612
+
613
+ var bSubNode = b.node;
614
+ while (bSubNode.type === 'tagger')
615
+ {
616
+ nesting = true;
617
+
618
+ typeof bTaggers !== 'object'
619
+ ? bTaggers = [bTaggers, bSubNode.tagger]
620
+ : bTaggers.push(bSubNode.tagger);
621
+
622
+ bSubNode = bSubNode.node;
623
+ }
624
+
625
+ // Just bail if different numbers of taggers. This implies the
626
+ // structure of the virtual DOM has changed.
627
+ if (nesting && aTaggers.length !== bTaggers.length)
628
+ {
629
+ patches.push(makePatch('p-redraw', index, b));
630
+ return;
631
+ }
632
+
633
+ // check if taggers are "the same"
634
+ if (nesting ? !pairwiseRefEqual(aTaggers, bTaggers) : aTaggers !== bTaggers)
635
+ {
636
+ patches.push(makePatch('p-tagger', index, bTaggers));
637
+ }
638
+
639
+ // diff everything below the taggers
640
+ diffHelp(aSubNode, bSubNode, patches, index + 1);
641
+ return;
642
+
643
+ case 'text':
644
+ if (a.text !== b.text)
645
+ {
646
+ patches.push(makePatch('p-text', index, b.text));
647
+ return;
648
+ }
649
+
650
+ return;
651
+
652
+ case 'node':
653
+ // Bail if obvious indicators have changed. Implies more serious
654
+ // structural changes such that it's not worth it to diff.
655
+ if (a.tag !== b.tag || a.namespace !== b.namespace)
656
+ {
657
+ patches.push(makePatch('p-redraw', index, b));
658
+ return;
659
+ }
660
+
661
+ var factsDiff = diffFacts(a.facts, b.facts);
662
+
663
+ if (typeof factsDiff !== 'undefined')
664
+ {
665
+ patches.push(makePatch('p-facts', index, factsDiff));
666
+ }
667
+
668
+ diffChildren(a, b, patches, index);
669
+ return;
670
+
671
+ case 'keyed-node':
672
+ // Bail if obvious indicators have changed. Implies more serious
673
+ // structural changes such that it's not worth it to diff.
674
+ if (a.tag !== b.tag || a.namespace !== b.namespace)
675
+ {
676
+ patches.push(makePatch('p-redraw', index, b));
677
+ return;
678
+ }
679
+
680
+ var factsDiff = diffFacts(a.facts, b.facts);
681
+
682
+ if (typeof factsDiff !== 'undefined')
683
+ {
684
+ patches.push(makePatch('p-facts', index, factsDiff));
685
+ }
686
+
687
+ diffKeyedChildren(a, b, patches, index);
688
+ return;
689
+
690
+ case 'custom':
691
+ if (a.impl !== b.impl)
692
+ {
693
+ patches.push(makePatch('p-redraw', index, b));
694
+ return;
695
+ }
696
+
697
+ var factsDiff = diffFacts(a.facts, b.facts);
698
+ if (typeof factsDiff !== 'undefined')
699
+ {
700
+ patches.push(makePatch('p-facts', index, factsDiff));
701
+ }
702
+
703
+ var patch = b.impl.diff(a,b);
704
+ if (patch)
705
+ {
706
+ patches.push(makePatch('p-custom', index, patch));
707
+ return;
708
+ }
709
+
710
+ return;
711
+ }
712
+ }
713
+
714
+
715
+ // assumes the incoming arrays are the same length
716
+ function pairwiseRefEqual(as, bs)
717
+ {
718
+ for (var i = 0; i < as.length; i++)
719
+ {
720
+ if (as[i] !== bs[i])
721
+ {
722
+ return false;
723
+ }
724
+ }
725
+
726
+ return true;
727
+ }
728
+
729
+
730
+ // TODO Instead of creating a new diff object, it's possible to just test if
731
+ // there *is* a diff. During the actual patch, do the diff again and make the
732
+ // modifications directly. This way, there's no new allocations. Worth it?
733
+ function diffFacts(a, b, category)
734
+ {
735
+ var diff;
736
+
737
+ // look for changes and removals
738
+ for (var aKey in a)
739
+ {
740
+ if (aKey === STYLE_KEY || aKey === EVENT_KEY || aKey === ATTR_KEY || aKey === ATTR_NS_KEY)
741
+ {
742
+ var subDiff = diffFacts(a[aKey], b[aKey] || {}, aKey);
743
+ if (subDiff)
744
+ {
745
+ diff = diff || {};
746
+ diff[aKey] = subDiff;
747
+ }
748
+ continue;
749
+ }
750
+
751
+ // remove if not in the new facts
752
+ if (!(aKey in b))
753
+ {
754
+ diff = diff || {};
755
+ diff[aKey] =
756
+ (typeof category === 'undefined')
757
+ ? (typeof a[aKey] === 'string' ? '' : null)
758
+ :
759
+ (category === STYLE_KEY)
760
+ ? ''
761
+ :
762
+ (category === EVENT_KEY || category === ATTR_KEY)
763
+ ? undefined
764
+ :
765
+ { namespace: a[aKey].namespace, value: undefined };
766
+
767
+ continue;
768
+ }
769
+
770
+ var aValue = a[aKey];
771
+ var bValue = b[aKey];
772
+
773
+ // reference equal, so don't worry about it
774
+ if (aValue === bValue && aKey !== 'value'
775
+ || category === EVENT_KEY && equalEvents(aValue, bValue))
776
+ {
777
+ continue;
778
+ }
779
+
780
+ diff = diff || {};
781
+ diff[aKey] = bValue;
782
+ }
783
+
784
+ // add new stuff
785
+ for (var bKey in b)
786
+ {
787
+ if (!(bKey in a))
788
+ {
789
+ diff = diff || {};
790
+ diff[bKey] = b[bKey];
791
+ }
792
+ }
793
+
794
+ return diff;
795
+ }
796
+
797
+
798
+ function diffChildren(aParent, bParent, patches, rootIndex)
799
+ {
800
+ var aChildren = aParent.children;
801
+ var bChildren = bParent.children;
802
+
803
+ var aLen = aChildren.length;
804
+ var bLen = bChildren.length;
805
+
806
+ // FIGURE OUT IF THERE ARE INSERTS OR REMOVALS
807
+
808
+ if (aLen > bLen)
809
+ {
810
+ patches.push(makePatch('p-remove-last', rootIndex, aLen - bLen));
811
+ }
812
+ else if (aLen < bLen)
813
+ {
814
+ patches.push(makePatch('p-append', rootIndex, bChildren.slice(aLen)));
815
+ }
816
+
817
+ // PAIRWISE DIFF EVERYTHING ELSE
818
+
819
+ var index = rootIndex;
820
+ var minLen = aLen < bLen ? aLen : bLen;
821
+ for (var i = 0; i < minLen; i++)
822
+ {
823
+ index++;
824
+ var aChild = aChildren[i];
825
+ diffHelp(aChild, bChildren[i], patches, index);
826
+ index += aChild.descendantsCount || 0;
827
+ }
828
+ }
829
+
830
+
831
+
832
+ //////////// KEYED DIFF ////////////
833
+
834
+
835
+ function diffKeyedChildren(aParent, bParent, patches, rootIndex)
836
+ {
837
+ var localPatches = [];
838
+
839
+ var changes = {}; // Dict String Entry
840
+ var inserts = []; // Array { index : Int, entry : Entry }
841
+ // type Entry = { tag : String, vnode : VNode, index : Int, data : _ }
842
+
843
+ var aChildren = aParent.children;
844
+ var bChildren = bParent.children;
845
+ var aLen = aChildren.length;
846
+ var bLen = bChildren.length;
847
+ var aIndex = 0;
848
+ var bIndex = 0;
849
+
850
+ var index = rootIndex;
851
+
852
+ while (aIndex < aLen && bIndex < bLen)
853
+ {
854
+ var a = aChildren[aIndex];
855
+ var b = bChildren[bIndex];
856
+
857
+ var aKey = a._0;
858
+ var bKey = b._0;
859
+ var aNode = a._1;
860
+ var bNode = b._1;
861
+
862
+ // check if keys match
863
+
864
+ if (aKey === bKey)
865
+ {
866
+ index++;
867
+ diffHelp(aNode, bNode, localPatches, index);
868
+ index += aNode.descendantsCount || 0;
869
+
870
+ aIndex++;
871
+ bIndex++;
872
+ continue;
873
+ }
874
+
875
+ // look ahead 1 to detect insertions and removals.
876
+
877
+ var aLookAhead = aIndex + 1 < aLen;
878
+ var bLookAhead = bIndex + 1 < bLen;
879
+
880
+ if (aLookAhead)
881
+ {
882
+ var aNext = aChildren[aIndex + 1];
883
+ var aNextKey = aNext._0;
884
+ var aNextNode = aNext._1;
885
+ var oldMatch = bKey === aNextKey;
886
+ }
887
+
888
+ if (bLookAhead)
889
+ {
890
+ var bNext = bChildren[bIndex + 1];
891
+ var bNextKey = bNext._0;
892
+ var bNextNode = bNext._1;
893
+ var newMatch = aKey === bNextKey;
894
+ }
895
+
896
+
897
+ // swap a and b
898
+ if (aLookAhead && bLookAhead && newMatch && oldMatch)
899
+ {
900
+ index++;
901
+ diffHelp(aNode, bNextNode, localPatches, index);
902
+ insertNode(changes, localPatches, aKey, bNode, bIndex, inserts);
903
+ index += aNode.descendantsCount || 0;
904
+
905
+ index++;
906
+ removeNode(changes, localPatches, aKey, aNextNode, index);
907
+ index += aNextNode.descendantsCount || 0;
908
+
909
+ aIndex += 2;
910
+ bIndex += 2;
911
+ continue;
912
+ }
913
+
914
+ // insert b
915
+ if (bLookAhead && newMatch)
916
+ {
917
+ index++;
918
+ insertNode(changes, localPatches, bKey, bNode, bIndex, inserts);
919
+ diffHelp(aNode, bNextNode, localPatches, index);
920
+ index += aNode.descendantsCount || 0;
921
+
922
+ aIndex += 1;
923
+ bIndex += 2;
924
+ continue;
925
+ }
926
+
927
+ // remove a
928
+ if (aLookAhead && oldMatch)
929
+ {
930
+ index++;
931
+ removeNode(changes, localPatches, aKey, aNode, index);
932
+ index += aNode.descendantsCount || 0;
933
+
934
+ index++;
935
+ diffHelp(aNextNode, bNode, localPatches, index);
936
+ index += aNextNode.descendantsCount || 0;
937
+
938
+ aIndex += 2;
939
+ bIndex += 1;
940
+ continue;
941
+ }
942
+
943
+ // remove a, insert b
944
+ if (aLookAhead && bLookAhead && aNextKey === bNextKey)
945
+ {
946
+ index++;
947
+ removeNode(changes, localPatches, aKey, aNode, index);
948
+ insertNode(changes, localPatches, bKey, bNode, bIndex, inserts);
949
+ index += aNode.descendantsCount || 0;
950
+
951
+ index++;
952
+ diffHelp(aNextNode, bNextNode, localPatches, index);
953
+ index += aNextNode.descendantsCount || 0;
954
+
955
+ aIndex += 2;
956
+ bIndex += 2;
957
+ continue;
958
+ }
959
+
960
+ break;
961
+ }
962
+
963
+ // eat up any remaining nodes with removeNode and insertNode
964
+
965
+ while (aIndex < aLen)
966
+ {
967
+ index++;
968
+ var a = aChildren[aIndex];
969
+ var aNode = a._1;
970
+ removeNode(changes, localPatches, a._0, aNode, index);
971
+ index += aNode.descendantsCount || 0;
972
+ aIndex++;
973
+ }
974
+
975
+ var endInserts;
976
+ while (bIndex < bLen)
977
+ {
978
+ endInserts = endInserts || [];
979
+ var b = bChildren[bIndex];
980
+ insertNode(changes, localPatches, b._0, b._1, undefined, endInserts);
981
+ bIndex++;
982
+ }
983
+
984
+ if (localPatches.length > 0 || inserts.length > 0 || typeof endInserts !== 'undefined')
985
+ {
986
+ patches.push(makePatch('p-reorder', rootIndex, {
987
+ patches: localPatches,
988
+ inserts: inserts,
989
+ endInserts: endInserts
990
+ }));
991
+ }
992
+ }
993
+
994
+
995
+
996
+ //////////// CHANGES FROM KEYED DIFF ////////////
997
+
998
+
999
+ var POSTFIX = '_elmW6BL';
1000
+
1001
+
1002
+ function insertNode(changes, localPatches, key, vnode, bIndex, inserts)
1003
+ {
1004
+ var entry = changes[key];
1005
+
1006
+ // never seen this key before
1007
+ if (typeof entry === 'undefined')
1008
+ {
1009
+ entry = {
1010
+ tag: 'insert',
1011
+ vnode: vnode,
1012
+ index: bIndex,
1013
+ data: undefined
1014
+ };
1015
+
1016
+ inserts.push({ index: bIndex, entry: entry });
1017
+ changes[key] = entry;
1018
+
1019
+ return;
1020
+ }
1021
+
1022
+ // this key was removed earlier, a match!
1023
+ if (entry.tag === 'remove')
1024
+ {
1025
+ inserts.push({ index: bIndex, entry: entry });
1026
+
1027
+ entry.tag = 'move';
1028
+ var subPatches = [];
1029
+ diffHelp(entry.vnode, vnode, subPatches, entry.index);
1030
+ entry.index = bIndex;
1031
+ entry.data.data = {
1032
+ patches: subPatches,
1033
+ entry: entry
1034
+ };
1035
+
1036
+ return;
1037
+ }
1038
+
1039
+ // this key has already been inserted or moved, a duplicate!
1040
+ insertNode(changes, localPatches, key + POSTFIX, vnode, bIndex, inserts);
1041
+ }
1042
+
1043
+
1044
+ function removeNode(changes, localPatches, key, vnode, index)
1045
+ {
1046
+ var entry = changes[key];
1047
+
1048
+ // never seen this key before
1049
+ if (typeof entry === 'undefined')
1050
+ {
1051
+ var patch = makePatch('p-remove', index, undefined);
1052
+ localPatches.push(patch);
1053
+
1054
+ changes[key] = {
1055
+ tag: 'remove',
1056
+ vnode: vnode,
1057
+ index: index,
1058
+ data: patch
1059
+ };
1060
+
1061
+ return;
1062
+ }
1063
+
1064
+ // this key was inserted earlier, a match!
1065
+ if (entry.tag === 'insert')
1066
+ {
1067
+ entry.tag = 'move';
1068
+ var subPatches = [];
1069
+ diffHelp(vnode, entry.vnode, subPatches, index);
1070
+
1071
+ var patch = makePatch('p-remove', index, {
1072
+ patches: subPatches,
1073
+ entry: entry
1074
+ });
1075
+ localPatches.push(patch);
1076
+
1077
+ return;
1078
+ }
1079
+
1080
+ // this key has already been removed or moved, a duplicate!
1081
+ removeNode(changes, localPatches, key + POSTFIX, vnode, index);
1082
+ }
1083
+
1084
+
1085
+
1086
+ //////////// ADD DOM NODES ////////////
1087
+ //
1088
+ // Each DOM node has an "index" assigned in order of traversal. It is important
1089
+ // to minimize our crawl over the actual DOM, so these indexes (along with the
1090
+ // descendantsCount of virtual nodes) let us skip touching entire subtrees of
1091
+ // the DOM if we know there are no patches there.
1092
+
1093
+
1094
+ function addDomNodes(domNode, vNode, patches, eventNode)
1095
+ {
1096
+ addDomNodesHelp(domNode, vNode, patches, 0, 0, vNode.descendantsCount, eventNode);
1097
+ }
1098
+
1099
+
1100
+ // assumes `patches` is non-empty and indexes increase monotonically.
1101
+ function addDomNodesHelp(domNode, vNode, patches, i, low, high, eventNode)
1102
+ {
1103
+ var patch = patches[i];
1104
+ var index = patch.index;
1105
+
1106
+ while (index === low)
1107
+ {
1108
+ var patchType = patch.type;
1109
+
1110
+ if (patchType === 'p-thunk')
1111
+ {
1112
+ addDomNodes(domNode, vNode.node, patch.data, eventNode);
1113
+ }
1114
+ else if (patchType === 'p-reorder')
1115
+ {
1116
+ patch.domNode = domNode;
1117
+ patch.eventNode = eventNode;
1118
+
1119
+ var subPatches = patch.data.patches;
1120
+ if (subPatches.length > 0)
1121
+ {
1122
+ addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode);
1123
+ }
1124
+ }
1125
+ else if (patchType === 'p-remove')
1126
+ {
1127
+ patch.domNode = domNode;
1128
+ patch.eventNode = eventNode;
1129
+
1130
+ var data = patch.data;
1131
+ if (typeof data !== 'undefined')
1132
+ {
1133
+ data.entry.data = domNode;
1134
+ var subPatches = data.patches;
1135
+ if (subPatches.length > 0)
1136
+ {
1137
+ addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode);
1138
+ }
1139
+ }
1140
+ }
1141
+ else
1142
+ {
1143
+ patch.domNode = domNode;
1144
+ patch.eventNode = eventNode;
1145
+ }
1146
+
1147
+ i++;
1148
+
1149
+ if (!(patch = patches[i]) || (index = patch.index) > high)
1150
+ {
1151
+ return i;
1152
+ }
1153
+ }
1154
+
1155
+ switch (vNode.type)
1156
+ {
1157
+ case 'tagger':
1158
+ var subNode = vNode.node;
1159
+
1160
+ while (subNode.type === "tagger")
1161
+ {
1162
+ subNode = subNode.node;
1163
+ }
1164
+
1165
+ return addDomNodesHelp(domNode, subNode, patches, i, low + 1, high, domNode.elm_event_node_ref);
1166
+
1167
+ case 'node':
1168
+ var vChildren = vNode.children;
1169
+ var childNodes = domNode.childNodes;
1170
+ for (var j = 0; j < vChildren.length; j++)
1171
+ {
1172
+ low++;
1173
+ var vChild = vChildren[j];
1174
+ var nextLow = low + (vChild.descendantsCount || 0);
1175
+ if (low <= index && index <= nextLow)
1176
+ {
1177
+ i = addDomNodesHelp(childNodes[j], vChild, patches, i, low, nextLow, eventNode);
1178
+ if (!(patch = patches[i]) || (index = patch.index) > high)
1179
+ {
1180
+ return i;
1181
+ }
1182
+ }
1183
+ low = nextLow;
1184
+ }
1185
+ return i;
1186
+
1187
+ case 'keyed-node':
1188
+ var vChildren = vNode.children;
1189
+ var childNodes = domNode.childNodes;
1190
+ for (var j = 0; j < vChildren.length; j++)
1191
+ {
1192
+ low++;
1193
+ var vChild = vChildren[j]._1;
1194
+ var nextLow = low + (vChild.descendantsCount || 0);
1195
+ if (low <= index && index <= nextLow)
1196
+ {
1197
+ i = addDomNodesHelp(childNodes[j], vChild, patches, i, low, nextLow, eventNode);
1198
+ if (!(patch = patches[i]) || (index = patch.index) > high)
1199
+ {
1200
+ return i;
1201
+ }
1202
+ }
1203
+ low = nextLow;
1204
+ }
1205
+ return i;
1206
+
1207
+ case 'text':
1208
+ case 'thunk':
1209
+ throw new Error('should never traverse `text` or `thunk` nodes like this');
1210
+ }
1211
+ }
1212
+
1213
+
1214
+
1215
+ //////////// APPLY PATCHES ////////////
1216
+
1217
+
1218
+ function applyPatches(rootDomNode, oldVirtualNode, patches, eventNode)
1219
+ {
1220
+ if (patches.length === 0)
1221
+ {
1222
+ return rootDomNode;
1223
+ }
1224
+
1225
+ addDomNodes(rootDomNode, oldVirtualNode, patches, eventNode);
1226
+ return applyPatchesHelp(rootDomNode, patches);
1227
+ }
1228
+
1229
+ function applyPatchesHelp(rootDomNode, patches)
1230
+ {
1231
+ for (var i = 0; i < patches.length; i++)
1232
+ {
1233
+ var patch = patches[i];
1234
+ var localDomNode = patch.domNode
1235
+ var newNode = applyPatch(localDomNode, patch);
1236
+ if (localDomNode === rootDomNode)
1237
+ {
1238
+ rootDomNode = newNode;
1239
+ }
1240
+ }
1241
+ return rootDomNode;
1242
+ }
1243
+
1244
+ function applyPatch(domNode, patch)
1245
+ {
1246
+ switch (patch.type)
1247
+ {
1248
+ case 'p-redraw':
1249
+ return applyPatchRedraw(domNode, patch.data, patch.eventNode);
1250
+
1251
+ case 'p-facts':
1252
+ applyFacts(domNode, patch.eventNode, patch.data);
1253
+ return domNode;
1254
+
1255
+ case 'p-text':
1256
+ domNode.replaceData(0, domNode.length, patch.data);
1257
+ return domNode;
1258
+
1259
+ case 'p-thunk':
1260
+ return applyPatchesHelp(domNode, patch.data);
1261
+
1262
+ case 'p-tagger':
1263
+ if (typeof domNode.elm_event_node_ref !== 'undefined')
1264
+ {
1265
+ domNode.elm_event_node_ref.tagger = patch.data;
1266
+ }
1267
+ else
1268
+ {
1269
+ domNode.elm_event_node_ref = { tagger: patch.data, parent: patch.eventNode };
1270
+ }
1271
+ return domNode;
1272
+
1273
+ case 'p-remove-last':
1274
+ var i = patch.data;
1275
+ while (i--)
1276
+ {
1277
+ domNode.removeChild(domNode.lastChild);
1278
+ }
1279
+ return domNode;
1280
+
1281
+ case 'p-append':
1282
+ var newNodes = patch.data;
1283
+ for (var i = 0; i < newNodes.length; i++)
1284
+ {
1285
+ domNode.appendChild(render(newNodes[i], patch.eventNode));
1286
+ }
1287
+ return domNode;
1288
+
1289
+ case 'p-remove':
1290
+ var data = patch.data;
1291
+ if (typeof data === 'undefined')
1292
+ {
1293
+ domNode.parentNode.removeChild(domNode);
1294
+ return domNode;
1295
+ }
1296
+ var entry = data.entry;
1297
+ if (typeof entry.index !== 'undefined')
1298
+ {
1299
+ domNode.parentNode.removeChild(domNode);
1300
+ }
1301
+ entry.data = applyPatchesHelp(domNode, data.patches);
1302
+ return domNode;
1303
+
1304
+ case 'p-reorder':
1305
+ return applyPatchReorder(domNode, patch);
1306
+
1307
+ case 'p-custom':
1308
+ var impl = patch.data;
1309
+ return impl.applyPatch(domNode, impl.data);
1310
+
1311
+ default:
1312
+ throw new Error('Ran into an unknown patch!');
1313
+ }
1314
+ }
1315
+
1316
+
1317
+ function applyPatchRedraw(domNode, vNode, eventNode)
1318
+ {
1319
+ var parentNode = domNode.parentNode;
1320
+ var newNode = render(vNode, eventNode);
1321
+
1322
+ if (typeof newNode.elm_event_node_ref === 'undefined')
1323
+ {
1324
+ newNode.elm_event_node_ref = domNode.elm_event_node_ref;
1325
+ }
1326
+
1327
+ if (parentNode && newNode !== domNode)
1328
+ {
1329
+ parentNode.replaceChild(newNode, domNode);
1330
+ }
1331
+ return newNode;
1332
+ }
1333
+
1334
+
1335
+ function applyPatchReorder(domNode, patch)
1336
+ {
1337
+ var data = patch.data;
1338
+
1339
+ // remove end inserts
1340
+ var frag = applyPatchReorderEndInsertsHelp(data.endInserts, patch);
1341
+
1342
+ // removals
1343
+ domNode = applyPatchesHelp(domNode, data.patches);
1344
+
1345
+ // inserts
1346
+ var inserts = data.inserts;
1347
+ for (var i = 0; i < inserts.length; i++)
1348
+ {
1349
+ var insert = inserts[i];
1350
+ var entry = insert.entry;
1351
+ var node = entry.tag === 'move'
1352
+ ? entry.data
1353
+ : render(entry.vnode, patch.eventNode);
1354
+ domNode.insertBefore(node, domNode.childNodes[insert.index]);
1355
+ }
1356
+
1357
+ // add end inserts
1358
+ if (typeof frag !== 'undefined')
1359
+ {
1360
+ domNode.appendChild(frag);
1361
+ }
1362
+
1363
+ return domNode;
1364
+ }
1365
+
1366
+
1367
+ function applyPatchReorderEndInsertsHelp(endInserts, patch)
1368
+ {
1369
+ if (typeof endInserts === 'undefined')
1370
+ {
1371
+ return;
1372
+ }
1373
+
1374
+ var frag = localDoc.createDocumentFragment();
1375
+ for (var i = 0; i < endInserts.length; i++)
1376
+ {
1377
+ var insert = endInserts[i];
1378
+ var entry = insert.entry;
1379
+ frag.appendChild(entry.tag === 'move'
1380
+ ? entry.data
1381
+ : render(entry.vnode, patch.eventNode)
1382
+ );
1383
+ }
1384
+ return frag;
1385
+ }
1386
+
1387
+
1388
+ // PROGRAMS
1389
+
1390
+ var program = makeProgram(checkNoFlags);
1391
+ var programWithFlags = makeProgram(checkYesFlags);
1392
+
1393
+ function makeProgram(flagChecker)
1394
+ {
1395
+ return F2(function(debugWrap, impl)
1396
+ {
1397
+ return function(flagDecoder)
1398
+ {
1399
+ return function(object, moduleName, debugMetadata)
1400
+ {
1401
+ var checker = flagChecker(flagDecoder, moduleName);
1402
+ if (typeof debugMetadata === 'undefined')
1403
+ {
1404
+ normalSetup(impl, object, moduleName, checker);
1405
+ }
1406
+ else
1407
+ {
1408
+ debugSetup(A2(debugWrap, debugMetadata, impl), object, moduleName, checker);
1409
+ }
1410
+ };
1411
+ };
1412
+ });
1413
+ }
1414
+
1415
+ function staticProgram(vNode)
1416
+ {
1417
+ var nothing = _elm_lang$core$Native_Utils.Tuple2(
1418
+ _elm_lang$core$Native_Utils.Tuple0,
1419
+ _elm_lang$core$Platform_Cmd$none
1420
+ );
1421
+ return A2(program, _elm_lang$virtual_dom$VirtualDom_Debug$wrap, {
1422
+ init: nothing,
1423
+ view: function() { return vNode; },
1424
+ update: F2(function() { return nothing; }),
1425
+ subscriptions: function() { return _elm_lang$core$Platform_Sub$none; }
1426
+ })();
1427
+ }
1428
+
1429
+
1430
+ // FLAG CHECKERS
1431
+
1432
+ function checkNoFlags(flagDecoder, moduleName)
1433
+ {
1434
+ return function(init, flags, domNode)
1435
+ {
1436
+ if (typeof flags === 'undefined')
1437
+ {
1438
+ return init;
1439
+ }
1440
+
1441
+ var errorMessage =
1442
+ 'The `' + moduleName + '` module does not need flags.\n'
1443
+ + 'Initialize it with no arguments and you should be all set!';
1444
+
1445
+ crash(errorMessage, domNode);
1446
+ };
1447
+ }
1448
+
1449
+ function checkYesFlags(flagDecoder, moduleName)
1450
+ {
1451
+ return function(init, flags, domNode)
1452
+ {
1453
+ if (typeof flagDecoder === 'undefined')
1454
+ {
1455
+ var errorMessage =
1456
+ 'Are you trying to sneak a Never value into Elm? Trickster!\n'
1457
+ + 'It looks like ' + moduleName + '.main is defined with `programWithFlags` but has type `Program Never`.\n'
1458
+ + 'Use `program` instead if you do not want flags.'
1459
+
1460
+ crash(errorMessage, domNode);
1461
+ }
1462
+
1463
+ var result = A2(_elm_lang$core$Native_Json.run, flagDecoder, flags);
1464
+ if (result.ctor === 'Ok')
1465
+ {
1466
+ return init(result._0);
1467
+ }
1468
+
1469
+ var errorMessage =
1470
+ 'Trying to initialize the `' + moduleName + '` module with an unexpected flag.\n'
1471
+ + 'I tried to convert it to an Elm value, but ran into this problem:\n\n'
1472
+ + result._0;
1473
+
1474
+ crash(errorMessage, domNode);
1475
+ };
1476
+ }
1477
+
1478
+ function crash(errorMessage, domNode)
1479
+ {
1480
+ if (domNode)
1481
+ {
1482
+ domNode.innerHTML =
1483
+ '<div style="padding-left:1em;">'
1484
+ + '<h2 style="font-weight:normal;"><b>Oops!</b> Something went wrong when starting your Elm program.</h2>'
1485
+ + '<pre style="padding-left:1em;">' + errorMessage + '</pre>'
1486
+ + '</div>';
1487
+ }
1488
+
1489
+ throw new Error(errorMessage);
1490
+ }
1491
+
1492
+
1493
+ // NORMAL SETUP
1494
+
1495
+ function normalSetup(impl, object, moduleName, flagChecker)
1496
+ {
1497
+ object['embed'] = function embed(node, flags)
1498
+ {
1499
+ while (node.lastChild)
1500
+ {
1501
+ node.removeChild(node.lastChild);
1502
+ }
1503
+
1504
+ return _elm_lang$core$Native_Platform.initialize(
1505
+ flagChecker(impl.init, flags, node),
1506
+ impl.update,
1507
+ impl.subscriptions,
1508
+ normalRenderer(node, impl.view)
1509
+ );
1510
+ };
1511
+
1512
+ object['fullscreen'] = function fullscreen(flags)
1513
+ {
1514
+ return _elm_lang$core$Native_Platform.initialize(
1515
+ flagChecker(impl.init, flags, document.body),
1516
+ impl.update,
1517
+ impl.subscriptions,
1518
+ normalRenderer(document.body, impl.view)
1519
+ );
1520
+ };
1521
+ }
1522
+
1523
+ function normalRenderer(parentNode, view)
1524
+ {
1525
+ return function(tagger, initialModel)
1526
+ {
1527
+ var eventNode = { tagger: tagger, parent: undefined };
1528
+ var initialVirtualNode = view(initialModel);
1529
+ var domNode = render(initialVirtualNode, eventNode);
1530
+ parentNode.appendChild(domNode);
1531
+ return makeStepper(domNode, view, initialVirtualNode, eventNode);
1532
+ };
1533
+ }
1534
+
1535
+
1536
+ // STEPPER
1537
+
1538
+ var rAF =
1539
+ typeof requestAnimationFrame !== 'undefined'
1540
+ ? requestAnimationFrame
1541
+ : function(callback) { callback(); };
1542
+
1543
+ function makeStepper(domNode, view, initialVirtualNode, eventNode)
1544
+ {
1545
+ var state = 'NO_REQUEST';
1546
+ var currNode = initialVirtualNode;
1547
+ var nextModel;
1548
+
1549
+ function updateIfNeeded()
1550
+ {
1551
+ switch (state)
1552
+ {
1553
+ case 'NO_REQUEST':
1554
+ throw new Error(
1555
+ 'Unexpected draw callback.\n' +
1556
+ 'Please report this to <https://github.com/elm-lang/virtual-dom/issues>.'
1557
+ );
1558
+
1559
+ case 'PENDING_REQUEST':
1560
+ rAF(updateIfNeeded);
1561
+ state = 'EXTRA_REQUEST';
1562
+
1563
+ var nextNode = view(nextModel);
1564
+ var patches = diff(currNode, nextNode);
1565
+ domNode = applyPatches(domNode, currNode, patches, eventNode);
1566
+ currNode = nextNode;
1567
+
1568
+ return;
1569
+
1570
+ case 'EXTRA_REQUEST':
1571
+ state = 'NO_REQUEST';
1572
+ return;
1573
+ }
1574
+ }
1575
+
1576
+ return function stepper(model)
1577
+ {
1578
+ if (state === 'NO_REQUEST')
1579
+ {
1580
+ rAF(updateIfNeeded);
1581
+ }
1582
+ state = 'PENDING_REQUEST';
1583
+ nextModel = model;
1584
+ };
1585
+ }
1586
+
1587
+
1588
+ // DEBUG SETUP
1589
+
1590
+ function debugSetup(impl, object, moduleName, flagChecker)
1591
+ {
1592
+ object['fullscreen'] = function fullscreen(flags)
1593
+ {
1594
+ var popoutRef = { doc: undefined };
1595
+ return _elm_lang$core$Native_Platform.initialize(
1596
+ flagChecker(impl.init, flags, document.body),
1597
+ impl.update(scrollTask(popoutRef)),
1598
+ impl.subscriptions,
1599
+ debugRenderer(moduleName, document.body, popoutRef, impl.view, impl.viewIn, impl.viewOut)
1600
+ );
1601
+ };
1602
+
1603
+ object['embed'] = function fullscreen(node, flags)
1604
+ {
1605
+ var popoutRef = { doc: undefined };
1606
+ return _elm_lang$core$Native_Platform.initialize(
1607
+ flagChecker(impl.init, flags, node),
1608
+ impl.update(scrollTask(popoutRef)),
1609
+ impl.subscriptions,
1610
+ debugRenderer(moduleName, node, popoutRef, impl.view, impl.viewIn, impl.viewOut)
1611
+ );
1612
+ };
1613
+ }
1614
+
1615
+ function scrollTask(popoutRef)
1616
+ {
1617
+ return _elm_lang$core$Native_Scheduler.nativeBinding(function(callback)
1618
+ {
1619
+ var doc = popoutRef.doc;
1620
+ if (doc)
1621
+ {
1622
+ var msgs = doc.getElementsByClassName('debugger-sidebar-messages')[0];
1623
+ if (msgs)
1624
+ {
1625
+ msgs.scrollTop = msgs.scrollHeight;
1626
+ }
1627
+ }
1628
+ callback(_elm_lang$core$Native_Scheduler.succeed(_elm_lang$core$Native_Utils.Tuple0));
1629
+ });
1630
+ }
1631
+
1632
+
1633
+ function debugRenderer(moduleName, parentNode, popoutRef, view, viewIn, viewOut)
1634
+ {
1635
+ return function(tagger, initialModel)
1636
+ {
1637
+ var appEventNode = { tagger: tagger, parent: undefined };
1638
+ var eventNode = { tagger: tagger, parent: undefined };
1639
+
1640
+ // make normal stepper
1641
+ var appVirtualNode = view(initialModel);
1642
+ var appNode = render(appVirtualNode, appEventNode);
1643
+ parentNode.appendChild(appNode);
1644
+ var appStepper = makeStepper(appNode, view, appVirtualNode, appEventNode);
1645
+
1646
+ // make overlay stepper
1647
+ var overVirtualNode = viewIn(initialModel)._1;
1648
+ var overNode = render(overVirtualNode, eventNode);
1649
+ parentNode.appendChild(overNode);
1650
+ var wrappedViewIn = wrapViewIn(appEventNode, overNode, viewIn);
1651
+ var overStepper = makeStepper(overNode, wrappedViewIn, overVirtualNode, eventNode);
1652
+
1653
+ // make debugger stepper
1654
+ var debugStepper = makeDebugStepper(initialModel, viewOut, eventNode, parentNode, moduleName, popoutRef);
1655
+
1656
+ return function stepper(model)
1657
+ {
1658
+ appStepper(model);
1659
+ overStepper(model);
1660
+ debugStepper(model);
1661
+ }
1662
+ };
1663
+ }
1664
+
1665
+ function makeDebugStepper(initialModel, view, eventNode, parentNode, moduleName, popoutRef)
1666
+ {
1667
+ var curr;
1668
+ var domNode;
1669
+
1670
+ return function stepper(model)
1671
+ {
1672
+ if (!model.isDebuggerOpen)
1673
+ {
1674
+ return;
1675
+ }
1676
+
1677
+ if (!popoutRef.doc)
1678
+ {
1679
+ curr = view(model);
1680
+ domNode = openDebugWindow(moduleName, popoutRef, curr, eventNode);
1681
+ return;
1682
+ }
1683
+
1684
+ // switch to document of popout
1685
+ localDoc = popoutRef.doc;
1686
+
1687
+ var next = view(model);
1688
+ var patches = diff(curr, next);
1689
+ domNode = applyPatches(domNode, curr, patches, eventNode);
1690
+ curr = next;
1691
+
1692
+ // switch back to normal document
1693
+ localDoc = document;
1694
+ };
1695
+ }
1696
+
1697
+ function openDebugWindow(moduleName, popoutRef, virtualNode, eventNode)
1698
+ {
1699
+ var w = 900;
1700
+ var h = 360;
1701
+ var x = screen.width - w;
1702
+ var y = screen.height - h;
1703
+ var debugWindow = window.open('', '', 'width=' + w + ',height=' + h + ',left=' + x + ',top=' + y);
1704
+
1705
+ // switch to window document
1706
+ localDoc = debugWindow.document;
1707
+
1708
+ popoutRef.doc = localDoc;
1709
+ localDoc.title = 'Debugger - ' + moduleName;
1710
+ localDoc.body.style.margin = '0';
1711
+ localDoc.body.style.padding = '0';
1712
+ var domNode = render(virtualNode, eventNode);
1713
+ localDoc.body.appendChild(domNode);
1714
+
1715
+ localDoc.addEventListener('keydown', function(event) {
1716
+ if (event.metaKey && event.which === 82)
1717
+ {
1718
+ window.location.reload();
1719
+ }
1720
+ if (event.which === 38)
1721
+ {
1722
+ eventNode.tagger({ ctor: 'Up' });
1723
+ event.preventDefault();
1724
+ }
1725
+ if (event.which === 40)
1726
+ {
1727
+ eventNode.tagger({ ctor: 'Down' });
1728
+ event.preventDefault();
1729
+ }
1730
+ });
1731
+
1732
+ function close()
1733
+ {
1734
+ popoutRef.doc = undefined;
1735
+ debugWindow.close();
1736
+ }
1737
+ window.addEventListener('unload', close);
1738
+ debugWindow.addEventListener('unload', function() {
1739
+ popoutRef.doc = undefined;
1740
+ window.removeEventListener('unload', close);
1741
+ eventNode.tagger({ ctor: 'Close' });
1742
+ });
1743
+
1744
+ // switch back to the normal document
1745
+ localDoc = document;
1746
+
1747
+ return domNode;
1748
+ }
1749
+
1750
+
1751
+ // BLOCK EVENTS
1752
+
1753
+ function wrapViewIn(appEventNode, overlayNode, viewIn)
1754
+ {
1755
+ var ignorer = makeIgnorer(overlayNode);
1756
+ var blocking = 'Normal';
1757
+ var overflow;
1758
+
1759
+ var normalTagger = appEventNode.tagger;
1760
+ var blockTagger = function() {};
1761
+
1762
+ return function(model)
1763
+ {
1764
+ var tuple = viewIn(model);
1765
+ var newBlocking = tuple._0.ctor;
1766
+ appEventNode.tagger = newBlocking === 'Normal' ? normalTagger : blockTagger;
1767
+ if (blocking !== newBlocking)
1768
+ {
1769
+ traverse('removeEventListener', ignorer, blocking);
1770
+ traverse('addEventListener', ignorer, newBlocking);
1771
+
1772
+ if (blocking === 'Normal')
1773
+ {
1774
+ overflow = document.body.style.overflow;
1775
+ document.body.style.overflow = 'hidden';
1776
+ }
1777
+
1778
+ if (newBlocking === 'Normal')
1779
+ {
1780
+ document.body.style.overflow = overflow;
1781
+ }
1782
+
1783
+ blocking = newBlocking;
1784
+ }
1785
+ return tuple._1;
1786
+ }
1787
+ }
1788
+
1789
+ function traverse(verbEventListener, ignorer, blocking)
1790
+ {
1791
+ switch(blocking)
1792
+ {
1793
+ case 'Normal':
1794
+ return;
1795
+
1796
+ case 'Pause':
1797
+ return traverseHelp(verbEventListener, ignorer, mostEvents);
1798
+
1799
+ case 'Message':
1800
+ return traverseHelp(verbEventListener, ignorer, allEvents);
1801
+ }
1802
+ }
1803
+
1804
+ function traverseHelp(verbEventListener, handler, eventNames)
1805
+ {
1806
+ for (var i = 0; i < eventNames.length; i++)
1807
+ {
1808
+ document.body[verbEventListener](eventNames[i], handler, true);
1809
+ }
1810
+ }
1811
+
1812
+ function makeIgnorer(overlayNode)
1813
+ {
1814
+ return function(event)
1815
+ {
1816
+ if (event.type === 'keydown' && event.metaKey && event.which === 82)
1817
+ {
1818
+ return;
1819
+ }
1820
+
1821
+ var isScroll = event.type === 'scroll' || event.type === 'wheel';
1822
+
1823
+ var node = event.target;
1824
+ while (node !== null)
1825
+ {
1826
+ if (node.className === 'elm-overlay-message-details' && isScroll)
1827
+ {
1828
+ return;
1829
+ }
1830
+
1831
+ if (node === overlayNode && !isScroll)
1832
+ {
1833
+ return;
1834
+ }
1835
+ node = node.parentNode;
1836
+ }
1837
+
1838
+ event.stopPropagation();
1839
+ event.preventDefault();
1840
+ }
1841
+ }
1842
+
1843
+ var mostEvents = [
1844
+ 'click', 'dblclick', 'mousemove',
1845
+ 'mouseup', 'mousedown', 'mouseenter', 'mouseleave',
1846
+ 'touchstart', 'touchend', 'touchcancel', 'touchmove',
1847
+ 'pointerdown', 'pointerup', 'pointerover', 'pointerout',
1848
+ 'pointerenter', 'pointerleave', 'pointermove', 'pointercancel',
1849
+ 'dragstart', 'drag', 'dragend', 'dragenter', 'dragover', 'dragleave', 'drop',
1850
+ 'keyup', 'keydown', 'keypress',
1851
+ 'input', 'change',
1852
+ 'focus', 'blur'
1853
+ ];
1854
+
1855
+ var allEvents = mostEvents.concat('wheel', 'scroll');
1856
+
1857
+
1858
+ return {
1859
+ node: node,
1860
+ text: text,
1861
+ custom: custom,
1862
+ map: F2(map),
1863
+
1864
+ on: F3(on),
1865
+ style: style,
1866
+ property: F2(property),
1867
+ attribute: F2(attribute),
1868
+ attributeNS: F3(attributeNS),
1869
+ mapProperty: F2(mapProperty),
1870
+
1871
+ lazy: F2(lazy),
1872
+ lazy2: F3(lazy2),
1873
+ lazy3: F4(lazy3),
1874
+ keyedNode: F3(keyedNode),
1875
+
1876
+ program: program,
1877
+ programWithFlags: programWithFlags,
1878
+ staticProgram: staticProgram
1879
+ };
1880
+
1881
+ }();