packages feed

bugsnag-types-1.1.0.0: src/Data/Bugsnag/Types/RuntimeVersion.hs

module Data.Bugsnag.Types.RuntimeVersion
  ( RuntimeVersion (..)
  , exampleRuntimeVersion
  ) where

import Data.Bugsnag.Types.Prelude


data RuntimeVersion = RuntimeVersion
  { androidApiLevel :: Maybe Text
  -- ^ The Android API level (Android only).
  , bottle :: Maybe Text
  -- ^ Bottle framework version (Python only).
  , celery :: Maybe Text
  -- ^ Celery task queue version (Python only).
  , clangVersion :: Maybe Text
  -- ^ Clang compiler version (iOS/tvOS/macOS only).
  , cocos2dx :: Maybe Text
  -- ^ Cocos2d-x framework version (Cocos2d-x only).
  , delayedJob :: Maybe Text
  -- ^ Delayed Job framework version (Ruby only).
  , django :: Maybe Text
  -- ^ Django framework version (Python only).
  , dotnet :: Maybe Text
  -- ^ Description of the framework (.NET only).
  , dotnetApiCompatibility :: Maybe Text
  -- ^ .NET API compatibility level (Unity only).
  , dotnetClr :: Maybe Text
  -- ^ Version of .NET Common Language Runtime (.NET only).
  , dotnetScriptingRuntime :: Maybe Text
  -- ^ .NET scripting runtime version (Unity only).
  , electron :: Maybe Text
  -- ^ Electron platform version (Electron only).
  , eventMachine :: Maybe Text
  -- ^ EventMachine library version (Ruby only).
  , expoApp :: Maybe Text
  -- ^ Expo app version (Expo only).
  , expoSdk :: Maybe Text
  -- ^ Expo SDK version (Expo only).
  , flask :: Maybe Text
  -- ^ Flask framework version (Python only).
  , gin :: Maybe Text
  -- ^ Gin framework version (Go only).
  , go :: Maybe Text
  -- ^ Go language version (Go only).
  , javaType :: Maybe Text
  -- ^ Java platform implementation type (Java only).
  , javaVersion :: Maybe Text
  -- ^ Java runtime version (Java only).
  , jruby :: Maybe Text
  -- ^ Version of JRuby (Ruby only).
  , laravel :: Maybe Text
  -- ^ Laravel framework version (PHP only).
  , lumen :: Maybe Text
  -- ^ Lumen framework version (PHP only).
  , magento :: Maybe Text
  -- ^ Magento platform version (PHP only).
  , mailman :: Maybe Text
  -- ^ Mailman framework version (Ruby only).
  , martini :: Maybe Text
  -- ^ Martini framework version (Go only).
  , negroni :: Maybe Text
  -- ^ Negroni framework version (Go only).
  , node :: Maybe Text
  -- ^ Node.js version (Javascript only).
  , osBuild :: Maybe Text
  -- ^ Build number of the OS (iOS/tvOS/macOS only).
  , php :: Maybe Text
  -- ^ Version of PHP (PHP only).
  , python :: Maybe Text
  -- ^ Version of Python (Python only).
  , que :: Maybe Text
  -- ^ Que job queue version (Ruby only).
  , rack :: Maybe Text
  -- ^ Rack webserver version (Ruby only).
  , rails :: Maybe Text
  -- ^ Ruby on Rails version (Ruby only).
  , rake :: Maybe Text
  -- ^ Rake tool version (Ruby only).
  , reactNative :: Maybe Text
  -- ^ Version of React Native (React Native/Expo only).
  , reactNativeJsEngine :: Maybe Text
  -- ^ Javascript engine type (React Native/Expo only).
  , resque :: Maybe Text
  -- ^ Resque library version (Ruby only).
  , revel :: Maybe Text
  -- ^ Revel framework version (Go only).
  , ruby :: Maybe Text
  -- ^ Version of Ruby (Ruby only).
  , shoryoken :: Maybe Text
  -- ^ Shoryoken framework version (Ruby only).
  , sidekiq :: Maybe Text
  -- ^ Sidekiq scheduler version (Ruby only).
  , silex :: Maybe Text
  -- ^ Silex framework version (PHP only).
  , sinatra :: Maybe Text
  -- ^ Sinatra DSL version (Ruby only).
  , springBoot :: Maybe Text
  -- ^ Spring Boot framework version (Java only).
  , springFramework :: Maybe Text
  -- ^ Spring framework version (Java only).
  , swift :: Maybe Text
  -- ^ Swift language version (iOS/tvOS/macOS only).
  , symfony :: Maybe Text
  -- ^ Symfony framework version (PHP only).
  , tornado :: Maybe Text
  -- ^ Tornado framework version (Python only).
  , unity :: Maybe Text
  -- ^ Version of Unity.
  , unityScriptingBackend :: Maybe Text
  -- ^ The Unity scripting backend - Mono or IL2CPP (Unity only).
  , wordpress :: Maybe Text
  -- ^ Wordpress version (PHP only).
  }
  deriving stock (Eq, Show, Generic)

instance FromJSON RuntimeVersion where
  parseJSON = genericParseJSON aesonOptions

instance ToJSON RuntimeVersion where
  toJSON = genericToJSON aesonOptions
  toEncoding = genericToEncoding aesonOptions

exampleRuntimeVersion :: RuntimeVersion
exampleRuntimeVersion = RuntimeVersion
  { androidApiLevel = Just "28"
  , bottle = Just "0.12.8"
  , celery = Just "4.2.0"
  , clangVersion = Just "7.0.1"
  , cocos2dx = Just "3.17.2"
  , delayedJob = Just "4.1.8"
  , django = Just "2.1.7"
  , dotnet = Just $ ".NET Framework 4.7.3416.0"
  , dotnetApiCompatibility = Just $ ".NET 2.0 Subset"
  , dotnetClr = Just "4.0.30319.17379"
  , dotnetScriptingRuntime = Just $ ".NET 3.5 equivalent"
  , electron = Just "11.4.3"
  , eventMachine = Just "1.2.7"
  , expoApp = Just "2.10.0.105125"
  , expoSdk = Just "32.0.0"
  , flask = Just "1.0.2"
  , gin = Just "1.3.0"
  , go = Just "1.11.2"
  , javaType = Just $ "Java(TM) SE Runtime Environment"
  , javaVersion = Just "1.8.0_131-b11"
  , jruby = Just "9.2.5.0"
  , laravel = Just "5.7.22"
  , lumen = Just "5.7"
  , magento = Just "2.3.0"
  , mailman = Just "0.8.0"
  , martini = Just "1.0"
  , negroni = Just "1.0.0"
  , node = Just "10.14.1"
  , osBuild = Just "16D57"
  , php = Just "7.2.12"
  , python = Just "3.7.1"
  , que = Just "0.14.3"
  , rack = Just "2.0.6"
  , rails = Just "5.2.2"
  , rake = Just "12.3.2"
  , reactNative = Just "0.57.5"
  , reactNativeJsEngine = Just "hermes"
  , resque = Just "2.0.0"
  , revel = Just "0.21.0"
  , ruby = Just "2.5.3"
  , shoryoken = Just "5.0.1"
  , sidekiq = Just "5.1.3"
  , silex = Just "2.1.0"
  , sinatra = Just "2.0.3"
  , springBoot = Just "1.5.13.RELEASE"
  , springFramework = Just "4.2.13.RELEASE"
  , swift = Just "4.2"
  , symfony = Just "4.2.11"
  , tornado = Just "5.1.1"
  , unity = Just "2018.2.17"
  , unityScriptingBackend = Just "Mono"
  , wordpress = Just "5.1"
  }