diff options
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)) ))) |