add WrapProcess

This commit is contained in:
Jamie Markle 2016-08-15 15:22:50 -04:00
parent 0b8675fa45
commit 5760a88db3
1 changed files with 8 additions and 0 deletions

View File

@ -245,6 +245,14 @@ type cmdable struct {
process func(cmd Cmder) error process func(cmd Cmder) error
} }
// WrapProcess replaces the process func. It takes a function createWrapper
// which is supplied by the user. createWrapper takes the old process func as
// an input and returns the new wrapper process func. createWrapper should
// use call the old process func within the new process func.
func (c *cmdable) WrapProcess(createWrapper func(oldProcess func(cmd Cmder) error) func(cmd Cmder) error) {
c.process = createWrapper(c.process)
}
var _ Cmdable = (*cmdable)(nil) var _ Cmdable = (*cmdable)(nil)
type statefulCmdable struct { type statefulCmdable struct {