You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cake_wallet/lib/entities/generate_name.dart

25 lines
846 B

import 'dart:math';
import 'package:flutter/services.dart';
extension StringExtension on String {
String capitalized() {
return "${this[0].toUpperCase()}${this.substring(1)}";
}
}
Future<String> generateName() async {
final randomThing = Random();
final adjectiveStringRaw =
await rootBundle.loadString('assets/text/Wallet_Adjectives.txt');
final nounStringRaw =
await rootBundle.loadString('assets/text/Wallet_Nouns.txt');
final adjectives = List<String>.from(adjectiveStringRaw.split('\n'));
final nouns = List<String>.from(nounStringRaw.split('\n'));
final chosenAdjective = adjectives[randomThing.nextInt(adjectives.length)];
final chosenNoun = nouns[randomThing.nextInt(nouns.length)];
final returnString =
chosenAdjective.capitalized() + ' ' + chosenNoun.capitalized();
return returnString;
}