content: {-# LANGUAGE CPP, TypeFamilies, DeriveDataTypeable #-}
  
  module PGIP.GraphQL.Result.OMS where
  
  import PGIP.GraphQL.Result.ConservativityStatus
  import PGIP.GraphQL.Result.FileRange
  import PGIP.GraphQL.Result.IdReference
  import PGIP.GraphQL.Result.Language
  import PGIP.GraphQL.Result.LocIdReference
  import PGIP.GraphQL.Result.Logic
  import PGIP.GraphQL.Result.Mapping
  import PGIP.GraphQL.Result.ReasoningAttempt
  import PGIP.GraphQL.Result.Sentence
  import PGIP.GraphQL.Result.StringReference
  
  import Data.Data
  
  data OMS = OMS { conservativityStatus :: ConservativityStatus
                 , consistencyCheckAttempts :: [ReasoningAttempt]
                 , description :: Maybe String
                 , displayName :: String
                 , freeNormalForm :: Maybe LocIdReference
                 , freeNormalFormSignatureMorphism :: Maybe IdReference
                 , labelHasFree :: Bool
                 , labelHasHiding :: Bool
                 , language :: Language
                 , locId :: String
                 , logic :: Logic
                 , mappingsSource :: [Mapping]
                 , mappingsTarget :: [Mapping]
                 , name :: String
                 , nameExtension :: String
                 , nameExtensionIndex :: Int
                 , nameFileRange :: Maybe FileRange
                 , normalForm :: Maybe LocIdReference
                 , normalFormSignatureMorphism :: Maybe IdReference
                 , origin :: String
                 , sentences :: [Sentence]
                 , serialization :: Maybe StringReference
                 , omsSignature :: IdReference
                 } deriving (Show, Typeable, Data)
  