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 'Map':
      return ({positionalArgs, namedArgs}) => {};
    case 'Map.unmodifiable':
      return ({positionalArgs, namedArgs}) =>
          Map.unmodifiable(positionalArgs.first);
    case 'Map.fromIterable':
      return ({positionalArgs, namedArgs}) => Map.fromIterable(
            positionalArgs[0],
            key: namedArgs['key'] != null
                ? (element) => (namedArgs['key'] as HTFunction)
                    .call(positionalArgs: [element])
                : null,
            value: namedArgs['value'] != null
                ? (element) => (namedArgs['value'] as HTFunction)
                    .call(positionalArgs: [element])
                : null,
          );
    case 'Map.fromEntries':
      return ({positionalArgs, namedArgs}) =>
          Map.fromEntries(positionalArgs.first);

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