wrap function
Wrap a raw Dart Object? into the BallValue hierarchy.
Implementation
BallValue wrap(Object? raw) {
if (raw == null) return const BallNull();
if (raw is BallValue) return raw;
if (raw is int) return BallInt(raw);
if (raw is double) return BallDouble(raw);
if (raw is bool) return BallBool(raw);
if (raw is String) return BallString(raw);
if (raw is List) return BallList(raw);
if (raw is Map<String, dynamic>) return BallMap(raw);
if (raw is Function) {
return BallFunction((arg) => (raw as dynamic)(arg));
}
return BallNull();
}