cfg-0.0.2.0: src/Cfg/Source/Default.hs
-- |
-- Module : Cfg.Source.Default
-- Copyright : © Jonathan Lorimer, 2023
-- License : MIT
-- Maintainer : jonathanlorimer@pm.me
-- Stability : stable
--
-- @since 0.0.2.0
--
-- This module contains code related to defaulting.
module Cfg.Source.Default where
import Data.Text (Text)
-- TODO: Figure out a way to make this error when there is a nested record
-- | This class lets us represent defaults as a function from record field
-- names to 'Maybe' values. @Nothing@ represents the absence of a default, and
-- the default implementation is to always return @Nothing@.
--
-- @since 0.0.2.0
class DefaultSource a where
defaults
:: Text
-- ^ Record field label
-> Maybe Text
-- ^ Serialized default
defaults = const Nothing