elm-pages 3.0.0-beta.20 → 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.
- package/README.md +1 -1
- package/codegen/elm-pages-codegen.cjs +111 -99
- package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/dependencies.75364bef27ac5a049b87c3325f846fc6dbda23b8ed7187ed06748b96bb6a50a7.json +1 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm.json +38 -0
- package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elmTestOutput.js +29673 -0
- package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/package.json +1 -0
- package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/src/Test/Generated/Main.elm +27 -0
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmi +0 -0
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmo +0 -0
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateDataTest.elmo +0 -0
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/d.dat +0 -0
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Reporter.elm.js +1 -1
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Runner.elm.js +37 -107
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/node_runner.js +1 -1
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/node_supervisor.js +4 -4
- package/generator/dead-code-review/node_modules/.package-lock.json +484 -0
- package/generator/dead-code-review/node_modules/ansi-styles/index.d.ts +345 -0
- package/generator/dead-code-review/node_modules/ansi-styles/index.js +163 -0
- package/generator/dead-code-review/node_modules/ansi-styles/license +9 -0
- package/generator/dead-code-review/node_modules/ansi-styles/package.json +56 -0
- package/generator/dead-code-review/node_modules/ansi-styles/readme.md +152 -0
- package/generator/dead-code-review/node_modules/anymatch/LICENSE +15 -0
- package/generator/dead-code-review/node_modules/anymatch/README.md +87 -0
- package/generator/dead-code-review/node_modules/anymatch/index.d.ts +20 -0
- package/generator/dead-code-review/node_modules/anymatch/index.js +104 -0
- package/generator/dead-code-review/node_modules/anymatch/package.json +48 -0
- package/generator/dead-code-review/node_modules/balanced-match/.github/FUNDING.yml +2 -0
- package/generator/dead-code-review/node_modules/balanced-match/LICENSE.md +21 -0
- package/generator/dead-code-review/node_modules/balanced-match/README.md +97 -0
- package/generator/dead-code-review/node_modules/balanced-match/index.js +62 -0
- package/generator/dead-code-review/node_modules/balanced-match/package.json +48 -0
- package/generator/dead-code-review/node_modules/binary-extensions/binary-extensions.json +260 -0
- package/generator/dead-code-review/node_modules/binary-extensions/binary-extensions.json.d.ts +3 -0
- package/generator/dead-code-review/node_modules/binary-extensions/index.d.ts +14 -0
- package/generator/dead-code-review/node_modules/binary-extensions/index.js +1 -0
- package/generator/dead-code-review/node_modules/binary-extensions/license +9 -0
- package/generator/dead-code-review/node_modules/binary-extensions/package.json +38 -0
- package/generator/dead-code-review/node_modules/binary-extensions/readme.md +41 -0
- package/generator/dead-code-review/node_modules/brace-expansion/.github/FUNDING.yml +2 -0
- package/generator/dead-code-review/node_modules/brace-expansion/LICENSE +21 -0
- package/generator/dead-code-review/node_modules/brace-expansion/README.md +135 -0
- package/generator/dead-code-review/node_modules/brace-expansion/index.js +203 -0
- package/generator/dead-code-review/node_modules/brace-expansion/package.json +46 -0
- package/generator/dead-code-review/node_modules/braces/CHANGELOG.md +184 -0
- package/generator/dead-code-review/node_modules/braces/LICENSE +21 -0
- package/generator/dead-code-review/node_modules/braces/README.md +593 -0
- package/generator/dead-code-review/node_modules/braces/index.js +170 -0
- package/generator/dead-code-review/node_modules/braces/lib/compile.js +57 -0
- package/generator/dead-code-review/node_modules/braces/lib/constants.js +57 -0
- package/generator/dead-code-review/node_modules/braces/lib/expand.js +113 -0
- package/generator/dead-code-review/node_modules/braces/lib/parse.js +333 -0
- package/generator/dead-code-review/node_modules/braces/lib/stringify.js +32 -0
- package/generator/dead-code-review/node_modules/braces/lib/utils.js +112 -0
- package/generator/dead-code-review/node_modules/braces/package.json +77 -0
- package/generator/dead-code-review/node_modules/chalk/index.d.ts +415 -0
- package/generator/dead-code-review/node_modules/chalk/license +9 -0
- package/generator/dead-code-review/node_modules/chalk/package.json +68 -0
- package/generator/dead-code-review/node_modules/chalk/readme.md +341 -0
- package/generator/dead-code-review/node_modules/chalk/source/index.js +229 -0
- package/generator/dead-code-review/node_modules/chalk/source/templates.js +134 -0
- package/generator/dead-code-review/node_modules/chalk/source/util.js +39 -0
- package/generator/dead-code-review/node_modules/chokidar/LICENSE +21 -0
- package/generator/dead-code-review/node_modules/chokidar/README.md +308 -0
- package/generator/dead-code-review/node_modules/chokidar/index.js +973 -0
- package/generator/dead-code-review/node_modules/chokidar/lib/constants.js +65 -0
- package/generator/dead-code-review/node_modules/chokidar/lib/fsevents-handler.js +524 -0
- package/generator/dead-code-review/node_modules/chokidar/lib/nodefs-handler.js +654 -0
- package/generator/dead-code-review/node_modules/chokidar/package.json +85 -0
- package/generator/dead-code-review/node_modules/chokidar/types/index.d.ts +188 -0
- package/generator/dead-code-review/node_modules/color-convert/CHANGELOG.md +54 -0
- package/generator/dead-code-review/node_modules/color-convert/LICENSE +21 -0
- package/generator/dead-code-review/node_modules/color-convert/README.md +68 -0
- package/generator/dead-code-review/node_modules/color-convert/conversions.js +839 -0
- package/generator/dead-code-review/node_modules/color-convert/index.js +81 -0
- package/generator/dead-code-review/node_modules/color-convert/package.json +48 -0
- package/generator/dead-code-review/node_modules/color-convert/route.js +97 -0
- package/generator/dead-code-review/node_modules/color-name/LICENSE +8 -0
- package/generator/dead-code-review/node_modules/color-name/README.md +11 -0
- package/generator/dead-code-review/node_modules/color-name/index.js +152 -0
- package/generator/dead-code-review/node_modules/color-name/package.json +28 -0
- package/generator/dead-code-review/node_modules/commander/LICENSE +22 -0
- package/generator/dead-code-review/node_modules/commander/Readme.md +1118 -0
- package/generator/dead-code-review/node_modules/commander/esm.mjs +16 -0
- package/generator/dead-code-review/node_modules/commander/index.js +27 -0
- package/generator/dead-code-review/node_modules/commander/lib/argument.js +147 -0
- package/generator/dead-code-review/node_modules/commander/lib/command.js +2160 -0
- package/generator/dead-code-review/node_modules/commander/lib/error.js +45 -0
- package/generator/dead-code-review/node_modules/commander/lib/help.js +406 -0
- package/generator/dead-code-review/node_modules/commander/lib/option.js +326 -0
- package/generator/dead-code-review/node_modules/commander/lib/suggestSimilar.js +100 -0
- package/generator/dead-code-review/node_modules/commander/package-support.json +16 -0
- package/generator/dead-code-review/node_modules/commander/package.json +80 -0
- package/generator/dead-code-review/node_modules/commander/typings/index.d.ts +881 -0
- package/generator/dead-code-review/node_modules/cross-spawn/CHANGELOG.md +130 -0
- package/generator/dead-code-review/node_modules/cross-spawn/LICENSE +21 -0
- package/generator/dead-code-review/node_modules/cross-spawn/README.md +96 -0
- package/generator/dead-code-review/node_modules/cross-spawn/index.js +39 -0
- package/generator/dead-code-review/node_modules/cross-spawn/lib/enoent.js +59 -0
- package/generator/dead-code-review/node_modules/cross-spawn/lib/parse.js +91 -0
- package/generator/dead-code-review/node_modules/cross-spawn/lib/util/escape.js +45 -0
- package/generator/dead-code-review/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
- package/generator/dead-code-review/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
- package/generator/dead-code-review/node_modules/cross-spawn/package.json +73 -0
- package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/LICENSE +373 -0
- package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/README.md +64 -0
- package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/elm_solve_deps_wasm.d.ts +22 -0
- package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/elm_solve_deps_wasm.js +419 -0
- package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/elm_solve_deps_wasm_bg.wasm +0 -0
- package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/package.json +27 -0
- package/generator/dead-code-review/node_modules/elm-test/LICENSE +27 -0
- package/generator/dead-code-review/node_modules/elm-test/README.md +192 -0
- package/generator/dead-code-review/node_modules/elm-test/bin/elm-test +3 -0
- package/generator/dead-code-review/node_modules/elm-test/elm/elm.json +25 -0
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Console/Text.elm +217 -0
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console/Format/Color.elm +30 -0
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console/Format/Monochrome.elm +39 -0
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console/Format.elm +212 -0
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console.elm +207 -0
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Highlightable.elm +48 -0
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/JUnit.elm +161 -0
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Json.elm +158 -0
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Reporter.elm +53 -0
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/TestResults.elm +113 -0
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/JsMessage.elm +38 -0
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/Node/Vendor/Console.elm +230 -0
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/Node/Vendor/Diff.elm +326 -0
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/Node.elm +440 -0
- package/generator/dead-code-review/node_modules/elm-test/lib/Compile.js +110 -0
- package/generator/dead-code-review/node_modules/elm-test/lib/DependencyProvider.js +343 -0
- package/generator/dead-code-review/node_modules/elm-test/lib/ElmCompiler.js +109 -0
- package/generator/dead-code-review/node_modules/elm-test/lib/ElmHome.js +47 -0
- package/generator/dead-code-review/node_modules/elm-test/lib/ElmJson.js +194 -0
- package/generator/dead-code-review/node_modules/elm-test/lib/FindTests.js +276 -0
- package/generator/dead-code-review/node_modules/elm-test/lib/Generate.js +294 -0
- package/generator/dead-code-review/node_modules/elm-test/lib/Install.js +290 -0
- package/generator/dead-code-review/node_modules/elm-test/lib/Parser.js +941 -0
- package/generator/dead-code-review/node_modules/elm-test/lib/Project.js +117 -0
- package/generator/dead-code-review/node_modules/elm-test/lib/Report.js +23 -0
- package/generator/dead-code-review/node_modules/elm-test/lib/RunTests.js +322 -0
- package/generator/dead-code-review/node_modules/elm-test/lib/Solve.js +76 -0
- package/generator/dead-code-review/node_modules/elm-test/lib/Supervisor.js +294 -0
- package/generator/dead-code-review/node_modules/elm-test/lib/SyncGet.js +45 -0
- package/generator/dead-code-review/node_modules/elm-test/lib/SyncGetWorker.js +36 -0
- package/generator/dead-code-review/node_modules/elm-test/lib/elm-test.js +318 -0
- package/generator/dead-code-review/node_modules/elm-test/package.json +69 -0
- package/generator/dead-code-review/node_modules/elm-test/templates/after.js +29 -0
- package/generator/dead-code-review/node_modules/elm-test/templates/before.js +58 -0
- package/generator/dead-code-review/node_modules/elm-test/templates/tests/Example.elm +10 -0
- package/generator/dead-code-review/node_modules/fill-range/LICENSE +21 -0
- package/generator/dead-code-review/node_modules/fill-range/README.md +237 -0
- package/generator/dead-code-review/node_modules/fill-range/index.js +249 -0
- package/generator/dead-code-review/node_modules/fill-range/package.json +69 -0
- package/generator/dead-code-review/node_modules/fs.realpath/LICENSE +43 -0
- package/generator/dead-code-review/node_modules/fs.realpath/README.md +33 -0
- package/generator/dead-code-review/node_modules/fs.realpath/index.js +66 -0
- package/generator/dead-code-review/node_modules/fs.realpath/old.js +303 -0
- package/generator/dead-code-review/node_modules/fs.realpath/package.json +26 -0
- package/generator/dead-code-review/node_modules/fsevents/LICENSE +22 -0
- package/generator/dead-code-review/node_modules/fsevents/README.md +83 -0
- package/generator/dead-code-review/node_modules/fsevents/fsevents.d.ts +46 -0
- package/generator/dead-code-review/node_modules/fsevents/fsevents.js +82 -0
- package/generator/dead-code-review/node_modules/fsevents/fsevents.node +0 -0
- package/generator/dead-code-review/node_modules/fsevents/package.json +62 -0
- package/generator/dead-code-review/node_modules/glob/LICENSE +15 -0
- package/generator/dead-code-review/node_modules/glob/README.md +378 -0
- package/generator/dead-code-review/node_modules/glob/common.js +240 -0
- package/generator/dead-code-review/node_modules/glob/glob.js +790 -0
- package/generator/dead-code-review/node_modules/glob/package.json +55 -0
- package/generator/dead-code-review/node_modules/glob/sync.js +486 -0
- package/generator/dead-code-review/node_modules/glob-parent/CHANGELOG.md +110 -0
- package/generator/dead-code-review/node_modules/glob-parent/LICENSE +15 -0
- package/generator/dead-code-review/node_modules/glob-parent/README.md +137 -0
- package/generator/dead-code-review/node_modules/glob-parent/index.js +42 -0
- package/generator/dead-code-review/node_modules/glob-parent/package.json +48 -0
- package/generator/dead-code-review/node_modules/graceful-fs/LICENSE +15 -0
- package/generator/dead-code-review/node_modules/graceful-fs/README.md +143 -0
- package/generator/dead-code-review/node_modules/graceful-fs/clone.js +23 -0
- package/generator/dead-code-review/node_modules/graceful-fs/graceful-fs.js +448 -0
- package/generator/dead-code-review/node_modules/graceful-fs/legacy-streams.js +118 -0
- package/generator/dead-code-review/node_modules/graceful-fs/package.json +50 -0
- package/generator/dead-code-review/node_modules/graceful-fs/polyfills.js +355 -0
- package/generator/dead-code-review/node_modules/has-flag/index.d.ts +39 -0
- package/generator/dead-code-review/node_modules/has-flag/index.js +8 -0
- package/generator/dead-code-review/node_modules/has-flag/license +9 -0
- package/generator/dead-code-review/node_modules/has-flag/package.json +46 -0
- package/generator/dead-code-review/node_modules/has-flag/readme.md +89 -0
- package/generator/dead-code-review/node_modules/inflight/LICENSE +15 -0
- package/generator/dead-code-review/node_modules/inflight/README.md +37 -0
- package/generator/dead-code-review/node_modules/inflight/inflight.js +54 -0
- package/generator/dead-code-review/node_modules/inflight/package.json +29 -0
- package/generator/dead-code-review/node_modules/inherits/LICENSE +16 -0
- package/generator/dead-code-review/node_modules/inherits/README.md +42 -0
- package/generator/dead-code-review/node_modules/inherits/inherits.js +9 -0
- package/generator/dead-code-review/node_modules/inherits/inherits_browser.js +27 -0
- package/generator/dead-code-review/node_modules/inherits/package.json +29 -0
- package/generator/dead-code-review/node_modules/is-binary-path/index.d.ts +17 -0
- package/generator/dead-code-review/node_modules/is-binary-path/index.js +7 -0
- package/generator/dead-code-review/node_modules/is-binary-path/license +9 -0
- package/generator/dead-code-review/node_modules/is-binary-path/package.json +40 -0
- package/generator/dead-code-review/node_modules/is-binary-path/readme.md +34 -0
- package/generator/dead-code-review/node_modules/is-extglob/LICENSE +21 -0
- package/generator/dead-code-review/node_modules/is-extglob/README.md +107 -0
- package/generator/dead-code-review/node_modules/is-extglob/index.js +20 -0
- package/generator/dead-code-review/node_modules/is-extglob/package.json +69 -0
- package/generator/dead-code-review/node_modules/is-glob/LICENSE +21 -0
- package/generator/dead-code-review/node_modules/is-glob/README.md +206 -0
- package/generator/dead-code-review/node_modules/is-glob/index.js +150 -0
- package/generator/dead-code-review/node_modules/is-glob/package.json +81 -0
- package/generator/dead-code-review/node_modules/is-number/LICENSE +21 -0
- package/generator/dead-code-review/node_modules/is-number/README.md +187 -0
- package/generator/dead-code-review/node_modules/is-number/index.js +18 -0
- package/generator/dead-code-review/node_modules/is-number/package.json +82 -0
- package/generator/dead-code-review/node_modules/isexe/LICENSE +15 -0
- package/generator/dead-code-review/node_modules/isexe/README.md +51 -0
- package/generator/dead-code-review/node_modules/isexe/index.js +57 -0
- package/generator/dead-code-review/node_modules/isexe/mode.js +41 -0
- package/generator/dead-code-review/node_modules/isexe/package.json +31 -0
- package/generator/dead-code-review/node_modules/isexe/test/basic.js +221 -0
- package/generator/dead-code-review/node_modules/isexe/windows.js +42 -0
- package/generator/dead-code-review/node_modules/minimatch/LICENSE +15 -0
- package/generator/dead-code-review/node_modules/minimatch/README.md +259 -0
- package/generator/dead-code-review/node_modules/minimatch/lib/path.js +4 -0
- package/generator/dead-code-review/node_modules/minimatch/minimatch.js +906 -0
- package/generator/dead-code-review/node_modules/minimatch/package.json +32 -0
- package/generator/dead-code-review/node_modules/normalize-path/LICENSE +21 -0
- package/generator/dead-code-review/node_modules/normalize-path/README.md +127 -0
- package/generator/dead-code-review/node_modules/normalize-path/index.js +35 -0
- package/generator/dead-code-review/node_modules/normalize-path/package.json +77 -0
- package/generator/dead-code-review/node_modules/once/LICENSE +15 -0
- package/generator/dead-code-review/node_modules/once/README.md +79 -0
- package/generator/dead-code-review/node_modules/once/once.js +42 -0
- package/generator/dead-code-review/node_modules/once/package.json +33 -0
- package/generator/dead-code-review/node_modules/path-key/index.d.ts +40 -0
- package/generator/dead-code-review/node_modules/path-key/index.js +16 -0
- package/generator/dead-code-review/node_modules/path-key/license +9 -0
- package/generator/dead-code-review/node_modules/path-key/package.json +39 -0
- package/generator/dead-code-review/node_modules/path-key/readme.md +61 -0
- package/generator/dead-code-review/node_modules/picomatch/CHANGELOG.md +136 -0
- package/generator/dead-code-review/node_modules/picomatch/LICENSE +21 -0
- package/generator/dead-code-review/node_modules/picomatch/README.md +708 -0
- package/generator/dead-code-review/node_modules/picomatch/index.js +3 -0
- package/generator/dead-code-review/node_modules/picomatch/lib/constants.js +179 -0
- package/generator/dead-code-review/node_modules/picomatch/lib/parse.js +1091 -0
- package/generator/dead-code-review/node_modules/picomatch/lib/picomatch.js +342 -0
- package/generator/dead-code-review/node_modules/picomatch/lib/scan.js +391 -0
- package/generator/dead-code-review/node_modules/picomatch/lib/utils.js +64 -0
- package/generator/dead-code-review/node_modules/picomatch/package.json +81 -0
- package/generator/dead-code-review/node_modules/readdirp/LICENSE +21 -0
- package/generator/dead-code-review/node_modules/readdirp/README.md +122 -0
- package/generator/dead-code-review/node_modules/readdirp/index.d.ts +43 -0
- package/generator/dead-code-review/node_modules/readdirp/index.js +287 -0
- package/generator/dead-code-review/node_modules/readdirp/package.json +122 -0
- package/generator/dead-code-review/node_modules/shebang-command/index.js +19 -0
- package/generator/dead-code-review/node_modules/shebang-command/license +9 -0
- package/generator/dead-code-review/node_modules/shebang-command/package.json +34 -0
- package/generator/dead-code-review/node_modules/shebang-command/readme.md +34 -0
- package/generator/dead-code-review/node_modules/shebang-regex/index.d.ts +22 -0
- package/generator/dead-code-review/node_modules/shebang-regex/index.js +2 -0
- package/generator/dead-code-review/node_modules/shebang-regex/license +9 -0
- package/generator/dead-code-review/node_modules/shebang-regex/package.json +35 -0
- package/generator/dead-code-review/node_modules/shebang-regex/readme.md +33 -0
- package/generator/dead-code-review/node_modules/split/.travis.yml +3 -0
- package/generator/dead-code-review/node_modules/split/LICENCE +22 -0
- package/generator/dead-code-review/node_modules/split/examples/pretty.js +26 -0
- package/generator/dead-code-review/node_modules/split/index.js +63 -0
- package/generator/dead-code-review/node_modules/split/package.json +30 -0
- package/generator/dead-code-review/node_modules/split/readme.markdown +72 -0
- package/generator/dead-code-review/node_modules/split/test/options.asynct.js +46 -0
- package/generator/dead-code-review/node_modules/split/test/partitioned_unicode.js +34 -0
- package/generator/dead-code-review/node_modules/split/test/split.asynct.js +137 -0
- package/generator/dead-code-review/node_modules/split/test/try_catch.asynct.js +51 -0
- package/generator/dead-code-review/node_modules/supports-color/browser.js +5 -0
- package/generator/dead-code-review/node_modules/supports-color/index.js +135 -0
- package/generator/dead-code-review/node_modules/supports-color/license +9 -0
- package/generator/dead-code-review/node_modules/supports-color/package.json +53 -0
- package/generator/dead-code-review/node_modules/supports-color/readme.md +76 -0
- package/generator/dead-code-review/node_modules/through/.travis.yml +5 -0
- package/generator/dead-code-review/node_modules/through/LICENSE.APACHE2 +15 -0
- package/generator/dead-code-review/node_modules/through/LICENSE.MIT +24 -0
- package/generator/dead-code-review/node_modules/through/index.js +108 -0
- package/generator/dead-code-review/node_modules/through/package.json +36 -0
- package/generator/dead-code-review/node_modules/through/readme.markdown +64 -0
- package/generator/dead-code-review/node_modules/through/test/async.js +28 -0
- package/generator/dead-code-review/node_modules/through/test/auto-destroy.js +30 -0
- package/generator/dead-code-review/node_modules/through/test/buffering.js +71 -0
- package/generator/dead-code-review/node_modules/through/test/end.js +45 -0
- package/generator/dead-code-review/node_modules/through/test/index.js +133 -0
- package/generator/dead-code-review/node_modules/to-regex-range/LICENSE +21 -0
- package/generator/dead-code-review/node_modules/to-regex-range/README.md +305 -0
- package/generator/dead-code-review/node_modules/to-regex-range/index.js +288 -0
- package/generator/dead-code-review/node_modules/to-regex-range/package.json +88 -0
- package/generator/dead-code-review/node_modules/which/CHANGELOG.md +166 -0
- package/generator/dead-code-review/node_modules/which/LICENSE +15 -0
- package/generator/dead-code-review/node_modules/which/README.md +54 -0
- package/generator/dead-code-review/node_modules/which/bin/node-which +52 -0
- package/generator/dead-code-review/node_modules/which/package.json +43 -0
- package/generator/dead-code-review/node_modules/which/which.js +125 -0
- package/generator/dead-code-review/node_modules/wrappy/LICENSE +15 -0
- package/generator/dead-code-review/node_modules/wrappy/README.md +36 -0
- package/generator/dead-code-review/node_modules/wrappy/package.json +29 -0
- package/generator/dead-code-review/node_modules/wrappy/wrappy.js +33 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/.nycrc +6 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/.vscode/launch.json +23 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/CHANGELOG.md +593 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/LICENSE +21 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/README.md +103 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/Derivation.js +10 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/DocumentPosition.js +12 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/NodeType.js +25 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/OperationType.js +11 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/Utility.js +88 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/WriterState.js +10 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLAttribute.js +130 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLCData.js +41 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLCharacterData.js +86 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLComment.js +41 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMConfiguration.js +80 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js +20 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMImplementation.js +55 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMStringList.js +44 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDAttList.js +66 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDElement.js +44 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDEntity.js +115 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDNotation.js +66 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDeclaration.js +51 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocType.js +235 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocument.js +282 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocumentCB.js +650 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocumentFragment.js +21 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDummy.js +39 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLElement.js +334 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNamedNodeMap.js +77 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNode.js +999 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNodeFilter.js +51 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNodeList.js +45 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js +56 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLRaw.js +40 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLStreamWriter.js +209 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLStringWriter.js +40 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLStringifier.js +291 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLText.js +82 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLTypeInfo.js +23 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLUserDataHandler.js +27 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLWriterBase.js +485 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/index.js +120 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/package.json +51 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/perf/basic/escaping.coffee +244 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/perf/basic/object.coffee +21 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/perf/index.coffee +161 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/perf/perf.list +11 -0
- package/generator/dead-code-review/node_modules/xmlbuilder/typings/index.d.ts +1771 -0
- package/generator/review/elm-stuff/0.19.1/d.dat +0 -0
- package/generator/review/elm-stuff/0.19.1/i.dat +0 -0
- package/generator/review/elm-stuff/0.19.1/o.dat +0 -0
- 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
- 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
- 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
- package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision10/install/elm.json +25 -0
- 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
- 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
- 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
- package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision7/install/elm.json +41 -0
- package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/d.dat +0 -0
- package/generator/review/elm-stuff/tests-0.19.1/js/Reporter.elm.js +1 -1
- package/generator/review/elm-stuff/tests-0.19.1/js/Runner.elm.js +1 -1
- package/generator/review/elm-stuff/tests-0.19.1/js/node_runner.js +1 -1
- package/generator/review/elm-stuff/tests-0.19.1/js/node_supervisor.js +4 -4
- package/generator/src/cli.js +15 -7
- package/generator/src/compatibility-key.js +3 -1
- package/generator/src/dev-server.js +0 -13
- package/generator/src/pre-render-html.js +4 -6
- package/generator/src/render-worker.js +4 -1
- package/generator/src/request-cache.js +59 -8
- package/generator/template/app/Api.elm +4 -3
- package/generator/template/app/Effect.elm +123 -0
- package/generator/template/app/ErrorPage.elm +37 -6
- package/generator/template/app/Route/Index.elm +14 -7
- package/generator/template/app/Shared.elm +23 -46
- package/generator/template/app/Site.elm +11 -3
- package/generator/template/app/View.elm +1 -8
- package/generator/template/elm-tooling.json +0 -3
- package/generator/template/elm.json +34 -25
- package/generator/template/package.json +10 -4
- package/package.json +1 -1
- package/src/BackendTask/Custom.elm +110 -6
- package/src/Form/Field.elm +21 -9
- package/src/Form/FieldView.elm +14 -4
- package/src/Form.elm +61 -53
- package/src/Pages/Internal/Platform/Cli.elm +262 -235
- package/src/Pages/Internal/Platform/CompatibilityKey.elm +1 -1
- package/src/Pages/Internal/Platform.elm +56 -35
- package/src/Result/Extra.elm +6 -1
- package/src/Scaffold/Form.elm +474 -0
- package/src/{Pages/Generate.elm → Scaffold/Route.elm} +35 -5
- package/src/Test/Html/Internal/ElmHtml/ToString.elm +8 -9
|
@@ -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);
|