On events for the workflow
()
| 27 | |
| 28 | // On events for the workflow |
| 29 | func (w *Workflow) On() []string { |
| 30 | switch w.RawOn.Kind { |
| 31 | case yaml.ScalarNode: |
| 32 | var val string |
| 33 | err := w.RawOn.Decode(&val) |
| 34 | if err != nil { |
| 35 | log.Fatal(err) |
| 36 | } |
| 37 | return []string{val} |
| 38 | case yaml.SequenceNode: |
| 39 | var val []string |
| 40 | err := w.RawOn.Decode(&val) |
| 41 | if err != nil { |
| 42 | log.Fatal(err) |
| 43 | } |
| 44 | return val |
| 45 | case yaml.MappingNode: |
| 46 | var val map[string]interface{} |
| 47 | err := w.RawOn.Decode(&val) |
| 48 | if err != nil { |
| 49 | log.Fatal(err) |
| 50 | } |
| 51 | var keys []string |
| 52 | for k := range val { |
| 53 | keys = append(keys, k) |
| 54 | } |
| 55 | return keys |
| 56 | } |
| 57 | return nil |
| 58 | } |
| 59 | |
| 60 | func (w *Workflow) OnEvent(event string) interface{} { |
| 61 | if w.RawOn.Kind == yaml.MappingNode { |
no outgoing calls