def semver.chars
import ezx@1.11.0.0/src/pub/plan.bend as Planimport Base
164# whether every character of a version is a digit or a dot. A pre-release
165# (`1.0.0-rc.1`) or build (`1.0.0+abc`) suffix holds a character that is
166# neither, so this is where one is refused, whatever follows it.
167def semver.chars(text: String) -> Bool:
168 match text:
169 case SNil{}:
170 True{}
171 case SCon{+h, t}:
172 +rest = semver.chars(t)
173 Bool.and(semver.char(h), rest)