def rfc3339.parse
import bend-kit-time@0.3.0.0/time.bend as Timeimport Base
552# An RFC 3339 date-time (§5.6), such as 1985-04-12T23:20:50.52Z or 1996-12-19T16:39:57-08:00.
553# T and Z may be lowercase. A leap second (:60) is refused, as Instant has none.
554def rfc3339.parse(s: String) -> Maybe<&2, Instant>:
555 do Maybe<&2, Instant>:
556 a : P <- num(4n, P{Nil{}, s})
557 b : P <- lit(45, a)
558 c : P <- num(2n, b)
559 d : P <- lit(45, c)
560 e : P <- num(2n, d)
561 f : P <- lit2(84, 116, e)
562 g : P <- num(2n, f)
563 h : P <- lit(58, g)
564 i : P <- num(2n, h)
565 j : P <- lit(58, i)
566 k : P <- num(2n, j)
567 l : P <- secfrac(k)
568 m : P <- zone(l)
569 rfc3339.fin(m)
Uses (12)
Used by (0)
No other definition uses this definition.