-- Do not manually edit this file, it was auto-generated by dillonkearns/elm-graphql -- https://github.com/dillonkearns/elm-graphql module Normalize.Scalar exposing (CatId(..), Codecs, DogId(..), Id(..), defaultCodecs, defineCodecs, unwrapCodecs, unwrapEncoder) import Graphql.Codec exposing (Codec) import Graphql.Internal.Builder.Object as Object import Graphql.Internal.Encode import Json.Decode as Decode exposing (Decoder) import Json.Encode as Encode type CatId = CatId String type DogId = DogId String type Id = Id String defineCodecs : { codecCatId : Codec valueCatId , codecDogId : Codec valueDogId , codecId : Codec valueId } -> Codecs valueCatId valueDogId valueId defineCodecs definitions = Codecs definitions unwrapCodecs : Codecs valueCatId valueDogId valueId -> { codecCatId : Codec valueCatId , codecDogId : Codec valueDogId , codecId : Codec valueId } unwrapCodecs (Codecs unwrappedCodecs) = unwrappedCodecs unwrapEncoder getter (Codecs unwrappedCodecs) = (unwrappedCodecs |> getter |> .encoder) >> Graphql.Internal.Encode.fromJson type Codecs valueCatId valueDogId valueId = Codecs (RawCodecs valueCatId valueDogId valueId) type alias RawCodecs valueCatId valueDogId valueId = { codecCatId : Codec valueCatId , codecDogId : Codec valueDogId , codecId : Codec valueId } defaultCodecs : RawCodecs CatId DogId Id defaultCodecs = { codecCatId = { encoder = \(CatId raw) -> Encode.string raw , decoder = Object.scalarDecoder |> Decode.map CatId } , codecDogId = { encoder = \(DogId raw) -> Encode.string raw , decoder = Object.scalarDecoder |> Decode.map DogId } , codecId = { encoder = \(Id raw) -> Encode.string raw , decoder = Object.scalarDecoder |> Decode.map Id } }