(.require [library [lux (.except) [abstract [equivalence (.only Equivalence)]] [data ["[0]" product] ["[0]" text (.only) ["%" \\format]]]]] ["[0]" /// (.only Snapshot) ["[1][0]" time] ["[1][0]" stamp]]) (type .public Value (Record [#version Text #snapshot Snapshot])) (def .public equivalence (Equivalence Value) (all product.equivalence text.equivalence ///.equivalence )) (def separator "-") (def .public snapshot "SNAPSHOT") (def .public (format (open "/[0]")) (%.Format Value) (when /#snapshot {///.#Local} /#version {///.#Remote stamp} (let [(open "/[0]") stamp] (%.format (text.replaced ..snapshot (///time.format /#time) /#version) ..separator (%.nat /#build)))))