instanceMemberGet method

  1. @override
dynamic instanceMemberGet(
  1. dynamic instance,
  2. String id, {
  3. bool ignoreUndefined = false,
})
override

Default HTExternalClass constructor. Fetch a instance member of the Dart class by the id, in the form of

object.key

Implementation

@override
dynamic instanceMemberGet(dynamic instance, String id,
    {bool ignoreUndefined = false}) {
  switch (id) {
    case 'characters':
      return ({object, positionalArgs, namedArgs}) => Characters(object);
    case 'toString':
      return ({object, positionalArgs, namedArgs}) => object.toString();
    case 'compareTo':
      return ({object, positionalArgs, namedArgs}) =>
          object.compareTo(positionalArgs[0]);
    case 'codeUnitAt':
      return ({object, positionalArgs, namedArgs}) =>
          object.codeUnitAt(positionalArgs[0]);
    case 'length':
      return instance.length;
    case 'endsWith':
      return ({object, positionalArgs, namedArgs}) =>
          object.endsWith(positionalArgs[0]);
    case 'startsWith':
      return ({object, positionalArgs, namedArgs}) =>
          object.startsWith(positionalArgs[0], positionalArgs[1]);
    case 'indexOf':
      return ({object, positionalArgs, namedArgs}) =>
          object.indexOf(positionalArgs[0], positionalArgs[1]);
    case 'lastIndexOf':
      return ({object, positionalArgs, namedArgs}) =>
          object.lastIndexOf(positionalArgs[0], positionalArgs[1]);
    case 'isEmpty':
      return instance.isEmpty;
    case 'isNotEmpty':
      return instance.isNotEmpty;
    case 'substring':
      return ({object, positionalArgs, namedArgs}) =>
          object.substring(positionalArgs[0], positionalArgs[1]);
    case 'trim':
      return ({object, positionalArgs, namedArgs}) => object.trim();
    case 'trimLeft':
      return ({object, positionalArgs, namedArgs}) => object.trimLeft();
    case 'trimRight':
      return ({object, positionalArgs, namedArgs}) => object.trimRight();
    case 'padLeft':
      return ({object, positionalArgs, namedArgs}) =>
          object.padLeft(positionalArgs[0], positionalArgs[1]);
    case 'padRight':
      return ({object, positionalArgs, namedArgs}) =>
          object.padRight(positionalArgs[0], positionalArgs[1]);
    case 'contains':
      return ({object, positionalArgs, namedArgs}) =>
          object.contains(positionalArgs[0], positionalArgs[1]);
    case 'replaceFirst':
      return ({object, positionalArgs, namedArgs}) => object.replaceFirst(
          positionalArgs[0], positionalArgs[1], positionalArgs[2]);
    case 'replaceAll':
      return ({object, positionalArgs, namedArgs}) =>
          object.replaceAll(positionalArgs[0], positionalArgs[1]);
    case 'replaceRange':
      return ({object, positionalArgs, namedArgs}) => object.replaceRange(
          positionalArgs[0], positionalArgs[1], positionalArgs[2]);
    case 'split':
      return ({object, positionalArgs, namedArgs}) =>
          object.split(positionalArgs[0]);
    case 'toLowerCase':
      return ({object, positionalArgs, namedArgs}) => object.toLowerCase();
    case 'toUpperCase':
      return ({object, positionalArgs, namedArgs}) => object.toUpperCase();
    default:
      throw HTError.undefined(id);
  }
}