@@ -1624,3 +1624,16 @@ fieldTagged :: Monad m => (FieldName -> Object -> m a) -> Object -> m a
16241624fieldTagged f o = case HM.toList o of
16251625 [(k, Object o')] -> f (FieldName k) o'
16261626 _ -> fail "Expected object with 1 field-named key"
1627+
1628+{-| Fuzziness value as a number or 'AUTO'. -}
1629+data Fuzziness = Fuzziness Double | FuzzinessAuto
1630+ deriving (Eq, Show)
1631+
1632+instance ToJSON Fuzziness where
1633+ toJSON (Fuzziness n) = toJSON n
1634+ toJSON FuzzinessAuto = String "AUTO"
1635+
1636+instance FromJSON Fuzziness where
1637+ parseJSON (String "AUTO") = return FuzzinessAuto
1638+ parseJSON (String "auto") = return FuzzinessAuto
1639+ parseJSON v = Fuzziness <$> parseJSON v