calamity-0.1.9.1: A library for writing discord bots
Safe HaskellNone
LanguageHaskell2010

Calamity.Commands.Parser

Description

Something that can parse user input

Documentation

class Typeable a => Parser (a :: Type) r where Source #

Minimal complete definition

parse

Associated Types

type ParserResult a Source #

type ParserResult a = a Source #

Methods

name :: Text Source #

default name :: Text Source #

parse :: Sem (ParserEffs r) (ParserResult a) Source #

Instances

Instances details
Parser () r Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type ParserResult () Source #

Methods

name :: Text Source #

parse :: Sem (ParserEffs r) (ParserResult ()) Source #

Parser Text r Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type ParserResult Text Source #

Methods

name :: Text0 Source #

parse :: Sem (ParserEffs r) (ParserResult Text) Source #

Parser Member r Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type ParserResult Member Source #

Methods

name :: Text Source #

parse :: Sem (ParserEffs r) (ParserResult Member) Source #

Member (CacheEff :: (Type -> Type) -> Type -> Type) r => Parser User r Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type ParserResult User Source #

Methods

name :: Text Source #

parse :: Sem (ParserEffs r) (ParserResult User) Source #

Parser a r => Parser [a] r Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type ParserResult [a] Source #

Methods

name :: Text Source #

parse :: Sem (ParserEffs r) (ParserResult [a]) Source #

Parser a r => Parser (Maybe a) r Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type ParserResult (Maybe a) Source #

Methods

name :: Text Source #

parse :: Sem (ParserEffs r) (ParserResult (Maybe a)) Source #

(Parser a r, Typeable a) => Parser (NonEmpty a) r Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type ParserResult (NonEmpty a) Source #

Methods

name :: Text Source #

parse :: Sem (ParserEffs r) (ParserResult (NonEmpty a)) Source #

(Parser a r, Parser b r) => Parser (a, b) r Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type ParserResult (a, b) Source #

Methods

name :: Text Source #

parse :: Sem (ParserEffs r) (ParserResult (a, b)) Source #

Parser (Snowflake Channel) r Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type ParserResult (Snowflake Channel) Source #

Methods

name :: Text Source #

parse :: Sem (ParserEffs r) (ParserResult (Snowflake Channel)) Source #

Parser (Snowflake Member) r Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type ParserResult (Snowflake Member) Source #

Methods

name :: Text Source #

parse :: Sem (ParserEffs r) (ParserResult (Snowflake Member)) Source #

Parser (Snowflake User) r Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type ParserResult (Snowflake User) Source #

Methods

name :: Text Source #

parse :: Sem (ParserEffs r) (ParserResult (Snowflake User)) Source #

Parser (Snowflake Role) r Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type ParserResult (Snowflake Role) Source #

Methods

name :: Text Source #

parse :: Sem (ParserEffs r) (ParserResult (Snowflake Role)) Source #

Parser (Snowflake Emoji) r Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type ParserResult (Snowflake Emoji) Source #

Methods

name :: Text Source #

parse :: Sem (ParserEffs r) (ParserResult (Snowflake Emoji)) Source #

Typeable (Snowflake a) => Parser (Snowflake a) r Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type ParserResult (Snowflake a) Source #

Methods

name :: Text Source #

parse :: Sem (ParserEffs r) (ParserResult (Snowflake a)) Source #

(Monoid (ParserResult a), Parser a r) => Parser (KleeneConcat a) r Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type ParserResult (KleeneConcat a) Source #

Methods

name :: Text Source #

parse :: Sem (ParserEffs r) (ParserResult (KleeneConcat a)) Source #

Parser (KleeneConcat Text) r Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type ParserResult (KleeneConcat Text) Source #

Methods

name :: Text0 Source #

parse :: Sem (ParserEffs r) (ParserResult (KleeneConcat Text)) Source #

(KnownSymbol s, Parser a r) => Parser (Named s a) r Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type ParserResult (Named s a) Source #

Methods

name :: Text Source #

parse :: Sem (ParserEffs r) (ParserResult (Named s a)) Source #

data Named (s :: Symbol) a Source #

Instances

Instances details
(KnownSymbol s, Parser a r) => Parser (Named s a) r Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type ParserResult (Named s a) Source #

Methods

name :: Text Source #

parse :: Sem (ParserEffs r) (ParserResult (Named s a)) Source #

type ParserResult (Named s a) Source # 
Instance details

Defined in Calamity.Commands.Parser

data KleeneConcat a Source #

Instances

Instances details
(Monoid (ParserResult a), Parser a r) => Parser (KleeneConcat a) r Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type ParserResult (KleeneConcat a) Source #

Methods

name :: Text Source #

parse :: Sem (ParserEffs r) (ParserResult (KleeneConcat a)) Source #

Parser (KleeneConcat Text) r Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type ParserResult (KleeneConcat Text) Source #

Methods

name :: Text0 Source #

parse :: Sem (ParserEffs r) (ParserResult (KleeneConcat Text)) Source #

type ParserResult (KleeneConcat a) Source # 
Instance details

Defined in Calamity.Commands.Parser

type ParserResult (KleeneConcat Text) Source # 
Instance details

Defined in Calamity.Commands.Parser

data ParserState Source #

Constructors

ParserState 

Fields

Instances

Instances details
Show ParserState Source # 
Instance details

Defined in Calamity.Commands.Parser

Generic ParserState Source # 
Instance details

Defined in Calamity.Commands.Parser

Associated Types

type Rep ParserState :: Type -> Type #

type Rep ParserState Source # 
Instance details

Defined in Calamity.Commands.Parser

type Rep ParserState = D1 ('MetaData "ParserState" "Calamity.Commands.Parser" "calamity-0.1.9.1-inplace" 'False) (C1 ('MetaCons "ParserState" 'PrefixI 'True) (S1 ('MetaSel ('Just "off") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "msg") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))