INNER CODE UNIT · Go
parseConfig
open-policy-agent/conftest · builtins/parse_config.go:58
func parseConfig(bctx rego.BuiltinContext, op1, op2 *ast.Term) (*ast.Term, error) {
args, err := decodeArgs[string](op1, op2)
if err != nil {
return nil, fmt.Errorf("decode args: %w", err)
}
parserName, config := args[0], args[1]
parser, err := parser.New(parserName)
if err != nil {
return nil, fmt.Errorf("create config parser: %w", err)
}
var cfg any
if err := parser.Unmarshal([]byte(config), &cfg); err != nil {
return nil, fmt.Errorf("unmarshal config: %w", err)
}
return toAST(bctx, cfg, []byte(config))
}