Move the seeded randomness and the {seq()} counters into internal/drawstate

This commit is contained in:
2026-10-05 11:43:45 +02:00
committed by Lillem4n
parent 4a680f03b3
commit 2d9c315e75
14 changed files with 107 additions and 76 deletions
+4 -2
View File
@@ -4,6 +4,8 @@ import (
"fmt"
"strings"
"time"
"github.com/larvit/fejkdata/internal/drawstate"
)
const dayLayout = "2006-01-02"
@@ -135,13 +137,13 @@ func datePrep(a []string) callFn {
panic(internalError("builtin arg %q reached prep unvalidated: %v", a[1], err))
}
layout, start, span := layoutOf(a[2]), from.Unix(), int(to.Unix()-from.Unix())+86400
return func(s *generatorState, _ string, _ []string) string {
return func(s *drawstate.State, _ string, _ []string) string {
return time.Unix(start+int64(s.IntN(span)), 0).UTC().Format(layout)
}
}
func timePrep(a []string) callFn {
layout := layoutOf(a[0])
return func(s *generatorState, _ string, _ []string) string {
return func(s *drawstate.State, _ string, _ []string) string {
return time.Unix(int64(s.IntN(86400)), 0).UTC().Format(layout)
}
}