wrap function

BallValue wrap(
  1. Object? raw
)

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();
}