def IsoWeek.from_date.week

bend-time-lib@0.4.0.1 · week.bend:10

import bend-time-lib@0.4.0.1/week.bend as Week
import Base
import bend-time-lib@0.4.0.1/date.bend as D

10def IsoWeek.from_date.week(
11  +d: D.Date, +year: U32, r: Result<&2, &2, D.Date.Error, D.Date>
12) -> Result<&2, &2, D.Date.Error, IsoWeek>:
13  match r:
14    case Fail{e}:
15      Fail{e}
16    case Done{mon1}:
17      Done{
18        IsoWeek{
19          year,
20          U32.add(
21            1, U32.div(U32.sub(D.Date.to_days(d), D.Date.to_days(mon1)), 7)
22          )
23        }
24      }

Uses (9)

Used by (1)