Files
agentic-coding-workflow/internal/infra/clock/clock.go
T

19 lines
488 B
Go

// Package clock provides an injectable time source. Production code uses Real();
// tests use NewFake(t) to make time-based logic deterministic.
package clock
import "time"
// Clock is the abstraction over the system clock. Implementations must be
// safe for concurrent use.
type Clock interface {
Now() time.Time
}
type realClock struct{}
// Real returns a Clock backed by time.Now.
func Real() Clock { return realClock{} }
func (realClock) Now() time.Time { return time.Now() }