go-kod / kod

A generics based dependency injection application framework for Go, support OpenTelemetry trace/metric/log natively 🚀🚀🚀
https://pkg.go.dev/github.com/go-kod/kod
Apache License 2.0
150 stars 4 forks source link

Where Component comes from? undefined: Component #166

Closed leopku closed 3 months ago

leopku commented 3 months ago
package account

import (
    "context"

    "github.com/leopku/emeraldpanel/pkg/models/auth"

    "github.com/go-kod/kod"
    "github.com/go-kod/kod/ext/client/ksql"
)

type AccountService struct {
    kod.Implements[Component]
    kod.WithConfig[config]

    query *auth.Queries
}

type config struct {
    DbConfig ksql.Config
}

func (svc *AccountService) Init(ctx context.Context) error {
    db := svc.Config().DbConfig.Build()
    svc.query = auth.New(db)
    return nil
}

func (svc *AccountService) Query() *auth.Queries {
    return svc.query
}

result as: undefined: Component

All sample codes wrote as kod.Implements[Component], where Component comes from?