From 2431e767a09894c2f685911ba7f1ba0b7de2a165 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Tue, 13 Jul 2021 02:41:45 -0400 Subject: Improved the XML parsing library. --- stdlib/source/program/aedifex/artifact/versioning.lux | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'stdlib/source/program/aedifex/artifact/versioning.lux') 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 .. xml.attributes))))) -(def: (sub tag parser) - (All [a] (-> xml.Tag (Parser a) (Parser a))) - (do <>.monad - [_ (.node tag)] - (.children parser))) - (def: (text tag) (-> xml.Tag (Parser Text)) - (..sub tag .text)) + (<| (.node tag) + .text)) (def: last_updated_parser (Parser //time.Time) - (.embed //time.parser - (..text ..))) + (<| (.embed //time.parser) + (..text ..))) (def: #export parser (Parser Versioning) - (<| (..sub ..) + (<| (.node ..) ($_ <>.and (<>.default #//snapshot.Local (.somewhere //snapshot.parser)) (<>.default //time.epoch (.somewhere ..last_updated_parser)) (<| (<>.default (list)) .somewhere - (..sub ..) + (.node ..) (<>.some //snapshot/version.parser)) ))) -- cgit v1.2.3