|
@@ -1,59 +1,18 @@
|
|
|
package main
|
|
|
|
|
|
-import (
|
|
|
- "errors"
|
|
|
- "fmt"
|
|
|
- "log"
|
|
|
-
|
|
|
- "dev.hexasoftware.com/x/seq"
|
|
|
-
|
|
|
- "dev.hexasoftware.com/hxs/prettylog"
|
|
|
-)
|
|
|
-
|
|
|
-type Xpto struct {
|
|
|
- ID string
|
|
|
-}
|
|
|
-
|
|
|
-func GenXpto(i int) (*Xpto, error) {
|
|
|
- log.Println("Generating xpto")
|
|
|
- return &Xpto{fmt.Sprintf("ID:%d", i)}, nil
|
|
|
-}
|
|
|
-
|
|
|
-func AnotherRandomFunc() error {
|
|
|
- return errors.New("I have a error")
|
|
|
-}
|
|
|
-func NextXpto(id string) error {
|
|
|
- log.Println("The id was:", id)
|
|
|
- return nil
|
|
|
-}
|
|
|
+import "dev.hexasoftware.com/x/seq"
|
|
|
|
|
|
func main() {
|
|
|
- prettylog.Global()
|
|
|
- s := seq.New()
|
|
|
-
|
|
|
- log.Println("Adding GenXPto")
|
|
|
-
|
|
|
- val := &Xpto{}
|
|
|
- s.Add(GenXpto, 10).Grab(&val)
|
|
|
- s.Add(func() error { return NextXpto(val.ID) })
|
|
|
- s.Add(func(p *Xpto) error { return NextXpto(p.ID) }, seq.SeqReturn(0, 0))
|
|
|
- s.Add(NextXpto, seq.ExecParam(0))
|
|
|
|
|
|
- s.Exec("abc")
|
|
|
+ s := seq.NewNexter()
|
|
|
|
|
|
- s2 := seq.New()
|
|
|
- s2.Add("Generate Xpto",
|
|
|
- func(s *seq.Context) error {
|
|
|
- xpto, err := GenXpto(10)
|
|
|
- s.Set("xpto", xpto)
|
|
|
- return err
|
|
|
- })
|
|
|
- s2.Add("Consume xpto",
|
|
|
- func(s *seq.Context) error {
|
|
|
- var v *Xpto = s.Get("xpto").(*Xpto)
|
|
|
- return NextXpto(v.ID)
|
|
|
- })
|
|
|
+ s.Next(func() error {
|
|
|
+ // Do whatever
|
|
|
|
|
|
- s2.Exec()
|
|
|
+ return nil
|
|
|
+ })
|
|
|
+ s.Next(func() error {
|
|
|
|
|
|
+ return nil
|
|
|
+ })
|
|
|
}
|