ScriptConfig.fromJson constructor

ScriptConfig.fromJson(
  1. Map<String, Object?> json
)

Create a ScriptConfig from the provided json.

Implementation

factory ScriptConfig.fromJson(final Map<String, Object?> json) {
  final Object? operatingSystem = json['operatingSystem'];
  final Object? projectType = json['projectType'];
  final Object? projectDir = json['projectDir'];
  final Object? hooksDir = json['hooksDir'];
  final Object? commitMessageRule = json['commitMessageRule'];
  final Object? preCommitConfig = json['preCommitConfig'];

  return ScriptConfig(
    operatingSystem: operatingSystem is String
        ? operatingSystem
        : throw ArgumentError.value(operatingSystem, 'operatingSystem'),
    projectType: projectType is String
        ? projectType
        : throw ArgumentError.value(projectType, 'projectType'),
    projectDir: projectDir is String
        ? Directory(projectDir)
        : throw ArgumentError.value(projectDir, 'projectDir'),
    hooksDir: hooksDir is String
        ? Directory(hooksDir)
        : throw ArgumentError.value(hooksDir, 'hooksDir'),
    commitMessageRule: commitMessageRule is String
        ? commitMessageRule
        : throw ArgumentError.value(commitMessageRule, 'commitMessageRule'),
    preCommitConfig: preCommitConfig is Map<String, Object?>
        ? PreCommitConfig.fromJson(preCommitConfig)
        : throw ArgumentError.value(preCommitConfig, 'preCommitConfig'),
  );
}