aeson-tiled-0.0.1.0: Aeson instances for the Tiled map editor.
Safe HaskellNone
LanguageHaskell2010

Data.Aeson.Tiled

Description

This module provides Haskell types for Tiled's JSON exports, which you can read about at http://doc.mapeditor.org/en/latest/reference/json-map-format/. That said - as of the writing of this module the JSON documentation does not cover some of the types and records that are available in the format. For those you should read the TMX documentation at http://doc.mapeditor.org/en/latest/reference/tmx-map-format/

Synopsis

Tiled map editor types, their aeson instances and map loading

data Tiledmap Source #

The full monty.

Constructors

Tiledmap 

Fields

Instances

Instances details
Eq Tiledmap Source # 
Instance details

Defined in Data.Aeson.Tiled

Show Tiledmap Source # 
Instance details

Defined in Data.Aeson.Tiled

Generic Tiledmap Source # 
Instance details

Defined in Data.Aeson.Tiled

Associated Types

type Rep Tiledmap :: Type -> Type #

Methods

from :: Tiledmap -> Rep Tiledmap x #

to :: Rep Tiledmap x -> Tiledmap #

ToJSON Tiledmap Source # 
Instance details

Defined in Data.Aeson.Tiled

FromJSON Tiledmap Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep Tiledmap Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep Tiledmap = D1 ('MetaData "Tiledmap" "Data.Aeson.Tiled" "aeson-tiled-0.0.1.0-KU3uXBRozgPALUcYPXCaUr" 'False) (C1 ('MetaCons "Tiledmap" 'PrefixI 'True) (((S1 ('MetaSel ('Just "tiledmapVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Version) :*: (S1 ('MetaSel ('Just "tiledmapTiledversion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Version) :*: S1 ('MetaSel ('Just "tiledmapWidth") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) :*: (S1 ('MetaSel ('Just "tiledmapHeight") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Just "tiledmapTilewidth") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "tiledmapTileheight") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)))) :*: ((S1 ('MetaSel ('Just "tiledmapOrientation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Orientation) :*: (S1 ('MetaSel ('Just "tiledmapLayers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Layer)) :*: S1 ('MetaSel ('Just "tiledmapTilesets") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Tileset)))) :*: ((S1 ('MetaSel ('Just "tiledmapBackgroundcolor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "tiledmapRenderorder") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "tiledmapProperties") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Text Text)) :*: S1 ('MetaSel ('Just "tiledmapNextobjectid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))))))

data Orientation Source #

Instances

Instances details
Eq Orientation Source # 
Instance details

Defined in Data.Aeson.Tiled

Ord Orientation Source # 
Instance details

Defined in Data.Aeson.Tiled

Show Orientation Source # 
Instance details

Defined in Data.Aeson.Tiled

Generic Orientation Source # 
Instance details

Defined in Data.Aeson.Tiled

Associated Types

type Rep Orientation :: Type -> Type #

ToJSON Orientation Source # 
Instance details

Defined in Data.Aeson.Tiled

FromJSON Orientation Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep Orientation Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep Orientation = D1 ('MetaData "Orientation" "Data.Aeson.Tiled" "aeson-tiled-0.0.1.0-KU3uXBRozgPALUcYPXCaUr" 'False) ((C1 ('MetaCons "Orthogonal" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Isometric" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Staggered" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Orientation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))

data Version Source #

Instances

Instances details
Eq Version Source # 
Instance details

Defined in Data.Aeson.Tiled

Methods

(==) :: Version -> Version -> Bool #

(/=) :: Version -> Version -> Bool #

Ord Version Source # 
Instance details

Defined in Data.Aeson.Tiled

Show Version Source # 
Instance details

Defined in Data.Aeson.Tiled

Generic Version Source # 
Instance details

Defined in Data.Aeson.Tiled

Associated Types

type Rep Version :: Type -> Type #

Methods

from :: Version -> Rep Version x #

to :: Rep Version x -> Version #

ToJSON Version Source # 
Instance details

Defined in Data.Aeson.Tiled

FromJSON Version Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep Version Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep Version = D1 ('MetaData "Version" "Data.Aeson.Tiled" "aeson-tiled-0.0.1.0-KU3uXBRozgPALUcYPXCaUr" 'False) (C1 ('MetaCons "VersionFloat" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float)) :+: C1 ('MetaCons "VersionText" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data Tileset Source #

Constructors

Tileset 

Fields

Instances

Instances details
Eq Tileset Source # 
Instance details

Defined in Data.Aeson.Tiled

Methods

(==) :: Tileset -> Tileset -> Bool #

(/=) :: Tileset -> Tileset -> Bool #

Show Tileset Source # 
Instance details

Defined in Data.Aeson.Tiled

Generic Tileset Source # 
Instance details

Defined in Data.Aeson.Tiled

Associated Types

type Rep Tileset :: Type -> Type #

Methods

from :: Tileset -> Rep Tileset x #

to :: Rep Tileset x -> Tileset #

ToJSON Tileset Source # 
Instance details

Defined in Data.Aeson.Tiled

FromJSON Tileset Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep Tileset Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep Tileset = D1 ('MetaData "Tileset" "Data.Aeson.Tiled" "aeson-tiled-0.0.1.0-KU3uXBRozgPALUcYPXCaUr" 'False) (C1 ('MetaCons "Tileset" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "tilesetFirstgid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GlobalId) :*: S1 ('MetaSel ('Just "tilesetImage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath)) :*: (S1 ('MetaSel ('Just "tilesetName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "tilesetTilewidth") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) :*: ((S1 ('MetaSel ('Just "tilesetTileheight") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "tilesetImagewidth") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :*: (S1 ('MetaSel ('Just "tilesetImageheight") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "tilesetProperties") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Text Text))))) :*: (((S1 ('MetaSel ('Just "tilesetPropertytypes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Text Text)) :*: S1 ('MetaSel ('Just "tilesetMargin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :*: (S1 ('MetaSel ('Just "tilesetSpacing") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "tilesetTileproperties") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map GlobalId (Map Text Text))))) :*: ((S1 ('MetaSel ('Just "tilesetTerrains") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Terrain)) :*: S1 ('MetaSel ('Just "tilesetColumns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :*: (S1 ('MetaSel ('Just "tilesetTilecount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "tilesetTiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map LocalId Tile)))))))

data Tile Source #

Instances

Instances details
Eq Tile Source # 
Instance details

Defined in Data.Aeson.Tiled

Methods

(==) :: Tile -> Tile -> Bool #

(/=) :: Tile -> Tile -> Bool #

Show Tile Source # 
Instance details

Defined in Data.Aeson.Tiled

Methods

showsPrec :: Int -> Tile -> ShowS #

show :: Tile -> String #

showList :: [Tile] -> ShowS #

Generic Tile Source # 
Instance details

Defined in Data.Aeson.Tiled

Associated Types

type Rep Tile :: Type -> Type #

Methods

from :: Tile -> Rep Tile x #

to :: Rep Tile x -> Tile #

ToJSON Tile Source # 
Instance details

Defined in Data.Aeson.Tiled

FromJSON Tile Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep Tile Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep Tile = D1 ('MetaData "Tile" "Data.Aeson.Tiled" "aeson-tiled-0.0.1.0-KU3uXBRozgPALUcYPXCaUr" 'False) (C1 ('MetaCons "Tile" 'PrefixI 'True) ((S1 ('MetaSel ('Just "tileId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LocalId) :*: S1 ('MetaSel ('Just "tileProperties") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Text Text))) :*: (S1 ('MetaSel ('Just "tileImage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Value)) :*: (S1 ('MetaSel ('Just "tileObjectGroup") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Vector Object))) :*: S1 ('MetaSel ('Just "tileAnimation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Vector Frame)))))))

data Frame Source #

Constructors

Frame 

Instances

Instances details
Eq Frame Source # 
Instance details

Defined in Data.Aeson.Tiled

Methods

(==) :: Frame -> Frame -> Bool #

(/=) :: Frame -> Frame -> Bool #

Show Frame Source # 
Instance details

Defined in Data.Aeson.Tiled

Methods

showsPrec :: Int -> Frame -> ShowS #

show :: Frame -> String #

showList :: [Frame] -> ShowS #

Generic Frame Source # 
Instance details

Defined in Data.Aeson.Tiled

Associated Types

type Rep Frame :: Type -> Type #

Methods

from :: Frame -> Rep Frame x #

to :: Rep Frame x -> Frame #

ToJSON Frame Source # 
Instance details

Defined in Data.Aeson.Tiled

FromJSON Frame Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep Frame Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep Frame = D1 ('MetaData "Frame" "Data.Aeson.Tiled" "aeson-tiled-0.0.1.0-KU3uXBRozgPALUcYPXCaUr" 'False) (C1 ('MetaCons "Frame" 'PrefixI 'True) (S1 ('MetaSel ('Just "frameDuration") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "frameTileId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LocalId)))

data Terrain Source #

Constructors

Terrain 

Fields

Instances

Instances details
Eq Terrain Source # 
Instance details

Defined in Data.Aeson.Tiled

Methods

(==) :: Terrain -> Terrain -> Bool #

(/=) :: Terrain -> Terrain -> Bool #

Show Terrain Source # 
Instance details

Defined in Data.Aeson.Tiled

Generic Terrain Source # 
Instance details

Defined in Data.Aeson.Tiled

Associated Types

type Rep Terrain :: Type -> Type #

Methods

from :: Terrain -> Rep Terrain x #

to :: Rep Terrain x -> Terrain #

ToJSON Terrain Source # 
Instance details

Defined in Data.Aeson.Tiled

FromJSON Terrain Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep Terrain Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep Terrain = D1 ('MetaData "Terrain" "Data.Aeson.Tiled" "aeson-tiled-0.0.1.0-KU3uXBRozgPALUcYPXCaUr" 'False) (C1 ('MetaCons "Terrain" 'PrefixI 'True) (S1 ('MetaSel ('Just "terrainName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "terrainTile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LocalId)))

data Layer Source #

Constructors

Layer 

Fields

Instances

Instances details
Eq Layer Source # 
Instance details

Defined in Data.Aeson.Tiled

Methods

(==) :: Layer -> Layer -> Bool #

(/=) :: Layer -> Layer -> Bool #

Show Layer Source # 
Instance details

Defined in Data.Aeson.Tiled

Methods

showsPrec :: Int -> Layer -> ShowS #

show :: Layer -> String #

showList :: [Layer] -> ShowS #

Generic Layer Source # 
Instance details

Defined in Data.Aeson.Tiled

Associated Types

type Rep Layer :: Type -> Type #

Methods

from :: Layer -> Rep Layer x #

to :: Rep Layer x -> Layer #

ToJSON Layer Source # 
Instance details

Defined in Data.Aeson.Tiled

FromJSON Layer Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep Layer Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep Layer = D1 ('MetaData "Layer" "Data.Aeson.Tiled" "aeson-tiled-0.0.1.0-KU3uXBRozgPALUcYPXCaUr" 'False) (C1 ('MetaCons "Layer" 'PrefixI 'True) (((S1 ('MetaSel ('Just "layerWidth") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: (S1 ('MetaSel ('Just "layerHeight") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "layerName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))) :*: (S1 ('MetaSel ('Just "layerType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "layerVisible") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "layerX") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)))) :*: ((S1 ('MetaSel ('Just "layerY") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: (S1 ('MetaSel ('Just "layerData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Vector GlobalId))) :*: S1 ('MetaSel ('Just "layerObjects") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Vector Object))))) :*: (S1 ('MetaSel ('Just "layerProperties") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Text Text)) :*: (S1 ('MetaSel ('Just "layerOpacity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float) :*: S1 ('MetaSel ('Just "layerDraworder") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))))

data Object Source #

Constructors

Object 

Fields

Instances

Instances details
Eq Object Source # 
Instance details

Defined in Data.Aeson.Tiled

Methods

(==) :: Object -> Object -> Bool #

(/=) :: Object -> Object -> Bool #

Show Object Source # 
Instance details

Defined in Data.Aeson.Tiled

Generic Object Source # 
Instance details

Defined in Data.Aeson.Tiled

Associated Types

type Rep Object :: Type -> Type #

Methods

from :: Object -> Rep Object x #

to :: Rep Object x -> Object #

ToJSON Object Source # 
Instance details

Defined in Data.Aeson.Tiled

FromJSON Object Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep Object Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep Object = D1 ('MetaData "Object" "Data.Aeson.Tiled" "aeson-tiled-0.0.1.0-KU3uXBRozgPALUcYPXCaUr" 'False) (C1 ('MetaCons "Object" 'PrefixI 'True) (((S1 ('MetaSel ('Just "objectId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Just "objectWidth") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "objectHeight") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double))) :*: ((S1 ('MetaSel ('Just "objectName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "objectType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "objectProperties") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Text Text)) :*: S1 ('MetaSel ('Just "objectVisible") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) :*: (((S1 ('MetaSel ('Just "objectX") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "objectY") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)) :*: (S1 ('MetaSel ('Just "objectRotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float) :*: S1 ('MetaSel ('Just "objectGid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe GlobalId)))) :*: ((S1 ('MetaSel ('Just "objectEllipse") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "objectPolygon") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Vector (Double, Double))))) :*: (S1 ('MetaSel ('Just "objectPolyline") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Vector (Double, Double)))) :*: S1 ('MetaSel ('Just "objectText") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Text Text)))))))

data XYPair a Source #

Constructors

XYPair a a 

Instances

Instances details
ToJSON a => ToJSON (XYPair a) Source # 
Instance details

Defined in Data.Aeson.Tiled

FromJSON a => FromJSON (XYPair a) Source # 
Instance details

Defined in Data.Aeson.Tiled

newtype LocalId Source #

A locally indexed identifier.

Constructors

LocalId 

Fields

Instances

Instances details
Enum LocalId Source # 
Instance details

Defined in Data.Aeson.Tiled

Eq LocalId Source # 
Instance details

Defined in Data.Aeson.Tiled

Methods

(==) :: LocalId -> LocalId -> Bool #

(/=) :: LocalId -> LocalId -> Bool #

Num LocalId Source # 
Instance details

Defined in Data.Aeson.Tiled

Ord LocalId Source # 
Instance details

Defined in Data.Aeson.Tiled

Show LocalId Source # 
Instance details

Defined in Data.Aeson.Tiled

Generic LocalId Source # 
Instance details

Defined in Data.Aeson.Tiled

Associated Types

type Rep LocalId :: Type -> Type #

Methods

from :: LocalId -> Rep LocalId x #

to :: Rep LocalId x -> LocalId #

ToJSON LocalId Source # 
Instance details

Defined in Data.Aeson.Tiled

ToJSONKey LocalId Source # 
Instance details

Defined in Data.Aeson.Tiled

FromJSON LocalId Source # 
Instance details

Defined in Data.Aeson.Tiled

FromJSONKey LocalId Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep LocalId Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep LocalId = D1 ('MetaData "LocalId" "Data.Aeson.Tiled" "aeson-tiled-0.0.1.0-KU3uXBRozgPALUcYPXCaUr" 'True) (C1 ('MetaCons "LocalId" 'PrefixI 'True) (S1 ('MetaSel ('Just "unLocalId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

newtype GlobalId Source #

A globally indexed identifier.

Constructors

GlobalId 

Fields

Instances

Instances details
Enum GlobalId Source # 
Instance details

Defined in Data.Aeson.Tiled

Eq GlobalId Source # 
Instance details

Defined in Data.Aeson.Tiled

Num GlobalId Source # 
Instance details

Defined in Data.Aeson.Tiled

Ord GlobalId Source # 
Instance details

Defined in Data.Aeson.Tiled

Show GlobalId Source # 
Instance details

Defined in Data.Aeson.Tiled

Generic GlobalId Source # 
Instance details

Defined in Data.Aeson.Tiled

Associated Types

type Rep GlobalId :: Type -> Type #

Methods

from :: GlobalId -> Rep GlobalId x #

to :: Rep GlobalId x -> GlobalId #

ToJSON GlobalId Source # 
Instance details

Defined in Data.Aeson.Tiled

ToJSONKey GlobalId Source # 
Instance details

Defined in Data.Aeson.Tiled

FromJSON GlobalId Source # 
Instance details

Defined in Data.Aeson.Tiled

FromJSONKey GlobalId Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep GlobalId Source # 
Instance details

Defined in Data.Aeson.Tiled

type Rep GlobalId = D1 ('MetaData "GlobalId" "Data.Aeson.Tiled" "aeson-tiled-0.0.1.0-KU3uXBRozgPALUcYPXCaUr" 'True) (C1 ('MetaCons "GlobalId" 'PrefixI 'True) (S1 ('MetaSel ('Just "unGlobalId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

fromXYPair :: XYPair a -> (a, a) Source #

toXYPair :: (a, a) -> XYPair a Source #

loadTiledmap :: FilePath -> IO (Either String Tiledmap) Source #

Load a Tiled map from the given FilePath.

Re-exports for working with Tiled types

data Map k a #

A Map from keys k to values a.

The Semigroup operation for Map is union, which prefers values from the left operand. If m1 maps a key k to a value a1, and m2 maps the same key to a different value a2, then their union m1 <> m2 maps k to a1.

Instances

Instances details
Eq2 Map

Since: containers-0.5.9

Instance details

Defined in Data.Map.Internal

Methods

liftEq2 :: (a -> b -> Bool) -> (c -> d -> Bool) -> Map a c -> Map b d -> Bool #

Ord2 Map

Since: containers-0.5.9

Instance details

Defined in Data.Map.Internal

Methods

liftCompare2 :: (a -> b -> Ordering) -> (c -> d -> Ordering) -> Map a c -> Map b d -> Ordering #

Show2 Map

Since: containers-0.5.9

Instance details

Defined in Data.Map.Internal

Methods

liftShowsPrec2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> Int -> Map a b -> ShowS #

liftShowList2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> [Map a b] -> ShowS #

Hashable2 Map

Since: hashable-1.3.4.0

Instance details

Defined in Data.Hashable.Class

Methods

liftHashWithSalt2 :: (Int -> a -> Int) -> (Int -> b -> Int) -> Int -> Map a b -> Int #

Functor (Map k) 
Instance details

Defined in Data.Map.Internal

Methods

fmap :: (a -> b) -> Map k a -> Map k b #

(<$) :: a -> Map k b -> Map k a #

Foldable (Map k)

Folds in order of increasing key.

Instance details

Defined in Data.Map.Internal

Methods

fold :: Monoid m => Map k m -> m #

foldMap :: Monoid m => (a -> m) -> Map k a -> m #

foldMap' :: Monoid m => (a -> m) -> Map k a -> m #

foldr :: (a -> b -> b) -> b -> Map k a -> b #

foldr' :: (a -> b -> b) -> b -> Map k a -> b #

foldl :: (b -> a -> b) -> b -> Map k a -> b #

foldl' :: (b -> a -> b) -> b -> Map k a -> b #

foldr1 :: (a -> a -> a) -> Map k a -> a #

foldl1 :: (a -> a -> a) -> Map k a -> a #

toList :: Map k a -> [a] #

null :: Map k a -> Bool #

length :: Map k a -> Int #

elem :: Eq a => a -> Map k a -> Bool #

maximum :: Ord a => Map k a -> a #

minimum :: Ord a => Map k a -> a #

sum :: Num a => Map k a -> a #

product :: Num a => Map k a -> a #

Traversable (Map k)

Traverses in order of increasing key.

Instance details

Defined in Data.Map.Internal

Methods

traverse :: Applicative f => (a -> f b) -> Map k a -> f (Map k b) #

sequenceA :: Applicative f => Map k (f a) -> f (Map k a) #

mapM :: Monad m => (a -> m b) -> Map k a -> m (Map k b) #

sequence :: Monad m => Map k (m a) -> m (Map k a) #

ToJSONKey k => ToJSON1 (Map k) 
Instance details

Defined in Data.Aeson.Types.ToJSON

Methods

liftToJSON :: (a -> Value) -> ([a] -> Value) -> Map k a -> Value #

liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [Map k a] -> Value #

liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> Map k a -> Encoding #

liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [Map k a] -> Encoding #

(FromJSONKey k, Ord k) => FromJSON1 (Map k) 
Instance details

Defined in Data.Aeson.Types.FromJSON

Methods

liftParseJSON :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (Map k a) #

liftParseJSONList :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [Map k a] #

Eq k => Eq1 (Map k)

Since: containers-0.5.9

Instance details

Defined in Data.Map.Internal

Methods

liftEq :: (a -> b -> Bool) -> Map k a -> Map k b -> Bool #

Ord k => Ord1 (Map k)

Since: containers-0.5.9

Instance details

Defined in Data.Map.Internal

Methods

liftCompare :: (a -> b -> Ordering) -> Map k a -> Map k b -> Ordering #

(Ord k, Read k) => Read1 (Map k)

Since: containers-0.5.9

Instance details

Defined in Data.Map.Internal

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Map k a) #

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Map k a] #

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Map k a) #

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Map k a] #

Show k => Show1 (Map k)

Since: containers-0.5.9

Instance details

Defined in Data.Map.Internal

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Map k a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Map k a] -> ShowS #

Hashable k => Hashable1 (Map k)

Since: hashable-1.3.4.0

Instance details

Defined in Data.Hashable.Class

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> Map k a -> Int #

Ord k => IsList (Map k v)

Since: containers-0.5.6.2

Instance details

Defined in Data.Map.Internal

Associated Types

type Item (Map k v) #

Methods

fromList :: [Item (Map k v)] -> Map k v #

fromListN :: Int -> [Item (Map k v)] -> Map k v #

toList :: Map k v -> [Item (Map k v)] #

(Eq k, Eq a) => Eq (Map k a) 
Instance details

Defined in Data.Map.Internal

Methods

(==) :: Map k a -> Map k a -> Bool #

(/=) :: Map k a -> Map k a -> Bool #

(Data k, Data a, Ord k) => Data (Map k a) 
Instance details

Defined in Data.Map.Internal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Map k a -> c (Map k a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Map k a) #

toConstr :: Map k a -> Constr #

dataTypeOf :: Map k a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Map k a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Map k a)) #

gmapT :: (forall b. Data b => b -> b) -> Map k a -> Map k a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Map k a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Map k a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Map k a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Map k a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Map k a -> m (Map k a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Map k a -> m (Map k a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Map k a -> m (Map k a) #

(Ord k, Ord v) => Ord (Map k v) 
Instance details

Defined in Data.Map.Internal

Methods

compare :: Map k v -> Map k v -> Ordering #

(<) :: Map k v -> Map k v -> Bool #

(<=) :: Map k v -> Map k v -> Bool #

(>) :: Map k v -> Map k v -> Bool #

(>=) :: Map k v -> Map k v -> Bool #

max :: Map k v -> Map k v -> Map k v #

min :: Map k v -> Map k v -> Map k v #

(Ord k, Read k, Read e) => Read (Map k e) 
Instance details

Defined in Data.Map.Internal

Methods

readsPrec :: Int -> ReadS (Map k e) #

readList :: ReadS [Map k e] #

readPrec :: ReadPrec (Map k e) #

readListPrec :: ReadPrec [Map k e] #

(Show k, Show a) => Show (Map k a) 
Instance details

Defined in Data.Map.Internal

Methods

showsPrec :: Int -> Map k a -> ShowS #

show :: Map k a -> String #

showList :: [Map k a] -> ShowS #

Ord k => Semigroup (Map k v) 
Instance details

Defined in Data.Map.Internal

Methods

(<>) :: Map k v -> Map k v -> Map k v #

sconcat :: NonEmpty (Map k v) -> Map k v #

stimes :: Integral b => b -> Map k v -> Map k v #

Ord k => Monoid (Map k v) 
Instance details

Defined in Data.Map.Internal

Methods

mempty :: Map k v #

mappend :: Map k v -> Map k v -> Map k v #

mconcat :: [Map k v] -> Map k v #

(Hashable k, Hashable v) => Hashable (Map k v)

Since: hashable-1.3.4.0

Instance details

Defined in Data.Hashable.Class

Methods

hashWithSalt :: Int -> Map k v -> Int #

hash :: Map k v -> Int #

(ToJSON v, ToJSONKey k) => ToJSON (Map k v) 
Instance details

Defined in Data.Aeson.Types.ToJSON

Methods

toJSON :: Map k v -> Value #

toEncoding :: Map k v -> Encoding #

toJSONList :: [Map k v] -> Value #

toEncodingList :: [Map k v] -> Encoding #

(FromJSONKey k, Ord k, FromJSON v) => FromJSON (Map k v) 
Instance details

Defined in Data.Aeson.Types.FromJSON

Methods

parseJSON :: Value -> Parser (Map k v) #

parseJSONList :: Value -> Parser [Map k v] #

(NFData k, NFData a) => NFData (Map k a) 
Instance details

Defined in Data.Map.Internal

Methods

rnf :: Map k a -> () #

type Item (Map k v) 
Instance details

Defined in Data.Map.Internal

type Item (Map k v) = (k, v)

data Vector a #

Boxed vectors, supporting efficient slicing.

Instances

Instances details
Monad Vector 
Instance details

Defined in Data.Vector

Methods

(>>=) :: Vector a -> (a -> Vector b) -> Vector b #

(>>) :: Vector a -> Vector b -> Vector b #

return :: a -> Vector a #

Functor Vector 
Instance details

Defined in Data.Vector

Methods

fmap :: (a -> b) -> Vector a -> Vector b #

(<$) :: a -> Vector b -> Vector a #

MonadFix Vector

Instance has same semantics as one for lists

Since: vector-0.12.2.0

Instance details

Defined in Data.Vector

Methods

mfix :: (a -> Vector a) -> Vector a #

MonadFail Vector

Since: vector-0.12.1.0

Instance details

Defined in Data.Vector

Methods

fail :: String -> Vector a #

Applicative Vector 
Instance details

Defined in Data.Vector

Methods

pure :: a -> Vector a #

(<*>) :: Vector (a -> b) -> Vector a -> Vector b #

liftA2 :: (a -> b -> c) -> Vector a -> Vector b -> Vector c #

(*>) :: Vector a -> Vector b -> Vector b #

(<*) :: Vector a -> Vector b -> Vector a #

Foldable Vector 
Instance details

Defined in Data.Vector

Methods

fold :: Monoid m => Vector m -> m #

foldMap :: Monoid m => (a -> m) -> Vector a -> m #

foldMap' :: Monoid m => (a -> m) -> Vector a -> m #

foldr :: (a -> b -> b) -> b -> Vector a -> b #

foldr' :: (a -> b -> b) -> b -> Vector a -> b #

foldl :: (b -> a -> b) -> b -> Vector a -> b #

foldl' :: (b -> a -> b) -> b -> Vector a -> b #

foldr1 :: (a -> a -> a) -> Vector a -> a #

foldl1 :: (a -> a -> a) -> Vector a -> a #

toList :: Vector a -> [a] #

null :: Vector a -> Bool #

length :: Vector a -> Int #

elem :: Eq a => a -> Vector a -> Bool #

maximum :: Ord a => Vector a -> a #

minimum :: Ord a => Vector a -> a #

sum :: Num a => Vector a -> a #

product :: Num a => Vector a -> a #

Traversable Vector 
Instance details

Defined in Data.Vector

Methods

traverse :: Applicative f => (a -> f b) -> Vector a -> f (Vector b) #

sequenceA :: Applicative f => Vector (f a) -> f (Vector a) #

mapM :: Monad m => (a -> m b) -> Vector a -> m (Vector b) #

sequence :: Monad m => Vector (m a) -> m (Vector a) #

ToJSON1 Vector 
Instance details

Defined in Data.Aeson.Types.ToJSON

Methods

liftToJSON :: (a -> Value) -> ([a] -> Value) -> Vector a -> Value #

liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [Vector a] -> Value #

liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> Vector a -> Encoding #

liftToEncodingList :: (a -> Encoding) -> ([a] -> Encoding) -> [Vector a] -> Encoding #

FromJSON1 Vector 
Instance details

Defined in Data.Aeson.Types.FromJSON

Methods

liftParseJSON :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (Vector a) #

liftParseJSONList :: (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [Vector a] #

Alternative Vector 
Instance details

Defined in Data.Vector

Methods

empty :: Vector a #

(<|>) :: Vector a -> Vector a -> Vector a #

some :: Vector a -> Vector [a] #

many :: Vector a -> Vector [a] #

MonadPlus Vector 
Instance details

Defined in Data.Vector

Methods

mzero :: Vector a #

mplus :: Vector a -> Vector a -> Vector a #

Eq1 Vector 
Instance details

Defined in Data.Vector

Methods

liftEq :: (a -> b -> Bool) -> Vector a -> Vector b -> Bool #

Ord1 Vector 
Instance details

Defined in Data.Vector

Methods

liftCompare :: (a -> b -> Ordering) -> Vector a -> Vector b -> Ordering #

Read1 Vector 
Instance details

Defined in Data.Vector

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Vector a) #

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Vector a] #

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Vector a) #

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Vector a] #

Show1 Vector 
Instance details

Defined in Data.Vector

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Vector a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Vector a] -> ShowS #

MonadZip Vector 
Instance details

Defined in Data.Vector

Methods

mzip :: Vector a -> Vector b -> Vector (a, b) #

mzipWith :: (a -> b -> c) -> Vector a -> Vector b -> Vector c #

munzip :: Vector (a, b) -> (Vector a, Vector b) #

NFData1 Vector

Since: vector-0.12.1.0

Instance details

Defined in Data.Vector

Methods

liftRnf :: (a -> ()) -> Vector a -> () #

Vector Vector a 
Instance details

Defined in Data.Vector

Methods

basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) a -> m (Vector a) #

basicUnsafeThaw :: PrimMonad m => Vector a -> m (Mutable Vector (PrimState m) a) #

basicLength :: Vector a -> Int #

basicUnsafeSlice :: Int -> Int -> Vector a -> Vector a #

basicUnsafeIndexM :: Monad m => Vector a -> Int -> m a #

basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) a -> Vector a -> m () #

elemseq :: Vector a -> a -> b -> b #

IsList (Vector a) 
Instance details

Defined in Data.Vector

Associated Types

type Item (Vector a) #

Methods

fromList :: [Item (Vector a)] -> Vector a #

fromListN :: Int -> [Item (Vector a)] -> Vector a #

toList :: Vector a -> [Item (Vector a)] #

Eq a => Eq (Vector a) 
Instance details

Defined in Data.Vector

Methods

(==) :: Vector a -> Vector a -> Bool #

(/=) :: Vector a -> Vector a -> Bool #

Data a => Data (Vector a) 
Instance details

Defined in Data.Vector

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Vector a -> c (Vector a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Vector a) #

toConstr :: Vector a -> Constr #

dataTypeOf :: Vector a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Vector a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Vector a)) #

gmapT :: (forall b. Data b => b -> b) -> Vector a -> Vector a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Vector a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Vector a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Vector a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Vector a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Vector a -> m (Vector a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Vector a -> m (Vector a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Vector a -> m (Vector a) #

Ord a => Ord (Vector a) 
Instance details

Defined in Data.Vector

Methods

compare :: Vector a -> Vector a -> Ordering #

(<) :: Vector a -> Vector a -> Bool #

(<=) :: Vector a -> Vector a -> Bool #

(>) :: Vector a -> Vector a -> Bool #

(>=) :: Vector a -> Vector a -> Bool #

max :: Vector a -> Vector a -> Vector a #

min :: Vector a -> Vector a -> Vector a #

Read a => Read (Vector a) 
Instance details

Defined in Data.Vector

Show a => Show (Vector a) 
Instance details

Defined in Data.Vector

Methods

showsPrec :: Int -> Vector a -> ShowS #

show :: Vector a -> String #

showList :: [Vector a] -> ShowS #

Semigroup (Vector a) 
Instance details

Defined in Data.Vector

Methods

(<>) :: Vector a -> Vector a -> Vector a #

sconcat :: NonEmpty (Vector a) -> Vector a #

stimes :: Integral b => b -> Vector a -> Vector a #

Monoid (Vector a) 
Instance details

Defined in Data.Vector

Methods

mempty :: Vector a #

mappend :: Vector a -> Vector a -> Vector a #

mconcat :: [Vector a] -> Vector a #

ToJSON a => ToJSON (Vector a) 
Instance details

Defined in Data.Aeson.Types.ToJSON

FromJSON a => FromJSON (Vector a) 
Instance details

Defined in Data.Aeson.Types.FromJSON

NFData a => NFData (Vector a) 
Instance details

Defined in Data.Vector

Methods

rnf :: Vector a -> () #

type Mutable Vector 
Instance details

Defined in Data.Vector

type Item (Vector a) 
Instance details

Defined in Data.Vector

type Item (Vector a) = a