diff options
author | Eduardo Julian | 2021-07-13 02:41:45 -0400 |
---|---|---|
committer | Eduardo Julian | 2021-07-13 02:41:45 -0400 |
commit | 2431e767a09894c2f685911ba7f1ba0b7de2a165 (patch) | |
tree | f5c79fb04af80b8418e9de0a5e668f29403dd7fd /stdlib/source/program/aedifex/artifact/versioning.lux | |
parent | 86bcfadb774618defaa27bbb9361a93d288fb985 (diff) |
Improved the XML parsing library.
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/program/aedifex/artifact/versioning.lux | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/stdlib/source/program/aedifex/artifact/versioning.lux b/stdlib/source/program/aedifex/artifact/versioning.lux index a16d92796..be192e9a5 100644 --- a/stdlib/source/program/aedifex/artifact/versioning.lux +++ b/stdlib/source/program/aedifex/artifact/versioning.lux @@ -69,29 +69,24 @@ (list\map //snapshot/version.format) (#xml.Node ..<snapshot_versions> xml.attributes))))) -(def: (sub tag parser) - (All [a] (-> xml.Tag (Parser a) (Parser a))) - (do <>.monad - [_ (<xml>.node tag)] - (<xml>.children parser))) - (def: (text tag) (-> xml.Tag (Parser Text)) - (..sub tag <xml>.text)) + (<| (<xml>.node tag) + <xml>.text)) (def: last_updated_parser (Parser //time.Time) - (<text>.embed //time.parser - (..text ..<last_updated>))) + (<| (<text>.embed //time.parser) + (..text ..<last_updated>))) (def: #export parser (Parser Versioning) - (<| (..sub ..<versioning>) + (<| (<xml>.node ..<versioning>) ($_ <>.and (<>.default #//snapshot.Local (<xml>.somewhere //snapshot.parser)) (<>.default //time.epoch (<xml>.somewhere ..last_updated_parser)) (<| (<>.default (list)) <xml>.somewhere - (..sub ..<snapshot_versions>) + (<xml>.node ..<snapshot_versions>) (<>.some //snapshot/version.parser)) ))) |