pick function

Pick pick(
  1. dynamic json, [
  2. Object? arg0,
  3. Object? arg1,
  4. Object? arg2,
  5. Object? arg3,
  6. Object? arg4,
  7. Object? arg5,
  8. Object? arg6,
  9. Object? arg7,
  10. Object? arg8,
  11. Object? arg9,
])

Picks the value of a json-like dart data structure consisting of Maps, Lists and objects at location arg0, arg1 ... arg9

args may be

  • a String to pick values from a Map
  • or int when you want to pick a value at index from a List

If objects are deeper than 10, use pickDeep

Implementation

Pick pick(
  /*Map|List|null*/ dynamic json, [
  /*String|int|null*/ Object? arg0,
  /*String|int|null*/ Object? arg1,
  /*String|int|null*/ Object? arg2,
  /*String|int|null*/ Object? arg3,
  /*String|int|null*/ Object? arg4,
  /*String|int|null*/ Object? arg5,
  /*String|int|null*/ Object? arg6,
  /*String|int|null*/ Object? arg7,
  /*String|int|null*/ Object? arg8,
  /*String|int|null*/ Object? arg9,
]) {
  final selectors = [arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9]
      // null is a sign for unused 'varargs'
      .where((dynamic it) => it != null)
      .cast<Object>()
      .toList(growable: false);
  return _drillDown(json, selectors);
}