|
7 | 7 | // ParseMode is an enum-like type used with ParseAs. |
8 | 8 | type ParseMode int |
9 | 9 |
|
10 | | -var invalidSemverError = errors.New("invalid semantic version") |
| 10 | +var errInvalidSemver = errors.New("invalid semantic version") |
11 | 11 |
|
12 | 12 | const ( |
13 | 13 | // ParseModeStrict is the default parsing mode, requiring a strictly correct version string with |
@@ -45,46 +45,46 @@ func ParseAs(s string, mode ParseMode) (Version, error) { |
45 | 45 | if mode == ParseModeAllowMissingMinorAndPatch { |
46 | 46 | result.major, term, ok = requirePositiveIntegerComponent(&scanner, dotOrHyphenOrPlusTerminator) |
47 | 47 | if !ok { |
48 | | - return Version{}, invalidSemverError |
| 48 | + return Version{}, errInvalidSemver |
49 | 49 | } |
50 | 50 | if term == '.' { |
51 | 51 | result.minor, term, ok = requirePositiveIntegerComponent(&scanner, dotOrHyphenOrPlusTerminator) |
52 | 52 | if !ok { |
53 | | - return Version{}, invalidSemverError |
| 53 | + return Version{}, errInvalidSemver |
54 | 54 | } |
55 | 55 | if term == '.' { |
56 | 56 | result.patch, term, ok = requirePositiveIntegerComponent(&scanner, hyphenOrPlusTerminator) |
57 | 57 | if !ok { |
58 | | - return Version{}, invalidSemverError |
| 58 | + return Version{}, errInvalidSemver |
59 | 59 | } |
60 | 60 | } |
61 | 61 | } |
62 | 62 | } else { |
63 | 63 | result.major, term, ok = requirePositiveIntegerComponent(&scanner, dotTerminator) |
64 | 64 | if !ok || term != '.' { |
65 | | - return Version{}, invalidSemverError |
| 65 | + return Version{}, errInvalidSemver |
66 | 66 | } |
67 | 67 | result.minor, term, ok = requirePositiveIntegerComponent(&scanner, dotTerminator) |
68 | 68 | if !ok || term != '.' { |
69 | | - return Version{}, invalidSemverError |
| 69 | + return Version{}, errInvalidSemver |
70 | 70 | } |
71 | 71 | result.patch, term, ok = requirePositiveIntegerComponent(&scanner, hyphenOrPlusTerminator) |
72 | 72 | if !ok { |
73 | | - return Version{}, invalidSemverError |
| 73 | + return Version{}, errInvalidSemver |
74 | 74 | } |
75 | 75 | } |
76 | 76 |
|
77 | 77 | if term == '-' { |
78 | 78 | result.prerelease, term = scanner.readUntil(plusTerminator) |
79 | 79 | if result.prerelease == "" || term == scannerNonASCII || !validatePrerelease(result.prerelease) { |
80 | | - return Version{}, invalidSemverError |
| 80 | + return Version{}, errInvalidSemver |
81 | 81 | } |
82 | 82 | } |
83 | 83 |
|
84 | 84 | if term == '+' { |
85 | 85 | result.build, term = scanner.readUntil(noTerminator) |
86 | 86 | if result.build == "" || term == scannerNonASCII || !validateBuild(result.build) { |
87 | | - return Version{}, invalidSemverError |
| 87 | + return Version{}, errInvalidSemver |
88 | 88 | } |
89 | 89 | } |
90 | 90 |
|
|
0 commit comments