interpret method

  1. @override
String interpret(
  1. EditorContext context
)
override

Implementation

@override
String interpret(EditorContext context) {
  var buffer = StringBuffer();
  var namedParams = <String>[];
  var positionalParams = <String>[];

  if (parameters != null) {
    parameters!.forEach((param) {
      if (param.isNamed ?? false) {
        /// [named] - [required]
        if (param.isRequired ?? false) {
          namedParams.add('required ${param.name}');
        }
        /// [named] - [optional] param
        else {
          namedParams.add(param.name);
        }
      }
      /// [positional]
      else {
        positionalParams.add(param.name);
      }
    });
  }

  buffer.write(positionalParams.seperateWithComma);
  if (positionalParams.isNotEmpty && namedParams.isNotEmpty) buffer.write(', ');
  if (namedParams.isNotEmpty) buffer.write('{${namedParams.seperateWithComma}}');

  return buffer.toString();
}