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
}
}