github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/builtins/types/csv-bad/map.go (about)

     1  package csvbad
     2  
     3  import (
     4  	"github.com/lmorg/murex/config"
     5  	"github.com/lmorg/murex/lang/stdio"
     6  	"github.com/lmorg/murex/lang/types"
     7  )
     8  
     9  func readMap(read stdio.Io, config *config.Config, callback func(*stdio.Map)) error {
    10  	csvParser, err := NewParser(read, config)
    11  	if err != nil {
    12  		return err
    13  	}
    14  
    15  	err = csvParser.ReadLine(func(records []string, headings []string) {
    16  		for i := range records {
    17  			callback(&stdio.Map{
    18  				Key:      headings[i],
    19  				Value:    records[i],
    20  				DataType: types.String,
    21  				Last:     i == len(records)-1,
    22  			})
    23  		}
    24  	})
    25  
    26  	return err
    27  }