MCPcopy
hub / github.com/go-task/task / UnmarshalYAML

Method UnmarshalYAML

taskfile/ast/defer.go:16–45  ·  view source on GitHub ↗
(node *yaml.Node)

Source from the content-addressed store, hash-verified

14}
15
16func (d *Defer) UnmarshalYAML(node *yaml.Node) error {
17 switch node.Kind {
18
19 case yaml.ScalarNode:
20 var cmd string
21 if err := node.Decode(&cmd); err != nil {
22 return errors.NewTaskfileDecodeError(err, node)
23 }
24 d.Cmd = cmd
25 return nil
26
27 case yaml.MappingNode:
28 var deferStruct struct {
29 Defer string
30 Task string
31 Vars *Vars
32 Silent bool
33 }
34 if err := node.Decode(&deferStruct); err != nil {
35 return errors.NewTaskfileDecodeError(err, node)
36 }
37 d.Cmd = deferStruct.Defer
38 d.Task = deferStruct.Task
39 d.Vars = deferStruct.Vars
40 d.Silent = deferStruct.Silent
41 return nil
42 }
43
44 return errors.NewTaskfileDecodeError(nil, node).WithTypeMessage("defer")
45}

Callers

nothing calls this directly

Calls 2

NewTaskfileDecodeErrorFunction · 0.92
WithTypeMessageMethod · 0.80

Tested by

no test coverage detected