Files
pmg/config/config.go
T
Abhisek DattaandGitHub b85f77cfbc feat: Add support for active scanning in paranoid mode (#31)
* feat: Add support for active scanning in paranoid mode

* docs: Fix README
2025-05-16 19:38:06 +05:30

39 lines
821 B
Go

package config
import (
"context"
"fmt"
)
type configKey struct{}
type contextValue struct {
Config Config
}
// Global configuration
type Config struct {
Transitive bool
TransitiveDepth int
IncludeDevDependencies bool
Paranoid bool
// DryRun to check for packages for risks.
// Do not actually execute any commands.
DryRun bool
}
// Inject config into context while protecting against context poisoning
func (c Config) Inject(ctx context.Context) context.Context {
return context.WithValue(ctx, configKey{}, &contextValue{Config: c})
}
// Extract config from context
func FromContext(ctx context.Context) (Config, error) {
c, ok := ctx.Value(configKey{}).(*contextValue)
if !ok {
return Config{}, fmt.Errorf("config not found in context")
}
return c.Config, nil
}