constructor method

String constructor(
  1. dynamic k, {
  2. Map<String, String>? refers,
})

constructor

Implementation

String constructor(DartType k, {Map<String, String>? refers}) {
  if (k.isDartAsyncFuture || k.isDartAsyncFutureOr) {
    if (k is! ParameterizedType || k.typeArguments.isEmpty) {
      return 'null';
    }
    return constructor(k.typeArguments[0]);
  }
  if (k.isDartCoreBool) {
    return 'false';
  }
  if (k.isDartCoreDouble || k.isDartCoreInt || k.isDartCoreNum) {
    return '0';
  }
  if (k.isDartCoreNull || k.isDartCoreObject || k.isDartCoreRecord) {
    return 'null';
  }
  if (k.isDartCoreString) {
    return '\'\'';
  }
  final gt = display(k, refers: refers) ?? 'dynamic';
  if (k.isDartCoreMap || k.isDartCoreSet) {
    return '${gt.substring(3)}{}';
  }
  if (k.isDartCoreList) {
    return '${gt.substring(4)}[]';
  }
  switch (gt) {
    case 'void':
    case 'dynamic':
      return 'null';
    case 'Uint8List':
      return 'Uint8List(0)';
    default:
      return '$gt()';
  }
}