123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package main
- import (
- "errors"
- "fmt"
- "hexasoftware/x/sequencer/seq"
- "log"
- )
- 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
- }
- func main() {
- s := seq.New()
- log.Println("Adding GenXPto")
- val := &Xpto{}
- s.Add("Generate Xpto", GenXpto, 10).Grab(&val)
- s.Add("Consume xpto", func() error {
- return NextXpto(val.ID)
- })
- s.Add(NextXpto, seq.EP(0))
- err := s.Exec("abc")
- log.Println("Val:", val)
- if err != nil {
- log.Println("Error on sequence", err)
- }
- }
|