save method

Future<void> save({
  1. required CatalogConfig config,
  2. required String projectRootPath,
  3. required CatalogState state,
})

Implementation

Future<void> save({
  required CatalogConfig config,
  required String projectRootPath,
  required CatalogState state,
}) async {
  final statePath = config.resolveStateFilePath(projectRootPath);
  final file = File(statePath);
  final directory = Directory(PathUtils.dirname(file.path));
  if (!directory.existsSync()) {
    await directory.create(recursive: true);
  }

  state.sourceLocale = config.effectiveSourceLocale;
  state.format = catalogFileFormatToString(config.format);
  await file.writeAsString(
    const JsonEncoder.withIndent('  ').convert(state.toJson()),
  );
}