fromFile static method

Future<Config> fromFile()

Implementation

static Future<Config> fromFile() async {
  final dir = Directory.systemTemp;
  final file = File('${dir.path}/config.json');
  if (await file.exists()) {
    final content = await file.readAsString();
    final config = Config.fromJson(content);
    if (await File(config.templatePath ?? '').exists()) {
      return config;
    } else {
      return config.copyWith(templatePath: null);
    }
  } else {
    final config = Config(
      templatePath: null,
      defaultModuleName: 'test',
    );

    await file.create(recursive: true);
    await file.writeAsString(config.toJson());
    return config;
  }
}