@@ -47,12 +47,11 @@ textConstraint (DTEnum ss) =
47numberConstraint :: DemotedNumberConstraint -> State D4.Schema ()
47numberConstraint :: DemotedNumberConstraint -> State D4.Schema ()
48numberConstraint (DNLe n) = modify $ \s -> s
48numberConstraint (DNLe n) = modify $ \s -> s
49 { _schemaMaximum = pure . fromIntegral $ n }
49 { _schemaMaximum = pure . fromIntegral $ n }
50−numberConstraint (DNLt n) = modify $ \s -> s
50+numberConstraint (DNLt n) =
51+ let n' = if n == 0 then 0 else n - 1
51− { _schemaMaximum = pure . fromIntegral $ n
52+ in modify $ \s -> s { _schemaMaximum = pure . fromIntegral $ n' }
52− , _schemaExclusiveMaximum = pure True }
53numberConstraint (DNGt n) = modify $ \s -> s
53numberConstraint (DNGt n) = modify $ \s -> s
54− { _schemaMinimum = pure . fromIntegral $ n
54+ { _schemaMinimum = pure . fromIntegral $ n + 1 }
55− , _schemaExclusiveMinimum = pure True }
56numberConstraint (DNGe n) = modify $ \s -> s
55numberConstraint (DNGe n) = modify $ \s -> s
57 { _schemaMinimum = pure . fromIntegral $ n }
56 { _schemaMinimum = pure . fromIntegral $ n }
58numberConstraint (DNEq n) = modify $ \s -> s
57numberConstraint (DNEq n) = modify $ \s -> s