extractVar method

  1. @override
dynamic extractVar(
  1. String path
)
override

Implementation

@override
dynamic extractVar(String path) {
  final frags = path.split("/");

  dynamic target = vars;

  for (final frag in frags) {
    dynamic value;
    if (target is List) {
      final list = target;
      try {
        value = list[int.parse(frag)];
      } catch (e) {
        value = null;
      }
    } else if (target is Map) {
      final map = target as Map<String, dynamic>;
      value = map[frag];
    }

    if (value != null) {
      target = value;
      continue;
    }

    return null;
  }

  return target;
}