validateConfig static method

String? validateConfig(
  1. dynamic option, {
  2. required String configName,
})

Validate configuration option for FileEntry.

Implementation

static String? validateConfig(dynamic option, {required String configName}) {
  if (option == null) return null;
  if (option is String) {
    return null;
  }
  if (option is Map<String, dynamic>) {
    if (option['path'] == null) {
      return "path field is missing from inno_bundle.files entry in $configName, "
          "it must be a string.";
    }
    final path = option['path'];
    if (path is! String) {
      return "path field in inno_bundle.files entry in $configName must be a string.";
    }
    if (option['name'] != null && option['name'] is! String) {
      return "name field in inno_bundle.files entry in $configName must be a string or null.";
    }
    if (option['required'] != null && option['required'] is! bool) {
      return "required field in inno_bundle.files entry in $configName must be a boolean or null.";
    }
    if (option['source'] != null &&
        (option['source'] is! String ||
            !FileSource.literalValues.contains(option['source']))) {
      return "source field in inno_bundle.files entry in $configName must be "
          "one of ${FileSource.literalValues.join(', ')} or null.";
    }
    return null;
  }

  return "inno_bundle.files attribute is invalid in $configName.";
}