distribution-opensuse-1.1.3: Types, functions, and tools to manipulate the openSUSE distribution
Safe HaskellNone
LanguageHaskell2010

OpenSuse.Types.ProjectId

Synopsis

Documentation

data ProjectId Source #

Projects are identified on OBS by a string path.

>>> parse "project id" "SUSE:SLE-12-SP2:Update" :: ProjectId
ProjectId ["SUSE","SLE-12-SP2","Update"]
>>> parseM "project id" "SUSE::SLE-12-SP2" :: Maybe ProjectId
Nothing
>>> parseM "project id" ":SUSE" :: Maybe ProjectId
Nothing
>>> parseM "project id" "SUSE:" :: Maybe ProjectId
Nothing

Instances

Instances details
Eq ProjectId Source # 
Instance details

Defined in OpenSuse.Types.ProjectId

Ord ProjectId Source # 
Instance details

Defined in OpenSuse.Types.ProjectId

Show ProjectId Source # 
Instance details

Defined in OpenSuse.Types.ProjectId

IsString ProjectId Source # 
Instance details

Defined in OpenSuse.Types.ProjectId

Generic ProjectId Source # 
Instance details

Defined in OpenSuse.Types.ProjectId

Associated Types

type Rep ProjectId :: Type -> Type #

Semigroup ProjectId Source # 
Instance details

Defined in OpenSuse.Types.ProjectId

Monoid ProjectId Source # 
Instance details

Defined in OpenSuse.Types.ProjectId

Hashable ProjectId Source # 
Instance details

Defined in OpenSuse.Types.ProjectId

ToJSON ProjectId Source # 
Instance details

Defined in OpenSuse.Types.ProjectId

ToJSONKey ProjectId Source # 
Instance details

Defined in OpenSuse.Types.ProjectId

FromJSON ProjectId Source # 
Instance details

Defined in OpenSuse.Types.ProjectId

FromJSONKey ProjectId Source # 
Instance details

Defined in OpenSuse.Types.ProjectId

Binary ProjectId Source # 
Instance details

Defined in OpenSuse.Types.ProjectId

NFData ProjectId Source # 
Instance details

Defined in OpenSuse.Types.ProjectId

Methods

rnf :: ProjectId -> () #

HasParser ProjectId Source # 
Instance details

Defined in OpenSuse.Types.ProjectId

Methods

parser :: forall st input (m :: Type -> Type). CharParser st input m ProjectId #

Pretty ProjectId Source # 
Instance details

Defined in OpenSuse.Types.ProjectId

type Rep ProjectId Source # 
Instance details

Defined in OpenSuse.Types.ProjectId

type Rep ProjectId = D1 ('MetaData "ProjectId" "OpenSuse.Types.ProjectId" "distribution-opensuse-1.1.3-LaEhhDjNKwBGllhZZe05hY" 'True) (C1 ('MetaCons "ProjectId" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])))

mkProjectId :: [String] -> ProjectId Source #

Constructor function for project identifiers.

TODO: Figure out how to deal with the [] project.

unProjectId :: ProjectId -> [String] Source #

Accessor function for the underlying path of strings.