refactor(git_types): use enums (#53)

Use Dart's new feature "Enhanced enums with members".
This commit is contained in:
Aleksey Kulikov 2022-05-05 13:12:47 +03:00 committed by GitHub
parent 984b44d992
commit e9e70cfc62
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 863 additions and 1512 deletions

View file

@ -99,7 +99,7 @@ class Config with IterableMixin<ConfigEntry> {
final name = entryPointer.ref.name.cast<Utf8>().toDartString();
final value = entryPointer.ref.value.cast<Utf8>().toDartString();
final includeDepth = entryPointer.ref.include_depth;
final level = GitConfigLevel.values.singleWhere(
final level = GitConfigLevel.values.firstWhere(
(e) => entryPointer.ref.level == e.value,
);
@ -261,7 +261,7 @@ class _ConfigIterator implements Iterator<ConfigEntry> {
final name = entry.value.ref.name.cast<Utf8>().toDartString();
final value = entry.value.ref.value.cast<Utf8>().toDartString();
final includeDepth = entry.value.ref.include_depth;
final level = GitConfigLevel.values.singleWhere(
final level = GitConfigLevel.values.firstWhere(
(e) => entry.value.ref.level == e.value,
);

View file

@ -481,7 +481,7 @@ class DiffDelta {
/// Type of change.
GitDelta get status {
return GitDelta.values.singleWhere(
return GitDelta.values.firstWhere(
(e) => _diffDeltaPointer.ref.status == e.value,
);
}
@ -552,7 +552,7 @@ class DiffFile {
/// One of the [GitFilemode] values.
GitFilemode get mode {
return GitFilemode.values.singleWhere((e) => _diffFile.mode == e.value);
return GitFilemode.values.firstWhere((e) => _diffFile.mode == e.value);
}
@override

File diff suppressed because it is too large Load diff

View file

@ -349,7 +349,7 @@ class IndexEntry {
/// UNIX file attributes of a index entry.
GitFilemode get mode {
return GitFilemode.values.singleWhere(
return GitFilemode.values.firstWhere(
(mode) => _indexEntryPointer.ref.mode == mode.value,
);
}

View file

@ -69,7 +69,7 @@ class Merge {
final result = GitMergeAnalysis.values
.where((e) => analysisInt[0] & e.value == e.value)
.toSet();
final preference = GitMergePreference.values.singleWhere(
final preference = GitMergePreference.values.firstWhere(
(e) => analysisInt[1] == e.value,
);

View file

@ -125,7 +125,7 @@ class OdbObject {
/// Type of an ODB object.
GitObject get type {
final typeInt = bindings.objectType(_odbObjectPointer);
return GitObject.values.singleWhere((e) => typeInt == e.value);
return GitObject.values.firstWhere((e) => typeInt == e.value);
}
/// Uncompressed, raw data as read from the ODB, without the leading header.

View file

@ -220,7 +220,7 @@ class Patch {
);
lines.add(
DiffLine._(
origin: GitDiffLine.values.singleWhere(
origin: GitDiffLine.values.firstWhere(
(e) => linePointer.ref.origin == e.value,
),
oldLineNumber: linePointer.ref.old_lineno,

View file

@ -158,7 +158,7 @@ class RebaseOperation {
/// Type of rebase operation.
GitRebaseOperation get type {
return GitRebaseOperation.values.singleWhere(
return GitRebaseOperation.values.firstWhere(
(e) => _rebaseOperationPointer.ref.type == e.value,
);
}

View file

@ -330,7 +330,7 @@ class Repository {
/// cherry-pick, etc) is in progress.
GitRepositoryState get state {
final stateInt = bindings.state(_repoPointer);
return GitRepositoryState.values.singleWhere(
return GitRepositoryState.values.firstWhere(
(state) => stateInt == state.value,
);
}

View file

@ -229,7 +229,7 @@ class Submodule {
/// Ignore rule that will be used for the submodule.
GitSubmoduleIgnore get ignore {
final ruleInt = bindings.ignore(_submodulePointer);
return GitSubmoduleIgnore.values.singleWhere((e) => ruleInt == e.value);
return GitSubmoduleIgnore.values.firstWhere((e) => ruleInt == e.value);
}
/// Sets the ignore rule for the submodule in the configuration.
@ -245,7 +245,7 @@ class Submodule {
/// This value controls the behavior of the `git submodule update` command.
GitSubmoduleUpdate get updateRule {
final ruleInt = bindings.updateRule(_submodulePointer);
return GitSubmoduleUpdate.values.singleWhere((e) => ruleInt == e.value);
return GitSubmoduleUpdate.values.firstWhere((e) => ruleInt == e.value);
}
/// Sets the update rule for the submodule in the configuration.

View file

@ -137,7 +137,7 @@ class TreeEntry {
/// UNIX file attributes of a tree entry.
GitFilemode get filemode {
final modeInt = bindings.entryFilemode(_treeEntryPointer);
return GitFilemode.values.singleWhere((mode) => modeInt == mode.value);
return GitFilemode.values.firstWhere((mode) => modeInt == mode.value);
}
/// Releases memory allocated for tree entry object.

View file

@ -471,13 +471,13 @@ index e69de29..c217c63 100644
newTree: Tree.lookup(repo: repo, oid: repo.index.writeTree()),
);
expect(
diff.deltas.singleWhere((e) => e.newFile.path == 'staged_new').status,
diff.deltas.firstWhere((e) => e.newFile.path == 'staged_new').status,
GitDelta.added,
);
diff.findSimilar();
expect(
diff.deltas.singleWhere((e) => e.newFile.path == 'staged_new').status,
diff.deltas.firstWhere((e) => e.newFile.path == 'staged_new').status,
GitDelta.renamed,
);
});

File diff suppressed because it is too large Load diff