moveCall static method

Map<String, dynamic> moveCall(
  1. dynamic input
)

Implementation

static Map<String, dynamic> moveCall(dynamic input) {
  late String pkg, mod, fn;
  List<dynamic> typeArguments = [], arguments = [];

  if (input is Map<String, dynamic> && input.containsKey('target')) {
    final parts = (input['target'] as String).split('::');
    pkg = parts[0];
    mod = parts.length > 1 ? parts[1] : '';
    fn = parts.length > 2 ? parts[2] : '';
    typeArguments = input['typeArguments'] ?? [];
    arguments = input['arguments'] ?? [];
  } else if (input is Map<String, dynamic>) {
    pkg = input['package'];
    mod = input['module'];
    fn = input['function'];
    typeArguments = input['typeArguments'] ?? [];
    arguments = input['arguments'] ?? [];
  }

  return {
    '\$kind': 'MoveCall',
    'MoveCall': {
      'package': pkg,
      'module': mod,
      'function': fn,
      'typeArguments': typeArguments,
      'arguments': arguments,
    },
  };
}