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))
}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…