{-# LANGUAGE TemplateHaskell #-}
module Octane.Data where
import qualified Data.Bimap as Bimap
import qualified Data.FileEmbed as FileEmbed
import qualified Data.Map.Strict as Map
import qualified Data.Set as Set
import qualified Data.Text as StrictText
import qualified Octane.Utility.Embed as Embed
classes :: Map.Map StrictText.Text StrictText.Text
classes = Embed.decodeMap $(FileEmbed.embedFile "data/classes.json")
classesWithLocation :: Set.Set StrictText.Text
classesWithLocation =
Embed.decodeSet $(FileEmbed.embedFile "data/classes-with-location.json")
classesWithRotation :: Set.Set StrictText.Text
classesWithRotation =
Embed.decodeSet $(FileEmbed.embedFile "data/classes-with-rotation.json")
gameModes :: Bimap.Bimap Int StrictText.Text
gameModes = Embed.decodeBimap $(FileEmbed.embedFile "data/game-modes.json")
parentClasses :: Map.Map StrictText.Text StrictText.Text
parentClasses =
Embed.decodeMap $(FileEmbed.embedFile "data/parent-classes.json")
products :: Bimap.Bimap Word StrictText.Text
products = Embed.decodeBimap $(FileEmbed.embedFile "data/products.json")
properties :: Map.Map StrictText.Text StrictText.Text
properties = Embed.decodeMap $(FileEmbed.embedFile "data/properties.json")