ProtoValueNormalizer

Нормализатор "сырых" входных значений под ProtoVarType.

Идея:

  • принимаем raw (одиночное значение или коллекцию в разных видах),

  • приводим элементы к каноническому типу (Boolean/Int/UInt/Long/ULong/Double/String/Long(millis)/ByteString/Proto*),

  • возвращаем список типизированных значений (для статических типов размер списка == 1).

Functions

Link copied to clipboard
inline fun <T> asList(norm: List<Any>): List<T>

Кастит список значений к List.

Link copied to clipboard
Link copied to clipboard

Формирует пустой ByteBuffer с указанным размером

Link copied to clipboard
fun normalizeByType(type: ProtoVarType, raw: Any, legacyDateFormat: DateFormat? = null): List<Any>

Нормализация сырого значения

Link copied to clipboard
inline fun <T> single(norm: List<Any>): T

Достаёт единственный элемент и приводит его к T.