github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/web/elm/src/Concourse/PipelineStatus.elm (about)

     1  module Concourse.PipelineStatus exposing
     2      ( PipelineStatus(..)
     3      , StatusDetails(..)
     4      , equal
     5      , isRunning
     6      , show
     7      )
     8  
     9  import Time
    10  
    11  
    12  type StatusDetails
    13      = Running
    14      | Since Time.Posix
    15  
    16  
    17  type PipelineStatus
    18      = PipelineStatusPaused
    19      | PipelineStatusAborted StatusDetails
    20      | PipelineStatusErrored StatusDetails
    21      | PipelineStatusFailed StatusDetails
    22      | PipelineStatusPending Bool
    23      | PipelineStatusSucceeded StatusDetails
    24  
    25  
    26  equal : PipelineStatus -> PipelineStatus -> Bool
    27  equal ps1 ps2 =
    28      case ( ps1, ps2 ) of
    29          ( PipelineStatusPaused, PipelineStatusPaused ) ->
    30              True
    31  
    32          ( PipelineStatusAborted _, PipelineStatusAborted _ ) ->
    33              True
    34  
    35          ( PipelineStatusErrored _, PipelineStatusErrored _ ) ->
    36              True
    37  
    38          ( PipelineStatusFailed _, PipelineStatusFailed _ ) ->
    39              True
    40  
    41          ( PipelineStatusPending _, PipelineStatusPending _ ) ->
    42              True
    43  
    44          ( PipelineStatusSucceeded _, PipelineStatusSucceeded _ ) ->
    45              True
    46  
    47          _ ->
    48              False
    49  
    50  
    51  show : PipelineStatus -> String
    52  show status =
    53      case status of
    54          PipelineStatusPaused ->
    55              "paused"
    56  
    57          PipelineStatusAborted _ ->
    58              "aborted"
    59  
    60          PipelineStatusErrored _ ->
    61              "errored"
    62  
    63          PipelineStatusFailed _ ->
    64              "failed"
    65  
    66          PipelineStatusPending _ ->
    67              "pending"
    68  
    69          PipelineStatusSucceeded _ ->
    70              "succeeded"
    71  
    72  
    73  isRunning : PipelineStatus -> Bool
    74  isRunning status =
    75      case status of
    76          PipelineStatusPaused ->
    77              False
    78  
    79          PipelineStatusAborted details ->
    80              details == Running
    81  
    82          PipelineStatusErrored details ->
    83              details == Running
    84  
    85          PipelineStatusFailed details ->
    86              details == Running
    87  
    88          PipelineStatusPending bool ->
    89              bool
    90  
    91          PipelineStatusSucceeded details ->
    92              details == Running