ConfigData.fromYaml constructor

ConfigData.fromYaml({
  1. required YamlMap pubspecYaml,
  2. required YamlMap dpkYaml,
  3. required String workingDirectory,
  4. String? workspaceRoot,
})

Implementation

factory ConfigData.fromYaml({
  required YamlMap pubspecYaml,
  required YamlMap dpkYaml,
  required String workingDirectory,
  String? workspaceRoot,
}) {
  final pubspec = Pubspec.fromJson(pubspecYaml);
  final rawScripts = dpkYaml['scripts'];
  if (rawScripts is! YamlMap?) {
    throw StateError('Invalid scripts section');
  }

  final dpkConfig = DpkConfig.fromYaml(dpkYaml);
  late final Scripts? scripts;
  if (rawScripts != null) {
    scripts = Scripts.fromYaml(rawScripts);
  } else {
    scripts = null;
  }

  return ConfigData(
    pubspec: pubspec,
    dpkConfig: dpkConfig,
    scripts: scripts,
    workingDirectory: workingDirectory,
    workspaceRoot: workspaceRoot,
  );
}