package jsonnet

import (
	// "bytes"
	// "encoding/json"
	// "io"

	jsonnet "github.com/google/go-jsonnet"
	// jsonnetAst "github.com/google/go-jsonnet/ast"
	// "k8s.io/apimachinery/pkg/util/yaml"
)

// RegisterNativeFuncs adds kubecfg's native jsonnet functions to provided VM
func RegisterNativeFuncs(vm *jsonnet.VM) {
	// vm.NativeFunction(&jsonnet.NativeFunction{
	// 	Name:   "parseJson",
	// 	Params: []jsonnetAst.Identifier{"json"},
	// 	Func: func(args []interface{}) (res interface{}, err error) {
	// 		data := []byte(args[0].(string))
	// 		err = json.Unmarshal(data, &res)
	// 		return
	// 	},
	// })

	// vm.NativeFunction(&jsonnet.NativeFunction{
	// 	Name:   "parseYaml",
	// 	Params: []jsonnetAst.Identifier{"yaml"},
	// 	Func: func(args []interface{}) (res interface{}, err error) {
	// 		ret := []interface{}{}
	// 		data := []byte(args[0].(string))
	// 		d := yaml.NewYAMLToJSONDecoder(bytes.NewReader(data))
	// 		for {
	// 			var doc interface{}
	// 			if err := d.Decode(&doc); err != nil {
	// 				if err == io.EOF {
	// 					break
	// 				}
	// 				return nil, err
	// 			}
	// 			ret = append(ret, doc)
	// 		}
	// 		return ret, nil
	// 	},
	// })
}
