batch.go 904 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package registry
  2. //Batch helper to batch set properties
  3. type Batch []*Entry
  4. // MakeBatch creates a batch
  5. func MakeBatch(params ...interface{}) Batch {
  6. ret := Batch{}
  7. for _, el := range params {
  8. switch v := el.(type) {
  9. case Batch:
  10. ret = append(ret, v...)
  11. case *Entry:
  12. ret = append(ret, v)
  13. }
  14. }
  15. return ret
  16. }
  17. //Tags set categories of the group
  18. func (eg Batch) Tags(cat ...string) Batch {
  19. for _, e := range eg {
  20. e.Tags(cat...)
  21. }
  22. return eg
  23. }
  24. // DescInputs describe inputs
  25. func (eg Batch) DescInputs(input ...string) Batch {
  26. for _, e := range eg {
  27. e.DescInputs(input...)
  28. }
  29. return eg
  30. }
  31. // DescOutput describe inputs
  32. func (eg Batch) DescOutput(v string) Batch {
  33. for _, e := range eg {
  34. e.DescOutput(v)
  35. }
  36. return eg
  37. }
  38. // Extra set extras of the group
  39. func (eg Batch) Extra(name string, value interface{}) Batch {
  40. for _, e := range eg {
  41. e.Extra(name, value)
  42. }
  43. return eg
  44. }