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
@@ -0,0 +1,999 @@
1
+ // Generated by CoffeeScript 2.4.1
2
+ (function() {
3
+ var DocumentPosition, NodeType, XMLCData, XMLComment, XMLDeclaration, XMLDocType, XMLDummy, XMLElement, XMLNamedNodeMap, XMLNode, XMLNodeList, XMLProcessingInstruction, XMLRaw, XMLText, getValue, isEmpty, isFunction, isObject,
4
+ hasProp = {}.hasOwnProperty,
5
+ splice = [].splice;
6
+
7
+ ({isObject, isFunction, isEmpty, getValue} = require('./Utility'));
8
+
9
+ XMLElement = null;
10
+
11
+ XMLCData = null;
12
+
13
+ XMLComment = null;
14
+
15
+ XMLDeclaration = null;
16
+
17
+ XMLDocType = null;
18
+
19
+ XMLRaw = null;
20
+
21
+ XMLText = null;
22
+
23
+ XMLProcessingInstruction = null;
24
+
25
+ XMLDummy = null;
26
+
27
+ NodeType = null;
28
+
29
+ XMLNodeList = null;
30
+
31
+ XMLNamedNodeMap = null;
32
+
33
+ DocumentPosition = null;
34
+
35
+ // Represents a generic XMl element
36
+ module.exports = XMLNode = (function() {
37
+ class XMLNode {
38
+ // Initializes a new instance of `XMLNode`
39
+
40
+ // `parent` the parent node
41
+ constructor(parent1) {
42
+ this.parent = parent1;
43
+ if (this.parent) {
44
+ this.options = this.parent.options;
45
+ this.stringify = this.parent.stringify;
46
+ }
47
+ this.value = null;
48
+ this.children = [];
49
+ this.baseURI = null;
50
+ // first execution, load dependencies that are otherwise
51
+ // circular (so we can't load them at the top)
52
+ if (!XMLElement) {
53
+ XMLElement = require('./XMLElement');
54
+ XMLCData = require('./XMLCData');
55
+ XMLComment = require('./XMLComment');
56
+ XMLDeclaration = require('./XMLDeclaration');
57
+ XMLDocType = require('./XMLDocType');
58
+ XMLRaw = require('./XMLRaw');
59
+ XMLText = require('./XMLText');
60
+ XMLProcessingInstruction = require('./XMLProcessingInstruction');
61
+ XMLDummy = require('./XMLDummy');
62
+ NodeType = require('./NodeType');
63
+ XMLNodeList = require('./XMLNodeList');
64
+ XMLNamedNodeMap = require('./XMLNamedNodeMap');
65
+ DocumentPosition = require('./DocumentPosition');
66
+ }
67
+ }
68
+
69
+
70
+ // Sets the parent node of this node and its children recursively
71
+
72
+ // `parent` the parent node
73
+ setParent(parent) {
74
+ var child, j, len, ref1, results;
75
+ this.parent = parent;
76
+ if (parent) {
77
+ this.options = parent.options;
78
+ this.stringify = parent.stringify;
79
+ }
80
+ ref1 = this.children;
81
+ results = [];
82
+ for (j = 0, len = ref1.length; j < len; j++) {
83
+ child = ref1[j];
84
+ results.push(child.setParent(this));
85
+ }
86
+ return results;
87
+ }
88
+
89
+ // Creates a child element node
90
+
91
+ // `name` node name or an object describing the XML tree
92
+ // `attributes` an object containing name/value pairs of attributes
93
+ // `text` element text
94
+ element(name, attributes, text) {
95
+ var childNode, item, j, k, key, lastChild, len, len1, val;
96
+ lastChild = null;
97
+ if (attributes === null && (text == null)) {
98
+ [attributes, text] = [{}, null];
99
+ }
100
+ if (attributes == null) {
101
+ attributes = {};
102
+ }
103
+ attributes = getValue(attributes);
104
+ // swap argument order: text <-> attributes
105
+ if (!isObject(attributes)) {
106
+ [text, attributes] = [attributes, text];
107
+ }
108
+ if (name != null) {
109
+ name = getValue(name);
110
+ }
111
+ // expand if array
112
+ if (Array.isArray(name)) {
113
+ for (j = 0, len = name.length; j < len; j++) {
114
+ item = name[j];
115
+ lastChild = this.element(item);
116
+ }
117
+ // evaluate if function
118
+ } else if (isFunction(name)) {
119
+ lastChild = this.element(name.apply());
120
+ // expand if object
121
+ } else if (isObject(name)) {
122
+ for (key in name) {
123
+ if (!hasProp.call(name, key)) continue;
124
+ val = name[key];
125
+ if (isFunction(val)) {
126
+ // evaluate if function
127
+ val = val.apply();
128
+ }
129
+ // assign attributes
130
+ if (!this.options.ignoreDecorators && this.stringify.convertAttKey && key.indexOf(this.stringify.convertAttKey) === 0) {
131
+ lastChild = this.attribute(key.substr(this.stringify.convertAttKey.length), val);
132
+ // skip empty arrays
133
+ } else if (!this.options.separateArrayItems && Array.isArray(val) && isEmpty(val)) {
134
+ lastChild = this.dummy();
135
+ // empty objects produce one node
136
+ } else if (isObject(val) && isEmpty(val)) {
137
+ lastChild = this.element(key);
138
+ // skip null and undefined nodes
139
+ } else if (!this.options.keepNullNodes && (val == null)) {
140
+ lastChild = this.dummy();
141
+
142
+ // expand list by creating child nodes
143
+ } else if (!this.options.separateArrayItems && Array.isArray(val)) {
144
+ for (k = 0, len1 = val.length; k < len1; k++) {
145
+ item = val[k];
146
+ childNode = {};
147
+ childNode[key] = item;
148
+ lastChild = this.element(childNode);
149
+ }
150
+
151
+ // expand child nodes under parent
152
+ } else if (isObject(val)) {
153
+ // if the key is #text expand child nodes under this node to support mixed content
154
+ if (!this.options.ignoreDecorators && this.stringify.convertTextKey && key.indexOf(this.stringify.convertTextKey) === 0) {
155
+ lastChild = this.element(val);
156
+ } else {
157
+ lastChild = this.element(key);
158
+ lastChild.element(val);
159
+ }
160
+ } else {
161
+
162
+ // text node
163
+ lastChild = this.element(key, val);
164
+ }
165
+ }
166
+ // skip null nodes
167
+ } else if (!this.options.keepNullNodes && text === null) {
168
+ lastChild = this.dummy();
169
+ } else {
170
+ // text node
171
+ if (!this.options.ignoreDecorators && this.stringify.convertTextKey && name.indexOf(this.stringify.convertTextKey) === 0) {
172
+ lastChild = this.text(text);
173
+ // cdata node
174
+ } else if (!this.options.ignoreDecorators && this.stringify.convertCDataKey && name.indexOf(this.stringify.convertCDataKey) === 0) {
175
+ lastChild = this.cdata(text);
176
+ // comment node
177
+ } else if (!this.options.ignoreDecorators && this.stringify.convertCommentKey && name.indexOf(this.stringify.convertCommentKey) === 0) {
178
+ lastChild = this.comment(text);
179
+ // raw text node
180
+ } else if (!this.options.ignoreDecorators && this.stringify.convertRawKey && name.indexOf(this.stringify.convertRawKey) === 0) {
181
+ lastChild = this.raw(text);
182
+ // processing instruction
183
+ } else if (!this.options.ignoreDecorators && this.stringify.convertPIKey && name.indexOf(this.stringify.convertPIKey) === 0) {
184
+ lastChild = this.instruction(name.substr(this.stringify.convertPIKey.length), text);
185
+ } else {
186
+ // element node
187
+ lastChild = this.node(name, attributes, text);
188
+ }
189
+ }
190
+ if (lastChild == null) {
191
+ throw new Error("Could not create any elements with: " + name + ". " + this.debugInfo());
192
+ }
193
+ return lastChild;
194
+ }
195
+
196
+ // Creates a child element node before the current node
197
+
198
+ // `name` node name or an object describing the XML tree
199
+ // `attributes` an object containing name/value pairs of attributes
200
+ // `text` element text
201
+ insertBefore(name, attributes, text) {
202
+ var child, i, newChild, refChild, removed;
203
+ // DOM level 1
204
+ // insertBefore(newChild, refChild) inserts the child node newChild before refChild
205
+ if (name != null ? name.type : void 0) {
206
+ newChild = name;
207
+ refChild = attributes;
208
+ newChild.setParent(this);
209
+ if (refChild) {
210
+ // temporarily remove children starting *with* refChild
211
+ i = children.indexOf(refChild);
212
+ removed = children.splice(i);
213
+
214
+ // add the new child
215
+ children.push(newChild);
216
+
217
+ // add back removed children after new child
218
+ Array.prototype.push.apply(children, removed);
219
+ } else {
220
+ children.push(newChild);
221
+ }
222
+ return newChild;
223
+ } else {
224
+ if (this.isRoot) {
225
+ throw new Error("Cannot insert elements at root level. " + this.debugInfo(name));
226
+ }
227
+
228
+ // temporarily remove children starting *with* this
229
+ i = this.parent.children.indexOf(this);
230
+ removed = this.parent.children.splice(i);
231
+
232
+ // add the new child
233
+ child = this.parent.element(name, attributes, text);
234
+
235
+ // add back removed children after new child
236
+ Array.prototype.push.apply(this.parent.children, removed);
237
+ return child;
238
+ }
239
+ }
240
+
241
+ // Creates a child element node after the current node
242
+
243
+ // `name` node name or an object describing the XML tree
244
+ // `attributes` an object containing name/value pairs of attributes
245
+ // `text` element text
246
+ insertAfter(name, attributes, text) {
247
+ var child, i, removed;
248
+ if (this.isRoot) {
249
+ throw new Error("Cannot insert elements at root level. " + this.debugInfo(name));
250
+ }
251
+
252
+ // temporarily remove children starting *after* this
253
+ i = this.parent.children.indexOf(this);
254
+ removed = this.parent.children.splice(i + 1);
255
+
256
+ // add the new child
257
+ child = this.parent.element(name, attributes, text);
258
+
259
+ // add back removed children after new child
260
+ Array.prototype.push.apply(this.parent.children, removed);
261
+ return child;
262
+ }
263
+
264
+ // Deletes a child element node
265
+
266
+ remove() {
267
+ var i, ref1;
268
+ if (this.isRoot) {
269
+ throw new Error("Cannot remove the root element. " + this.debugInfo());
270
+ }
271
+ i = this.parent.children.indexOf(this);
272
+ splice.apply(this.parent.children, [i, i - i + 1].concat(ref1 = [])), ref1;
273
+ return this.parent;
274
+ }
275
+
276
+ // Creates a node
277
+
278
+ // `name` name of the node
279
+ // `attributes` an object containing name/value pairs of attributes
280
+ // `text` element text
281
+ node(name, attributes, text) {
282
+ var child;
283
+ if (name != null) {
284
+ name = getValue(name);
285
+ }
286
+ attributes || (attributes = {});
287
+ attributes = getValue(attributes);
288
+ // swap argument order: text <-> attributes
289
+ if (!isObject(attributes)) {
290
+ [text, attributes] = [attributes, text];
291
+ }
292
+ child = new XMLElement(this, name, attributes);
293
+ if (text != null) {
294
+ child.text(text);
295
+ }
296
+ this.children.push(child);
297
+ return child;
298
+ }
299
+
300
+ // Creates a text node
301
+
302
+ // `value` element text
303
+ text(value) {
304
+ var child;
305
+ if (isObject(value)) {
306
+ this.element(value);
307
+ }
308
+ child = new XMLText(this, value);
309
+ this.children.push(child);
310
+ return this;
311
+ }
312
+
313
+ // Creates a CDATA node
314
+
315
+ // `value` element text without CDATA delimiters
316
+ cdata(value) {
317
+ var child;
318
+ child = new XMLCData(this, value);
319
+ this.children.push(child);
320
+ return this;
321
+ }
322
+
323
+ // Creates a comment node
324
+
325
+ // `value` comment text
326
+ comment(value) {
327
+ var child;
328
+ child = new XMLComment(this, value);
329
+ this.children.push(child);
330
+ return this;
331
+ }
332
+
333
+ // Creates a comment node before the current node
334
+
335
+ // `value` comment text
336
+ commentBefore(value) {
337
+ var child, i, removed;
338
+ // temporarily remove children starting *with* this
339
+ i = this.parent.children.indexOf(this);
340
+ removed = this.parent.children.splice(i);
341
+ // add the new child
342
+ child = this.parent.comment(value);
343
+ // add back removed children after new child
344
+ Array.prototype.push.apply(this.parent.children, removed);
345
+ return this;
346
+ }
347
+
348
+ // Creates a comment node after the current node
349
+
350
+ // `value` comment text
351
+ commentAfter(value) {
352
+ var child, i, removed;
353
+ // temporarily remove children starting *after* this
354
+ i = this.parent.children.indexOf(this);
355
+ removed = this.parent.children.splice(i + 1);
356
+ // add the new child
357
+ child = this.parent.comment(value);
358
+ // add back removed children after new child
359
+ Array.prototype.push.apply(this.parent.children, removed);
360
+ return this;
361
+ }
362
+
363
+ // Adds unescaped raw text
364
+
365
+ // `value` text
366
+ raw(value) {
367
+ var child;
368
+ child = new XMLRaw(this, value);
369
+ this.children.push(child);
370
+ return this;
371
+ }
372
+
373
+ // Adds a dummy node
374
+ dummy() {
375
+ var child;
376
+ child = new XMLDummy(this);
377
+ // Normally when a new node is created it is added to the child node collection.
378
+ // However, dummy nodes are never added to the XML tree. They are created while
379
+ // converting JS objects to XML nodes in order not to break the recursive function
380
+ // chain. They can be thought of as invisible nodes. They can be traversed through
381
+ // by using prev(), next(), up(), etc. functions but they do not exists in the tree.
382
+
383
+ // @children.push child
384
+ return child;
385
+ }
386
+
387
+ // Adds a processing instruction
388
+
389
+ // `target` instruction target
390
+ // `value` instruction value
391
+ instruction(target, value) {
392
+ var insTarget, insValue, instruction, j, len;
393
+ if (target != null) {
394
+ target = getValue(target);
395
+ }
396
+ if (value != null) {
397
+ value = getValue(value);
398
+ }
399
+ if (Array.isArray(target)) { // expand if array
400
+ for (j = 0, len = target.length; j < len; j++) {
401
+ insTarget = target[j];
402
+ this.instruction(insTarget);
403
+ }
404
+ } else if (isObject(target)) { // expand if object
405
+ for (insTarget in target) {
406
+ if (!hasProp.call(target, insTarget)) continue;
407
+ insValue = target[insTarget];
408
+ this.instruction(insTarget, insValue);
409
+ }
410
+ } else {
411
+ if (isFunction(value)) {
412
+ value = value.apply();
413
+ }
414
+ instruction = new XMLProcessingInstruction(this, target, value);
415
+ this.children.push(instruction);
416
+ }
417
+ return this;
418
+ }
419
+
420
+ // Creates a processing instruction node before the current node
421
+
422
+ // `target` instruction target
423
+ // `value` instruction value
424
+ instructionBefore(target, value) {
425
+ var child, i, removed;
426
+ // temporarily remove children starting *with* this
427
+ i = this.parent.children.indexOf(this);
428
+ removed = this.parent.children.splice(i);
429
+ // add the new child
430
+ child = this.parent.instruction(target, value);
431
+ // add back removed children after new child
432
+ Array.prototype.push.apply(this.parent.children, removed);
433
+ return this;
434
+ }
435
+
436
+ // Creates a processing instruction node after the current node
437
+
438
+ // `target` instruction target
439
+ // `value` instruction value
440
+ instructionAfter(target, value) {
441
+ var child, i, removed;
442
+ // temporarily remove children starting *after* this
443
+ i = this.parent.children.indexOf(this);
444
+ removed = this.parent.children.splice(i + 1);
445
+ // add the new child
446
+ child = this.parent.instruction(target, value);
447
+ // add back removed children after new child
448
+ Array.prototype.push.apply(this.parent.children, removed);
449
+ return this;
450
+ }
451
+
452
+ // Creates the xml declaration
453
+
454
+ // `version` A version number string, e.g. 1.0
455
+ // `encoding` Encoding declaration, e.g. UTF-8
456
+ // `standalone` standalone document declaration: true or false
457
+ declaration(version, encoding, standalone) {
458
+ var doc, xmldec;
459
+ doc = this.document();
460
+ xmldec = new XMLDeclaration(doc, version, encoding, standalone);
461
+ // Replace XML declaration if exists, otherwise insert at top
462
+ if (doc.children.length === 0) {
463
+ doc.children.unshift(xmldec);
464
+ } else if (doc.children[0].type === NodeType.Declaration) {
465
+ doc.children[0] = xmldec;
466
+ } else {
467
+ doc.children.unshift(xmldec);
468
+ }
469
+ return doc.root() || doc;
470
+ }
471
+
472
+ // Creates the document type declaration
473
+
474
+ // `pubID` the public identifier of the external subset
475
+ // `sysID` the system identifier of the external subset
476
+ dtd(pubID, sysID) {
477
+ var child, doc, doctype, i, j, k, len, len1, ref1, ref2;
478
+ doc = this.document();
479
+ doctype = new XMLDocType(doc, pubID, sysID);
480
+ ref1 = doc.children;
481
+ // Replace DTD if exists
482
+ for (i = j = 0, len = ref1.length; j < len; i = ++j) {
483
+ child = ref1[i];
484
+ if (child.type === NodeType.DocType) {
485
+ doc.children[i] = doctype;
486
+ return doctype;
487
+ }
488
+ }
489
+ ref2 = doc.children;
490
+ // insert before root node if the root node exists
491
+ for (i = k = 0, len1 = ref2.length; k < len1; i = ++k) {
492
+ child = ref2[i];
493
+ if (child.isRoot) {
494
+ doc.children.splice(i, 0, doctype);
495
+ return doctype;
496
+ }
497
+ }
498
+ // otherwise append to end
499
+ doc.children.push(doctype);
500
+ return doctype;
501
+ }
502
+
503
+ // Gets the parent node
504
+ up() {
505
+ if (this.isRoot) {
506
+ throw new Error("The root node has no parent. Use doc() if you need to get the document object.");
507
+ }
508
+ return this.parent;
509
+ }
510
+
511
+ // Gets the root node
512
+ root() {
513
+ var node;
514
+ node = this;
515
+ while (node) {
516
+ if (node.type === NodeType.Document) {
517
+ return node.rootObject;
518
+ } else if (node.isRoot) {
519
+ return node;
520
+ } else {
521
+ node = node.parent;
522
+ }
523
+ }
524
+ }
525
+
526
+ // Gets the node representing the XML document
527
+ document() {
528
+ var node;
529
+ node = this;
530
+ while (node) {
531
+ if (node.type === NodeType.Document) {
532
+ return node;
533
+ } else {
534
+ node = node.parent;
535
+ }
536
+ }
537
+ }
538
+
539
+ // Ends the document and converts string
540
+ end(options) {
541
+ return this.document().end(options);
542
+ }
543
+
544
+ // Gets the previous node
545
+ prev() {
546
+ var i;
547
+ i = this.parent.children.indexOf(this);
548
+ if (i < 1) {
549
+ throw new Error("Already at the first node. " + this.debugInfo());
550
+ }
551
+ return this.parent.children[i - 1];
552
+ }
553
+
554
+ // Gets the next node
555
+ next() {
556
+ var i;
557
+ i = this.parent.children.indexOf(this);
558
+ if (i === -1 || i === this.parent.children.length - 1) {
559
+ throw new Error("Already at the last node. " + this.debugInfo());
560
+ }
561
+ return this.parent.children[i + 1];
562
+ }
563
+
564
+ // Imports cloned root from another XML document
565
+
566
+ // `doc` the XML document to insert nodes from
567
+ importDocument(doc) {
568
+ var child, clonedRoot, j, len, ref1;
569
+ clonedRoot = doc.root().clone();
570
+ clonedRoot.parent = this;
571
+ clonedRoot.isRoot = false;
572
+ this.children.push(clonedRoot);
573
+ // set properties if imported element becomes the root node
574
+ if (this.type === NodeType.Document) {
575
+ clonedRoot.isRoot = true;
576
+ clonedRoot.documentObject = this;
577
+ this.rootObject = clonedRoot;
578
+ // set dtd name
579
+ if (this.children) {
580
+ ref1 = this.children;
581
+ for (j = 0, len = ref1.length; j < len; j++) {
582
+ child = ref1[j];
583
+ if (child.type === NodeType.DocType) {
584
+ child.name = clonedRoot.name;
585
+ break;
586
+ }
587
+ }
588
+ }
589
+ }
590
+ return this;
591
+ }
592
+
593
+
594
+ // Returns debug string for this node
595
+ debugInfo(name) {
596
+ var ref1, ref2;
597
+ name = name || this.name;
598
+ if ((name == null) && !((ref1 = this.parent) != null ? ref1.name : void 0)) {
599
+ return "";
600
+ } else if (name == null) {
601
+ return "parent: <" + this.parent.name + ">";
602
+ } else if (!((ref2 = this.parent) != null ? ref2.name : void 0)) {
603
+ return "node: <" + name + ">";
604
+ } else {
605
+ return "node: <" + name + ">, parent: <" + this.parent.name + ">";
606
+ }
607
+ }
608
+
609
+ // Aliases
610
+ ele(name, attributes, text) {
611
+ return this.element(name, attributes, text);
612
+ }
613
+
614
+ nod(name, attributes, text) {
615
+ return this.node(name, attributes, text);
616
+ }
617
+
618
+ txt(value) {
619
+ return this.text(value);
620
+ }
621
+
622
+ dat(value) {
623
+ return this.cdata(value);
624
+ }
625
+
626
+ com(value) {
627
+ return this.comment(value);
628
+ }
629
+
630
+ ins(target, value) {
631
+ return this.instruction(target, value);
632
+ }
633
+
634
+ doc() {
635
+ return this.document();
636
+ }
637
+
638
+ dec(version, encoding, standalone) {
639
+ return this.declaration(version, encoding, standalone);
640
+ }
641
+
642
+ e(name, attributes, text) {
643
+ return this.element(name, attributes, text);
644
+ }
645
+
646
+ n(name, attributes, text) {
647
+ return this.node(name, attributes, text);
648
+ }
649
+
650
+ t(value) {
651
+ return this.text(value);
652
+ }
653
+
654
+ d(value) {
655
+ return this.cdata(value);
656
+ }
657
+
658
+ c(value) {
659
+ return this.comment(value);
660
+ }
661
+
662
+ r(value) {
663
+ return this.raw(value);
664
+ }
665
+
666
+ i(target, value) {
667
+ return this.instruction(target, value);
668
+ }
669
+
670
+ u() {
671
+ return this.up();
672
+ }
673
+
674
+ // can be deprecated in a future release
675
+ importXMLBuilder(doc) {
676
+ return this.importDocument(doc);
677
+ }
678
+
679
+ // Adds or modifies an attribute.
680
+
681
+ // `name` attribute name
682
+ // `value` attribute value
683
+ attribute(name, value) {
684
+ throw new Error("attribute() applies to element nodes only.");
685
+ }
686
+
687
+ att(name, value) {
688
+ return this.attribute(name, value);
689
+ }
690
+
691
+ a(name, value) {
692
+ return this.attribute(name, value);
693
+ }
694
+
695
+ // Removes an attribute
696
+
697
+ // `name` attribute name
698
+ removeAttribute(name) {
699
+ throw new Error("attribute() applies to element nodes only.");
700
+ }
701
+
702
+ // DOM level 1 functions to be implemented later
703
+ replaceChild(newChild, oldChild) {
704
+ throw new Error("This DOM method is not implemented." + this.debugInfo());
705
+ }
706
+
707
+ removeChild(oldChild) {
708
+ throw new Error("This DOM method is not implemented." + this.debugInfo());
709
+ }
710
+
711
+ appendChild(newChild) {
712
+ throw new Error("This DOM method is not implemented." + this.debugInfo());
713
+ }
714
+
715
+ hasChildNodes() {
716
+ return this.children.length !== 0;
717
+ }
718
+
719
+ cloneNode(deep) {
720
+ throw new Error("This DOM method is not implemented." + this.debugInfo());
721
+ }
722
+
723
+ normalize() {
724
+ throw new Error("This DOM method is not implemented." + this.debugInfo());
725
+ }
726
+
727
+ // DOM level 2
728
+ isSupported(feature, version) {
729
+ return true;
730
+ }
731
+
732
+ hasAttributes() {
733
+ return this.attribs.length !== 0;
734
+ }
735
+
736
+ // DOM level 3 functions to be implemented later
737
+ compareDocumentPosition(other) {
738
+ var ref, res;
739
+ ref = this;
740
+ if (ref === other) {
741
+ return 0;
742
+ } else if (this.document() !== other.document()) {
743
+ res = DocumentPosition.Disconnected | DocumentPosition.ImplementationSpecific;
744
+ if (Math.random() < 0.5) {
745
+ res |= DocumentPosition.Preceding;
746
+ } else {
747
+ res |= DocumentPosition.Following;
748
+ }
749
+ return res;
750
+ } else if (ref.isAncestor(other)) {
751
+ return DocumentPosition.Contains | DocumentPosition.Preceding;
752
+ } else if (ref.isDescendant(other)) {
753
+ return DocumentPosition.Contains | DocumentPosition.Following;
754
+ } else if (ref.isPreceding(other)) {
755
+ return DocumentPosition.Preceding;
756
+ } else {
757
+ return DocumentPosition.Following;
758
+ }
759
+ }
760
+
761
+ isSameNode(other) {
762
+ throw new Error("This DOM method is not implemented." + this.debugInfo());
763
+ }
764
+
765
+ lookupPrefix(namespaceURI) {
766
+ throw new Error("This DOM method is not implemented." + this.debugInfo());
767
+ }
768
+
769
+ isDefaultNamespace(namespaceURI) {
770
+ throw new Error("This DOM method is not implemented." + this.debugInfo());
771
+ }
772
+
773
+ lookupNamespaceURI(prefix) {
774
+ throw new Error("This DOM method is not implemented." + this.debugInfo());
775
+ }
776
+
777
+ isEqualNode(node) {
778
+ var i, j, ref1;
779
+ if (node.nodeType !== this.nodeType) {
780
+ return false;
781
+ }
782
+ if (node.children.length !== this.children.length) {
783
+ return false;
784
+ }
785
+ for (i = j = 0, ref1 = this.children.length - 1; (0 <= ref1 ? j <= ref1 : j >= ref1); i = 0 <= ref1 ? ++j : --j) {
786
+ if (!this.children[i].isEqualNode(node.children[i])) {
787
+ return false;
788
+ }
789
+ }
790
+ return true;
791
+ }
792
+
793
+ getFeature(feature, version) {
794
+ throw new Error("This DOM method is not implemented." + this.debugInfo());
795
+ }
796
+
797
+ setUserData(key, data, handler) {
798
+ throw new Error("This DOM method is not implemented." + this.debugInfo());
799
+ }
800
+
801
+ getUserData(key) {
802
+ throw new Error("This DOM method is not implemented." + this.debugInfo());
803
+ }
804
+
805
+ // Returns true if other is an inclusive descendant of node,
806
+ // and false otherwise.
807
+ contains(other) {
808
+ if (!other) {
809
+ return false;
810
+ }
811
+ return other === this || this.isDescendant(other);
812
+ }
813
+
814
+ // An object A is called a descendant of an object B, if either A is
815
+ // a child of B or A is a child of an object C that is a descendant of B.
816
+ isDescendant(node) {
817
+ var child, isDescendantChild, j, len, ref1;
818
+ ref1 = this.children;
819
+ for (j = 0, len = ref1.length; j < len; j++) {
820
+ child = ref1[j];
821
+ if (node === child) {
822
+ return true;
823
+ }
824
+ isDescendantChild = child.isDescendant(node);
825
+ if (isDescendantChild) {
826
+ return true;
827
+ }
828
+ }
829
+ return false;
830
+ }
831
+
832
+ // An object A is called an ancestor of an object B if and only if
833
+ // B is a descendant of A.
834
+ isAncestor(node) {
835
+ return node.isDescendant(this);
836
+ }
837
+
838
+ // An object A is preceding an object B if A and B are in the
839
+ // same tree and A comes before B in tree order.
840
+ isPreceding(node) {
841
+ var nodePos, thisPos;
842
+ nodePos = this.treePosition(node);
843
+ thisPos = this.treePosition(this);
844
+ if (nodePos === -1 || thisPos === -1) {
845
+ return false;
846
+ } else {
847
+ return nodePos < thisPos;
848
+ }
849
+ }
850
+
851
+ // An object A is folllowing an object B if A and B are in the
852
+ // same tree and A comes after B in tree order.
853
+ isFollowing(node) {
854
+ var nodePos, thisPos;
855
+ nodePos = this.treePosition(node);
856
+ thisPos = this.treePosition(this);
857
+ if (nodePos === -1 || thisPos === -1) {
858
+ return false;
859
+ } else {
860
+ return nodePos > thisPos;
861
+ }
862
+ }
863
+
864
+ // Returns the preorder position of the given node in the tree, or -1
865
+ // if the node is not in the tree.
866
+ treePosition(node) {
867
+ var found, pos;
868
+ pos = 0;
869
+ found = false;
870
+ this.foreachTreeNode(this.document(), function(childNode) {
871
+ pos++;
872
+ if (!found && childNode === node) {
873
+ return found = true;
874
+ }
875
+ });
876
+ if (found) {
877
+ return pos;
878
+ } else {
879
+ return -1;
880
+ }
881
+ }
882
+
883
+
884
+ // Depth-first preorder traversal through the XML tree
885
+ foreachTreeNode(node, func) {
886
+ var child, j, len, ref1, res;
887
+ node || (node = this.document());
888
+ ref1 = node.children;
889
+ for (j = 0, len = ref1.length; j < len; j++) {
890
+ child = ref1[j];
891
+ if (res = func(child)) {
892
+ return res;
893
+ } else {
894
+ res = this.foreachTreeNode(child, func);
895
+ if (res) {
896
+ return res;
897
+ }
898
+ }
899
+ }
900
+ }
901
+
902
+ };
903
+
904
+ // DOM level 1
905
+ Object.defineProperty(XMLNode.prototype, 'nodeName', {
906
+ get: function() {
907
+ return this.name;
908
+ }
909
+ });
910
+
911
+ Object.defineProperty(XMLNode.prototype, 'nodeType', {
912
+ get: function() {
913
+ return this.type;
914
+ }
915
+ });
916
+
917
+ Object.defineProperty(XMLNode.prototype, 'nodeValue', {
918
+ get: function() {
919
+ return this.value;
920
+ }
921
+ });
922
+
923
+ Object.defineProperty(XMLNode.prototype, 'parentNode', {
924
+ get: function() {
925
+ return this.parent;
926
+ }
927
+ });
928
+
929
+ Object.defineProperty(XMLNode.prototype, 'childNodes', {
930
+ get: function() {
931
+ if (!this.childNodeList || !this.childNodeList.nodes) {
932
+ this.childNodeList = new XMLNodeList(this.children);
933
+ }
934
+ return this.childNodeList;
935
+ }
936
+ });
937
+
938
+ Object.defineProperty(XMLNode.prototype, 'firstChild', {
939
+ get: function() {
940
+ return this.children[0] || null;
941
+ }
942
+ });
943
+
944
+ Object.defineProperty(XMLNode.prototype, 'lastChild', {
945
+ get: function() {
946
+ return this.children[this.children.length - 1] || null;
947
+ }
948
+ });
949
+
950
+ Object.defineProperty(XMLNode.prototype, 'previousSibling', {
951
+ get: function() {
952
+ var i;
953
+ i = this.parent.children.indexOf(this);
954
+ return this.parent.children[i - 1] || null;
955
+ }
956
+ });
957
+
958
+ Object.defineProperty(XMLNode.prototype, 'nextSibling', {
959
+ get: function() {
960
+ var i;
961
+ i = this.parent.children.indexOf(this);
962
+ return this.parent.children[i + 1] || null;
963
+ }
964
+ });
965
+
966
+ Object.defineProperty(XMLNode.prototype, 'ownerDocument', {
967
+ get: function() {
968
+ return this.document() || null;
969
+ }
970
+ });
971
+
972
+ // DOM level 3
973
+ Object.defineProperty(XMLNode.prototype, 'textContent', {
974
+ get: function() {
975
+ var child, j, len, ref1, str;
976
+ if (this.nodeType === NodeType.Element || this.nodeType === NodeType.DocumentFragment) {
977
+ str = '';
978
+ ref1 = this.children;
979
+ for (j = 0, len = ref1.length; j < len; j++) {
980
+ child = ref1[j];
981
+ if (child.textContent) {
982
+ str += child.textContent;
983
+ }
984
+ }
985
+ return str;
986
+ } else {
987
+ return null;
988
+ }
989
+ },
990
+ set: function(value) {
991
+ throw new Error("This DOM method is not implemented." + this.debugInfo());
992
+ }
993
+ });
994
+
995
+ return XMLNode;
996
+
997
+ }).call(this);
998
+
999
+ }).call(this);