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

     1  package paths
     2  
     3  import (
     4  	"github.com/lmorg/murex/lang"
     5  	"github.com/lmorg/murex/utils/path"
     6  )
     7  
     8  func indexPath(p *lang.Process, params []string) error {
     9  	v, err := unmarshalPath(p)
    10  	if err != nil {
    11  		return err
    12  	}
    13  
    14  	return lang.IndexTemplateObject(p, params, &v, path.Marshal)
    15  }
    16  
    17  func indexPaths(p *lang.Process, params []string) error {
    18  	v, err := unmarshalPaths(p)
    19  	if err != nil {
    20  		return err
    21  	}
    22  
    23  	marshaller := func(v interface{}) ([]byte, error) {
    24  		return marshalPaths(nil, v)
    25  	}
    26  
    27  	return lang.IndexTemplateObject(p, params, &v, marshaller)
    28  }