Skip to content

Commit

Permalink
Replace EntityMessage[Names|Types] with generic EntityMessages[K]
Browse files Browse the repository at this point in the history
… type.
  • Loading branch information
jmalloc committed Oct 2, 2024
1 parent 1adb84b commit 701aae4
Show file tree
Hide file tree
Showing 12 changed files with 26 additions and 80 deletions.
2 changes: 1 addition & 1 deletion action.dispatch.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ func (a dispatchAction) Do(ctx context.Context, s ActionScope) error {
// report, not just returning an error.
//
// See https://github.com/dogmatiq/testkit/issues/162
if !s.App.MessageTypes().Has(mt) {
if _, ok := s.App.MessageTypes()[mt]; !ok {
return inflect.Errorf(
mt.Kind(),
"cannot <produce> <message>, %s is a not a recognized message type",
Expand Down
25 changes: 5 additions & 20 deletions engine/configurer.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ import (
"context"

"github.com/dogmatiq/configkit"
"github.com/dogmatiq/configkit/message"
"github.com/dogmatiq/enginekit/collection"
"github.com/dogmatiq/testkit/engine/internal/aggregate"
"github.com/dogmatiq/testkit/engine/internal/integration"
"github.com/dogmatiq/testkit/engine/internal/process"
Expand All @@ -22,64 +20,51 @@ func (c *configurer) VisitRichApplication(ctx context.Context, cfg configkit.Ric
}

func (c *configurer) VisitRichAggregate(_ context.Context, cfg configkit.RichAggregate) error {
mt := cfg.MessageTypes()
c.registerController(
&aggregate.Controller{
Config: cfg,
MessageIDs: &c.engine.messageIDs,
},
mt.Consumed,
)

return nil
}

func (c *configurer) VisitRichProcess(_ context.Context, cfg configkit.RichProcess) error {
mt := cfg.MessageTypes()
c.registerController(
&process.Controller{
Config: cfg,
MessageIDs: &c.engine.messageIDs,
},
mt.Consumed,
)

return nil
}

func (c *configurer) VisitRichIntegration(_ context.Context, cfg configkit.RichIntegration) error {
mt := cfg.MessageTypes()
c.registerController(
&integration.Controller{
Config: cfg,
MessageIDs: &c.engine.messageIDs,
},
mt.Consumed,
)

return nil
}

func (c *configurer) VisitRichProjection(_ context.Context, cfg configkit.RichProjection) error {
mt := cfg.MessageTypes()
c.registerController(
&projection.Controller{
Config: cfg,
CompactDuringHandling: c.options.compactDuringHandling,
},
mt.Consumed,
)

return nil
}

func (c *configurer) registerController(
ctrl controller,
consumed collection.Set[message.Type],
) {
c.engine.controllers[ctrl.HandlerConfig().Identity().Name] = ctrl
func (c *configurer) registerController(ctrl controller) {
cfg := ctrl.HandlerConfig()

c.engine.controllers[cfg.Identity().Name] = ctrl

for t := range consumed.All() {
for t := range cfg.MessageTypes().Consumed() {
c.engine.routes[t] = append(c.engine.routes[t], ctrl)
}
}
2 changes: 1 addition & 1 deletion engine/internal/aggregate/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ func (c *Controller) Handle(
) ([]*envelope.Envelope, error) {
mt := message.TypeOf(env.Message)

if !c.Config.MessageTypes().Consumed.Has(mt) {
if !c.Config.MessageTypes()[mt].IsConsumed {
panic(fmt.Sprintf("%s does not handle %s messages", c.Config.Identity(), mt))
}

Expand Down
2 changes: 1 addition & 1 deletion engine/internal/aggregate/scope.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ func (s *scope) Destroy() {
func (s *scope) RecordEvent(m dogma.Event) {
mt := message.TypeOf(m)

if !s.config.MessageTypes().Produced.Has(mt) {
if !s.config.MessageTypes()[mt].IsProduced {
panic(panicx.UnexpectedBehavior{
Handler: s.config,
Interface: "AggregateMessageHandler",
Expand Down
2 changes: 1 addition & 1 deletion engine/internal/integration/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ func (c *Controller) Handle(
) ([]*envelope.Envelope, error) {
mt := message.TypeOf(env.Message)

if !c.Config.MessageTypes().Consumed.Has(mt) {
if !c.Config.MessageTypes()[mt].IsConsumed {
panic(fmt.Sprintf("%s does not handle %s messages", c.Config.Identity(), mt))
}

Expand Down
2 changes: 1 addition & 1 deletion engine/internal/integration/scope.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ type scope struct {
func (s *scope) RecordEvent(m dogma.Event) {
mt := message.TypeOf(m)

if !s.config.MessageTypes().Produced.Has(mt) {
if !s.config.MessageTypes()[mt].IsProduced {
panic(panicx.UnexpectedBehavior{
Handler: s.config,
Interface: "IntegrationMessageHandler",
Expand Down
2 changes: 1 addition & 1 deletion engine/internal/process/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ func (c *Controller) Handle(
) ([]*envelope.Envelope, error) {
mt := message.TypeOf(env.Message)

if !c.Config.MessageTypes().Consumed.Has(mt) {
if !c.Config.MessageTypes()[mt].IsConsumed {
panic(fmt.Sprintf("%s does not handle %s messages", c.Config.Identity(), mt))
}

Expand Down
4 changes: 2 additions & 2 deletions engine/internal/process/scope.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ func (s *scope) End() {
func (s *scope) ExecuteCommand(m dogma.Command) {
mt := message.TypeOf(m)

if !s.config.MessageTypes().Produced.Has(mt) {
if !s.config.MessageTypes()[mt].IsProduced {
panic(panicx.UnexpectedBehavior{
Handler: s.config,
Interface: "ProcessMessageHandler",
Expand Down Expand Up @@ -117,7 +117,7 @@ func (s *scope) RecordedAt() time.Time {
func (s *scope) ScheduleTimeout(m dogma.Timeout, t time.Time) {
mt := message.TypeOf(m)

if !s.config.MessageTypes().Produced.Has(mt) {
if !s.config.MessageTypes()[mt].IsProduced {
panic(panicx.UnexpectedBehavior{
Handler: s.config,
Interface: "ProcessMessageHandler",
Expand Down
2 changes: 1 addition & 1 deletion engine/internal/projection/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ func (c *Controller) Handle(
) ([]*envelope.Envelope, error) {
mt := message.TypeOf(env.Message)

if !c.Config.MessageTypes().Consumed.Has(mt) {
if !c.Config.MessageTypes()[mt].IsConsumed {
panic(fmt.Sprintf("%s does not handle %s messages", c.Config.Identity(), mt))
}

Expand Down
9 changes: 6 additions & 3 deletions expectation.messagecommon.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,17 +82,20 @@ func guardAgainstExpectationOnImpossibleType(
// report, not just returning an error.
//
// See https://github.com/dogmatiq/testkit/issues/162
if !s.App.MessageTypes().Has(t) {
em, ok := s.App.MessageTypes()[t]
if !ok {
return inflect.Errorf(
t.Kind(),
"a <message> of type %s can never be <produced>, the application does not use this message type",
t,
)
} else if !s.Options.MatchDispatchCycleStartedFacts {
}

if !s.Options.MatchDispatchCycleStartedFacts {
// If we're NOT matching messages from DispatchCycleStarted facts that
// means this expectation can only ever pass if the message is produced
// by a handler.
if !s.App.MessageTypes().Produced.Has(t) {
if !em.IsProduced {
return inflect.Errorf(
t.Kind(),
"no handlers <produce> <messages> of type %s, it is only ever consumed",
Expand Down
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ module github.com/dogmatiq/testkit
go 1.23

require (
github.com/dogmatiq/configkit v0.14.1-0.20240930030138-f9e71cc9ddcb
github.com/dogmatiq/configkit v0.14.1-0.20241002212501-f9f58f1e927c
github.com/dogmatiq/cosyne v0.2.0
github.com/dogmatiq/dapper v0.6.0
github.com/dogmatiq/dogma v0.14.4-0.20240926234834-3c0cc27a2ca1
github.com/dogmatiq/enginekit v0.14.1-0.20240930025837-001cd27abe23
github.com/dogmatiq/enginekit v0.15.2-0.20241002024509-1d30c2ed8b6c
github.com/dogmatiq/iago v0.4.0
github.com/dogmatiq/linger v1.1.0
github.com/onsi/ginkgo/v2 v2.20.2
Expand Down
50 changes: 4 additions & 46 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,34 +1,22 @@
github.com/chzyer/readline v1.5.1 h1:upd/6fQk4src78LMRzh5vItIt361/o4uq553V8B5sGI=
github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dogmatiq/aureus v0.1.0 h1:BIUF1G4pdCiJ+WQ6GnTmbhaejbjtX35Z9w2somdgslA=
github.com/dogmatiq/aureus v0.1.0/go.mod h1:eTm6/WDfVI2tNjg1WCXiPt4fqjMhjO2kNM522ENa6mM=
github.com/dogmatiq/configkit v0.14.1-0.20240929215230-3af80ab0c2e9 h1:kFoWErDVOq1zLJziPDWdXFldyRM8/4zQwdlQ+dNfQI8=
github.com/dogmatiq/configkit v0.14.1-0.20240929215230-3af80ab0c2e9/go.mod h1:WhUSbkhYksNVSbn2Q0LIhkY+bFV2BERNTUMVy4Zsjr4=
github.com/dogmatiq/configkit v0.14.1-0.20240930030138-f9e71cc9ddcb h1:K959v1eWzeH15OOs/lfEc5c3ohNgnPQYh5dkLH6SWfI=
github.com/dogmatiq/configkit v0.14.1-0.20240930030138-f9e71cc9ddcb/go.mod h1:KQfg3ODcxen+JGnc7Ae+0aqMMgA8jUT7LbfjjNslod8=
github.com/dogmatiq/configkit v0.14.1-0.20241002212501-f9f58f1e927c h1:JMBpZC2pPDZcGhbhx6OQ+KG81KhSCTJCMbTjoLSSqtA=
github.com/dogmatiq/configkit v0.14.1-0.20241002212501-f9f58f1e927c/go.mod h1:Oi01MkoR3cf12xfbo+86UA1Ilaq1iT9h0L4aDDYCP2s=
github.com/dogmatiq/cosyne v0.2.0 h1:tO957BpS4I9kqSw31ds6Ef4CXvV8zPAqWzbXKElsGWg=
github.com/dogmatiq/cosyne v0.2.0/go.mod h1:dD8EZjbRX7FFw9t6P7l1nwoZbA7YxtOCfl9ZZAHPucU=
github.com/dogmatiq/dapper v0.6.0 h1:hnWUsjnt3nUiC9hmkPvuxrnMd7fYNz1i+/GS3gOx0Xs=
github.com/dogmatiq/dapper v0.6.0/go.mod h1:ubRHWzt73s0MsPpGhWvnfW/Z/1YPnrkCsQv6CUOZVEw=
github.com/dogmatiq/dogma v0.14.4-0.20240926234834-3c0cc27a2ca1 h1:SKhtRnDs7CC3ZNMux7lYCxCFz5ZhmeXjvo7/uMNISLo=
github.com/dogmatiq/dogma v0.14.4-0.20240926234834-3c0cc27a2ca1/go.mod h1:9lyVA+6V2+E/exV0IrBOrkUiyFwIATEhv+b0vnB2umQ=
github.com/dogmatiq/enginekit v0.13.1-0.20240929214803-d23339eac9a9 h1:CuQ1OBcfZVfnfAZ4zcqCadsOLVtnfCN4vRsprt/Nncw=
github.com/dogmatiq/enginekit v0.13.1-0.20240929214803-d23339eac9a9/go.mod h1:XsY6KGPIC6zHx1duYDXbHTomqH9y+QOJX/tEiNZE2Qg=
github.com/dogmatiq/enginekit v0.14.1-0.20240930025837-001cd27abe23 h1:2UQ8POi88gvkVfM3r9LfylDS0SvqKQgHC94R3nhu9XQ=
github.com/dogmatiq/enginekit v0.14.1-0.20240930025837-001cd27abe23/go.mod h1:XsY6KGPIC6zHx1duYDXbHTomqH9y+QOJX/tEiNZE2Qg=
github.com/dogmatiq/enginekit v0.15.2-0.20241002024509-1d30c2ed8b6c h1:+Ho0OHj1C+x+v9kX7fIaiUV0tGt528MKftPDXPDzsQU=
github.com/dogmatiq/enginekit v0.15.2-0.20241002024509-1d30c2ed8b6c/go.mod h1:IVmmw+ut4ZK8NrUVnt35WUC8fs0WZoR5wo+Hb4zwp4g=
github.com/dogmatiq/iago v0.4.0 h1:57nZqVT34IZxtCZEW/RFif7DNUEjMXgevfr/Mmd0N8I=
github.com/dogmatiq/iago v0.4.0/go.mod h1:fishMWBtzYcjgis6d873VTv9kFm/wHYLOzOyO9ECBDc=
github.com/dogmatiq/jumble v0.1.0 h1:Cb3ExfxY+AoUP4G9/sOwoOdYX8o+kOLK8+dhXAry+QA=
github.com/dogmatiq/jumble v0.1.0/go.mod h1:FCGV2ImXu8zvThxhd4QLstiEdu74vbIVw9bFJSBcKr4=
github.com/dogmatiq/linger v1.1.0 h1:kGL9sL79qRa6Cr8PhadeJ/ptbum+b48pAaNWWlyVVKg=
github.com/dogmatiq/linger v1.1.0/go.mod h1:OOWJUwTxNkFolhuVdaTYjO4FmFLjZHZ8EMc5H5qOJ7Q=
github.com/dogmatiq/primo v0.3.1 h1:JSqiCh1ma9CbIVzPf8k1vhzQ2Zn/d/WupzElDoiYZw0=
github.com/dogmatiq/primo v0.3.1/go.mod h1:z2DfWNz0YmwIKhUEwgJY4xyeWOw0He+9veRRMGQ21UI=
github.com/emicklei/dot v1.6.2 h1:08GN+DD79cy/tzN6uLCT84+2Wk9u+wvqP+Hkx/dIR8A=
github.com/emicklei/dot v1.6.2/go.mod h1:DeV7GvQtIw4h2u73RKBkkFdvVAz0D9fzeJrgPW6gy/s=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
Expand All @@ -43,8 +31,6 @@ github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrU
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.0 h1:LUVKkCeviFUMKqHa4tXIIij/lbhnMbP7Fn5wKdKkRh4=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
Expand All @@ -54,13 +40,9 @@ github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5 h1:5iH8iuqE5apketRbSF
github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465 h1:KwWnWVWCNtNq/ewIX7HIKnELmEx2nDP42yskD/pi7QE=
github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw=
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1 h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
Expand All @@ -85,32 +67,21 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8=
github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I=
github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/yuin/goldmark v1.7.0 h1:EfOIvIMZIzHdB/R/zVrikYLPPwJlfMcNczJFMs1m6sA=
github.com/yuin/goldmark v1.7.0/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A=
golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8=
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY=
golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0=
golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=
golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
Expand All @@ -122,10 +93,6 @@ golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457 h1:zf5N6UOrA487eEFacMePxjXAJctxKmyjKUsjA11Uzuk=
golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0=
golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM=
golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
Expand All @@ -134,12 +101,7 @@ golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.25.0 h1:oFU9pkj/iJgs+0DT+VMHrx+oBKs/LJMV+Uvg78sl+fE=
golang.org/x/tools v0.25.0/go.mod h1:/vtpO8WL1N9cQC3FN5zPqb//fRXskFHbLKk4OW1Q7rg=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
google.golang.org/grpc v1.67.0 h1:IdH9y6PF5MPSdAntIcpjQ+tXO41pcQsfZV2RxtQgVcw=
google.golang.org/grpc v1.67.0/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
Expand All @@ -151,17 +113,13 @@ google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWn
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw=
pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04=

0 comments on commit 701aae4

Please sign in to comment.