-- | -- SPDX-License-Identifier: BSD-3-Clause -- -- Utilities for JSON de/serialization. module Swarm.Util.JSON where import Data.Aeson -- | @aeson@ options specifying to unwrap unary records so they are -- encoded as a simple value instead of as a JSON object. optionsUnwrapUnary :: Options optionsUnwrapUnary :: Options optionsUnwrapUnary = Options defaultOptions {unwrapUnaryRecords = True} -- | @aeson@ options to try to minimize the size of the generated -- JSON. optionsMinimize :: Options optionsMinimize :: Options optionsMinimize = Options defaultOptions { sumEncoding = ObjectWithSingleField , omitNothingFields = True , allowOmittedFields = True } optionsUntagged :: Options optionsUntagged :: Options optionsUntagged = Options defaultOptions {sumEncoding = UntaggedValue}