instancia ToHttpApiData Coin donde
toQueryParam = bonito . coinToInteger
-
| Valor máximo posible de ‘Moneda’.
maxCoinVal :: Word64
maxCoinVal = 45000000000000000 -
| Hace una ‘Moneda’ pero es _ | _ si esa moneda excede ‘maxCoinVal’.
-
También puede usar ‘checkCoin’ para hacer esa verificación.
mkCoin :: Word64 -> Moneda
mkCoin c = o bien error ( const moneda) (moneda checkCoin)
dónde
moneda = ( moneda c)
{- # INLINE mkCoin # -}
checkCoin :: MonadError Text m => Moneda -> m ()
checkCoin ( Moneda c)
El | c <= maxCoinVal = puro ()
El | de lo contrario = throwError $ " Moneda: " <> show c <> " es demasiado grande "