@@ -88,11 +88,11 @@ type To = ComposeMaybe
88
88
89
89
-- | Test whether a 'PatchDMapWithMove' satisfies its invariants.
90
90
validPatchDMapWithMove :: forall k v . (GCompare k , GEq k , GShow k ) => DMap k (NodeInfo k v ) -> Bool
91
- validPatchDMapWithMove = not . null . validPatchDMapWithMove'
91
+ validPatchDMapWithMove = not . null . validationErrorsForPatchDMapWithMove
92
92
93
- -- | Test whether a 'PatchDMapWithMove' satisfies its invariants and give reasons why it doesn't .
94
- validPatchDMapWithMove' :: forall k v . (GCompare k , GEq k , GShow k ) => DMap k (NodeInfo k v ) -> [String ]
95
- validPatchDMapWithMove' m =
93
+ -- | Enumerate what reasons a 'PatchDMapWithMove' doesn't satisfy its invariants, returning @[]@ if it's valid .
94
+ validationErrorsForPatchDMapWithMove :: forall k v . (GCompare k , GEq k , GShow k ) => DMap k (NodeInfo k v ) -> [String ]
95
+ validationErrorsForPatchDMapWithMove m =
96
96
noSelfMoves `mappend` movesBalanced
97
97
where
98
98
noSelfMoves = catMaybes . map selfMove . DMap. toAscList $ m
@@ -111,7 +111,7 @@ validPatchDMapWithMove' m =
111
111
Just $ " unbalanced move at destination key " <> gshow dst <> " supposedly from " <> gshow src <> " but source key has no move to key"
112
112
unbalancedMove (src :=> NodeInfo _ (ComposeMaybe (Just dst))) =
113
113
case DMap. lookup dst m of
114
- Nothing -> Just $ " unbalancved move at source key " <> gshow src <> " supposedly going to " <> gshow dst <> " but destination key is not in the patch"
114
+ Nothing -> Just $ " unbalanced move at source key " <> gshow src <> " supposedly going to " <> gshow dst <> " but destination key is not in the patch"
115
115
Just (NodeInfo (From_Move src') _) ->
116
116
if isNothing (src' `geq` src)
117
117
then Just $ " unbalanced move at source key " <> gshow src <> " to " <> gshow dst <> " is coming from " <> gshow src' <> " instead"
@@ -287,7 +287,7 @@ unsafePatchDMapWithMove = PatchDMapWithMove
287
287
-- otherwise @Left errors@.
288
288
patchDMapWithMove :: (GCompare k , GEq k , GShow k ) => DMap k (NodeInfo k v ) -> Either [String ] (PatchDMapWithMove k v )
289
289
patchDMapWithMove dm =
290
- case validPatchDMapWithMove' dm of
290
+ case validationErrorsForPatchDMapWithMove dm of
291
291
[] -> Right $ unsafePatchDMapWithMove dm
292
292
errs -> Left errs
293
293
0 commit comments