func deser()

in EVChecker/main.go [78:111]


func deser(src []byte) ([]*EVInfo, error) {
	kEVinfos := make([]*EVInfo, 0)
	r := bytes.NewReader(src)
	var b rune
	var err error
	// consumes all declaration info up to the opening brace that starts the array literal.
	// 		I.E. static const struct .... {
	for b, _, err = r.ReadRune(); err == nil && b != '{'; b, _, err = r.ReadRune() {
	}
	if err != nil {
		return kEVinfos, errors.Wrap(err, "failed to begin reading the kEVinfos array")
	}
	for {
		b, err := consumeWhiteSpace(r)
		if err != nil {
			return kEVinfos, err
		}
		switch b {
		case '{':
			// Begin an EVInfo object boundary.
			evinfo, err := NewEVInfo(r)
			if err != nil {
				return kEVinfos, err
			}
			kEVinfos = append(kEVinfos, evinfo)
		case '}':
			// The end of the kEVinfo array
			return kEVinfos, nil
		default:
			return kEVinfos, errors.New(fmt.Sprintf(`received an unexpected character while parsing the kEVInfos array, got ""%s"`, string(b)))
		}

	}
}