forked from loafle/openapi-generator-original
[swift6] Add typed throws to Validation functions (#20903)
This commit is contained in:
parent
02307dbf0c
commit
1eb8c58446
@ -48,9 +48,8 @@ extension NumericRule: Sendable where T: Sendable {}
|
||||
/// - Parameter string: The String you wish to validate.
|
||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||
/// - Returns: A validated string.
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
||||
/// `NSError` if the rule.pattern is invalid.
|
||||
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} static func validate(_ string: String, against rule: StringRule) throws -> String {
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||
error.kinds.insert(.minLength)
|
||||
@ -59,9 +58,9 @@ extension NumericRule: Sendable where T: Sendable {}
|
||||
error.kinds.insert(.maxLength)
|
||||
}
|
||||
if let pattern = rule.pattern {
|
||||
let matches = try NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
let matches = try? NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||
if matches.isEmpty {
|
||||
if matches?.isEmpty != false {
|
||||
error.kinds.insert(.pattern)
|
||||
}
|
||||
}
|
||||
@ -76,7 +75,7 @@ extension NumericRule: Sendable where T: Sendable {}
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated integer.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -108,7 +107,7 @@ extension NumericRule: Sendable where T: Sendable {}
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated fractional number.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -140,7 +139,7 @@ extension NumericRule: Sendable where T: Sendable {}
|
||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||
/// - Returns: A validated array.
|
||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
||||
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws -> Array<AnyHashable> {
|
||||
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws(ValidationError<ArrayValidationErrorKind>) -> Array<AnyHashable> {
|
||||
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||
error.kinds.insert(.minItems)
|
||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
||||
/// - Parameter string: The String you wish to validate.
|
||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||
/// - Returns: A validated string.
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
||||
/// `NSError` if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||
error.kinds.insert(.minLength)
|
||||
@ -59,9 +58,9 @@ public struct Validator {
|
||||
error.kinds.insert(.maxLength)
|
||||
}
|
||||
if let pattern = rule.pattern {
|
||||
let matches = try NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
let matches = try? NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||
if matches.isEmpty {
|
||||
if matches?.isEmpty != false {
|
||||
error.kinds.insert(.pattern)
|
||||
}
|
||||
}
|
||||
@ -76,7 +75,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated integer.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -108,7 +107,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated fractional number.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -140,7 +139,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||
/// - Returns: A validated array.
|
||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws -> Array<AnyHashable> {
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws(ValidationError<ArrayValidationErrorKind>) -> Array<AnyHashable> {
|
||||
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||
error.kinds.insert(.minItems)
|
||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
||||
/// - Parameter string: The String you wish to validate.
|
||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||
/// - Returns: A validated string.
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
||||
/// `NSError` if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||
error.kinds.insert(.minLength)
|
||||
@ -59,9 +58,9 @@ public struct Validator {
|
||||
error.kinds.insert(.maxLength)
|
||||
}
|
||||
if let pattern = rule.pattern {
|
||||
let matches = try NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
let matches = try? NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||
if matches.isEmpty {
|
||||
if matches?.isEmpty != false {
|
||||
error.kinds.insert(.pattern)
|
||||
}
|
||||
}
|
||||
@ -76,7 +75,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated integer.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -108,7 +107,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated fractional number.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -140,7 +139,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||
/// - Returns: A validated array.
|
||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws -> Array<AnyHashable> {
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws(ValidationError<ArrayValidationErrorKind>) -> Array<AnyHashable> {
|
||||
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||
error.kinds.insert(.minItems)
|
||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
||||
/// - Parameter string: The String you wish to validate.
|
||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||
/// - Returns: A validated string.
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
||||
/// `NSError` if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||
error.kinds.insert(.minLength)
|
||||
@ -59,9 +58,9 @@ public struct Validator {
|
||||
error.kinds.insert(.maxLength)
|
||||
}
|
||||
if let pattern = rule.pattern {
|
||||
let matches = try NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
let matches = try? NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||
if matches.isEmpty {
|
||||
if matches?.isEmpty != false {
|
||||
error.kinds.insert(.pattern)
|
||||
}
|
||||
}
|
||||
@ -76,7 +75,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated integer.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -108,7 +107,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated fractional number.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -140,7 +139,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||
/// - Returns: A validated array.
|
||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws -> Array<AnyHashable> {
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws(ValidationError<ArrayValidationErrorKind>) -> Array<AnyHashable> {
|
||||
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||
error.kinds.insert(.minItems)
|
||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
||||
/// - Parameter string: The String you wish to validate.
|
||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||
/// - Returns: A validated string.
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
||||
/// `NSError` if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||
error.kinds.insert(.minLength)
|
||||
@ -59,9 +58,9 @@ public struct Validator {
|
||||
error.kinds.insert(.maxLength)
|
||||
}
|
||||
if let pattern = rule.pattern {
|
||||
let matches = try NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
let matches = try? NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||
if matches.isEmpty {
|
||||
if matches?.isEmpty != false {
|
||||
error.kinds.insert(.pattern)
|
||||
}
|
||||
}
|
||||
@ -76,7 +75,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated integer.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -108,7 +107,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated fractional number.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -140,7 +139,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||
/// - Returns: A validated array.
|
||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws -> Array<AnyHashable> {
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws(ValidationError<ArrayValidationErrorKind>) -> Array<AnyHashable> {
|
||||
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||
error.kinds.insert(.minItems)
|
||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
||||
/// - Parameter string: The String you wish to validate.
|
||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||
/// - Returns: A validated string.
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
||||
/// `NSError` if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||
error.kinds.insert(.minLength)
|
||||
@ -59,9 +58,9 @@ public struct Validator {
|
||||
error.kinds.insert(.maxLength)
|
||||
}
|
||||
if let pattern = rule.pattern {
|
||||
let matches = try NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
let matches = try? NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||
if matches.isEmpty {
|
||||
if matches?.isEmpty != false {
|
||||
error.kinds.insert(.pattern)
|
||||
}
|
||||
}
|
||||
@ -76,7 +75,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated integer.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -108,7 +107,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated fractional number.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -140,7 +139,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||
/// - Returns: A validated array.
|
||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws -> Array<AnyHashable> {
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws(ValidationError<ArrayValidationErrorKind>) -> Array<AnyHashable> {
|
||||
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||
error.kinds.insert(.minItems)
|
||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
||||
/// - Parameter string: The String you wish to validate.
|
||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||
/// - Returns: A validated string.
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
||||
/// `NSError` if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||
error.kinds.insert(.minLength)
|
||||
@ -59,9 +58,9 @@ public struct Validator {
|
||||
error.kinds.insert(.maxLength)
|
||||
}
|
||||
if let pattern = rule.pattern {
|
||||
let matches = try NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
let matches = try? NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||
if matches.isEmpty {
|
||||
if matches?.isEmpty != false {
|
||||
error.kinds.insert(.pattern)
|
||||
}
|
||||
}
|
||||
@ -76,7 +75,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated integer.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -108,7 +107,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated fractional number.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -140,7 +139,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||
/// - Returns: A validated array.
|
||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws -> Array<AnyHashable> {
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws(ValidationError<ArrayValidationErrorKind>) -> Array<AnyHashable> {
|
||||
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||
error.kinds.insert(.minItems)
|
||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
||||
/// - Parameter string: The String you wish to validate.
|
||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||
/// - Returns: A validated string.
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
||||
/// `NSError` if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||
error.kinds.insert(.minLength)
|
||||
@ -59,9 +58,9 @@ public struct Validator {
|
||||
error.kinds.insert(.maxLength)
|
||||
}
|
||||
if let pattern = rule.pattern {
|
||||
let matches = try NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
let matches = try? NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||
if matches.isEmpty {
|
||||
if matches?.isEmpty != false {
|
||||
error.kinds.insert(.pattern)
|
||||
}
|
||||
}
|
||||
@ -76,7 +75,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated integer.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -108,7 +107,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated fractional number.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -140,7 +139,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||
/// - Returns: A validated array.
|
||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws -> Array<AnyHashable> {
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws(ValidationError<ArrayValidationErrorKind>) -> Array<AnyHashable> {
|
||||
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||
error.kinds.insert(.minItems)
|
||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
||||
/// - Parameter string: The String you wish to validate.
|
||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||
/// - Returns: A validated string.
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
||||
/// `NSError` if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||
error.kinds.insert(.minLength)
|
||||
@ -59,9 +58,9 @@ public struct Validator {
|
||||
error.kinds.insert(.maxLength)
|
||||
}
|
||||
if let pattern = rule.pattern {
|
||||
let matches = try NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
let matches = try? NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||
if matches.isEmpty {
|
||||
if matches?.isEmpty != false {
|
||||
error.kinds.insert(.pattern)
|
||||
}
|
||||
}
|
||||
@ -76,7 +75,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated integer.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -108,7 +107,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated fractional number.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -140,7 +139,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||
/// - Returns: A validated array.
|
||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws -> Array<AnyHashable> {
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws(ValidationError<ArrayValidationErrorKind>) -> Array<AnyHashable> {
|
||||
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||
error.kinds.insert(.minItems)
|
||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
||||
/// - Parameter string: The String you wish to validate.
|
||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||
/// - Returns: A validated string.
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
||||
/// `NSError` if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||
error.kinds.insert(.minLength)
|
||||
@ -59,9 +58,9 @@ public struct Validator {
|
||||
error.kinds.insert(.maxLength)
|
||||
}
|
||||
if let pattern = rule.pattern {
|
||||
let matches = try NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
let matches = try? NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||
if matches.isEmpty {
|
||||
if matches?.isEmpty != false {
|
||||
error.kinds.insert(.pattern)
|
||||
}
|
||||
}
|
||||
@ -76,7 +75,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated integer.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -108,7 +107,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated fractional number.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -140,7 +139,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||
/// - Returns: A validated array.
|
||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws -> Array<AnyHashable> {
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws(ValidationError<ArrayValidationErrorKind>) -> Array<AnyHashable> {
|
||||
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||
error.kinds.insert(.minItems)
|
||||
|
@ -48,9 +48,8 @@ internal struct Validator {
|
||||
/// - Parameter string: The String you wish to validate.
|
||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||
/// - Returns: A validated string.
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
||||
/// `NSError` if the rule.pattern is invalid.
|
||||
internal static func validate(_ string: String, against rule: StringRule) throws -> String {
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||
internal static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||
error.kinds.insert(.minLength)
|
||||
@ -59,9 +58,9 @@ internal struct Validator {
|
||||
error.kinds.insert(.maxLength)
|
||||
}
|
||||
if let pattern = rule.pattern {
|
||||
let matches = try NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
let matches = try? NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||
if matches.isEmpty {
|
||||
if matches?.isEmpty != false {
|
||||
error.kinds.insert(.pattern)
|
||||
}
|
||||
}
|
||||
@ -76,7 +75,7 @@ internal struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated integer.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
internal static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
internal static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -108,7 +107,7 @@ internal struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated fractional number.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
internal static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
internal static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -140,7 +139,7 @@ internal struct Validator {
|
||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||
/// - Returns: A validated array.
|
||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
||||
internal static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws -> Array<AnyHashable> {
|
||||
internal static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws(ValidationError<ArrayValidationErrorKind>) -> Array<AnyHashable> {
|
||||
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||
error.kinds.insert(.minItems)
|
||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
||||
/// - Parameter string: The String you wish to validate.
|
||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||
/// - Returns: A validated string.
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
||||
/// `NSError` if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||
error.kinds.insert(.minLength)
|
||||
@ -59,9 +58,9 @@ public struct Validator {
|
||||
error.kinds.insert(.maxLength)
|
||||
}
|
||||
if let pattern = rule.pattern {
|
||||
let matches = try NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
let matches = try? NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||
if matches.isEmpty {
|
||||
if matches?.isEmpty != false {
|
||||
error.kinds.insert(.pattern)
|
||||
}
|
||||
}
|
||||
@ -76,7 +75,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated integer.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -108,7 +107,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated fractional number.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -140,7 +139,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||
/// - Returns: A validated array.
|
||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws -> Array<AnyHashable> {
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws(ValidationError<ArrayValidationErrorKind>) -> Array<AnyHashable> {
|
||||
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||
error.kinds.insert(.minItems)
|
||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
||||
/// - Parameter string: The String you wish to validate.
|
||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||
/// - Returns: A validated string.
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
||||
/// `NSError` if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||
error.kinds.insert(.minLength)
|
||||
@ -59,9 +58,9 @@ public struct Validator {
|
||||
error.kinds.insert(.maxLength)
|
||||
}
|
||||
if let pattern = rule.pattern {
|
||||
let matches = try NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
let matches = try? NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||
if matches.isEmpty {
|
||||
if matches?.isEmpty != false {
|
||||
error.kinds.insert(.pattern)
|
||||
}
|
||||
}
|
||||
@ -76,7 +75,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated integer.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -108,7 +107,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated fractional number.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -140,7 +139,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||
/// - Returns: A validated array.
|
||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws -> Array<AnyHashable> {
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws(ValidationError<ArrayValidationErrorKind>) -> Array<AnyHashable> {
|
||||
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||
error.kinds.insert(.minItems)
|
||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
||||
/// - Parameter string: The String you wish to validate.
|
||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||
/// - Returns: A validated string.
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
||||
/// `NSError` if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||
error.kinds.insert(.minLength)
|
||||
@ -59,9 +58,9 @@ public struct Validator {
|
||||
error.kinds.insert(.maxLength)
|
||||
}
|
||||
if let pattern = rule.pattern {
|
||||
let matches = try NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
let matches = try? NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||
if matches.isEmpty {
|
||||
if matches?.isEmpty != false {
|
||||
error.kinds.insert(.pattern)
|
||||
}
|
||||
}
|
||||
@ -76,7 +75,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated integer.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -108,7 +107,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated fractional number.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -140,7 +139,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||
/// - Returns: A validated array.
|
||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws -> Array<AnyHashable> {
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws(ValidationError<ArrayValidationErrorKind>) -> Array<AnyHashable> {
|
||||
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||
error.kinds.insert(.minItems)
|
||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
||||
/// - Parameter string: The String you wish to validate.
|
||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||
/// - Returns: A validated string.
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
||||
/// `NSError` if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||
error.kinds.insert(.minLength)
|
||||
@ -59,9 +58,9 @@ public struct Validator {
|
||||
error.kinds.insert(.maxLength)
|
||||
}
|
||||
if let pattern = rule.pattern {
|
||||
let matches = try NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
let matches = try? NSRegularExpression(pattern: pattern, options: .caseInsensitive)
|
||||
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||
if matches.isEmpty {
|
||||
if matches?.isEmpty != false {
|
||||
error.kinds.insert(.pattern)
|
||||
}
|
||||
}
|
||||
@ -76,7 +75,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated integer.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & BinaryInteger>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -108,7 +107,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||
/// - Returns: A validated fractional number.
|
||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws -> T {
|
||||
public static func validate<T: Comparable & FloatingPoint>(_ numeric: T, against rule: NumericRule<T>) throws(ValidationError<NumericValidationErrorKind>) -> T {
|
||||
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||
if let minimum = rule.minimum {
|
||||
if !rule.exclusiveMinimum, minimum > numeric {
|
||||
@ -140,7 +139,7 @@ public struct Validator {
|
||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||
/// - Returns: A validated array.
|
||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws -> Array<AnyHashable> {
|
||||
public static func validate(_ array: Array<AnyHashable>, against rule: ArrayRule) throws(ValidationError<ArrayValidationErrorKind>) -> Array<AnyHashable> {
|
||||
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||
error.kinds.insert(.minItems)
|
||||
|
Loading…
x
Reference in New Issue
Block a user