-- |
module OpenAI.Internal.Aeson (jsonOpts, deriveJSON, ToJSON, FromJSON) where

import Data.Aeson
import Data.Aeson.TH
import Text.Casing (quietSnake)

jsonOpts :: Int -> Options
jsonOpts :: Int -> Options
jsonOpts Int
x =
  Options
defaultOptions
    { fieldLabelModifier :: String -> String
fieldLabelModifier = String -> String
quietSnake (String -> String) -> (String -> String) -> String -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> String -> String
forall a. Int -> [a] -> [a]
drop Int
x,
      constructorTagModifier :: String -> String
constructorTagModifier = String -> String
quietSnake,
      omitNothingFields :: Bool
omitNothingFields = Bool
True
    }