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

     1  package boolean
     2  
     3  import (
     4  	"github.com/lmorg/murex/lang"
     5  	"github.com/lmorg/murex/lang/types"
     6  )
     7  
     8  func marshal(_ *lang.Process, v interface{}) ([]byte, error) {
     9  	i, err := types.ConvertGoType(v, types.Boolean)
    10  	if err != nil {
    11  		return types.FalseByte, err
    12  	}
    13  
    14  	s, err := types.ConvertGoType(i, types.String)
    15  	return []byte(s.(string)), err
    16  }
    17  
    18  func unmarshal(p *lang.Process) (interface{}, error) {
    19  	b, err := p.Stdin.ReadAll()
    20  	if err != nil {
    21  		return false, err
    22  	}
    23  
    24  	return types.ConvertGoType(b, types.Boolean)
    25  }