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

Function ParseConfig

internal/config/config.go:245–278  ·  view source on GitHub ↗
(rd io.Reader)

Source from the content-addressed store, hash-verified

243you've set it as the value of the SQLC_AUTH_TOKEN environment variable.`)
244
245func ParseConfig(rd io.Reader) (Config, error) {
246 var buf bytes.Buffer
247 var config Config
248 var version versionSetting
249
250 ver := io.TeeReader(rd, &buf)
251 dec := yaml.NewDecoder(ver)
252 if err := dec.Decode(&version); err != nil {
253 return config, err
254 }
255 if version.Number == "" {
256 return config, ErrMissingVersion
257 }
258 var err error
259 switch version.Number {
260 case "1":
261 config, err = v1ParseConfig(&buf)
262 if err != nil {
263 return config, err
264 }
265 case "2":
266 config, err = v2ParseConfig(&buf)
267 if err != nil {
268 return config, err
269 }
270 default:
271 return config, ErrUnknownVersion
272 }
273 err = config.addEnvVars()
274 if err != nil {
275 return config, err
276 }
277 return config, nil
278}
279
280type CombinedSettings struct {
281 Global Config

Callers 5

TestFormatFunction · 0.92
TestValidSchemaFunction · 0.92
readConfigFunction · 0.92
TestBadConfigsFunction · 0.85
FuzzConfigFunction · 0.85

Calls 3

addEnvVarsMethod · 0.95
v1ParseConfigFunction · 0.85
v2ParseConfigFunction · 0.85

Tested by 4

TestFormatFunction · 0.74
TestValidSchemaFunction · 0.74
TestBadConfigsFunction · 0.68
FuzzConfigFunction · 0.68