From df7184506dc087842e992eb9a64679c3c086d71a Mon Sep 17 00:00:00 2001 From: faiface Date: Wed, 26 Jul 2017 01:13:49 +0200 Subject: [PATCH] change Generate to call g not on construction, but on first Stream --- streamers.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/streamers.go b/streamers.go index 4d3ffa2..def1a35 100644 --- a/streamers.go +++ b/streamers.go @@ -37,8 +37,15 @@ func Callback(f func()) Streamer { // // Generate does not propagate errors from the generated Streamers. func Generate(g func() Streamer) Streamer { - s := g() + var ( + s Streamer + first = true + ) return StreamerFunc(func(samples [][2]float64) (n int, ok bool) { + if first { + s = g() + first = false + } if s == nil { return 0, false }