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