MCPcopy
hub / github.com/sqlc-dev/sqlc / v1ParseConfig

Function v1ParseConfig

internal/config/v_one.go:65–100  ·  view source on GitHub ↗
(rd io.Reader)

Source from the content-addressed store, hash-verified

63}
64
65func v1ParseConfig(rd io.Reader) (Config, error) {
66 dec := yaml.NewDecoder(rd)
67 dec.KnownFields(true)
68 var settings V1GenerateSettings
69 var config Config
70 if err := dec.Decode(&settings); err != nil {
71 return config, err
72 }
73 if settings.Version == "" {
74 return config, ErrMissingVersion
75 }
76 if settings.Version != "1" {
77 return config, ErrUnknownVersion
78 }
79 if len(settings.Packages) == 0 {
80 return config, ErrNoPackages
81 }
82 if err := settings.ValidateGlobalOverrides(); err != nil {
83 return config, err
84 }
85 for j := range settings.Packages {
86 if settings.Packages[j].Path == "" {
87 return config, ErrNoPackagePath
88 }
89
90 if settings.Packages[j].Name == "" {
91 settings.Packages[j].Name = filepath.Base(settings.Packages[j].Path)
92 }
93
94 if settings.Packages[j].Engine == "" {
95 settings.Packages[j].Engine = EnginePostgreSQL
96 }
97 }
98
99 return settings.Translate(), nil
100}
101
102func (c *V1GenerateSettings) ValidateGlobalOverrides() error {
103 engines := map[Engine]struct{}{}

Callers 1

ParseConfigFunction · 0.85

Calls 2

TranslateMethod · 0.95

Tested by

no test coverage detected