Skip to content

Commit 63bd1e8

Browse files
committed
Fix validation issues in NSIDValidator
- Renamed a few variables. - Made sure the nsidPartTooLong error used the correct number. - Removed the inverted calls.
1 parent ca4fd94 commit 63bd1e8

1 file changed

Lines changed: 15 additions & 13 deletions

File tree

Sources/ATSyntaxTools/Validators/NSIDValidator.swift

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,19 @@ public enum NSIDValidator: ValidatorProtocol {
1414
///
1515
/// - Parameter nsid: The Namespace Identifier (NSID) to be validated.
1616
///
17-
/// - Throws: ``InvalidNSIDError`` , indicating the Namespace Identifier (NSID) is invalid.
17+
/// - Throws: ``InvalidNSIDError``, indicating the Namespace Identifier (NSID) is invalid.
1818
public static func validate(_ nsid: String) throws {
19-
let asciiCheck = CharacterSet.decimalDigits
19+
let allowedASCIICharacterSet = CharacterSet.decimalDigits
2020
.union(.uppercaseLetters)
2121
.union(.lowercaseLetters)
2222
.union(CharacterSet(charactersIn: "._-"))
2323

24-
guard nsid.rangeOfCharacter(from: asciiCheck.inverted) == nil else {
25-
throw InvalidHandleError.disallowedCharacter
24+
guard nsid.rangeOfCharacter(from: allowedASCIICharacterSet.inverted) == nil else {
25+
throw InvalidNSIDError.disallowedCharacter
2626
}
2727

28-
let nsidCount = nsid.count
29-
guard nsidCount <= 317 else {
28+
let nsidCharacterCount = nsid.count
29+
guard nsidCharacterCount <= 317 else {
3030
throw InvalidNSIDError.tooLong(maxCharacters: 317)
3131
}
3232

@@ -41,7 +41,7 @@ public enum NSIDValidator: ValidatorProtocol {
4141
}
4242

4343
guard nsidComponent.count <= 63 else {
44-
throw InvalidNSIDError.nsidPartTooLong(maxCharacters: nsidComponent.count)
44+
throw InvalidNSIDError.nsidPartTooLong(maxCharacters: 63)
4545
}
4646

4747
guard !nsidComponent.hasPrefix("-"), !nsidComponent.hasSuffix("-") else {
@@ -50,8 +50,9 @@ public enum NSIDValidator: ValidatorProtocol {
5050

5151
if index == 0,
5252
let firstCharacter = nsidComponent.first {
53-
let digitCheck = CharacterSet.decimalDigits
54-
guard String(firstCharacter).rangeOfCharacter(from: digitCheck.inverted) == nil else {
53+
let digitCharacterSet = CharacterSet.decimalDigits
54+
55+
guard String(firstCharacter).rangeOfCharacter(from: digitCharacterSet) == nil else {
5556
throw InvalidNSIDError.nsidPartStartsWithDigit
5657
}
5758

@@ -62,13 +63,14 @@ public enum NSIDValidator: ValidatorProtocol {
6263
let firstCharacter = nsidComponent.first {
6364
let remainingCharacters = nsidComponent.dropFirst()
6465

65-
let nameSegmentASCIICheckFirstCharacter = CharacterSet.uppercaseLetters
66+
let firstCharacterAllowedSet = CharacterSet.uppercaseLetters
6667
.union(.lowercaseLetters)
67-
let nameSegmentASCIICheck = nameSegmentASCIICheckFirstCharacter
68+
69+
let remainingCharactersAllowedSet = firstCharacterAllowedSet
6870
.union(.decimalDigits)
6971

70-
guard String(firstCharacter).rangeOfCharacter(from: nameSegmentASCIICheckFirstCharacter.inverted) == nil,
71-
String(remainingCharacters).rangeOfCharacter(from: nameSegmentASCIICheck.inverted) == nil else {
72+
guard String(firstCharacter).rangeOfCharacter(from: firstCharacterAllowedSet.inverted) == nil,
73+
String(remainingCharacters).rangeOfCharacter(from: remainingCharactersAllowedSet.inverted) == nil else {
7274
throw InvalidNSIDError.nsidNamePartContainsInvalidCharacter
7375
}
7476
}

0 commit comments

Comments
 (0)