def source.eq

ezx@1.11.0.0 · src/ws/joint.bend:159

import ezx@1.11.0.0/src/ws/joint.bend as Joint
import Base
import ezx@1.11.0.0/src/ledger/manifest.bend as M

159# whether two sources are one
160def source.eq(aa: M.Source, bb: M.Source) -> Bool:
161  match aa:
162    case M.Hub{an}:
163      match bb:
164        case M.Hub{bn}:
165          String.eq(an, bn)
166        case M.Git{_u, _r, _t, _o, _n, _v}:
167          False{}
168        case M.Member{_p, _m}:
169          False{}
170    case M.Git{au, ar, at, ao, an, av}:
171      match bb:
172        case M.Hub{_bn}:
173          False{}
174        case M.Git{bu, br, bt, bo, bn, bv}:
175          Bool.and(Bool.and(Bool.and(String.eq(au, bu), String.eq(ar, br)),
176            Bool.and(String.eq(at, bt), String.eq(ao, bo))),
177            Bool.and(String.eq(an, bn), bit.eq(av, bv)))
178        case M.Member{_p, _m}:
179          False{}
180    case M.Member{ap, am}:
181      match bb:
182        case M.Hub{_bn}:
183          False{}
184        case M.Git{_u, _r, _t, _o, _n, _v}:
185          False{}
186        case M.Member{bp, bm}:
187          Bool.and(String.eq(ap, bp), String.eq(am, bm))

Uses (5)

Used by (2)