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
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))