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

Data.SemanticVersion.BuildIdentifier

Synopsis

Documentation

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

data BuildIdentifier Source #

Instances

Instances details
Show BuildIdentifier Source # 
Instance details

Defined in Data.SemanticVersion.BuildIdentifier

Eq BuildIdentifier Source # 
Instance details

Defined in Data.SemanticVersion.BuildIdentifier

AsAlphanumericIdentifier BuildIdentifier Source # 
Instance details

Defined in Data.SemanticVersion.BuildIdentifier

AsBuildIdentifier BuildIdentifier Source # 
Instance details

Defined in Data.SemanticVersion.BuildIdentifier

HasBuildIdentifier BuildIdentifier Source # 
Instance details

Defined in Data.SemanticVersion.BuildIdentifier

parseBuildIdentifier :: CharParsing p => p BuildIdentifier Source #

>>> parse (parseBuildIdentifier <* eof) "parseBuildIdentifier" "A"
Right (BuildIdentifierAlphanumeric (AlphanumericIdentifierNonDigit (NonDigitLetter (AlphaUpper Upper_A))))
>>> isLeft (parse parseBuildIdentifier "parseBuildIdentifier" "")
True
>>> parse (parseBuildIdentifier <* eof) "parseBuildIdentifier" "Abc-123--XYZ"
Right (BuildIdentifierAlphanumeric (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 parseBuildIdentifier "parseBuildIdentifier" "+")
True
>>> parse parseBuildIdentifier "parseBuildIdentifier" "0"
Right (BuildIdentifierDigits (DecDigit0 :| []))
>>> parse parseBuildIdentifier "parseBuildIdentifier" "0+"
Right (BuildIdentifierDigits (DecDigit0 :| []))
>>> parse (parseBuildIdentifier <* eof) "parseBuildIdentifier" "0a"
Right (BuildIdentifierAlphanumeric (AlphanumericIdentifierCharacters (IdentifierCharacters (IdentifierCharacterDigit DecDigit0 :| [])) (NonDigitLetter (AlphaLower Lower_a))))
>>> parse parseBuildIdentifier "parseBuildIdentifier" "-"
Right (BuildIdentifierAlphanumeric (AlphanumericIdentifierNonDigit NonDigitHyphen))
>>> parse parseBuildIdentifier "parseBuildIdentifier" "Abc-123--XYZ+"
Right (BuildIdentifierAlphanumeric (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))]))))
>>> parse parseBuildIdentifier "parseBuildIdentifier" "0901010"
Right (BuildIdentifierDigits (DecDigit0 :| [DecDigit9,DecDigit0,DecDigit1,DecDigit0,DecDigit1,DecDigit0]))
>>> parse parseBuildIdentifier "parseBuildIdentifier" "90109010"
Right (BuildIdentifierDigits (DecDigit9 :| [DecDigit0,DecDigit1,DecDigit0,DecDigit9,DecDigit0,DecDigit1,DecDigit0]))