semantic-version-0.0.2: Semantic Version
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.SemanticVersion.AlphanumericIdentifier

Synopsis

Documentation

>>> import Text.Parsec(parse)
>>> import Data.Either(isLeft)

data AlphanumericIdentifier Source #

Instances

Instances details
Show AlphanumericIdentifier Source # 
Instance details

Defined in Data.SemanticVersion.AlphanumericIdentifier

Eq AlphanumericIdentifier Source # 
Instance details

Defined in Data.SemanticVersion.AlphanumericIdentifier

AsAlphanumericIdentifier AlphanumericIdentifier Source # 
Instance details

Defined in Data.SemanticVersion.AlphanumericIdentifier

HasAlphanumericIdentifier AlphanumericIdentifier Source # 
Instance details

Defined in Data.SemanticVersion.AlphanumericIdentifier

HasNonDigit AlphanumericIdentifier Source # 
Instance details

Defined in Data.SemanticVersion.AlphanumericIdentifier

class AsAlphanumericIdentifier a where Source #

Minimal complete definition

_AlphanumericIdentifier

Instances

Instances details
AsAlphanumericIdentifier AlphanumericIdentifier Source # 
Instance details

Defined in Data.SemanticVersion.AlphanumericIdentifier

AsAlphanumericIdentifier BuildIdentifier Source # 
Instance details

Defined in Data.SemanticVersion.BuildIdentifier

AsAlphanumericIdentifier PreReleaseIdentifier Source # 
Instance details

Defined in Data.SemanticVersion.PreReleaseIdentifier

parseAlphanumericIdentifier :: CharParsing p => p AlphanumericIdentifier Source #

>>> parse (parseAlphanumericIdentifier <* eof) "parseAlphanumericIdentifier" "A"
Right (AlphanumericIdentifierNonDigit (NonDigitLetter (AlphaUpper Upper_A)))
>>> isLeft (parse parseAlphanumericIdentifier "parseAlphanumericIdentifier" "")
True
>>> parse (parseAlphanumericIdentifier <* eof) "parseAlphanumericIdentifier" "Abc-123--XYZ"
Right (AlphanumericIdentifierNonDigits (NonDigitLetter (AlphaUpper Upper_A)) (IdentifierCharacters (IdentifierCharacterNonDigit (NonDigitLetter (AlphaLower Lower_b)) :| [IdentifierCharacterNonDigit (NonDigitLetter (AlphaLower Lower_c)),IdentifierCharacterNonDigit NonDigitHyphen,IdentifierCharacterDigit DecDigit1,IdentifierCharacterDigit DecDigit2,IdentifierCharacterDigit DecDigit3,IdentifierCharacterNonDigit NonDigitHyphen,IdentifierCharacterNonDigit NonDigitHyphen,IdentifierCharacterNonDigit (NonDigitLetter (AlphaUpper Upper_X)),IdentifierCharacterNonDigit (NonDigitLetter (AlphaUpper Upper_Y)),IdentifierCharacterNonDigit (NonDigitLetter (AlphaUpper Upper_Z))])))
>>> isLeft (parse parseAlphanumericIdentifier "parseAlphanumericIdentifier" "+")
True
>>> isLeft (parse parseAlphanumericIdentifier "parseAlphanumericIdentifier" "0")
True
>>> isLeft (parse parseAlphanumericIdentifier "parseAlphanumericIdentifier" "0+")
True
>>> parse (parseAlphanumericIdentifier <* eof) "parseAlphanumericIdentifier" "0a"
Right (AlphanumericIdentifierCharacters (IdentifierCharacters (IdentifierCharacterDigit DecDigit0 :| [])) (NonDigitLetter (AlphaLower Lower_a)))
>>> parse parseAlphanumericIdentifier "parseAlphanumericIdentifier" "-"
Right (AlphanumericIdentifierNonDigit NonDigitHyphen)
>>> parse parseAlphanumericIdentifier "parseAlphanumericIdentifier" "Abc-123--XYZ+"
Right (AlphanumericIdentifierNonDigits (NonDigitLetter (AlphaUpper Upper_A)) (IdentifierCharacters (IdentifierCharacterNonDigit (NonDigitLetter (AlphaLower Lower_b)) :| [IdentifierCharacterNonDigit (NonDigitLetter (AlphaLower Lower_c)),IdentifierCharacterNonDigit NonDigitHyphen,IdentifierCharacterDigit DecDigit1,IdentifierCharacterDigit DecDigit2,IdentifierCharacterDigit DecDigit3,IdentifierCharacterNonDigit NonDigitHyphen,IdentifierCharacterNonDigit NonDigitHyphen,IdentifierCharacterNonDigit (NonDigitLetter (AlphaUpper Upper_X)),IdentifierCharacterNonDigit (NonDigitLetter (AlphaUpper Upper_Y)),IdentifierCharacterNonDigit (NonDigitLetter (AlphaUpper Upper_Z))])))