code: func typeifyParsedLine(pl map[string]string) map[string]interface{} {
  	// try to convert numbers, if possible
  	msi := make(map[string]interface{}, len(pl))
  	for k, v := range pl {
  		switch {
  		case strings.Contains(v, "."):
  			f, err := strconv.ParseFloat(v, 64)
  			if err == nil {
  				msi[k] = f
  				continue
  			}
  		case v == "-":
  			// no value, don't set a "-" string
  			continue
  		default:
  			i, err := strconv.ParseInt(v, 10, 64)
  			if err == nil {
  				msi[k] = i
  				continue
  			}
  		}
  		msi[k] = v
  	}
  	return msi
  }
docs: // typeifyParsedLine attempts to cast numbers in the event to floats or ints