toArgBuffer static method

Uint8List toArgBuffer(
  1. dynamic value
)

Implementation

static Uint8List toArgBuffer(dynamic value) {
  // Do net use swith(value.runtimeType) !!!
  if (value == null) {
    return Uint8List(0);
  } else if (value is Uint8List) {
    return value;
  } else if (value is bool) {
    return BoolValue(value: value).writeToBuffer();
  } else if (value is String) {
    return StringValue(value: value).writeToBuffer();
  } else if (value is int) {
    return Int64Value(value: Int64(value)).writeToBuffer();
  } else if (value is double) {
    return DoubleValue(value: value).writeToBuffer();
  } else if (value is Int32List) {
    return Int32ListValue(value: value).writeToBuffer();
  } else if (value is Int64List) {
    List<Int64> valueList = [];
    for (var item in value) {
      valueList.add(Int64(item));
    }
    return Int64ListValue(value: valueList).writeToBuffer();
  } else if (value is Float64List) {
    return DoubleListValue(value: value).writeToBuffer();
  } else {
    return value.writeToBuffer();
  }
}