$parse static method

$num<num>? $parse(
  1. Runtime runtime,
  2. $Value? target,
  3. List<$Value?> args
)

Wrapper of num.parse

Implementation

static $num? $parse(Runtime runtime, $Value? target, List<$Value?> args) {
  final source = args[0]!.$value as String;
  final onError = args[1]?.$value as EvalCallable?;
  final num result;
  try {
    result = num.parse(
        source,
        // ignore: deprecated_member_use
        onError == null
            ? null
            : (source) =>
                onError.call(runtime, null, [$String(source)])?.$value);
  } on FormatException catch (e) {
    runtime.$throw($FormatException.wrap(e));
    return null;
  }
  if (result is int) {
    return $int(result);
  }
  if (result is double) {
    return $double(result);
  }
  throw UnimplementedError();
}