asVariant property
dynamic
get
asVariant
Implementation
dynamic get asVariant => isNull ? null : _value;
set
asVariant
(dynamic aValue)
Implementation
set asVariant(dynamic aValue) {
_value = aValue;
bound = aValue != null; // not VarIsClear
if (_dataType == TFieldType.ftUnknown) {
if (aValue is bool) {
_dataType = TFieldType.ftBoolean;
} else if (aValue is int) {
// varInteger/varInt64 are both Dart int; a value out of 32-bit range maps to
// varInt64 → ftLargeInt
_dataType = (aValue >= -2147483648 && aValue <= 2147483647)
? TFieldType.ftInteger
: TFieldType.ftLargeint;
} else if (aValue is double) {
_dataType = TFieldType.ftFloat;
} else if (aValue is DateTime) {
_dataType = TFieldType.ftDateTime;
} else if (aValue is String) {
if (_dataType != TFieldType.ftFixedChar) {
_dataType = TFieldType.ftString;
}
} else if (aValue is Uint8List || aValue is List<int>) {
_dataType = TFieldType.ftVarBytes;
} else {
_dataType = TFieldType.ftUnknown;
}
}
}