def time.wd.plus

ezsys@0.1.0.0 · src/clock.bend:189

import ezsys@0.1.0.0/src/clock.bend as Clock
import Base

189# two weekdays added as offsets from Monday (Monday is 0, Sunday 6), so
190# `time.wd.plus(day, off)` is the weekday `off` days after `day`
191def time.wd.plus(day: Wd, off: Wd) -> Wd:
192  match day off:
193    case Mon{} Mon{}:
194      Mon{}
195    case Mon{} Tue{}:
196      Tue{}
197    case Mon{} Wed{}:
198      Wed{}
199    case Mon{} Thu{}:
200      Thu{}
201    case Mon{} Fri{}:
202      Fri{}
203    case Mon{} Sat{}:
204      Sat{}
205    case Mon{} Sun{}:
206      Sun{}
207    case Tue{} Mon{}:
208      Tue{}
209    case Tue{} Tue{}:
210      Wed{}
211    case Tue{} Wed{}:
212      Thu{}
213    case Tue{} Thu{}:
214      Fri{}
215    case Tue{} Fri{}:
216      Sat{}
217    case Tue{} Sat{}:
218      Sun{}
219    case Tue{} Sun{}:
220      Mon{}
221    case Wed{} Mon{}:
222      Wed{}
223    case Wed{} Tue{}:
224      Thu{}
225    case Wed{} Wed{}:
226      Fri{}
227    case Wed{} Thu{}:
228      Sat{}
229    case Wed{} Fri{}:
230      Sun{}
231    case Wed{} Sat{}:
232      Mon{}
233    case Wed{} Sun{}:
234      Tue{}
235    case Thu{} Mon{}:
236      Thu{}
237    case Thu{} Tue{}:
238      Fri{}
239    case Thu{} Wed{}:
240      Sat{}
241    case Thu{} Thu{}:
242      Sun{}
243    case Thu{} Fri{}:
244      Mon{}
245    case Thu{} Sat{}:
246      Tue{}
247    case Thu{} Sun{}:
248      Wed{}
249    case Fri{} Mon{}:
250      Fri{}
251    case Fri{} Tue{}:
252      Sat{}
253    case Fri{} Wed{}:
254      Sun{}
255    case Fri{} Thu{}:
256      Mon{}
257    case Fri{} Fri{}:
258      Tue{}
259    case Fri{} Sat{}:
260      Wed{}
261    case Fri{} Sun{}:
262      Thu{}
263    case Sat{} Mon{}:
264      Sat{}
265    case Sat{} Tue{}:
266      Sun{}
267    case Sat{} Wed{}:
268      Mon{}
269    case Sat{} Thu{}:
270      Tue{}
271    case Sat{} Fri{}:
272      Wed{}
273    case Sat{} Sat{}:
274      Thu{}
275    case Sat{} Sun{}:
276      Fri{}
277    case Sun{} Mon{}:
278      Sun{}
279    case Sun{} Tue{}:
280      Mon{}
281    case Sun{} Wed{}:
282      Tue{}
283    case Sun{} Thu{}:
284      Wed{}
285    case Sun{} Fri{}:
286      Thu{}
287    case Sun{} Sat{}:
288      Fri{}
289    case Sun{} Sun{}:
290      Sat{}

Uses (1)

Used by (2)