func markerToStartState()

in ubjson/parse.go [834:871]


func markerToStartState(marker byte) (state, error) {
	switch marker {
	case nullMarker:
		return state{stFixed, stNil}, nil
	case noopMarker:
		return state{stFixed, stNoop}, nil
	case trueMarker:
		return state{stFixed, stTrue}, nil
	case falseMarker:
		return state{stFixed, stFalse}, nil
	case int8Marker:
		return state{stFixed, stInt8}, nil
	case uint8Marker:
		return state{stFixed, stUInt8}, nil
	case int16Marker:
		return state{stFixed, stInt16}, nil
	case int32Marker:
		return state{stFixed, stInt32}, nil
	case int64Marker:
		return state{stFixed, stInt64}, nil
	case float32Marker:
		return state{stFixed, stFloat32}, nil
	case float64Marker:
		return state{stFixed, stFloat64}, nil
	case highPrecMarker:
		return state{stHighPrec, stStart}, nil
	case charMarker:
		return state{stFixed, stChar}, nil
	case stringMarker:
		return state{stString, stStart}, nil
	case objStartMarker:
		return state{stObject, stStart}, nil
	case arrStartMarker:
		return state{stArray, stStart}, nil
	default:
		return state{stFail, stStart}, errUnknownMarker
	}
}