github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/builtins/types/json/index.go (about)

     1  package json
     2  
     3  import (
     4  	"github.com/lmorg/murex/lang"
     5  	"github.com/lmorg/murex/utils/json"
     6  )
     7  
     8  func index(p *lang.Process, params []string) error {
     9  	var jInterface interface{}
    10  
    11  	b, err := p.Stdin.ReadAll()
    12  	if err != nil {
    13  		return err
    14  	}
    15  
    16  	err = json.Unmarshal(b, &jInterface)
    17  	if err != nil {
    18  		return err
    19  	}
    20  
    21  	marshaller := func(iface interface{}) ([]byte, error) {
    22  		return json.Marshal(iface, p.Stdout.IsTTY())
    23  	}
    24  
    25  	return lang.IndexTemplateObject(p, params, &jInterface, marshaller)
    26  }