def Iso8601.dur.go
bend-time-lib@0.4.0.1 · iso8601.bend:527
import bend-time-lib@0.4.0.1/iso8601.bend as Iso8601
import Base
import bend-time-lib@0.4.0.1/duration.bend as Dur
527def Iso8601.dur.go(
528 s: String, +off: Nat, c: Iso8601.DurC
529) -> Result<&2, &2, Iso8601.Error, Dur.Duration>:
530 match s c:
531 case _ DurFail{e}:
532 Fail{e}
533 case SNil{} DurCont{st, mode}:
534 Iso8601.dur.eof(st, mode)
535 case SCon{+h, t} DurCont{st, mode}:
536 Iso8601.dur.go(
537 t, 1n+off,
538 Iso8601.dur.act(
539 off, st, mode, h, Char.is_eq(h, 'T'), Char.is_digit(h)
540 )
541 )