1#[derive(Debug, Clone, PartialEq, Eq)]
7pub enum ParsedStageKind {
8 Explicit,
9 UnknownExplicit,
10 Quick,
11}
12
13#[derive(Debug, Clone, PartialEq, Eq)]
15pub struct ParsedStage {
16 pub kind: ParsedStageKind,
17 pub verb: String,
18 pub spec: String,
19 pub raw: String,
20}
21
22impl ParsedStage {
23 pub fn new(
24 kind: ParsedStageKind,
25 verb: impl Into<String>,
26 spec: impl Into<String>,
27 raw: impl Into<String>,
28 ) -> Self {
29 Self {
30 kind,
31 verb: verb.into(),
32 spec: spec.into(),
33 raw: raw.into(),
34 }
35 }
36}
37
38#[derive(Debug, Clone, Default, PartialEq, Eq)]
43pub struct ParsedPipeline {
44 pub raw: String,
45 pub stages: Vec<ParsedStage>,
46}