memberGet method

  1. @override
dynamic memberGet(
  1. String id, {
  2. String? from,
  3. bool isRecursive = false,
  4. bool ignoreUndefined = false,
})
override

Fetch a member by the id, in the form of

object.id

id must be of String type.

Implementation

@override
dynamic memberGet(String id,
    {String? from, bool isRecursive = false, bool ignoreUndefined = false}) {
  switch (id) {
    case 'List':
      return ({positionalArgs, namedArgs}) => List.from(positionalArgs);
    case 'List.filled':
      return ({positionalArgs, namedArgs}) => List.filled(
          positionalArgs[0], positionalArgs[1],
          growable: namedArgs['growable'] ?? false);
    case 'List.generate':
      return ({positionalArgs, namedArgs}) => List.generate(
          positionalArgs[0],
          (index) =>
              (positionalArgs[1] as HTFunction).call(positionalArgs: [index]),
          growable: namedArgs['growable'] ?? true);
    case 'List.unmodifiable':
      return ({positionalArgs, namedArgs}) =>
          List.unmodifiable(positionalArgs.first);

    default:
      if (!ignoreUndefined) throw HTError.undefined(id);
  }
}