elm-pages 3.0.0-beta.2 → 3.0.0-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (509) hide show
  1. package/README.md +10 -1
  2. package/codegen/{elm-pages-codegen.js → elm-pages-codegen.cjs} +2479 -1639
  3. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/dependencies.75364bef27ac5a049b87c3325f846fc6dbda23b8ed7187ed06748b96bb6a50a7.json +1 -0
  4. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Console-Text.elmi +0 -0
  5. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Console-Text.elmo +0 -0
  6. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmi +0 -0
  7. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmo +0 -0
  8. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateDataTest.elmi +0 -0
  9. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateDataTest.elmo +0 -0
  10. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Generated-Main.elmi +0 -0
  11. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Generated-Main.elmo +0 -0
  12. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Console-Format-Color.elmi +0 -0
  13. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Console-Format-Color.elmo +0 -0
  14. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Console-Format-Monochrome.elmi +0 -0
  15. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Console-Format-Monochrome.elmo +0 -0
  16. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Console-Format.elmi +0 -0
  17. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Console-Format.elmo +0 -0
  18. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Console.elmi +0 -0
  19. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Console.elmo +0 -0
  20. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Highlightable.elmi +0 -0
  21. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Highlightable.elmo +0 -0
  22. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-JUnit.elmi +0 -0
  23. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-JUnit.elmo +0 -0
  24. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Json.elmi +0 -0
  25. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Json.elmo +0 -0
  26. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Reporter.elmi +0 -0
  27. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Reporter.elmo +0 -0
  28. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-TestResults.elmi +0 -0
  29. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-TestResults.elmo +0 -0
  30. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Runner-JsMessage.elmi +0 -0
  31. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Runner-JsMessage.elmo +0 -0
  32. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Runner-Node-Vendor-Console.elmi +0 -0
  33. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Runner-Node-Vendor-Console.elmo +0 -0
  34. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Runner-Node-Vendor-Diff.elmi +0 -0
  35. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Runner-Node-Vendor-Diff.elmo +0 -0
  36. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Runner-Node.elmi +0 -0
  37. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Runner-Node.elmo +0 -0
  38. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/d.dat +0 -0
  39. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/i.dat +0 -0
  40. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/lock +0 -0
  41. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/o.dat +0 -0
  42. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm.json +38 -0
  43. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elmTestOutput.js +29673 -0
  44. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/package.json +1 -0
  45. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/src/Test/Generated/Main.elm +27 -0
  46. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmi +0 -0
  47. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmo +0 -0
  48. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateDataTest.elmo +0 -0
  49. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/d.dat +0 -0
  50. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/i.dat +0 -0
  51. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/o.dat +0 -0
  52. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm.json +1 -1
  53. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Reporter.elm.js +1327 -122
  54. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Runner.elm.js +15412 -13274
  55. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/node_runner.js +1 -1
  56. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/node_supervisor.js +4 -4
  57. package/generator/dead-code-review/elm.json +8 -6
  58. package/generator/dead-code-review/node_modules/.package-lock.json +484 -0
  59. package/generator/dead-code-review/node_modules/ansi-styles/index.d.ts +345 -0
  60. package/generator/dead-code-review/node_modules/ansi-styles/index.js +163 -0
  61. package/generator/dead-code-review/node_modules/ansi-styles/license +9 -0
  62. package/generator/dead-code-review/node_modules/ansi-styles/package.json +56 -0
  63. package/generator/dead-code-review/node_modules/ansi-styles/readme.md +152 -0
  64. package/generator/dead-code-review/node_modules/anymatch/LICENSE +15 -0
  65. package/generator/dead-code-review/node_modules/anymatch/README.md +87 -0
  66. package/generator/dead-code-review/node_modules/anymatch/index.d.ts +20 -0
  67. package/generator/dead-code-review/node_modules/anymatch/index.js +104 -0
  68. package/generator/dead-code-review/node_modules/anymatch/package.json +48 -0
  69. package/generator/dead-code-review/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  70. package/generator/dead-code-review/node_modules/balanced-match/LICENSE.md +21 -0
  71. package/generator/dead-code-review/node_modules/balanced-match/README.md +97 -0
  72. package/generator/dead-code-review/node_modules/balanced-match/index.js +62 -0
  73. package/generator/dead-code-review/node_modules/balanced-match/package.json +48 -0
  74. package/generator/dead-code-review/node_modules/binary-extensions/binary-extensions.json +260 -0
  75. package/generator/dead-code-review/node_modules/binary-extensions/binary-extensions.json.d.ts +3 -0
  76. package/generator/dead-code-review/node_modules/binary-extensions/index.d.ts +14 -0
  77. package/generator/dead-code-review/node_modules/binary-extensions/index.js +1 -0
  78. package/generator/dead-code-review/node_modules/binary-extensions/license +9 -0
  79. package/generator/dead-code-review/node_modules/binary-extensions/package.json +38 -0
  80. package/generator/dead-code-review/node_modules/binary-extensions/readme.md +41 -0
  81. package/generator/dead-code-review/node_modules/brace-expansion/.github/FUNDING.yml +2 -0
  82. package/generator/dead-code-review/node_modules/brace-expansion/LICENSE +21 -0
  83. package/generator/dead-code-review/node_modules/brace-expansion/README.md +135 -0
  84. package/generator/dead-code-review/node_modules/brace-expansion/index.js +203 -0
  85. package/generator/dead-code-review/node_modules/brace-expansion/package.json +46 -0
  86. package/generator/dead-code-review/node_modules/braces/CHANGELOG.md +184 -0
  87. package/generator/dead-code-review/node_modules/braces/LICENSE +21 -0
  88. package/generator/dead-code-review/node_modules/braces/README.md +593 -0
  89. package/generator/dead-code-review/node_modules/braces/index.js +170 -0
  90. package/generator/dead-code-review/node_modules/braces/lib/compile.js +57 -0
  91. package/generator/dead-code-review/node_modules/braces/lib/constants.js +57 -0
  92. package/generator/dead-code-review/node_modules/braces/lib/expand.js +113 -0
  93. package/generator/dead-code-review/node_modules/braces/lib/parse.js +333 -0
  94. package/generator/dead-code-review/node_modules/braces/lib/stringify.js +32 -0
  95. package/generator/dead-code-review/node_modules/braces/lib/utils.js +112 -0
  96. package/generator/dead-code-review/node_modules/braces/package.json +77 -0
  97. package/generator/dead-code-review/node_modules/chalk/index.d.ts +415 -0
  98. package/generator/dead-code-review/node_modules/chalk/license +9 -0
  99. package/generator/dead-code-review/node_modules/chalk/package.json +68 -0
  100. package/generator/dead-code-review/node_modules/chalk/readme.md +341 -0
  101. package/generator/dead-code-review/node_modules/chalk/source/index.js +229 -0
  102. package/generator/dead-code-review/node_modules/chalk/source/templates.js +134 -0
  103. package/generator/dead-code-review/node_modules/chalk/source/util.js +39 -0
  104. package/generator/dead-code-review/node_modules/chokidar/LICENSE +21 -0
  105. package/generator/dead-code-review/node_modules/chokidar/README.md +308 -0
  106. package/generator/dead-code-review/node_modules/chokidar/index.js +973 -0
  107. package/generator/dead-code-review/node_modules/chokidar/lib/constants.js +65 -0
  108. package/generator/dead-code-review/node_modules/chokidar/lib/fsevents-handler.js +524 -0
  109. package/generator/dead-code-review/node_modules/chokidar/lib/nodefs-handler.js +654 -0
  110. package/generator/dead-code-review/node_modules/chokidar/package.json +85 -0
  111. package/generator/dead-code-review/node_modules/chokidar/types/index.d.ts +188 -0
  112. package/generator/dead-code-review/node_modules/color-convert/CHANGELOG.md +54 -0
  113. package/generator/dead-code-review/node_modules/color-convert/LICENSE +21 -0
  114. package/generator/dead-code-review/node_modules/color-convert/README.md +68 -0
  115. package/generator/dead-code-review/node_modules/color-convert/conversions.js +839 -0
  116. package/generator/dead-code-review/node_modules/color-convert/index.js +81 -0
  117. package/generator/dead-code-review/node_modules/color-convert/package.json +48 -0
  118. package/generator/dead-code-review/node_modules/color-convert/route.js +97 -0
  119. package/generator/dead-code-review/node_modules/color-name/LICENSE +8 -0
  120. package/generator/dead-code-review/node_modules/color-name/README.md +11 -0
  121. package/generator/dead-code-review/node_modules/color-name/index.js +152 -0
  122. package/generator/dead-code-review/node_modules/color-name/package.json +28 -0
  123. package/generator/dead-code-review/node_modules/commander/LICENSE +22 -0
  124. package/generator/dead-code-review/node_modules/commander/Readme.md +1118 -0
  125. package/generator/dead-code-review/node_modules/commander/esm.mjs +16 -0
  126. package/generator/dead-code-review/node_modules/commander/index.js +27 -0
  127. package/generator/dead-code-review/node_modules/commander/lib/argument.js +147 -0
  128. package/generator/dead-code-review/node_modules/commander/lib/command.js +2160 -0
  129. package/generator/dead-code-review/node_modules/commander/lib/error.js +45 -0
  130. package/generator/dead-code-review/node_modules/commander/lib/help.js +406 -0
  131. package/generator/dead-code-review/node_modules/commander/lib/option.js +326 -0
  132. package/generator/dead-code-review/node_modules/commander/lib/suggestSimilar.js +100 -0
  133. package/generator/dead-code-review/node_modules/commander/package-support.json +16 -0
  134. package/generator/dead-code-review/node_modules/commander/package.json +80 -0
  135. package/generator/dead-code-review/node_modules/commander/typings/index.d.ts +881 -0
  136. package/generator/dead-code-review/node_modules/cross-spawn/CHANGELOG.md +130 -0
  137. package/generator/dead-code-review/node_modules/cross-spawn/LICENSE +21 -0
  138. package/generator/dead-code-review/node_modules/cross-spawn/README.md +96 -0
  139. package/generator/dead-code-review/node_modules/cross-spawn/index.js +39 -0
  140. package/generator/dead-code-review/node_modules/cross-spawn/lib/enoent.js +59 -0
  141. package/generator/dead-code-review/node_modules/cross-spawn/lib/parse.js +91 -0
  142. package/generator/dead-code-review/node_modules/cross-spawn/lib/util/escape.js +45 -0
  143. package/generator/dead-code-review/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
  144. package/generator/dead-code-review/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
  145. package/generator/dead-code-review/node_modules/cross-spawn/package.json +73 -0
  146. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/LICENSE +373 -0
  147. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/README.md +64 -0
  148. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/elm_solve_deps_wasm.d.ts +22 -0
  149. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/elm_solve_deps_wasm.js +419 -0
  150. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/elm_solve_deps_wasm_bg.wasm +0 -0
  151. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/package.json +27 -0
  152. package/generator/dead-code-review/node_modules/elm-test/LICENSE +27 -0
  153. package/generator/dead-code-review/node_modules/elm-test/README.md +192 -0
  154. package/generator/dead-code-review/node_modules/elm-test/bin/elm-test +3 -0
  155. package/generator/dead-code-review/node_modules/elm-test/elm/elm.json +25 -0
  156. package/generator/dead-code-review/node_modules/elm-test/elm/src/Console/Text.elm +217 -0
  157. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console/Format/Color.elm +30 -0
  158. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console/Format/Monochrome.elm +39 -0
  159. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console/Format.elm +212 -0
  160. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console.elm +207 -0
  161. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Highlightable.elm +48 -0
  162. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/JUnit.elm +161 -0
  163. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Json.elm +158 -0
  164. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Reporter.elm +53 -0
  165. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/TestResults.elm +113 -0
  166. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/JsMessage.elm +38 -0
  167. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/Node/Vendor/Console.elm +230 -0
  168. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/Node/Vendor/Diff.elm +326 -0
  169. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/Node.elm +440 -0
  170. package/generator/dead-code-review/node_modules/elm-test/lib/Compile.js +110 -0
  171. package/generator/dead-code-review/node_modules/elm-test/lib/DependencyProvider.js +343 -0
  172. package/generator/dead-code-review/node_modules/elm-test/lib/ElmCompiler.js +109 -0
  173. package/generator/dead-code-review/node_modules/elm-test/lib/ElmHome.js +47 -0
  174. package/generator/dead-code-review/node_modules/elm-test/lib/ElmJson.js +194 -0
  175. package/generator/dead-code-review/node_modules/elm-test/lib/FindTests.js +276 -0
  176. package/generator/dead-code-review/node_modules/elm-test/lib/Generate.js +294 -0
  177. package/generator/dead-code-review/node_modules/elm-test/lib/Install.js +290 -0
  178. package/generator/dead-code-review/node_modules/elm-test/lib/Parser.js +941 -0
  179. package/generator/dead-code-review/node_modules/elm-test/lib/Project.js +117 -0
  180. package/generator/dead-code-review/node_modules/elm-test/lib/Report.js +23 -0
  181. package/generator/dead-code-review/node_modules/elm-test/lib/RunTests.js +322 -0
  182. package/generator/dead-code-review/node_modules/elm-test/lib/Solve.js +76 -0
  183. package/generator/dead-code-review/node_modules/elm-test/lib/Supervisor.js +294 -0
  184. package/generator/dead-code-review/node_modules/elm-test/lib/SyncGet.js +45 -0
  185. package/generator/dead-code-review/node_modules/elm-test/lib/SyncGetWorker.js +36 -0
  186. package/generator/dead-code-review/node_modules/elm-test/lib/elm-test.js +318 -0
  187. package/generator/dead-code-review/node_modules/elm-test/package.json +69 -0
  188. package/generator/dead-code-review/node_modules/elm-test/templates/after.js +29 -0
  189. package/generator/dead-code-review/node_modules/elm-test/templates/before.js +58 -0
  190. package/generator/dead-code-review/node_modules/elm-test/templates/tests/Example.elm +10 -0
  191. package/generator/dead-code-review/node_modules/fill-range/LICENSE +21 -0
  192. package/generator/dead-code-review/node_modules/fill-range/README.md +237 -0
  193. package/generator/dead-code-review/node_modules/fill-range/index.js +249 -0
  194. package/generator/dead-code-review/node_modules/fill-range/package.json +69 -0
  195. package/generator/dead-code-review/node_modules/fs.realpath/LICENSE +43 -0
  196. package/generator/dead-code-review/node_modules/fs.realpath/README.md +33 -0
  197. package/generator/dead-code-review/node_modules/fs.realpath/index.js +66 -0
  198. package/generator/dead-code-review/node_modules/fs.realpath/old.js +303 -0
  199. package/generator/dead-code-review/node_modules/fs.realpath/package.json +26 -0
  200. package/generator/dead-code-review/node_modules/fsevents/LICENSE +22 -0
  201. package/generator/dead-code-review/node_modules/fsevents/README.md +83 -0
  202. package/generator/dead-code-review/node_modules/fsevents/fsevents.d.ts +46 -0
  203. package/generator/dead-code-review/node_modules/fsevents/fsevents.js +82 -0
  204. package/generator/dead-code-review/node_modules/fsevents/fsevents.node +0 -0
  205. package/generator/dead-code-review/node_modules/fsevents/package.json +62 -0
  206. package/generator/dead-code-review/node_modules/glob/LICENSE +15 -0
  207. package/generator/dead-code-review/node_modules/glob/README.md +378 -0
  208. package/generator/dead-code-review/node_modules/glob/common.js +240 -0
  209. package/generator/dead-code-review/node_modules/glob/glob.js +790 -0
  210. package/generator/dead-code-review/node_modules/glob/package.json +55 -0
  211. package/generator/dead-code-review/node_modules/glob/sync.js +486 -0
  212. package/generator/dead-code-review/node_modules/glob-parent/CHANGELOG.md +110 -0
  213. package/generator/dead-code-review/node_modules/glob-parent/LICENSE +15 -0
  214. package/generator/dead-code-review/node_modules/glob-parent/README.md +137 -0
  215. package/generator/dead-code-review/node_modules/glob-parent/index.js +42 -0
  216. package/generator/dead-code-review/node_modules/glob-parent/package.json +48 -0
  217. package/generator/dead-code-review/node_modules/graceful-fs/LICENSE +15 -0
  218. package/generator/dead-code-review/node_modules/graceful-fs/README.md +143 -0
  219. package/generator/dead-code-review/node_modules/graceful-fs/clone.js +23 -0
  220. package/generator/dead-code-review/node_modules/graceful-fs/graceful-fs.js +448 -0
  221. package/generator/dead-code-review/node_modules/graceful-fs/legacy-streams.js +118 -0
  222. package/generator/dead-code-review/node_modules/graceful-fs/package.json +50 -0
  223. package/generator/dead-code-review/node_modules/graceful-fs/polyfills.js +355 -0
  224. package/generator/dead-code-review/node_modules/has-flag/index.d.ts +39 -0
  225. package/generator/dead-code-review/node_modules/has-flag/index.js +8 -0
  226. package/generator/dead-code-review/node_modules/has-flag/license +9 -0
  227. package/generator/dead-code-review/node_modules/has-flag/package.json +46 -0
  228. package/generator/dead-code-review/node_modules/has-flag/readme.md +89 -0
  229. package/generator/dead-code-review/node_modules/inflight/LICENSE +15 -0
  230. package/generator/dead-code-review/node_modules/inflight/README.md +37 -0
  231. package/generator/dead-code-review/node_modules/inflight/inflight.js +54 -0
  232. package/generator/dead-code-review/node_modules/inflight/package.json +29 -0
  233. package/generator/dead-code-review/node_modules/inherits/LICENSE +16 -0
  234. package/generator/dead-code-review/node_modules/inherits/README.md +42 -0
  235. package/generator/dead-code-review/node_modules/inherits/inherits.js +9 -0
  236. package/generator/dead-code-review/node_modules/inherits/inherits_browser.js +27 -0
  237. package/generator/dead-code-review/node_modules/inherits/package.json +29 -0
  238. package/generator/dead-code-review/node_modules/is-binary-path/index.d.ts +17 -0
  239. package/generator/dead-code-review/node_modules/is-binary-path/index.js +7 -0
  240. package/generator/dead-code-review/node_modules/is-binary-path/license +9 -0
  241. package/generator/dead-code-review/node_modules/is-binary-path/package.json +40 -0
  242. package/generator/dead-code-review/node_modules/is-binary-path/readme.md +34 -0
  243. package/generator/dead-code-review/node_modules/is-extglob/LICENSE +21 -0
  244. package/generator/dead-code-review/node_modules/is-extglob/README.md +107 -0
  245. package/generator/dead-code-review/node_modules/is-extglob/index.js +20 -0
  246. package/generator/dead-code-review/node_modules/is-extglob/package.json +69 -0
  247. package/generator/dead-code-review/node_modules/is-glob/LICENSE +21 -0
  248. package/generator/dead-code-review/node_modules/is-glob/README.md +206 -0
  249. package/generator/dead-code-review/node_modules/is-glob/index.js +150 -0
  250. package/generator/dead-code-review/node_modules/is-glob/package.json +81 -0
  251. package/generator/dead-code-review/node_modules/is-number/LICENSE +21 -0
  252. package/generator/dead-code-review/node_modules/is-number/README.md +187 -0
  253. package/generator/dead-code-review/node_modules/is-number/index.js +18 -0
  254. package/generator/dead-code-review/node_modules/is-number/package.json +82 -0
  255. package/generator/dead-code-review/node_modules/isexe/LICENSE +15 -0
  256. package/generator/dead-code-review/node_modules/isexe/README.md +51 -0
  257. package/generator/dead-code-review/node_modules/isexe/index.js +57 -0
  258. package/generator/dead-code-review/node_modules/isexe/mode.js +41 -0
  259. package/generator/dead-code-review/node_modules/isexe/package.json +31 -0
  260. package/generator/dead-code-review/node_modules/isexe/test/basic.js +221 -0
  261. package/generator/dead-code-review/node_modules/isexe/windows.js +42 -0
  262. package/generator/dead-code-review/node_modules/minimatch/LICENSE +15 -0
  263. package/generator/dead-code-review/node_modules/minimatch/README.md +259 -0
  264. package/generator/dead-code-review/node_modules/minimatch/lib/path.js +4 -0
  265. package/generator/dead-code-review/node_modules/minimatch/minimatch.js +906 -0
  266. package/generator/dead-code-review/node_modules/minimatch/package.json +32 -0
  267. package/generator/dead-code-review/node_modules/normalize-path/LICENSE +21 -0
  268. package/generator/dead-code-review/node_modules/normalize-path/README.md +127 -0
  269. package/generator/dead-code-review/node_modules/normalize-path/index.js +35 -0
  270. package/generator/dead-code-review/node_modules/normalize-path/package.json +77 -0
  271. package/generator/dead-code-review/node_modules/once/LICENSE +15 -0
  272. package/generator/dead-code-review/node_modules/once/README.md +79 -0
  273. package/generator/dead-code-review/node_modules/once/once.js +42 -0
  274. package/generator/dead-code-review/node_modules/once/package.json +33 -0
  275. package/generator/dead-code-review/node_modules/path-key/index.d.ts +40 -0
  276. package/generator/dead-code-review/node_modules/path-key/index.js +16 -0
  277. package/generator/dead-code-review/node_modules/path-key/license +9 -0
  278. package/generator/dead-code-review/node_modules/path-key/package.json +39 -0
  279. package/generator/dead-code-review/node_modules/path-key/readme.md +61 -0
  280. package/generator/dead-code-review/node_modules/picomatch/CHANGELOG.md +136 -0
  281. package/generator/dead-code-review/node_modules/picomatch/LICENSE +21 -0
  282. package/generator/dead-code-review/node_modules/picomatch/README.md +708 -0
  283. package/generator/dead-code-review/node_modules/picomatch/index.js +3 -0
  284. package/generator/dead-code-review/node_modules/picomatch/lib/constants.js +179 -0
  285. package/generator/dead-code-review/node_modules/picomatch/lib/parse.js +1091 -0
  286. package/generator/dead-code-review/node_modules/picomatch/lib/picomatch.js +342 -0
  287. package/generator/dead-code-review/node_modules/picomatch/lib/scan.js +391 -0
  288. package/generator/dead-code-review/node_modules/picomatch/lib/utils.js +64 -0
  289. package/generator/dead-code-review/node_modules/picomatch/package.json +81 -0
  290. package/generator/dead-code-review/node_modules/readdirp/LICENSE +21 -0
  291. package/generator/dead-code-review/node_modules/readdirp/README.md +122 -0
  292. package/generator/dead-code-review/node_modules/readdirp/index.d.ts +43 -0
  293. package/generator/dead-code-review/node_modules/readdirp/index.js +287 -0
  294. package/generator/dead-code-review/node_modules/readdirp/package.json +122 -0
  295. package/generator/dead-code-review/node_modules/shebang-command/index.js +19 -0
  296. package/generator/dead-code-review/node_modules/shebang-command/license +9 -0
  297. package/generator/dead-code-review/node_modules/shebang-command/package.json +34 -0
  298. package/generator/dead-code-review/node_modules/shebang-command/readme.md +34 -0
  299. package/generator/dead-code-review/node_modules/shebang-regex/index.d.ts +22 -0
  300. package/generator/dead-code-review/node_modules/shebang-regex/index.js +2 -0
  301. package/generator/dead-code-review/node_modules/shebang-regex/license +9 -0
  302. package/generator/dead-code-review/node_modules/shebang-regex/package.json +35 -0
  303. package/generator/dead-code-review/node_modules/shebang-regex/readme.md +33 -0
  304. package/generator/dead-code-review/node_modules/split/.travis.yml +3 -0
  305. package/generator/dead-code-review/node_modules/split/LICENCE +22 -0
  306. package/generator/dead-code-review/node_modules/split/examples/pretty.js +26 -0
  307. package/generator/dead-code-review/node_modules/split/index.js +63 -0
  308. package/generator/dead-code-review/node_modules/split/package.json +30 -0
  309. package/generator/dead-code-review/node_modules/split/readme.markdown +72 -0
  310. package/generator/dead-code-review/node_modules/split/test/options.asynct.js +46 -0
  311. package/generator/dead-code-review/node_modules/split/test/partitioned_unicode.js +34 -0
  312. package/generator/dead-code-review/node_modules/split/test/split.asynct.js +137 -0
  313. package/generator/dead-code-review/node_modules/split/test/try_catch.asynct.js +51 -0
  314. package/generator/dead-code-review/node_modules/supports-color/browser.js +5 -0
  315. package/generator/dead-code-review/node_modules/supports-color/index.js +135 -0
  316. package/generator/dead-code-review/node_modules/supports-color/license +9 -0
  317. package/generator/dead-code-review/node_modules/supports-color/package.json +53 -0
  318. package/generator/dead-code-review/node_modules/supports-color/readme.md +76 -0
  319. package/generator/dead-code-review/node_modules/through/.travis.yml +5 -0
  320. package/generator/dead-code-review/node_modules/through/LICENSE.APACHE2 +15 -0
  321. package/generator/dead-code-review/node_modules/through/LICENSE.MIT +24 -0
  322. package/generator/dead-code-review/node_modules/through/index.js +108 -0
  323. package/generator/dead-code-review/node_modules/through/package.json +36 -0
  324. package/generator/dead-code-review/node_modules/through/readme.markdown +64 -0
  325. package/generator/dead-code-review/node_modules/through/test/async.js +28 -0
  326. package/generator/dead-code-review/node_modules/through/test/auto-destroy.js +30 -0
  327. package/generator/dead-code-review/node_modules/through/test/buffering.js +71 -0
  328. package/generator/dead-code-review/node_modules/through/test/end.js +45 -0
  329. package/generator/dead-code-review/node_modules/through/test/index.js +133 -0
  330. package/generator/dead-code-review/node_modules/to-regex-range/LICENSE +21 -0
  331. package/generator/dead-code-review/node_modules/to-regex-range/README.md +305 -0
  332. package/generator/dead-code-review/node_modules/to-regex-range/index.js +288 -0
  333. package/generator/dead-code-review/node_modules/to-regex-range/package.json +88 -0
  334. package/generator/dead-code-review/node_modules/which/CHANGELOG.md +166 -0
  335. package/generator/dead-code-review/node_modules/which/LICENSE +15 -0
  336. package/generator/dead-code-review/node_modules/which/README.md +54 -0
  337. package/generator/dead-code-review/node_modules/which/bin/node-which +52 -0
  338. package/generator/dead-code-review/node_modules/which/package.json +43 -0
  339. package/generator/dead-code-review/node_modules/which/which.js +125 -0
  340. package/generator/dead-code-review/node_modules/wrappy/LICENSE +15 -0
  341. package/generator/dead-code-review/node_modules/wrappy/README.md +36 -0
  342. package/generator/dead-code-review/node_modules/wrappy/package.json +29 -0
  343. package/generator/dead-code-review/node_modules/wrappy/wrappy.js +33 -0
  344. package/generator/dead-code-review/node_modules/xmlbuilder/.nycrc +6 -0
  345. package/generator/dead-code-review/node_modules/xmlbuilder/.vscode/launch.json +23 -0
  346. package/generator/dead-code-review/node_modules/xmlbuilder/CHANGELOG.md +593 -0
  347. package/generator/dead-code-review/node_modules/xmlbuilder/LICENSE +21 -0
  348. package/generator/dead-code-review/node_modules/xmlbuilder/README.md +103 -0
  349. package/generator/dead-code-review/node_modules/xmlbuilder/lib/Derivation.js +10 -0
  350. package/generator/dead-code-review/node_modules/xmlbuilder/lib/DocumentPosition.js +12 -0
  351. package/generator/dead-code-review/node_modules/xmlbuilder/lib/NodeType.js +25 -0
  352. package/generator/dead-code-review/node_modules/xmlbuilder/lib/OperationType.js +11 -0
  353. package/generator/dead-code-review/node_modules/xmlbuilder/lib/Utility.js +88 -0
  354. package/generator/dead-code-review/node_modules/xmlbuilder/lib/WriterState.js +10 -0
  355. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLAttribute.js +130 -0
  356. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLCData.js +41 -0
  357. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLCharacterData.js +86 -0
  358. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLComment.js +41 -0
  359. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMConfiguration.js +80 -0
  360. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js +20 -0
  361. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMImplementation.js +55 -0
  362. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMStringList.js +44 -0
  363. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDAttList.js +66 -0
  364. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDElement.js +44 -0
  365. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDEntity.js +115 -0
  366. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDNotation.js +66 -0
  367. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDeclaration.js +51 -0
  368. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocType.js +235 -0
  369. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocument.js +282 -0
  370. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocumentCB.js +650 -0
  371. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocumentFragment.js +21 -0
  372. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDummy.js +39 -0
  373. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLElement.js +334 -0
  374. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNamedNodeMap.js +77 -0
  375. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNode.js +999 -0
  376. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNodeFilter.js +51 -0
  377. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNodeList.js +45 -0
  378. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js +56 -0
  379. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLRaw.js +40 -0
  380. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLStreamWriter.js +209 -0
  381. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLStringWriter.js +40 -0
  382. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLStringifier.js +291 -0
  383. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLText.js +82 -0
  384. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLTypeInfo.js +23 -0
  385. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLUserDataHandler.js +27 -0
  386. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLWriterBase.js +485 -0
  387. package/generator/dead-code-review/node_modules/xmlbuilder/lib/index.js +120 -0
  388. package/generator/dead-code-review/node_modules/xmlbuilder/package.json +51 -0
  389. package/generator/dead-code-review/node_modules/xmlbuilder/perf/basic/escaping.coffee +244 -0
  390. package/generator/dead-code-review/node_modules/xmlbuilder/perf/basic/object.coffee +21 -0
  391. package/generator/dead-code-review/node_modules/xmlbuilder/perf/index.coffee +161 -0
  392. package/generator/dead-code-review/node_modules/xmlbuilder/perf/perf.list +11 -0
  393. package/generator/dead-code-review/node_modules/xmlbuilder/typings/index.d.ts +1771 -0
  394. package/generator/dead-code-review/src/Pages/Review/DeadCodeEliminateData.elm +189 -17
  395. package/generator/dead-code-review/tests/Pages/Review/DeadCodeEliminateDataTest.elm +255 -21
  396. package/generator/review/elm-stuff/0.19.1/d.dat +0 -0
  397. package/generator/review/elm-stuff/0.19.1/i.dat +0 -0
  398. package/generator/review/elm-stuff/0.19.1/o.dat +0 -0
  399. package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision10/install/elm-stuff/0.19.1/d.dat +0 -0
  400. package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision10/install/elm-stuff/0.19.1/i.dat +0 -0
  401. package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision10/install/elm-stuff/0.19.1/o.dat +0 -0
  402. package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision10/install/elm.json +25 -0
  403. package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision7/install/elm-stuff/0.19.1/d.dat +0 -0
  404. package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision7/install/elm-stuff/0.19.1/i.dat +0 -0
  405. package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision7/install/elm-stuff/0.19.1/o.dat +0 -0
  406. package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision7/install/elm.json +41 -0
  407. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/d.dat +0 -0
  408. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/i.dat +0 -0
  409. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/o.dat +0 -0
  410. package/generator/review/elm-stuff/tests-0.19.1/elm.json +1 -1
  411. package/generator/review/elm-stuff/tests-0.19.1/js/Reporter.elm.js +1327 -122
  412. package/generator/review/elm-stuff/tests-0.19.1/js/Runner.elm.js +14621 -12637
  413. package/generator/review/elm-stuff/tests-0.19.1/js/node_runner.js +1 -1
  414. package/generator/review/elm-stuff/tests-0.19.1/js/node_supervisor.js +4 -4
  415. package/generator/review/elm.json +8 -8
  416. package/generator/src/RouteBuilder.elm +66 -52
  417. package/generator/src/SharedTemplate.elm +3 -2
  418. package/generator/src/SiteConfig.elm +3 -2
  419. package/generator/src/basepath-middleware.js +3 -3
  420. package/generator/src/build.js +122 -86
  421. package/generator/src/cli.js +256 -52
  422. package/generator/src/codegen.js +29 -27
  423. package/generator/src/compatibility-key.js +3 -0
  424. package/generator/src/compile-elm.js +20 -22
  425. package/generator/src/config.js +39 -0
  426. package/generator/src/copy-dir.js +2 -2
  427. package/generator/src/dev-server.js +106 -110
  428. package/generator/src/dir-helpers.js +9 -26
  429. package/generator/src/elm-codegen.js +5 -4
  430. package/generator/src/elm-file-constants.js +2 -3
  431. package/generator/src/error-formatter.js +12 -11
  432. package/generator/src/file-helpers.js +3 -4
  433. package/generator/src/generate-template-module-connector.js +14 -21
  434. package/generator/src/init.js +8 -7
  435. package/generator/src/pre-render-html.js +39 -28
  436. package/generator/src/render-test.js +109 -0
  437. package/generator/src/render-worker.js +29 -28
  438. package/generator/src/render.js +322 -142
  439. package/generator/src/request-cache.js +252 -163
  440. package/generator/src/rewrite-client-elm-json.js +5 -5
  441. package/generator/src/rewrite-elm-json.js +7 -7
  442. package/generator/src/route-codegen-helpers.js +16 -31
  443. package/generator/src/seo-renderer.js +12 -7
  444. package/generator/src/vite-utils.js +77 -0
  445. package/generator/static-code/hmr.js +16 -2
  446. package/generator/template/app/Api.elm +6 -5
  447. package/generator/template/app/Effect.elm +123 -0
  448. package/generator/template/app/ErrorPage.elm +37 -6
  449. package/generator/template/app/Route/Index.elm +15 -8
  450. package/generator/template/app/Shared.elm +24 -47
  451. package/generator/template/app/Site.elm +19 -6
  452. package/generator/template/app/View.elm +1 -8
  453. package/generator/template/elm-tooling.json +0 -3
  454. package/generator/template/elm.json +34 -25
  455. package/generator/template/package.json +10 -4
  456. package/package.json +21 -21
  457. package/src/ApiRoute.elm +199 -61
  458. package/src/BackendTask/Custom.elm +318 -0
  459. package/src/BackendTask/Env.elm +90 -0
  460. package/src/{DataSource → BackendTask}/File.elm +128 -43
  461. package/src/{DataSource → BackendTask}/Glob.elm +136 -125
  462. package/src/BackendTask/Http.elm +673 -0
  463. package/src/{DataSource → BackendTask}/Internal/Glob.elm +1 -1
  464. package/src/BackendTask/Internal/Request.elm +28 -0
  465. package/src/BackendTask/Random.elm +79 -0
  466. package/src/BackendTask/Time.elm +47 -0
  467. package/src/BackendTask.elm +537 -0
  468. package/src/FatalError.elm +89 -0
  469. package/src/Form/Field.elm +22 -10
  470. package/src/Form/FieldView.elm +14 -4
  471. package/src/Form.elm +99 -111
  472. package/src/Head/Seo.elm +4 -4
  473. package/src/Head.elm +237 -7
  474. package/src/HtmlPrinter.elm +7 -3
  475. package/src/Internal/ApiRoute.elm +7 -5
  476. package/src/PageServerResponse.elm +6 -1
  477. package/src/Pages/GeneratorProgramConfig.elm +15 -0
  478. package/src/Pages/Internal/FatalError.elm +5 -0
  479. package/src/Pages/Internal/Form.elm +21 -1
  480. package/src/Pages/Internal/Platform/Cli.elm +505 -746
  481. package/src/Pages/Internal/Platform/Cli.elm.bak +1276 -0
  482. package/src/Pages/Internal/Platform/CompatibilityKey.elm +6 -0
  483. package/src/Pages/Internal/Platform/Effect.elm +1 -2
  484. package/src/Pages/Internal/Platform/GeneratorApplication.elm +373 -0
  485. package/src/Pages/Internal/Platform/StaticResponses.elm +73 -270
  486. package/src/Pages/Internal/Platform/ToJsPayload.elm +4 -7
  487. package/src/Pages/Internal/Platform.elm +110 -88
  488. package/src/Pages/Internal/Script.elm +17 -0
  489. package/src/Pages/Internal/StaticHttpBody.elm +35 -1
  490. package/src/Pages/Manifest.elm +29 -4
  491. package/src/Pages/ProgramConfig.elm +12 -8
  492. package/src/Pages/Script.elm +109 -0
  493. package/src/Pages/SiteConfig.elm +3 -2
  494. package/src/Pages/StaticHttp/Request.elm +2 -2
  495. package/src/Pages/StaticHttpRequest.elm +23 -98
  496. package/src/RequestsAndPending.elm +8 -19
  497. package/src/Result/Extra.elm +26 -0
  498. package/src/Scaffold/Form.elm +474 -0
  499. package/src/Scaffold/Route.elm +1473 -0
  500. package/src/Server/Request.elm +43 -34
  501. package/src/Server/Session.elm +166 -100
  502. package/src/Server/SetCookie.elm +89 -31
  503. package/src/Test/Html/Internal/ElmHtml/ToString.elm +8 -9
  504. package/src/DataSource/Env.elm +0 -38
  505. package/src/DataSource/Http.elm +0 -446
  506. package/src/DataSource/Internal/Request.elm +0 -20
  507. package/src/DataSource/Port.elm +0 -90
  508. package/src/DataSource.elm +0 -538
  509. package/src/Pages/Generate.elm +0 -800
@@ -3647,26 +3647,982 @@ var $elm$core$List$append = F2(
3647
3647
  var $elm$core$List$concat = function (lists) {
3648
3648
  return A3($elm$core$List$foldr, $elm$core$List$append, _List_Nil, lists);
3649
3649
  };
3650
+ var $elm$core$List$filter = F2(
3651
+ function (isGood, list) {
3652
+ return A3(
3653
+ $elm$core$List$foldr,
3654
+ F2(
3655
+ function (x, xs) {
3656
+ return isGood(x) ? A2($elm$core$List$cons, x, xs) : xs;
3657
+ }),
3658
+ _List_Nil,
3659
+ list);
3660
+ });
3661
+ var $elm_explorations$test$AsciiTable$AlignLeft = {$: 'AlignLeft'};
3662
+ var $elm_explorations$test$AsciiTable$AlignRight = {$: 'AlignRight'};
3663
+ var $elm_explorations$test$Test$Runner$Distribution$bars = 30;
3664
+ var $elm$core$String$cons = _String_cons;
3665
+ var $elm$core$String$fromChar = function (_char) {
3666
+ return A2($elm$core$String$cons, _char, '');
3667
+ };
3668
+ var $elm$core$String$length = _String_length;
3669
+ var $elm$core$String$padRight = F3(
3670
+ function (n, _char, string) {
3671
+ return _Utils_ap(
3672
+ string,
3673
+ A2(
3674
+ $elm$core$String$repeat,
3675
+ n - $elm$core$String$length(string),
3676
+ $elm$core$String$fromChar(_char)));
3677
+ });
3678
+ var $elm_explorations$test$Test$Runner$Distribution$barView = function (_v0) {
3679
+ var runsElapsed = _v0.runsElapsed;
3680
+ var count = _v0.count;
3681
+ var percentage = count / runsElapsed;
3682
+ var barsForPercentage = percentage * $elm_explorations$test$Test$Runner$Distribution$bars;
3683
+ var fullBars = $elm$core$Basics$round(barsForPercentage);
3684
+ return A3(
3685
+ $elm$core$String$padRight,
3686
+ $elm_explorations$test$Test$Runner$Distribution$bars,
3687
+ _Utils_chr('░'),
3688
+ A2($elm$core$String$repeat, fullBars, '█'));
3689
+ };
3690
+ var $elm$core$String$fromFloat = _String_fromNumber;
3691
+ var $elm$core$List$map3 = _List_map3;
3692
+ var $elm$core$List$maximum = function (list) {
3693
+ if (list.b) {
3694
+ var x = list.a;
3695
+ var xs = list.b;
3696
+ return $elm$core$Maybe$Just(
3697
+ A3($elm$core$List$foldl, $elm$core$Basics$max, x, xs));
3698
+ } else {
3699
+ return $elm$core$Maybe$Nothing;
3700
+ }
3701
+ };
3702
+ var $elm$core$String$padLeft = F3(
3703
+ function (n, _char, string) {
3704
+ return _Utils_ap(
3705
+ A2(
3706
+ $elm$core$String$repeat,
3707
+ n - $elm$core$String$length(string),
3708
+ $elm$core$String$fromChar(_char)),
3709
+ string);
3710
+ });
3711
+ var $elm$core$List$repeatHelp = F3(
3712
+ function (result, n, value) {
3713
+ repeatHelp:
3714
+ while (true) {
3715
+ if (n <= 0) {
3716
+ return result;
3717
+ } else {
3718
+ var $temp$result = A2($elm$core$List$cons, value, result),
3719
+ $temp$n = n - 1,
3720
+ $temp$value = value;
3721
+ result = $temp$result;
3722
+ n = $temp$n;
3723
+ value = $temp$value;
3724
+ continue repeatHelp;
3725
+ }
3726
+ }
3727
+ });
3728
+ var $elm$core$List$repeat = F2(
3729
+ function (n, value) {
3730
+ return A3($elm$core$List$repeatHelp, _List_Nil, n, value);
3731
+ });
3732
+ var $elm_explorations$test$MicroListExtra$rowsLength = function (listOfLists) {
3733
+ if (!listOfLists.b) {
3734
+ return 0;
3735
+ } else {
3736
+ var x = listOfLists.a;
3737
+ return $elm$core$List$length(x);
3738
+ }
3739
+ };
3740
+ var $elm_explorations$test$MicroListExtra$transpose = function (listOfLists) {
3741
+ return A3(
3742
+ $elm$core$List$foldr,
3743
+ $elm$core$List$map2($elm$core$List$cons),
3744
+ A2(
3745
+ $elm$core$List$repeat,
3746
+ $elm_explorations$test$MicroListExtra$rowsLength(listOfLists),
3747
+ _List_Nil),
3748
+ listOfLists);
3749
+ };
3750
+ var $elm_explorations$test$AsciiTable$view = F2(
3751
+ function (columns, items) {
3752
+ var padFn = F3(
3753
+ function (length, align, string) {
3754
+ if (align.$ === 'AlignLeft') {
3755
+ return A3(
3756
+ $elm$core$String$padRight,
3757
+ length,
3758
+ _Utils_chr(' '),
3759
+ string);
3760
+ } else {
3761
+ return A3(
3762
+ $elm$core$String$padLeft,
3763
+ length,
3764
+ _Utils_chr(' '),
3765
+ string);
3766
+ }
3767
+ });
3768
+ var columnData = A2(
3769
+ $elm$core$List$map,
3770
+ function (col) {
3771
+ return A2($elm$core$List$map, col.toString, items);
3772
+ },
3773
+ columns);
3774
+ var columnLengths = A2(
3775
+ $elm$core$List$map,
3776
+ function (colRows) {
3777
+ return A2(
3778
+ $elm$core$Maybe$withDefault,
3779
+ 0,
3780
+ $elm$core$List$maximum(
3781
+ A2($elm$core$List$map, $elm$core$String$length, colRows)));
3782
+ },
3783
+ columnData);
3784
+ var paddedColumnData = A4(
3785
+ $elm$core$List$map3,
3786
+ F3(
3787
+ function (col, colLength, colStrings) {
3788
+ return A2(
3789
+ $elm$core$List$map,
3790
+ A2(padFn, colLength, col.align),
3791
+ colStrings);
3792
+ }),
3793
+ columns,
3794
+ columnLengths,
3795
+ columnData);
3796
+ return A3(
3797
+ $elm$core$List$map2,
3798
+ F2(
3799
+ function (item, rowCells) {
3800
+ return {
3801
+ item: item,
3802
+ renderedRow: A2($elm$core$String$join, ' ', rowCells)
3803
+ };
3804
+ }),
3805
+ items,
3806
+ $elm_explorations$test$MicroListExtra$transpose(paddedColumnData));
3807
+ });
3808
+ var $elm_explorations$test$Test$Runner$Distribution$viewLabels = function (labels) {
3809
+ return $elm$core$List$isEmpty(labels) ? '<uncategorized>' : A2($elm$core$String$join, ', ', labels);
3810
+ };
3811
+ var $elm_explorations$test$Test$Runner$Distribution$formatAsciiTable = F2(
3812
+ function (runsElapsed, items) {
3813
+ return A2(
3814
+ $elm_explorations$test$AsciiTable$view,
3815
+ _List_fromArray(
3816
+ [
3817
+ {
3818
+ align: $elm_explorations$test$AsciiTable$AlignLeft,
3819
+ toString: function (_v0) {
3820
+ var labels = _v0.a;
3821
+ return ' ' + ($elm_explorations$test$Test$Runner$Distribution$viewLabels(labels) + ':');
3822
+ }
3823
+ },
3824
+ {
3825
+ align: $elm_explorations$test$AsciiTable$AlignRight,
3826
+ toString: function (_v1) {
3827
+ var percentage = _v1.c;
3828
+ return $elm$core$String$fromFloat(percentage) + '%';
3829
+ }
3830
+ },
3831
+ {
3832
+ align: $elm_explorations$test$AsciiTable$AlignRight,
3833
+ toString: function (_v2) {
3834
+ var count = _v2.b;
3835
+ return '(' + ($elm$core$String$fromInt(count) + 'x)');
3836
+ }
3837
+ },
3838
+ {
3839
+ align: $elm_explorations$test$AsciiTable$AlignLeft,
3840
+ toString: function (_v3) {
3841
+ var count = _v3.b;
3842
+ return $elm_explorations$test$Test$Runner$Distribution$barView(
3843
+ {count: count, runsElapsed: runsElapsed});
3844
+ }
3845
+ }
3846
+ ]),
3847
+ items);
3848
+ });
3849
+ var $elm$core$List$any = F2(
3850
+ function (isOkay, list) {
3851
+ any:
3852
+ while (true) {
3853
+ if (!list.b) {
3854
+ return false;
3855
+ } else {
3856
+ var x = list.a;
3857
+ var xs = list.b;
3858
+ if (isOkay(x)) {
3859
+ return true;
3860
+ } else {
3861
+ var $temp$isOkay = isOkay,
3862
+ $temp$list = xs;
3863
+ isOkay = $temp$isOkay;
3864
+ list = $temp$list;
3865
+ continue any;
3866
+ }
3867
+ }
3868
+ }
3869
+ });
3870
+ var $elm$core$Set$Set_elm_builtin = function (a) {
3871
+ return {$: 'Set_elm_builtin', a: a};
3872
+ };
3873
+ var $elm$core$Dict$foldl = F3(
3874
+ function (func, acc, dict) {
3875
+ foldl:
3876
+ while (true) {
3877
+ if (dict.$ === 'RBEmpty_elm_builtin') {
3878
+ return acc;
3879
+ } else {
3880
+ var key = dict.b;
3881
+ var value = dict.c;
3882
+ var left = dict.d;
3883
+ var right = dict.e;
3884
+ var $temp$func = func,
3885
+ $temp$acc = A3(
3886
+ func,
3887
+ key,
3888
+ value,
3889
+ A3($elm$core$Dict$foldl, func, acc, left)),
3890
+ $temp$dict = right;
3891
+ func = $temp$func;
3892
+ acc = $temp$acc;
3893
+ dict = $temp$dict;
3894
+ continue foldl;
3895
+ }
3896
+ }
3897
+ });
3898
+ var $elm$core$Dict$getMin = function (dict) {
3899
+ getMin:
3900
+ while (true) {
3901
+ if ((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) {
3902
+ var left = dict.d;
3903
+ var $temp$dict = left;
3904
+ dict = $temp$dict;
3905
+ continue getMin;
3906
+ } else {
3907
+ return dict;
3908
+ }
3909
+ }
3910
+ };
3911
+ var $elm$core$Dict$moveRedLeft = function (dict) {
3912
+ if (((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) && (dict.e.$ === 'RBNode_elm_builtin')) {
3913
+ if ((dict.e.d.$ === 'RBNode_elm_builtin') && (dict.e.d.a.$ === 'Red')) {
3914
+ var clr = dict.a;
3915
+ var k = dict.b;
3916
+ var v = dict.c;
3917
+ var _v1 = dict.d;
3918
+ var lClr = _v1.a;
3919
+ var lK = _v1.b;
3920
+ var lV = _v1.c;
3921
+ var lLeft = _v1.d;
3922
+ var lRight = _v1.e;
3923
+ var _v2 = dict.e;
3924
+ var rClr = _v2.a;
3925
+ var rK = _v2.b;
3926
+ var rV = _v2.c;
3927
+ var rLeft = _v2.d;
3928
+ var _v3 = rLeft.a;
3929
+ var rlK = rLeft.b;
3930
+ var rlV = rLeft.c;
3931
+ var rlL = rLeft.d;
3932
+ var rlR = rLeft.e;
3933
+ var rRight = _v2.e;
3934
+ return A5(
3935
+ $elm$core$Dict$RBNode_elm_builtin,
3936
+ $elm$core$Dict$Red,
3937
+ rlK,
3938
+ rlV,
3939
+ A5(
3940
+ $elm$core$Dict$RBNode_elm_builtin,
3941
+ $elm$core$Dict$Black,
3942
+ k,
3943
+ v,
3944
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
3945
+ rlL),
3946
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, rK, rV, rlR, rRight));
3947
+ } else {
3948
+ var clr = dict.a;
3949
+ var k = dict.b;
3950
+ var v = dict.c;
3951
+ var _v4 = dict.d;
3952
+ var lClr = _v4.a;
3953
+ var lK = _v4.b;
3954
+ var lV = _v4.c;
3955
+ var lLeft = _v4.d;
3956
+ var lRight = _v4.e;
3957
+ var _v5 = dict.e;
3958
+ var rClr = _v5.a;
3959
+ var rK = _v5.b;
3960
+ var rV = _v5.c;
3961
+ var rLeft = _v5.d;
3962
+ var rRight = _v5.e;
3963
+ if (clr.$ === 'Black') {
3964
+ return A5(
3965
+ $elm$core$Dict$RBNode_elm_builtin,
3966
+ $elm$core$Dict$Black,
3967
+ k,
3968
+ v,
3969
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
3970
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));
3971
+ } else {
3972
+ return A5(
3973
+ $elm$core$Dict$RBNode_elm_builtin,
3974
+ $elm$core$Dict$Black,
3975
+ k,
3976
+ v,
3977
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
3978
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));
3979
+ }
3980
+ }
3981
+ } else {
3982
+ return dict;
3983
+ }
3984
+ };
3985
+ var $elm$core$Dict$moveRedRight = function (dict) {
3986
+ if (((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) && (dict.e.$ === 'RBNode_elm_builtin')) {
3987
+ if ((dict.d.d.$ === 'RBNode_elm_builtin') && (dict.d.d.a.$ === 'Red')) {
3988
+ var clr = dict.a;
3989
+ var k = dict.b;
3990
+ var v = dict.c;
3991
+ var _v1 = dict.d;
3992
+ var lClr = _v1.a;
3993
+ var lK = _v1.b;
3994
+ var lV = _v1.c;
3995
+ var _v2 = _v1.d;
3996
+ var _v3 = _v2.a;
3997
+ var llK = _v2.b;
3998
+ var llV = _v2.c;
3999
+ var llLeft = _v2.d;
4000
+ var llRight = _v2.e;
4001
+ var lRight = _v1.e;
4002
+ var _v4 = dict.e;
4003
+ var rClr = _v4.a;
4004
+ var rK = _v4.b;
4005
+ var rV = _v4.c;
4006
+ var rLeft = _v4.d;
4007
+ var rRight = _v4.e;
4008
+ return A5(
4009
+ $elm$core$Dict$RBNode_elm_builtin,
4010
+ $elm$core$Dict$Red,
4011
+ lK,
4012
+ lV,
4013
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, llK, llV, llLeft, llRight),
4014
+ A5(
4015
+ $elm$core$Dict$RBNode_elm_builtin,
4016
+ $elm$core$Dict$Black,
4017
+ k,
4018
+ v,
4019
+ lRight,
4020
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight)));
4021
+ } else {
4022
+ var clr = dict.a;
4023
+ var k = dict.b;
4024
+ var v = dict.c;
4025
+ var _v5 = dict.d;
4026
+ var lClr = _v5.a;
4027
+ var lK = _v5.b;
4028
+ var lV = _v5.c;
4029
+ var lLeft = _v5.d;
4030
+ var lRight = _v5.e;
4031
+ var _v6 = dict.e;
4032
+ var rClr = _v6.a;
4033
+ var rK = _v6.b;
4034
+ var rV = _v6.c;
4035
+ var rLeft = _v6.d;
4036
+ var rRight = _v6.e;
4037
+ if (clr.$ === 'Black') {
4038
+ return A5(
4039
+ $elm$core$Dict$RBNode_elm_builtin,
4040
+ $elm$core$Dict$Black,
4041
+ k,
4042
+ v,
4043
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
4044
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));
4045
+ } else {
4046
+ return A5(
4047
+ $elm$core$Dict$RBNode_elm_builtin,
4048
+ $elm$core$Dict$Black,
4049
+ k,
4050
+ v,
4051
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
4052
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));
4053
+ }
4054
+ }
4055
+ } else {
4056
+ return dict;
4057
+ }
4058
+ };
4059
+ var $elm$core$Dict$removeHelpPrepEQGT = F7(
4060
+ function (targetKey, dict, color, key, value, left, right) {
4061
+ if ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) {
4062
+ var _v1 = left.a;
4063
+ var lK = left.b;
4064
+ var lV = left.c;
4065
+ var lLeft = left.d;
4066
+ var lRight = left.e;
4067
+ return A5(
4068
+ $elm$core$Dict$RBNode_elm_builtin,
4069
+ color,
4070
+ lK,
4071
+ lV,
4072
+ lLeft,
4073
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, key, value, lRight, right));
4074
+ } else {
4075
+ _v2$2:
4076
+ while (true) {
4077
+ if ((right.$ === 'RBNode_elm_builtin') && (right.a.$ === 'Black')) {
4078
+ if (right.d.$ === 'RBNode_elm_builtin') {
4079
+ if (right.d.a.$ === 'Black') {
4080
+ var _v3 = right.a;
4081
+ var _v4 = right.d;
4082
+ var _v5 = _v4.a;
4083
+ return $elm$core$Dict$moveRedRight(dict);
4084
+ } else {
4085
+ break _v2$2;
4086
+ }
4087
+ } else {
4088
+ var _v6 = right.a;
4089
+ var _v7 = right.d;
4090
+ return $elm$core$Dict$moveRedRight(dict);
4091
+ }
4092
+ } else {
4093
+ break _v2$2;
4094
+ }
4095
+ }
4096
+ return dict;
4097
+ }
4098
+ });
4099
+ var $elm$core$Dict$removeMin = function (dict) {
4100
+ if ((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) {
4101
+ var color = dict.a;
4102
+ var key = dict.b;
4103
+ var value = dict.c;
4104
+ var left = dict.d;
4105
+ var lColor = left.a;
4106
+ var lLeft = left.d;
4107
+ var right = dict.e;
4108
+ if (lColor.$ === 'Black') {
4109
+ if ((lLeft.$ === 'RBNode_elm_builtin') && (lLeft.a.$ === 'Red')) {
4110
+ var _v3 = lLeft.a;
4111
+ return A5(
4112
+ $elm$core$Dict$RBNode_elm_builtin,
4113
+ color,
4114
+ key,
4115
+ value,
4116
+ $elm$core$Dict$removeMin(left),
4117
+ right);
4118
+ } else {
4119
+ var _v4 = $elm$core$Dict$moveRedLeft(dict);
4120
+ if (_v4.$ === 'RBNode_elm_builtin') {
4121
+ var nColor = _v4.a;
4122
+ var nKey = _v4.b;
4123
+ var nValue = _v4.c;
4124
+ var nLeft = _v4.d;
4125
+ var nRight = _v4.e;
4126
+ return A5(
4127
+ $elm$core$Dict$balance,
4128
+ nColor,
4129
+ nKey,
4130
+ nValue,
4131
+ $elm$core$Dict$removeMin(nLeft),
4132
+ nRight);
4133
+ } else {
4134
+ return $elm$core$Dict$RBEmpty_elm_builtin;
4135
+ }
4136
+ }
4137
+ } else {
4138
+ return A5(
4139
+ $elm$core$Dict$RBNode_elm_builtin,
4140
+ color,
4141
+ key,
4142
+ value,
4143
+ $elm$core$Dict$removeMin(left),
4144
+ right);
4145
+ }
4146
+ } else {
4147
+ return $elm$core$Dict$RBEmpty_elm_builtin;
4148
+ }
4149
+ };
4150
+ var $elm$core$Dict$removeHelp = F2(
4151
+ function (targetKey, dict) {
4152
+ if (dict.$ === 'RBEmpty_elm_builtin') {
4153
+ return $elm$core$Dict$RBEmpty_elm_builtin;
4154
+ } else {
4155
+ var color = dict.a;
4156
+ var key = dict.b;
4157
+ var value = dict.c;
4158
+ var left = dict.d;
4159
+ var right = dict.e;
4160
+ if (_Utils_cmp(targetKey, key) < 0) {
4161
+ if ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Black')) {
4162
+ var _v4 = left.a;
4163
+ var lLeft = left.d;
4164
+ if ((lLeft.$ === 'RBNode_elm_builtin') && (lLeft.a.$ === 'Red')) {
4165
+ var _v6 = lLeft.a;
4166
+ return A5(
4167
+ $elm$core$Dict$RBNode_elm_builtin,
4168
+ color,
4169
+ key,
4170
+ value,
4171
+ A2($elm$core$Dict$removeHelp, targetKey, left),
4172
+ right);
4173
+ } else {
4174
+ var _v7 = $elm$core$Dict$moveRedLeft(dict);
4175
+ if (_v7.$ === 'RBNode_elm_builtin') {
4176
+ var nColor = _v7.a;
4177
+ var nKey = _v7.b;
4178
+ var nValue = _v7.c;
4179
+ var nLeft = _v7.d;
4180
+ var nRight = _v7.e;
4181
+ return A5(
4182
+ $elm$core$Dict$balance,
4183
+ nColor,
4184
+ nKey,
4185
+ nValue,
4186
+ A2($elm$core$Dict$removeHelp, targetKey, nLeft),
4187
+ nRight);
4188
+ } else {
4189
+ return $elm$core$Dict$RBEmpty_elm_builtin;
4190
+ }
4191
+ }
4192
+ } else {
4193
+ return A5(
4194
+ $elm$core$Dict$RBNode_elm_builtin,
4195
+ color,
4196
+ key,
4197
+ value,
4198
+ A2($elm$core$Dict$removeHelp, targetKey, left),
4199
+ right);
4200
+ }
4201
+ } else {
4202
+ return A2(
4203
+ $elm$core$Dict$removeHelpEQGT,
4204
+ targetKey,
4205
+ A7($elm$core$Dict$removeHelpPrepEQGT, targetKey, dict, color, key, value, left, right));
4206
+ }
4207
+ }
4208
+ });
4209
+ var $elm$core$Dict$removeHelpEQGT = F2(
4210
+ function (targetKey, dict) {
4211
+ if (dict.$ === 'RBNode_elm_builtin') {
4212
+ var color = dict.a;
4213
+ var key = dict.b;
4214
+ var value = dict.c;
4215
+ var left = dict.d;
4216
+ var right = dict.e;
4217
+ if (_Utils_eq(targetKey, key)) {
4218
+ var _v1 = $elm$core$Dict$getMin(right);
4219
+ if (_v1.$ === 'RBNode_elm_builtin') {
4220
+ var minKey = _v1.b;
4221
+ var minValue = _v1.c;
4222
+ return A5(
4223
+ $elm$core$Dict$balance,
4224
+ color,
4225
+ minKey,
4226
+ minValue,
4227
+ left,
4228
+ $elm$core$Dict$removeMin(right));
4229
+ } else {
4230
+ return $elm$core$Dict$RBEmpty_elm_builtin;
4231
+ }
4232
+ } else {
4233
+ return A5(
4234
+ $elm$core$Dict$balance,
4235
+ color,
4236
+ key,
4237
+ value,
4238
+ left,
4239
+ A2($elm$core$Dict$removeHelp, targetKey, right));
4240
+ }
4241
+ } else {
4242
+ return $elm$core$Dict$RBEmpty_elm_builtin;
4243
+ }
4244
+ });
4245
+ var $elm$core$Dict$remove = F2(
4246
+ function (key, dict) {
4247
+ var _v0 = A2($elm$core$Dict$removeHelp, key, dict);
4248
+ if ((_v0.$ === 'RBNode_elm_builtin') && (_v0.a.$ === 'Red')) {
4249
+ var _v1 = _v0.a;
4250
+ var k = _v0.b;
4251
+ var v = _v0.c;
4252
+ var l = _v0.d;
4253
+ var r = _v0.e;
4254
+ return A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, k, v, l, r);
4255
+ } else {
4256
+ var x = _v0;
4257
+ return x;
4258
+ }
4259
+ });
4260
+ var $elm$core$Dict$diff = F2(
4261
+ function (t1, t2) {
4262
+ return A3(
4263
+ $elm$core$Dict$foldl,
4264
+ F3(
4265
+ function (k, v, t) {
4266
+ return A2($elm$core$Dict$remove, k, t);
4267
+ }),
4268
+ t1,
4269
+ t2);
4270
+ });
4271
+ var $elm$core$Set$diff = F2(
4272
+ function (_v0, _v1) {
4273
+ var dict1 = _v0.a;
4274
+ var dict2 = _v1.a;
4275
+ return $elm$core$Set$Set_elm_builtin(
4276
+ A2($elm$core$Dict$diff, dict1, dict2));
4277
+ });
4278
+ var $elm$core$Set$empty = $elm$core$Set$Set_elm_builtin($elm$core$Dict$empty);
4279
+ var $elm$core$Set$insert = F2(
4280
+ function (key, _v0) {
4281
+ var dict = _v0.a;
4282
+ return $elm$core$Set$Set_elm_builtin(
4283
+ A3($elm$core$Dict$insert, key, _Utils_Tuple0, dict));
4284
+ });
4285
+ var $elm$core$Set$fromList = function (list) {
4286
+ return A3($elm$core$List$foldl, $elm$core$Set$insert, $elm$core$Set$empty, list);
4287
+ };
4288
+ var $elm$core$Dict$isEmpty = function (dict) {
4289
+ if (dict.$ === 'RBEmpty_elm_builtin') {
4290
+ return true;
4291
+ } else {
4292
+ return false;
4293
+ }
4294
+ };
4295
+ var $elm$core$Set$isEmpty = function (_v0) {
4296
+ var dict = _v0.a;
4297
+ return $elm$core$Dict$isEmpty(dict);
4298
+ };
4299
+ var $elm$core$Basics$not = _Basics_not;
4300
+ var $elm_explorations$test$Test$Runner$Distribution$isStrictSubset = F2(
4301
+ function (all, combination) {
4302
+ var combinationSet = $elm$core$Set$fromList(combination);
4303
+ var containsCombinationFully = function (set) {
4304
+ return (!$elm$core$Set$isEmpty(
4305
+ A2($elm$core$Set$diff, set, combinationSet))) && $elm$core$Set$isEmpty(
4306
+ A2($elm$core$Set$diff, combinationSet, set));
4307
+ };
4308
+ var allSets = A2(
4309
+ $elm$core$List$map,
4310
+ A2($elm$core$Basics$composeR, $elm$core$Tuple$first, $elm$core$Set$fromList),
4311
+ all);
4312
+ return A2($elm$core$List$any, containsCombinationFully, allSets);
4313
+ });
4314
+ var $elm$core$Basics$negate = function (n) {
4315
+ return -n;
4316
+ };
4317
+ var $elm$core$List$partition = F2(
4318
+ function (pred, list) {
4319
+ var step = F2(
4320
+ function (x, _v0) {
4321
+ var trues = _v0.a;
4322
+ var falses = _v0.b;
4323
+ return pred(x) ? _Utils_Tuple2(
4324
+ A2($elm$core$List$cons, x, trues),
4325
+ falses) : _Utils_Tuple2(
4326
+ trues,
4327
+ A2($elm$core$List$cons, x, falses));
4328
+ });
4329
+ return A3(
4330
+ $elm$core$List$foldr,
4331
+ step,
4332
+ _Utils_Tuple2(_List_Nil, _List_Nil),
4333
+ list);
4334
+ });
4335
+ var $elm$core$List$sortBy = _List_sortBy;
4336
+ var $elm_explorations$test$MicroListExtra$findIndexHelp = F3(
4337
+ function (index, predicate, list) {
4338
+ findIndexHelp:
4339
+ while (true) {
4340
+ if (!list.b) {
4341
+ return $elm$core$Maybe$Nothing;
4342
+ } else {
4343
+ var x = list.a;
4344
+ var xs = list.b;
4345
+ if (predicate(x)) {
4346
+ return $elm$core$Maybe$Just(index);
4347
+ } else {
4348
+ var $temp$index = index + 1,
4349
+ $temp$predicate = predicate,
4350
+ $temp$list = xs;
4351
+ index = $temp$index;
4352
+ predicate = $temp$predicate;
4353
+ list = $temp$list;
4354
+ continue findIndexHelp;
4355
+ }
4356
+ }
4357
+ }
4358
+ });
4359
+ var $elm_explorations$test$MicroListExtra$findIndex = $elm_explorations$test$MicroListExtra$findIndexHelp(0);
4360
+ var $elm$core$List$drop = F2(
4361
+ function (n, list) {
4362
+ drop:
4363
+ while (true) {
4364
+ if (n <= 0) {
4365
+ return list;
4366
+ } else {
4367
+ if (!list.b) {
4368
+ return list;
4369
+ } else {
4370
+ var x = list.a;
4371
+ var xs = list.b;
4372
+ var $temp$n = n - 1,
4373
+ $temp$list = xs;
4374
+ n = $temp$n;
4375
+ list = $temp$list;
4376
+ continue drop;
4377
+ }
4378
+ }
4379
+ }
4380
+ });
4381
+ var $elm$core$List$takeReverse = F3(
4382
+ function (n, list, kept) {
4383
+ takeReverse:
4384
+ while (true) {
4385
+ if (n <= 0) {
4386
+ return kept;
4387
+ } else {
4388
+ if (!list.b) {
4389
+ return kept;
4390
+ } else {
4391
+ var x = list.a;
4392
+ var xs = list.b;
4393
+ var $temp$n = n - 1,
4394
+ $temp$list = xs,
4395
+ $temp$kept = A2($elm$core$List$cons, x, kept);
4396
+ n = $temp$n;
4397
+ list = $temp$list;
4398
+ kept = $temp$kept;
4399
+ continue takeReverse;
4400
+ }
4401
+ }
4402
+ }
4403
+ });
4404
+ var $elm$core$List$takeTailRec = F2(
4405
+ function (n, list) {
4406
+ return $elm$core$List$reverse(
4407
+ A3($elm$core$List$takeReverse, n, list, _List_Nil));
4408
+ });
4409
+ var $elm$core$List$takeFast = F3(
4410
+ function (ctr, n, list) {
4411
+ if (n <= 0) {
4412
+ return _List_Nil;
4413
+ } else {
4414
+ var _v0 = _Utils_Tuple2(n, list);
4415
+ _v0$1:
4416
+ while (true) {
4417
+ _v0$5:
4418
+ while (true) {
4419
+ if (!_v0.b.b) {
4420
+ return list;
4421
+ } else {
4422
+ if (_v0.b.b.b) {
4423
+ switch (_v0.a) {
4424
+ case 1:
4425
+ break _v0$1;
4426
+ case 2:
4427
+ var _v2 = _v0.b;
4428
+ var x = _v2.a;
4429
+ var _v3 = _v2.b;
4430
+ var y = _v3.a;
4431
+ return _List_fromArray(
4432
+ [x, y]);
4433
+ case 3:
4434
+ if (_v0.b.b.b.b) {
4435
+ var _v4 = _v0.b;
4436
+ var x = _v4.a;
4437
+ var _v5 = _v4.b;
4438
+ var y = _v5.a;
4439
+ var _v6 = _v5.b;
4440
+ var z = _v6.a;
4441
+ return _List_fromArray(
4442
+ [x, y, z]);
4443
+ } else {
4444
+ break _v0$5;
4445
+ }
4446
+ default:
4447
+ if (_v0.b.b.b.b && _v0.b.b.b.b.b) {
4448
+ var _v7 = _v0.b;
4449
+ var x = _v7.a;
4450
+ var _v8 = _v7.b;
4451
+ var y = _v8.a;
4452
+ var _v9 = _v8.b;
4453
+ var z = _v9.a;
4454
+ var _v10 = _v9.b;
4455
+ var w = _v10.a;
4456
+ var tl = _v10.b;
4457
+ return (ctr > 1000) ? A2(
4458
+ $elm$core$List$cons,
4459
+ x,
4460
+ A2(
4461
+ $elm$core$List$cons,
4462
+ y,
4463
+ A2(
4464
+ $elm$core$List$cons,
4465
+ z,
4466
+ A2(
4467
+ $elm$core$List$cons,
4468
+ w,
4469
+ A2($elm$core$List$takeTailRec, n - 4, tl))))) : A2(
4470
+ $elm$core$List$cons,
4471
+ x,
4472
+ A2(
4473
+ $elm$core$List$cons,
4474
+ y,
4475
+ A2(
4476
+ $elm$core$List$cons,
4477
+ z,
4478
+ A2(
4479
+ $elm$core$List$cons,
4480
+ w,
4481
+ A3($elm$core$List$takeFast, ctr + 1, n - 4, tl)))));
4482
+ } else {
4483
+ break _v0$5;
4484
+ }
4485
+ }
4486
+ } else {
4487
+ if (_v0.a === 1) {
4488
+ break _v0$1;
4489
+ } else {
4490
+ break _v0$5;
4491
+ }
4492
+ }
4493
+ }
4494
+ }
4495
+ return list;
4496
+ }
4497
+ var _v1 = _v0.b;
4498
+ var x = _v1.a;
4499
+ return _List_fromArray(
4500
+ [x]);
4501
+ }
4502
+ });
4503
+ var $elm$core$List$take = F2(
4504
+ function (n, list) {
4505
+ return A3($elm$core$List$takeFast, 0, n, list);
4506
+ });
4507
+ var $elm_explorations$test$MicroListExtra$splitAt = F2(
4508
+ function (n, xs) {
4509
+ return _Utils_Tuple2(
4510
+ A2($elm$core$List$take, n, xs),
4511
+ A2($elm$core$List$drop, n, xs));
4512
+ });
4513
+ var $elm_explorations$test$MicroListExtra$splitWhen = F2(
4514
+ function (predicate, list) {
4515
+ return A2(
4516
+ $elm$core$Maybe$map,
4517
+ function (i) {
4518
+ return A2($elm_explorations$test$MicroListExtra$splitAt, i, list);
4519
+ },
4520
+ A2($elm_explorations$test$MicroListExtra$findIndex, predicate, list));
4521
+ });
4522
+ var $elm_explorations$test$Test$Runner$Distribution$formatTable = function (_v0) {
4523
+ var distributionCount = _v0.distributionCount;
4524
+ var runsElapsed = _v0.runsElapsed;
4525
+ var runsElapsed_ = runsElapsed;
4526
+ var distributionList = $elm$core$Dict$toList(distributionCount);
4527
+ var distribution = A2(
4528
+ $elm$core$List$map,
4529
+ function (_v8) {
4530
+ var labels = _v8.a;
4531
+ var count = _v8.b;
4532
+ var percentage = $elm$core$Basics$round((count / runsElapsed_) * 1000) / 10;
4533
+ return _Utils_Tuple3(labels, count, percentage);
4534
+ },
4535
+ A2(
4536
+ $elm$core$List$filter,
4537
+ function (_v7) {
4538
+ var labels = _v7.a;
4539
+ var count = _v7.b;
4540
+ return !(($elm$core$List$length(labels) === 1) && ((!count) && A2($elm_explorations$test$Test$Runner$Distribution$isStrictSubset, distributionList, labels)));
4541
+ },
4542
+ distributionList));
4543
+ var _v1 = A2(
4544
+ $elm$core$List$partition,
4545
+ function (_v3) {
4546
+ var labels = _v3.a;
4547
+ return $elm$core$List$length(labels) <= 1;
4548
+ },
4549
+ A2(
4550
+ $elm$core$List$sortBy,
4551
+ function (_v2) {
4552
+ var count = _v2.b;
4553
+ return -count;
4554
+ },
4555
+ distribution));
4556
+ var baseRows = _v1.a;
4557
+ var combinationsRows = _v1.b;
4558
+ var reorderedTable = _Utils_ap(baseRows, combinationsRows);
4559
+ var rawTable = A2($elm_explorations$test$Test$Runner$Distribution$formatAsciiTable, runsElapsed_, reorderedTable);
4560
+ var _v4 = A2(
4561
+ $elm$core$Maybe$withDefault,
4562
+ _Utils_Tuple2(rawTable, _List_Nil),
4563
+ A2(
4564
+ $elm_explorations$test$MicroListExtra$splitWhen,
4565
+ function (_v5) {
4566
+ var item = _v5.item;
4567
+ var _v6 = item;
4568
+ var labels = _v6.a;
4569
+ return $elm$core$List$length(labels) > 1;
4570
+ },
4571
+ rawTable));
4572
+ var base = _v4.a;
4573
+ var combinations = _v4.b;
4574
+ var baseString = A2(
4575
+ $elm$core$String$join,
4576
+ '\n',
4577
+ A2(
4578
+ $elm$core$List$map,
4579
+ function ($) {
4580
+ return $.renderedRow;
4581
+ },
4582
+ base));
4583
+ var combinationsString_ = $elm$core$List$isEmpty(combinations) ? '' : A3(
4584
+ $elm$core$String$replace,
4585
+ '{COMBINATIONS}',
4586
+ A2(
4587
+ $elm$core$String$join,
4588
+ '\n',
4589
+ A2(
4590
+ $elm$core$List$map,
4591
+ function ($) {
4592
+ return $.renderedRow;
4593
+ },
4594
+ combinations)),
4595
+ '\n\nCombinations (included in the above base counts):\n{COMBINATIONS}');
4596
+ var table = _Utils_ap(baseString, combinationsString_);
4597
+ return A3($elm$core$String$replace, '{CATEGORIES}', table, 'Distribution report:\n====================\n{CATEGORIES}');
4598
+ };
4599
+ var $elm_explorations$test$Test$Distribution$distributionReportTable = function (r) {
4600
+ return $elm_explorations$test$Test$Runner$Distribution$formatTable(r);
4601
+ };
4602
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$distributionReportToString = function (distributionReport) {
4603
+ switch (distributionReport.$) {
4604
+ case 'NoDistribution':
4605
+ return $elm$core$Maybe$Nothing;
4606
+ case 'DistributionToReport':
4607
+ var r = distributionReport.a;
4608
+ return $elm$core$Maybe$Just(
4609
+ $elm_explorations$test$Test$Distribution$distributionReportTable(r));
4610
+ case 'DistributionCheckSucceeded':
4611
+ return $elm$core$Maybe$Nothing;
4612
+ default:
4613
+ var r = distributionReport.a;
4614
+ return $elm$core$Maybe$Just(
4615
+ $elm_explorations$test$Test$Distribution$distributionReportTable(r));
4616
+ }
4617
+ };
3650
4618
  var $elm$core$Basics$composeL = F3(
3651
4619
  function (g, f, x) {
3652
4620
  return g(
3653
4621
  f(x));
3654
4622
  });
3655
- var $elm$core$List$filter = F2(
3656
- function (isGood, list) {
3657
- return A3(
3658
- $elm$core$List$foldr,
3659
- F2(
3660
- function (x, xs) {
3661
- return isGood(x) ? A2($elm$core$List$cons, x, xs) : xs;
3662
- }),
3663
- _List_Nil,
3664
- list);
3665
- });
3666
4623
  var $elm$core$String$isEmpty = function (string) {
3667
4624
  return string === '';
3668
4625
  };
3669
- var $elm$core$Basics$not = _Basics_not;
3670
4626
  var $elm_explorations$test$Test$Runner$formatLabels = F3(
3671
4627
  function (formatDescription, formatTest, labels) {
3672
4628
  var _v0 = A2(
@@ -3685,10 +4641,6 @@ var $elm_explorations$test$Test$Runner$formatLabels = F3(
3685
4641
  A2($elm$core$List$map, formatDescription, descriptions)));
3686
4642
  }
3687
4643
  });
3688
- var $elm$core$String$cons = _String_cons;
3689
- var $elm$core$String$fromChar = function (_char) {
3690
- return A2($elm$core$String$cons, _char, '');
3691
- };
3692
4644
  var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$withChar = F2(
3693
4645
  function (icon, str) {
3694
4646
  return $elm$core$String$fromChar(icon) + (' ' + (str + '\n'));
@@ -3708,6 +4660,24 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$failureLabel
3708
4660
  $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$withChar(
3709
4661
  _Utils_chr('✗')))),
3710
4662
  $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$concat);
4663
+ var $elm$core$List$maybeCons = F3(
4664
+ function (f, mx, xs) {
4665
+ var _v0 = f(mx);
4666
+ if (_v0.$ === 'Just') {
4667
+ var x = _v0.a;
4668
+ return A2($elm$core$List$cons, x, xs);
4669
+ } else {
4670
+ return xs;
4671
+ }
4672
+ });
4673
+ var $elm$core$List$filterMap = F2(
4674
+ function (f, xs) {
4675
+ return A3(
4676
+ $elm$core$List$foldr,
4677
+ $elm$core$List$maybeCons(f),
4678
+ _List_Nil,
4679
+ xs);
4680
+ });
3711
4681
  var $elm$core$Basics$always = F2(
3712
4682
  function (a, _v0) {
3713
4683
  return a;
@@ -3902,9 +4872,6 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$makeChanges = F3(
3902
4872
  return A5($mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$makeChangesHelp, _List_Nil, getA, getB, latest, tail);
3903
4873
  }
3904
4874
  });
3905
- var $elm$core$Basics$negate = function (n) {
3906
- return -n;
3907
- };
3908
4875
  var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$Continue = function (a) {
3909
4876
  return {$: 'Continue', a: a};
3910
4877
  };
@@ -4200,27 +5167,6 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Highlightable$diffLists = F
4200
5167
  $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Highlightable$fromDiff,
4201
5168
  A2($mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$diff, expected, actual));
4202
5169
  });
4203
- var $elm$core$List$drop = F2(
4204
- function (n, list) {
4205
- drop:
4206
- while (true) {
4207
- if (n <= 0) {
4208
- return list;
4209
- } else {
4210
- if (!list.b) {
4211
- return list;
4212
- } else {
4213
- var x = list.a;
4214
- var xs = list.b;
4215
- var $temp$n = n - 1,
4216
- $temp$list = xs;
4217
- n = $temp$n;
4218
- list = $temp$list;
4219
- continue drop;
4220
- }
4221
- }
4222
- }
4223
- });
4224
5170
  var $elm$core$String$toFloat = _String_toFloat;
4225
5171
  var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleFormat$isFloat = function (str) {
4226
5172
  var _v0 = $elm$core$String$toFloat(str);
@@ -4564,8 +5510,8 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$indent = fun
4564
5510
  },
4565
5511
  A2($elm$core$String$split, '\n', str)));
4566
5512
  };
4567
- var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$failureToText = F2(
4568
- function (useColor, _v0) {
5513
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$failureToText = F3(
5514
+ function (useColor, _v0, distributionReport) {
4569
5515
  var reason = _v0.reason;
4570
5516
  var description = _v0.description;
4571
5517
  var given = _v0.given;
@@ -4579,18 +5525,29 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$failureToTex
4579
5525
  var messageText = $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$plain(
4580
5526
  '\n' + ($mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$indent(
4581
5527
  A3($mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleFormat$format, formatEquality, description, reason)) + '\n\n'));
4582
- if (given.$ === 'Nothing') {
4583
- return messageText;
4584
- } else {
4585
- var givenStr = given.a;
4586
- return $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$concat(
5528
+ return $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$concat(
5529
+ A2(
5530
+ $elm$core$List$filterMap,
5531
+ $elm$core$Basics$identity,
4587
5532
  _List_fromArray(
4588
5533
  [
4589
- $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$dark(
4590
- $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$plain('\nGiven ' + (givenStr + '\n'))),
4591
- messageText
4592
- ]));
4593
- }
5534
+ A2(
5535
+ $elm$core$Maybe$map,
5536
+ function (s) {
5537
+ return $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$dark(
5538
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$plain(
5539
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$indent('\n' + (s + '\n'))));
5540
+ },
5541
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$distributionReportToString(distributionReport)),
5542
+ A2(
5543
+ $elm$core$Maybe$map,
5544
+ function (str) {
5545
+ return $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$dark(
5546
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$plain('\nGiven ' + (str + '\n')));
5547
+ },
5548
+ given),
5549
+ $elm$core$Maybe$Just(messageText)
5550
+ ])));
4594
5551
  });
4595
5552
  var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$formatTodo = F2(
4596
5553
  function (labels, todo) {
@@ -4621,11 +5578,41 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$logsToText =
4621
5578
  ''
4622
5579
  ])));
4623
5580
  };
5581
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$successLabelsToText = A2(
5582
+ $elm$core$Basics$composeR,
5583
+ A2(
5584
+ $elm_explorations$test$Test$Runner$formatLabels,
5585
+ A2(
5586
+ $elm$core$Basics$composeL,
5587
+ A2($elm$core$Basics$composeL, $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$dark, $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$plain),
5588
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$withChar(
5589
+ _Utils_chr('↓'))),
5590
+ A2(
5591
+ $elm$core$Basics$composeL,
5592
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$green,
5593
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$withChar(
5594
+ _Utils_chr('✓')))),
5595
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$concat);
4624
5596
  var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$onResult = F2(
4625
5597
  function (useColor, testResult) {
4626
5598
  if (testResult.$ === 'Passed') {
4627
- return $elm$core$Maybe$Nothing;
5599
+ var distributionReports = testResult.a.distributionReports;
5600
+ var labels = testResult.a.labels;
5601
+ var successDistributionReports = A2($elm$core$List$filterMap, $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$distributionReportToString, distributionReports);
5602
+ return $elm$core$List$isEmpty(successDistributionReports) ? $elm$core$Maybe$Nothing : $elm$core$Maybe$Just(
5603
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$concat(
5604
+ _List_fromArray(
5605
+ [
5606
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$successLabelsToText(labels),
5607
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$plain('\n'),
5608
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$dark(
5609
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$plain(
5610
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$indent(
5611
+ A2($elm$core$String$join, '\n\n\n', successDistributionReports)))),
5612
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$plain('\n\n')
5613
+ ])));
4628
5614
  } else {
5615
+ var distributionReports = testResult.a.distributionReports;
4629
5616
  var logs = testResult.a.logs;
4630
5617
  var failures = testResult.a.failures;
4631
5618
  var todos = testResult.a.todos;
@@ -4639,10 +5626,11 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$onResult = F
4639
5626
  [
4640
5627
  $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$failureLabelsToText(labels)
4641
5628
  ]),
4642
- A2(
4643
- $elm$core$List$map,
5629
+ A3(
5630
+ $elm$core$List$map2,
4644
5631
  $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$failureToText(useColor),
4645
- failures),
5632
+ failures,
5633
+ distributionReports),
4646
5634
  _List_fromArray(
4647
5635
  [
4648
5636
  $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$logsToText(logs)
@@ -4999,21 +5987,25 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleDebug$onEnd = F2(
4999
5987
  }
5000
5988
  });
5001
5989
  var $elm$core$Debug$toString = _Debug_toString;
5002
- var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleDebug$displayFailureContent = F3(
5003
- function (todos, failures, logs) {
5990
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleDebug$displayFailureContent = F4(
5991
+ function (todos, failures, distributionReports, logs) {
5004
5992
  return A3(
5005
5993
  $elm$core$String$replace,
5006
5994
  '{{ logs }}',
5007
5995
  $elm$core$String$concat(logs),
5008
5996
  A3(
5009
5997
  $elm$core$String$replace,
5010
- '{{ failures }}',
5011
- $elm$core$Debug$toString(failures),
5998
+ '{{ distributionReports }}',
5999
+ $elm$core$Debug$toString(distributionReports),
5012
6000
  A3(
5013
6001
  $elm$core$String$replace,
5014
- '{{ todos }}',
5015
- $elm$core$Debug$toString(todos),
5016
- 'with todos: {{ todos }}\nwith failures: {{ failures }}\nwith debug logs:\n\n{{ logs }}\n')));
6002
+ '{{ failures }}',
6003
+ $elm$core$Debug$toString(failures),
6004
+ A3(
6005
+ $elm$core$String$replace,
6006
+ '{{ todos }}',
6007
+ $elm$core$Debug$toString(todos),
6008
+ 'with todos: {{ todos }}\nwith failures: {{ failures }}\nwith distribution reports: {{ distributionReports }}\nwith debug logs:\n\n{{ logs }}\n'))));
5017
6009
  });
5018
6010
  var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleDebug$formatLabelsHelp = F2(
5019
6011
  function (formattedLines, labels) {
@@ -5062,6 +6054,7 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleDebug$onResult = f
5062
6054
  if (result.$ === 'Passed') {
5063
6055
  return $elm$core$Maybe$Nothing;
5064
6056
  } else {
6057
+ var distributionReports = result.a.distributionReports;
5065
6058
  var logs = result.a.logs;
5066
6059
  var failures = result.a.failures;
5067
6060
  var todos = result.a.todos;
@@ -5076,7 +6069,7 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleDebug$onResult = f
5076
6069
  $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleDebug$formatLabels(labels),
5077
6070
  '',
5078
6071
  $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleDebug$indent(
5079
- A3($mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleDebug$displayFailureContent, todos, failures, logs))
6072
+ A4($mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleDebug$displayFailureContent, todos, failures, distributionReports, logs))
5080
6073
  ])));
5081
6074
  }
5082
6075
  };
@@ -5170,24 +6163,6 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Exercism$summaryStatus =
5170
6163
  return 'fail';
5171
6164
  }
5172
6165
  });
5173
- var $elm$core$List$maybeCons = F3(
5174
- function (f, mx, xs) {
5175
- var _v0 = f(mx);
5176
- if (_v0.$ === 'Just') {
5177
- var x = _v0.a;
5178
- return A2($elm$core$List$cons, x, xs);
5179
- } else {
5180
- return xs;
5181
- }
5182
- });
5183
- var $elm$core$List$filterMap = F2(
5184
- function (f, xs) {
5185
- return A3(
5186
- $elm$core$List$foldr,
5187
- $elm$core$List$maybeCons(f),
5188
- _List_Nil,
5189
- xs);
5190
- });
5191
6166
  var $elm$core$List$head = function (list) {
5192
6167
  if (list.b) {
5193
6168
  var x = list.a;
@@ -5273,6 +6248,7 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Exercism$toExercismResult
5273
6248
  taskId: $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Exercism$extractTaskId(labels)
5274
6249
  };
5275
6250
  } else {
6251
+ var distributionReports = testResult.a.distributionReports;
5276
6252
  var logs = testResult.a.logs;
5277
6253
  var todos = testResult.a.todos;
5278
6254
  var failures = testResult.a.failures;
@@ -5393,7 +6369,6 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$onBegin = F2(
5393
6369
  A2($elm$json$Json$Encode$list, $elm$json$Json$Encode$string, paths))
5394
6370
  ]))) + '\n');
5395
6371
  });
5396
- var $elm$core$String$fromFloat = _String_fromNumber;
5397
6372
  var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$onEnd = F2(
5398
6373
  function (kind, results) {
5399
6374
  var autofail = function () {
@@ -5443,6 +6418,97 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$onEnd = F2(
5443
6418
  _Utils_Tuple2('autoFail', autofail)
5444
6419
  ]))) + '\n');
5445
6420
  });
6421
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeDistributionCount = function (dict) {
6422
+ return A2(
6423
+ $elm$json$Json$Encode$list,
6424
+ function (_v0) {
6425
+ var labels = _v0.a;
6426
+ var count = _v0.b;
6427
+ return $elm$json$Json$Encode$object(
6428
+ _List_fromArray(
6429
+ [
6430
+ _Utils_Tuple2(
6431
+ 'labels',
6432
+ A2($elm$json$Json$Encode$list, $elm$json$Json$Encode$string, labels)),
6433
+ _Utils_Tuple2(
6434
+ 'count',
6435
+ $elm$json$Json$Encode$int(count))
6436
+ ]));
6437
+ },
6438
+ $elm$core$Dict$toList(dict));
6439
+ };
6440
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeSumType = F2(
6441
+ function (sumType, data) {
6442
+ return $elm$json$Json$Encode$object(
6443
+ _List_fromArray(
6444
+ [
6445
+ _Utils_Tuple2(
6446
+ 'type',
6447
+ $elm$json$Json$Encode$string(sumType)),
6448
+ _Utils_Tuple2('data', data)
6449
+ ]));
6450
+ });
6451
+ var $elm$json$Json$Encode$float = _Json_wrap;
6452
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeDistributionReport = function (distributionReport) {
6453
+ switch (distributionReport.$) {
6454
+ case 'NoDistribution':
6455
+ return A2($mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeSumType, 'NoDistribution', $elm$json$Json$Encode$null);
6456
+ case 'DistributionToReport':
6457
+ var r = distributionReport.a;
6458
+ return A2(
6459
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeSumType,
6460
+ 'DistributionToReport',
6461
+ $elm$json$Json$Encode$object(
6462
+ _List_fromArray(
6463
+ [
6464
+ _Utils_Tuple2(
6465
+ 'distributionCount',
6466
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeDistributionCount(r.distributionCount)),
6467
+ _Utils_Tuple2(
6468
+ 'runsElapsed',
6469
+ $elm$json$Json$Encode$int(r.runsElapsed))
6470
+ ])));
6471
+ case 'DistributionCheckSucceeded':
6472
+ var r = distributionReport.a;
6473
+ return A2(
6474
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeSumType,
6475
+ 'DistributionCheckSucceeded',
6476
+ $elm$json$Json$Encode$object(
6477
+ _List_fromArray(
6478
+ [
6479
+ _Utils_Tuple2(
6480
+ 'distributionCount',
6481
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeDistributionCount(r.distributionCount)),
6482
+ _Utils_Tuple2(
6483
+ 'runsElapsed',
6484
+ $elm$json$Json$Encode$int(r.runsElapsed))
6485
+ ])));
6486
+ default:
6487
+ var r = distributionReport.a;
6488
+ return A2(
6489
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeSumType,
6490
+ 'DistributionCheckFailed',
6491
+ $elm$json$Json$Encode$object(
6492
+ _List_fromArray(
6493
+ [
6494
+ _Utils_Tuple2(
6495
+ 'distributionCount',
6496
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeDistributionCount(r.distributionCount)),
6497
+ _Utils_Tuple2(
6498
+ 'runsElapsed',
6499
+ $elm$json$Json$Encode$int(r.runsElapsed)),
6500
+ _Utils_Tuple2(
6501
+ 'badLabel',
6502
+ $elm$json$Json$Encode$string(r.badLabel)),
6503
+ _Utils_Tuple2(
6504
+ 'badLabelPercentage',
6505
+ $elm$json$Json$Encode$float(r.badLabelPercentage)),
6506
+ _Utils_Tuple2(
6507
+ 'expectedDistribution',
6508
+ $elm$json$Json$Encode$string(r.expectedDistribution))
6509
+ ])));
6510
+ }
6511
+ };
5446
6512
  var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeReasonType = F2(
5447
6513
  function (reasonType, data) {
5448
6514
  return $elm$json$Json$Encode$object(
@@ -5561,7 +6627,7 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeReason = F2(
5561
6627
  ])));
5562
6628
  }
5563
6629
  });
5564
- var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$jsonEncodeFailure = function (_v0) {
6630
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeFailure = function (_v0) {
5565
6631
  var reason = _v0.reason;
5566
6632
  var description = _v0.description;
5567
6633
  var given = _v0.given;
@@ -5585,33 +6651,39 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$jsonEncodeFailure =
5585
6651
  var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$onResult = function (result) {
5586
6652
  var _v0 = function () {
5587
6653
  if (result.$ === 'Passed') {
6654
+ var distributionReports = result.a.distributionReports;
5588
6655
  var duration = result.a.duration;
5589
6656
  var labels = result.a.labels;
5590
6657
  return {
5591
6658
  status: 'pass',
6659
+ testDistributionReports: A2($elm$json$Json$Encode$list, $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeDistributionReport, distributionReports),
5592
6660
  testDuration: duration,
5593
6661
  testFailures: A2($elm$json$Json$Encode$list, $elm$json$Json$Encode$string, _List_Nil),
5594
6662
  testLabels: $elm$core$List$reverse(labels)
5595
6663
  };
5596
6664
  } else {
6665
+ var distributionReports = result.a.distributionReports;
5597
6666
  var failures = result.a.failures;
5598
6667
  var todos = result.a.todos;
5599
6668
  var duration = result.a.duration;
5600
6669
  var labels = result.a.labels;
5601
6670
  return (!$elm$core$List$isEmpty(todos)) ? {
5602
6671
  status: 'todo',
6672
+ testDistributionReports: A2($elm$json$Json$Encode$list, $elm$core$Basics$identity, _List_Nil),
5603
6673
  testDuration: duration,
5604
6674
  testFailures: A2($elm$json$Json$Encode$list, $elm$json$Json$Encode$string, todos),
5605
6675
  testLabels: $elm$core$List$reverse(labels)
5606
6676
  } : {
5607
6677
  status: 'fail',
6678
+ testDistributionReports: A2($elm$json$Json$Encode$list, $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeDistributionReport, distributionReports),
5608
6679
  testDuration: duration,
5609
- testFailures: A2($elm$json$Json$Encode$list, $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$jsonEncodeFailure, failures),
6680
+ testFailures: A2($elm$json$Json$Encode$list, $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeFailure, failures),
5610
6681
  testLabels: $elm$core$List$reverse(labels)
5611
6682
  };
5612
6683
  }
5613
6684
  }();
5614
6685
  var testDuration = _v0.testDuration;
6686
+ var testDistributionReports = _v0.testDistributionReports;
5615
6687
  var testFailures = _v0.testFailures;
5616
6688
  var testLabels = _v0.testLabels;
5617
6689
  var status = _v0.status;
@@ -5632,6 +6704,7 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$onResult = function
5632
6704
  'labels',
5633
6705
  A2($elm$json$Json$Encode$list, $elm$json$Json$Encode$string, testLabels)),
5634
6706
  _Utils_Tuple2('failures', testFailures),
6707
+ _Utils_Tuple2('distributionReports', testDistributionReports),
5635
6708
  _Utils_Tuple2(
5636
6709
  'duration',
5637
6710
  $elm$json$Json$Encode$string(
@@ -5662,7 +6735,6 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$XmlEncode$needsIndent = fun
5662
6735
  return false;
5663
6736
  }
5664
6737
  };
5665
- var $elm$core$String$length = _String_length;
5666
6738
  var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$XmlEncode$propToString = function (value) {
5667
6739
  switch (value.$) {
5668
6740
  case 'StrNode':
@@ -5755,6 +6827,22 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Junit$classAndName = func
5755
6827
  name);
5756
6828
  }
5757
6829
  };
6830
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Junit$distributionReportToString = function (distributionReport) {
6831
+ switch (distributionReport.$) {
6832
+ case 'NoDistribution':
6833
+ return $elm$core$Maybe$Nothing;
6834
+ case 'DistributionToReport':
6835
+ var r = distributionReport.a;
6836
+ return $elm$core$Maybe$Just(
6837
+ $elm_explorations$test$Test$Distribution$distributionReportTable(r));
6838
+ case 'DistributionCheckSucceeded':
6839
+ return $elm$core$Maybe$Nothing;
6840
+ default:
6841
+ var r = distributionReport.a;
6842
+ return $elm$core$Maybe$Just(
6843
+ $elm_explorations$test$Test$Distribution$distributionReportTable(r));
6844
+ }
6845
+ };
5758
6846
  var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Junit$reasonToString = F2(
5759
6847
  function (description, reason) {
5760
6848
  switch (reason.$) {
@@ -5840,8 +6928,18 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$XmlEncode$StrNode = functio
5840
6928
  var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$XmlEncode$string = function (str) {
5841
6929
  return $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$XmlEncode$StrNode(str);
5842
6930
  };
5843
- var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Junit$encodeFailures = F2(
5844
- function (failures, todos) {
6931
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Junit$encodeFailures = F3(
6932
+ function (failures, distributionReports, todos) {
6933
+ var stdout = function () {
6934
+ var _v0 = A2($elm$core$List$filterMap, $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Junit$distributionReportToString, distributionReports);
6935
+ if (!_v0.b) {
6936
+ return $elm$core$Maybe$Nothing;
6937
+ } else {
6938
+ var list = _v0;
6939
+ return $elm$core$Maybe$Just(
6940
+ A2($elm$core$String$join, '\n\n\n', list));
6941
+ }
6942
+ }();
5845
6943
  var message = (!$elm$core$List$isEmpty(failures)) ? A2(
5846
6944
  $elm$core$String$join,
5847
6945
  '\n\n\n',
@@ -5853,12 +6951,24 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Junit$encodeFailures = F2
5853
6951
  $elm$core$Basics$append('TODO: '),
5854
6952
  todos));
5855
6953
  var attributesDict = $elm$core$Dict$fromList(
5856
- _List_fromArray(
5857
- [
5858
- _Utils_Tuple2(
5859
- 'message',
5860
- $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$XmlEncode$string(message))
5861
- ]));
6954
+ A2(
6955
+ $elm$core$List$filterMap,
6956
+ $elm$core$Basics$identity,
6957
+ _List_fromArray(
6958
+ [
6959
+ $elm$core$Maybe$Just(
6960
+ _Utils_Tuple2(
6961
+ 'message',
6962
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$XmlEncode$string(message))),
6963
+ A2(
6964
+ $elm$core$Maybe$map,
6965
+ function (out) {
6966
+ return _Utils_Tuple2(
6967
+ 'system-out',
6968
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$XmlEncode$string(out));
6969
+ },
6970
+ stdout)
6971
+ ])));
5862
6972
  return $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$XmlEncode$object(
5863
6973
  _List_fromArray(
5864
6974
  [
@@ -5880,7 +6990,7 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Junit$encodeTestResult =
5880
6990
  var test = result.a;
5881
6991
  return {
5882
6992
  duration: test.duration,
5883
- failures: A2($mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Junit$encodeFailures, test.failures, test.todos),
6993
+ failures: A3($mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Junit$encodeFailures, test.failures, test.distributionReports, test.todos),
5884
6994
  labels: test.labels,
5885
6995
  logs: test.logs
5886
6996
  };
@@ -6058,14 +7168,94 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$Failed = function (a) {
6058
7168
  var $mpizenberg$elm_test_runner$ElmTestRunner$Result$Passed = function (a) {
6059
7169
  return {$: 'Passed', a: a};
6060
7170
  };
6061
- var $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_labels_ListString_duration_Float_logs_ListString_ = F3(
6062
- function (labels, duration, logs) {
6063
- return {duration: duration, labels: labels, logs: logs};
7171
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_labels_ListString_duration_Float_logs_ListString_distributionReports_ListDistributionReport_ = F4(
7172
+ function (labels, duration, logs, distributionReports) {
7173
+ return {distributionReports: distributionReports, duration: duration, labels: labels, logs: logs};
6064
7174
  });
6065
- var $elm$json$Json$Decode$map3 = _Json_map3;
6066
- var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_labels_ListString_duration_Float_logs_ListString_ = A4(
6067
- $elm$json$Json$Decode$map3,
6068
- $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_labels_ListString_duration_Float_logs_ListString_,
7175
+ var $elm_explorations$test$Test$Distribution$DistributionCheckFailed = function (a) {
7176
+ return {$: 'DistributionCheckFailed', a: a};
7177
+ };
7178
+ var $elm_explorations$test$Test$Distribution$DistributionCheckSucceeded = function (a) {
7179
+ return {$: 'DistributionCheckSucceeded', a: a};
7180
+ };
7181
+ var $elm_explorations$test$Test$Distribution$DistributionToReport = function (a) {
7182
+ return {$: 'DistributionToReport', a: a};
7183
+ };
7184
+ var $elm_explorations$test$Test$Distribution$NoDistribution = {$: 'NoDistribution'};
7185
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_distributionCount_Dict_ListString_Int_runsElapsed_Int_ = F2(
7186
+ function (distributionCount, runsElapsed) {
7187
+ return {distributionCount: distributionCount, runsElapsed: runsElapsed};
7188
+ });
7189
+ var $elm$json$Json$Decode$map = _Json_map1;
7190
+ var $elm$json$Json$Decode$map2 = _Json_map2;
7191
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeDict_ListString_Int = function () {
7192
+ var decodeDict_ListString_IntTuple = A3(
7193
+ $elm$json$Json$Decode$map2,
7194
+ F2(
7195
+ function (a1, a2) {
7196
+ return _Utils_Tuple2(a1, a2);
7197
+ }),
7198
+ A2(
7199
+ $elm$json$Json$Decode$field,
7200
+ 'A1',
7201
+ $elm$json$Json$Decode$list($elm$json$Json$Decode$string)),
7202
+ A2($elm$json$Json$Decode$field, 'A2', $elm$json$Json$Decode$int));
7203
+ return A2(
7204
+ $elm$json$Json$Decode$map,
7205
+ $elm$core$Dict$fromList,
7206
+ $elm$json$Json$Decode$list(decodeDict_ListString_IntTuple));
7207
+ }();
7208
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_distributionCount_Dict_ListString_Int_runsElapsed_Int_ = A3(
7209
+ $elm$json$Json$Decode$map2,
7210
+ $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_distributionCount_Dict_ListString_Int_runsElapsed_Int_,
7211
+ A2($elm$json$Json$Decode$field, 'distributionCount', $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeDict_ListString_Int),
7212
+ A2($elm$json$Json$Decode$field, 'runsElapsed', $elm$json$Json$Decode$int));
7213
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_distributionCount_Dict_ListString_Int_runsElapsed_Int_badLabel_String_badLabelPercentage_Float_expectedDistribution_String_ = F5(
7214
+ function (distributionCount, runsElapsed, badLabel, badLabelPercentage, expectedDistribution) {
7215
+ return {badLabel: badLabel, badLabelPercentage: badLabelPercentage, distributionCount: distributionCount, expectedDistribution: expectedDistribution, runsElapsed: runsElapsed};
7216
+ });
7217
+ var $elm$json$Json$Decode$map5 = _Json_map5;
7218
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_distributionCount_Dict_ListString_Int_runsElapsed_Int_badLabel_String_badLabelPercentage_Float_expectedDistribution_String_ = A6(
7219
+ $elm$json$Json$Decode$map5,
7220
+ $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_distributionCount_Dict_ListString_Int_runsElapsed_Int_badLabel_String_badLabelPercentage_Float_expectedDistribution_String_,
7221
+ A2($elm$json$Json$Decode$field, 'distributionCount', $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeDict_ListString_Int),
7222
+ A2($elm$json$Json$Decode$field, 'runsElapsed', $elm$json$Json$Decode$int),
7223
+ A2($elm$json$Json$Decode$field, 'badLabel', $elm$json$Json$Decode$string),
7224
+ A2($elm$json$Json$Decode$field, 'badLabelPercentage', $elm$json$Json$Decode$float),
7225
+ A2($elm$json$Json$Decode$field, 'expectedDistribution', $elm$json$Json$Decode$string));
7226
+ var $elm$json$Json$Decode$fail = _Json_fail;
7227
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeDistributionReportHelp = function (constructor) {
7228
+ switch (constructor) {
7229
+ case 'NoDistribution':
7230
+ return $elm$json$Json$Decode$succeed($elm_explorations$test$Test$Distribution$NoDistribution);
7231
+ case 'DistributionToReport':
7232
+ return A2(
7233
+ $elm$json$Json$Decode$map,
7234
+ $elm_explorations$test$Test$Distribution$DistributionToReport,
7235
+ A2($elm$json$Json$Decode$field, 'A1', $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_distributionCount_Dict_ListString_Int_runsElapsed_Int_));
7236
+ case 'DistributionCheckSucceeded':
7237
+ return A2(
7238
+ $elm$json$Json$Decode$map,
7239
+ $elm_explorations$test$Test$Distribution$DistributionCheckSucceeded,
7240
+ A2($elm$json$Json$Decode$field, 'A1', $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_distributionCount_Dict_ListString_Int_runsElapsed_Int_));
7241
+ case 'DistributionCheckFailed':
7242
+ return A2(
7243
+ $elm$json$Json$Decode$map,
7244
+ $elm_explorations$test$Test$Distribution$DistributionCheckFailed,
7245
+ A2($elm$json$Json$Decode$field, 'A1', $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_distributionCount_Dict_ListString_Int_runsElapsed_Int_badLabel_String_badLabelPercentage_Float_expectedDistribution_String_));
7246
+ default:
7247
+ var other = constructor;
7248
+ return $elm$json$Json$Decode$fail('Unknown constructor for type DistributionReport: ' + other);
7249
+ }
7250
+ };
7251
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeDistributionReport = A2(
7252
+ $elm$json$Json$Decode$andThen,
7253
+ $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeDistributionReportHelp,
7254
+ A2($elm$json$Json$Decode$field, 'Constructor', $elm$json$Json$Decode$string));
7255
+ var $elm$json$Json$Decode$map4 = _Json_map4;
7256
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_labels_ListString_duration_Float_logs_ListString_distributionReports_ListDistributionReport_ = A5(
7257
+ $elm$json$Json$Decode$map4,
7258
+ $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_labels_ListString_duration_Float_logs_ListString_distributionReports_ListDistributionReport_,
6069
7259
  A2(
6070
7260
  $elm$json$Json$Decode$field,
6071
7261
  'labels',
@@ -6074,10 +7264,14 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_labels_ListStr
6074
7264
  A2(
6075
7265
  $elm$json$Json$Decode$field,
6076
7266
  'logs',
6077
- $elm$json$Json$Decode$list($elm$json$Json$Decode$string)));
6078
- var $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_labels_ListString_duration_Float_logs_ListString_todos_ListString_failures_ListFailure_ = F5(
6079
- function (labels, duration, logs, todos, failures) {
6080
- return {duration: duration, failures: failures, labels: labels, logs: logs, todos: todos};
7267
+ $elm$json$Json$Decode$list($elm$json$Json$Decode$string)),
7268
+ A2(
7269
+ $elm$json$Json$Decode$field,
7270
+ 'distributionReports',
7271
+ $elm$json$Json$Decode$list($mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeDistributionReport)));
7272
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_labels_ListString_duration_Float_logs_ListString_todos_ListString_failures_ListFailure_distributionReports_ListDistributionReport_ = F6(
7273
+ function (labels, duration, logs, todos, failures, distributionReports) {
7274
+ return {distributionReports: distributionReports, duration: duration, failures: failures, labels: labels, logs: logs, todos: todos};
6081
7275
  });
6082
7276
  var $mpizenberg$elm_test_runner$ElmTestRunner$Failure$Failure = F3(
6083
7277
  function (given, description, reason) {
@@ -6104,11 +7298,12 @@ var $elm_explorations$test$Test$Runner$Failure$ListDiff = F2(
6104
7298
  });
6105
7299
  var $elm_explorations$test$Test$Runner$Failure$TODO = {$: 'TODO'};
6106
7300
  var $elm_explorations$test$Test$Runner$Failure$BadDescription = {$: 'BadDescription'};
7301
+ var $elm_explorations$test$Test$Runner$Failure$DistributionBug = {$: 'DistributionBug'};
7302
+ var $elm_explorations$test$Test$Runner$Failure$DistributionInsufficient = {$: 'DistributionInsufficient'};
6107
7303
  var $elm_explorations$test$Test$Runner$Failure$DuplicatedName = {$: 'DuplicatedName'};
6108
7304
  var $elm_explorations$test$Test$Runner$Failure$EmptyList = {$: 'EmptyList'};
6109
7305
  var $elm_explorations$test$Test$Runner$Failure$InvalidFuzzer = {$: 'InvalidFuzzer'};
6110
7306
  var $elm_explorations$test$Test$Runner$Failure$NonpositiveFuzzCount = {$: 'NonpositiveFuzzCount'};
6111
- var $elm$json$Json$Decode$fail = _Json_fail;
6112
7307
  var $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decodeInvalidReason = function () {
6113
7308
  var recover = function (x) {
6114
7309
  switch (x) {
@@ -6122,6 +7317,10 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decodeInvalidReason = func
6122
7317
  return $elm$json$Json$Decode$succeed($elm_explorations$test$Test$Runner$Failure$BadDescription);
6123
7318
  case 'DuplicatedName':
6124
7319
  return $elm$json$Json$Decode$succeed($elm_explorations$test$Test$Runner$Failure$DuplicatedName);
7320
+ case 'DistributionInsufficient':
7321
+ return $elm$json$Json$Decode$succeed($elm_explorations$test$Test$Runner$Failure$DistributionInsufficient);
7322
+ case 'DistributionBug':
7323
+ return $elm$json$Json$Decode$succeed($elm_explorations$test$Test$Runner$Failure$DistributionBug);
6125
7324
  default:
6126
7325
  var other = x;
6127
7326
  return $elm$json$Json$Decode$fail('Unknown constructor for type InvalidReason: ' + other);
@@ -6133,7 +7332,6 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Failure$Record_expected_String_act
6133
7332
  function (expected, actual, extra, missing) {
6134
7333
  return {actual: actual, expected: expected, extra: extra, missing: missing};
6135
7334
  });
6136
- var $elm$json$Json$Decode$map4 = _Json_map4;
6137
7335
  var $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decodeRecord_expected_String_actual_String_extra_ListString_missing_ListString_ = A5(
6138
7336
  $elm$json$Json$Decode$map4,
6139
7337
  $mpizenberg$elm_test_runner$ElmTestRunner$Failure$Record_expected_String_actual_String_extra_ListString_missing_ListString_,
@@ -6147,8 +7345,6 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decodeRecord_expected_Stri
6147
7345
  $elm$json$Json$Decode$field,
6148
7346
  'missing',
6149
7347
  $elm$json$Json$Decode$list($elm$json$Json$Decode$string)));
6150
- var $elm$json$Json$Decode$map = _Json_map1;
6151
- var $elm$json$Json$Decode$map2 = _Json_map2;
6152
7348
  var $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decodeReasonHelp = function (constructor) {
6153
7349
  switch (constructor) {
6154
7350
  case 'Custom':
@@ -6198,6 +7394,7 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decodeReason = A2(
6198
7394
  $elm$json$Json$Decode$andThen,
6199
7395
  $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decodeReasonHelp,
6200
7396
  A2($elm$json$Json$Decode$field, 'Constructor', $elm$json$Json$Decode$string));
7397
+ var $elm$json$Json$Decode$map3 = _Json_map3;
6201
7398
  var $elm$json$Json$Decode$oneOf = _Json_oneOf;
6202
7399
  var $elm$json$Json$Decode$maybe = function (decoder) {
6203
7400
  return $elm$json$Json$Decode$oneOf(
@@ -6218,10 +7415,10 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decodeFailure = A4(
6218
7415
  A2($elm$json$Json$Decode$field, 'reason', $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decodeReason));
6219
7416
  var $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decoder = $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decodeFailure;
6220
7417
  var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeFailure = $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decoder;
6221
- var $elm$json$Json$Decode$map5 = _Json_map5;
6222
- var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_labels_ListString_duration_Float_logs_ListString_todos_ListString_failures_ListFailure_ = A6(
6223
- $elm$json$Json$Decode$map5,
6224
- $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_labels_ListString_duration_Float_logs_ListString_todos_ListString_failures_ListFailure_,
7418
+ var $elm$json$Json$Decode$map6 = _Json_map6;
7419
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_labels_ListString_duration_Float_logs_ListString_todos_ListString_failures_ListFailure_distributionReports_ListDistributionReport_ = A7(
7420
+ $elm$json$Json$Decode$map6,
7421
+ $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_labels_ListString_duration_Float_logs_ListString_todos_ListString_failures_ListFailure_distributionReports_ListDistributionReport_,
6225
7422
  A2(
6226
7423
  $elm$json$Json$Decode$field,
6227
7424
  'labels',
@@ -6238,19 +7435,23 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_labels_ListStr
6238
7435
  A2(
6239
7436
  $elm$json$Json$Decode$field,
6240
7437
  'failures',
6241
- $elm$json$Json$Decode$list($mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeFailure)));
7438
+ $elm$json$Json$Decode$list($mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeFailure)),
7439
+ A2(
7440
+ $elm$json$Json$Decode$field,
7441
+ 'distributionReports',
7442
+ $elm$json$Json$Decode$list($mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeDistributionReport)));
6242
7443
  var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeTestResultHelp = function (constructor) {
6243
7444
  switch (constructor) {
6244
7445
  case 'Passed':
6245
7446
  return A2(
6246
7447
  $elm$json$Json$Decode$map,
6247
7448
  $mpizenberg$elm_test_runner$ElmTestRunner$Result$Passed,
6248
- A2($elm$json$Json$Decode$field, 'A1', $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_labels_ListString_duration_Float_logs_ListString_));
7449
+ A2($elm$json$Json$Decode$field, 'A1', $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_labels_ListString_duration_Float_logs_ListString_distributionReports_ListDistributionReport_));
6249
7450
  case 'Failed':
6250
7451
  return A2(
6251
7452
  $elm$json$Json$Decode$map,
6252
7453
  $mpizenberg$elm_test_runner$ElmTestRunner$Result$Failed,
6253
- A2($elm$json$Json$Decode$field, 'A1', $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_labels_ListString_duration_Float_logs_ListString_todos_ListString_failures_ListFailure_));
7454
+ A2($elm$json$Json$Decode$field, 'A1', $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_labels_ListString_duration_Float_logs_ListString_todos_ListString_failures_ListFailure_distributionReports_ListDistributionReport_));
6254
7455
  default:
6255
7456
  var other = constructor;
6256
7457
  return $elm$json$Json$Decode$fail('Unknown constructor for type TestResult: ' + other);
@@ -6492,33 +7693,37 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$reportAndThenSummarize =
6492
7693
  var $mpizenberg$elm_test_runner$ElmTestRunner$Result$setDuration = F2(
6493
7694
  function (duration, testResult) {
6494
7695
  if (testResult.$ === 'Passed') {
7696
+ var distributionReports = testResult.a.distributionReports;
6495
7697
  var logs = testResult.a.logs;
6496
7698
  var labels = testResult.a.labels;
6497
7699
  return $mpizenberg$elm_test_runner$ElmTestRunner$Result$Passed(
6498
- {duration: duration, labels: labels, logs: logs});
7700
+ {distributionReports: distributionReports, duration: duration, labels: labels, logs: logs});
6499
7701
  } else {
7702
+ var distributionReports = testResult.a.distributionReports;
6500
7703
  var failures = testResult.a.failures;
6501
7704
  var todos = testResult.a.todos;
6502
7705
  var logs = testResult.a.logs;
6503
7706
  var labels = testResult.a.labels;
6504
7707
  return $mpizenberg$elm_test_runner$ElmTestRunner$Result$Failed(
6505
- {duration: duration, failures: failures, labels: labels, logs: logs, todos: todos});
7708
+ {distributionReports: distributionReports, duration: duration, failures: failures, labels: labels, logs: logs, todos: todos});
6506
7709
  }
6507
7710
  });
6508
7711
  var $mpizenberg$elm_test_runner$ElmTestRunner$Result$setLogs = F2(
6509
7712
  function (logs, testResult) {
6510
7713
  if (testResult.$ === 'Passed') {
7714
+ var distributionReports = testResult.a.distributionReports;
6511
7715
  var duration = testResult.a.duration;
6512
7716
  var labels = testResult.a.labels;
6513
7717
  return $mpizenberg$elm_test_runner$ElmTestRunner$Result$Passed(
6514
- {duration: duration, labels: labels, logs: logs});
7718
+ {distributionReports: distributionReports, duration: duration, labels: labels, logs: logs});
6515
7719
  } else {
7720
+ var distributionReports = testResult.a.distributionReports;
6516
7721
  var failures = testResult.a.failures;
6517
7722
  var todos = testResult.a.todos;
6518
7723
  var duration = testResult.a.duration;
6519
7724
  var labels = testResult.a.labels;
6520
7725
  return $mpizenberg$elm_test_runner$ElmTestRunner$Result$Failed(
6521
- {duration: duration, failures: failures, labels: labels, logs: logs, todos: todos});
7726
+ {distributionReports: distributionReports, duration: duration, failures: failures, labels: labels, logs: logs, todos: todos});
6522
7727
  }
6523
7728
  });
6524
7729
  var $elm$core$String$startsWith = _String_startsWith;
@@ -6692,7 +7897,7 @@ _Platform_export({'Reporter':{'init':$author$project$Reporter$main(
6692
7897
  'paths',
6693
7898
  $elm$json$Json$Decode$list($elm$json$Json$Decode$string)));
6694
7899
  },
6695
- A2($elm$json$Json$Decode$field, 'verbosity', $elm$json$Json$Decode$int)))(0)}});var isBackend = false && typeof isLamdera !== 'undefined'
7900
+ A2($elm$json$Json$Decode$field, 'verbosity', $elm$json$Json$Decode$int)))(0)}});var isBackend = false && typeof isLamdera !== 'undefined';
6696
7901
 
6697
7902
  function _Platform_initialize(flagDecoder, args, init, update, subscriptions, stepperBuilder)
6698
7903
  {