| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Data.SemanticVersion.BuildIdentifier
Synopsis
- data BuildIdentifier
- class HasBuildIdentifier a where
- class AsBuildIdentifier a where
- parseBuildIdentifier :: CharParsing p => p BuildIdentifier
Documentation
>>>import Text.Parsec(parse)>>>import Data.Either(isLeft)
data BuildIdentifier Source #
Constructors
| BuildIdentifierAlphanumeric AlphanumericIdentifier | |
| BuildIdentifierDigits (NonEmpty DecDigit) |
Instances
class AsBuildIdentifier a where Source #
Minimal complete definition
Methods
_BuildIdentifier :: Prism' a BuildIdentifier Source #
_BuildIdentifierDigits :: Prism' a (NonEmpty DecDigit) Source #
Instances
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]))