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 string: The String you wish to validate.
|
||||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||||
/// - Returns: A validated string.
|
/// - Returns: A validated string.
|
||||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||||
/// `NSError` if the rule.pattern is invalid.
|
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||||
{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} static func validate(_ string: String, against rule: StringRule) throws -> String {
|
|
||||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||||
error.kinds.insert(.minLength)
|
error.kinds.insert(.minLength)
|
||||||
@ -59,9 +58,9 @@ extension NumericRule: Sendable where T: Sendable {}
|
|||||||
error.kinds.insert(.maxLength)
|
error.kinds.insert(.maxLength)
|
||||||
}
|
}
|
||||||
if let pattern = rule.pattern {
|
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))
|
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||||
if matches.isEmpty {
|
if matches?.isEmpty != false {
|
||||||
error.kinds.insert(.pattern)
|
error.kinds.insert(.pattern)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -76,7 +75,7 @@ extension NumericRule: Sendable where T: Sendable {}
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated integer.
|
/// - Returns: A validated integer.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
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.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated fractional number.
|
/// - Returns: A validated fractional number.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
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.
|
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||||
/// - Returns: A validated array.
|
/// - Returns: A validated array.
|
||||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||||
error.kinds.insert(.minItems)
|
error.kinds.insert(.minItems)
|
||||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
|||||||
/// - Parameter string: The String you wish to validate.
|
/// - Parameter string: The String you wish to validate.
|
||||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||||
/// - Returns: A validated string.
|
/// - Returns: A validated string.
|
||||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||||
/// `NSError` if the rule.pattern is invalid.
|
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
|
||||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||||
error.kinds.insert(.minLength)
|
error.kinds.insert(.minLength)
|
||||||
@ -59,9 +58,9 @@ public struct Validator {
|
|||||||
error.kinds.insert(.maxLength)
|
error.kinds.insert(.maxLength)
|
||||||
}
|
}
|
||||||
if let pattern = rule.pattern {
|
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))
|
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||||
if matches.isEmpty {
|
if matches?.isEmpty != false {
|
||||||
error.kinds.insert(.pattern)
|
error.kinds.insert(.pattern)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -76,7 +75,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated integer.
|
/// - Returns: A validated integer.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -108,7 +107,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated fractional number.
|
/// - Returns: A validated fractional number.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -140,7 +139,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||||
/// - Returns: A validated array.
|
/// - Returns: A validated array.
|
||||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||||
error.kinds.insert(.minItems)
|
error.kinds.insert(.minItems)
|
||||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
|||||||
/// - Parameter string: The String you wish to validate.
|
/// - Parameter string: The String you wish to validate.
|
||||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||||
/// - Returns: A validated string.
|
/// - Returns: A validated string.
|
||||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||||
/// `NSError` if the rule.pattern is invalid.
|
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
|
||||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||||
error.kinds.insert(.minLength)
|
error.kinds.insert(.minLength)
|
||||||
@ -59,9 +58,9 @@ public struct Validator {
|
|||||||
error.kinds.insert(.maxLength)
|
error.kinds.insert(.maxLength)
|
||||||
}
|
}
|
||||||
if let pattern = rule.pattern {
|
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))
|
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||||
if matches.isEmpty {
|
if matches?.isEmpty != false {
|
||||||
error.kinds.insert(.pattern)
|
error.kinds.insert(.pattern)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -76,7 +75,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated integer.
|
/// - Returns: A validated integer.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -108,7 +107,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated fractional number.
|
/// - Returns: A validated fractional number.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -140,7 +139,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||||
/// - Returns: A validated array.
|
/// - Returns: A validated array.
|
||||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||||
error.kinds.insert(.minItems)
|
error.kinds.insert(.minItems)
|
||||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
|||||||
/// - Parameter string: The String you wish to validate.
|
/// - Parameter string: The String you wish to validate.
|
||||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||||
/// - Returns: A validated string.
|
/// - Returns: A validated string.
|
||||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||||
/// `NSError` if the rule.pattern is invalid.
|
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
|
||||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||||
error.kinds.insert(.minLength)
|
error.kinds.insert(.minLength)
|
||||||
@ -59,9 +58,9 @@ public struct Validator {
|
|||||||
error.kinds.insert(.maxLength)
|
error.kinds.insert(.maxLength)
|
||||||
}
|
}
|
||||||
if let pattern = rule.pattern {
|
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))
|
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||||
if matches.isEmpty {
|
if matches?.isEmpty != false {
|
||||||
error.kinds.insert(.pattern)
|
error.kinds.insert(.pattern)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -76,7 +75,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated integer.
|
/// - Returns: A validated integer.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -108,7 +107,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated fractional number.
|
/// - Returns: A validated fractional number.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -140,7 +139,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||||
/// - Returns: A validated array.
|
/// - Returns: A validated array.
|
||||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||||
error.kinds.insert(.minItems)
|
error.kinds.insert(.minItems)
|
||||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
|||||||
/// - Parameter string: The String you wish to validate.
|
/// - Parameter string: The String you wish to validate.
|
||||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||||
/// - Returns: A validated string.
|
/// - Returns: A validated string.
|
||||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||||
/// `NSError` if the rule.pattern is invalid.
|
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
|
||||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||||
error.kinds.insert(.minLength)
|
error.kinds.insert(.minLength)
|
||||||
@ -59,9 +58,9 @@ public struct Validator {
|
|||||||
error.kinds.insert(.maxLength)
|
error.kinds.insert(.maxLength)
|
||||||
}
|
}
|
||||||
if let pattern = rule.pattern {
|
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))
|
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||||
if matches.isEmpty {
|
if matches?.isEmpty != false {
|
||||||
error.kinds.insert(.pattern)
|
error.kinds.insert(.pattern)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -76,7 +75,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated integer.
|
/// - Returns: A validated integer.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -108,7 +107,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated fractional number.
|
/// - Returns: A validated fractional number.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -140,7 +139,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||||
/// - Returns: A validated array.
|
/// - Returns: A validated array.
|
||||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||||
error.kinds.insert(.minItems)
|
error.kinds.insert(.minItems)
|
||||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
|||||||
/// - Parameter string: The String you wish to validate.
|
/// - Parameter string: The String you wish to validate.
|
||||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||||
/// - Returns: A validated string.
|
/// - Returns: A validated string.
|
||||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||||
/// `NSError` if the rule.pattern is invalid.
|
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
|
||||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||||
error.kinds.insert(.minLength)
|
error.kinds.insert(.minLength)
|
||||||
@ -59,9 +58,9 @@ public struct Validator {
|
|||||||
error.kinds.insert(.maxLength)
|
error.kinds.insert(.maxLength)
|
||||||
}
|
}
|
||||||
if let pattern = rule.pattern {
|
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))
|
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||||
if matches.isEmpty {
|
if matches?.isEmpty != false {
|
||||||
error.kinds.insert(.pattern)
|
error.kinds.insert(.pattern)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -76,7 +75,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated integer.
|
/// - Returns: A validated integer.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -108,7 +107,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated fractional number.
|
/// - Returns: A validated fractional number.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -140,7 +139,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||||
/// - Returns: A validated array.
|
/// - Returns: A validated array.
|
||||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||||
error.kinds.insert(.minItems)
|
error.kinds.insert(.minItems)
|
||||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
|||||||
/// - Parameter string: The String you wish to validate.
|
/// - Parameter string: The String you wish to validate.
|
||||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||||
/// - Returns: A validated string.
|
/// - Returns: A validated string.
|
||||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||||
/// `NSError` if the rule.pattern is invalid.
|
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
|
||||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||||
error.kinds.insert(.minLength)
|
error.kinds.insert(.minLength)
|
||||||
@ -59,9 +58,9 @@ public struct Validator {
|
|||||||
error.kinds.insert(.maxLength)
|
error.kinds.insert(.maxLength)
|
||||||
}
|
}
|
||||||
if let pattern = rule.pattern {
|
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))
|
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||||
if matches.isEmpty {
|
if matches?.isEmpty != false {
|
||||||
error.kinds.insert(.pattern)
|
error.kinds.insert(.pattern)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -76,7 +75,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated integer.
|
/// - Returns: A validated integer.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -108,7 +107,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated fractional number.
|
/// - Returns: A validated fractional number.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -140,7 +139,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||||
/// - Returns: A validated array.
|
/// - Returns: A validated array.
|
||||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||||
error.kinds.insert(.minItems)
|
error.kinds.insert(.minItems)
|
||||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
|||||||
/// - Parameter string: The String you wish to validate.
|
/// - Parameter string: The String you wish to validate.
|
||||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||||
/// - Returns: A validated string.
|
/// - Returns: A validated string.
|
||||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||||
/// `NSError` if the rule.pattern is invalid.
|
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
|
||||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||||
error.kinds.insert(.minLength)
|
error.kinds.insert(.minLength)
|
||||||
@ -59,9 +58,9 @@ public struct Validator {
|
|||||||
error.kinds.insert(.maxLength)
|
error.kinds.insert(.maxLength)
|
||||||
}
|
}
|
||||||
if let pattern = rule.pattern {
|
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))
|
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||||
if matches.isEmpty {
|
if matches?.isEmpty != false {
|
||||||
error.kinds.insert(.pattern)
|
error.kinds.insert(.pattern)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -76,7 +75,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated integer.
|
/// - Returns: A validated integer.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -108,7 +107,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated fractional number.
|
/// - Returns: A validated fractional number.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -140,7 +139,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||||
/// - Returns: A validated array.
|
/// - Returns: A validated array.
|
||||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||||
error.kinds.insert(.minItems)
|
error.kinds.insert(.minItems)
|
||||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
|||||||
/// - Parameter string: The String you wish to validate.
|
/// - Parameter string: The String you wish to validate.
|
||||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||||
/// - Returns: A validated string.
|
/// - Returns: A validated string.
|
||||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||||
/// `NSError` if the rule.pattern is invalid.
|
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
|
||||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||||
error.kinds.insert(.minLength)
|
error.kinds.insert(.minLength)
|
||||||
@ -59,9 +58,9 @@ public struct Validator {
|
|||||||
error.kinds.insert(.maxLength)
|
error.kinds.insert(.maxLength)
|
||||||
}
|
}
|
||||||
if let pattern = rule.pattern {
|
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))
|
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||||
if matches.isEmpty {
|
if matches?.isEmpty != false {
|
||||||
error.kinds.insert(.pattern)
|
error.kinds.insert(.pattern)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -76,7 +75,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated integer.
|
/// - Returns: A validated integer.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -108,7 +107,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated fractional number.
|
/// - Returns: A validated fractional number.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -140,7 +139,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||||
/// - Returns: A validated array.
|
/// - Returns: A validated array.
|
||||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||||
error.kinds.insert(.minItems)
|
error.kinds.insert(.minItems)
|
||||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
|||||||
/// - Parameter string: The String you wish to validate.
|
/// - Parameter string: The String you wish to validate.
|
||||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||||
/// - Returns: A validated string.
|
/// - Returns: A validated string.
|
||||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||||
/// `NSError` if the rule.pattern is invalid.
|
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
|
||||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||||
error.kinds.insert(.minLength)
|
error.kinds.insert(.minLength)
|
||||||
@ -59,9 +58,9 @@ public struct Validator {
|
|||||||
error.kinds.insert(.maxLength)
|
error.kinds.insert(.maxLength)
|
||||||
}
|
}
|
||||||
if let pattern = rule.pattern {
|
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))
|
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||||
if matches.isEmpty {
|
if matches?.isEmpty != false {
|
||||||
error.kinds.insert(.pattern)
|
error.kinds.insert(.pattern)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -76,7 +75,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated integer.
|
/// - Returns: A validated integer.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -108,7 +107,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated fractional number.
|
/// - Returns: A validated fractional number.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -140,7 +139,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||||
/// - Returns: A validated array.
|
/// - Returns: A validated array.
|
||||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||||
error.kinds.insert(.minItems)
|
error.kinds.insert(.minItems)
|
||||||
|
@ -48,9 +48,8 @@ internal struct Validator {
|
|||||||
/// - Parameter string: The String you wish to validate.
|
/// - Parameter string: The String you wish to validate.
|
||||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||||
/// - Returns: A validated string.
|
/// - Returns: A validated string.
|
||||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||||
/// `NSError` if the rule.pattern is invalid.
|
internal static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||||
internal static func validate(_ string: String, against rule: StringRule) throws -> String {
|
|
||||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||||
error.kinds.insert(.minLength)
|
error.kinds.insert(.minLength)
|
||||||
@ -59,9 +58,9 @@ internal struct Validator {
|
|||||||
error.kinds.insert(.maxLength)
|
error.kinds.insert(.maxLength)
|
||||||
}
|
}
|
||||||
if let pattern = rule.pattern {
|
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))
|
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||||
if matches.isEmpty {
|
if matches?.isEmpty != false {
|
||||||
error.kinds.insert(.pattern)
|
error.kinds.insert(.pattern)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -76,7 +75,7 @@ internal struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated integer.
|
/// - Returns: A validated integer.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -108,7 +107,7 @@ internal struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated fractional number.
|
/// - Returns: A validated fractional number.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -140,7 +139,7 @@ internal struct Validator {
|
|||||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||||
/// - Returns: A validated array.
|
/// - Returns: A validated array.
|
||||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||||
error.kinds.insert(.minItems)
|
error.kinds.insert(.minItems)
|
||||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
|||||||
/// - Parameter string: The String you wish to validate.
|
/// - Parameter string: The String you wish to validate.
|
||||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||||
/// - Returns: A validated string.
|
/// - Returns: A validated string.
|
||||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||||
/// `NSError` if the rule.pattern is invalid.
|
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
|
||||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||||
error.kinds.insert(.minLength)
|
error.kinds.insert(.minLength)
|
||||||
@ -59,9 +58,9 @@ public struct Validator {
|
|||||||
error.kinds.insert(.maxLength)
|
error.kinds.insert(.maxLength)
|
||||||
}
|
}
|
||||||
if let pattern = rule.pattern {
|
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))
|
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||||
if matches.isEmpty {
|
if matches?.isEmpty != false {
|
||||||
error.kinds.insert(.pattern)
|
error.kinds.insert(.pattern)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -76,7 +75,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated integer.
|
/// - Returns: A validated integer.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -108,7 +107,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated fractional number.
|
/// - Returns: A validated fractional number.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -140,7 +139,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||||
/// - Returns: A validated array.
|
/// - Returns: A validated array.
|
||||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||||
error.kinds.insert(.minItems)
|
error.kinds.insert(.minItems)
|
||||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
|||||||
/// - Parameter string: The String you wish to validate.
|
/// - Parameter string: The String you wish to validate.
|
||||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||||
/// - Returns: A validated string.
|
/// - Returns: A validated string.
|
||||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||||
/// `NSError` if the rule.pattern is invalid.
|
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
|
||||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||||
error.kinds.insert(.minLength)
|
error.kinds.insert(.minLength)
|
||||||
@ -59,9 +58,9 @@ public struct Validator {
|
|||||||
error.kinds.insert(.maxLength)
|
error.kinds.insert(.maxLength)
|
||||||
}
|
}
|
||||||
if let pattern = rule.pattern {
|
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))
|
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||||
if matches.isEmpty {
|
if matches?.isEmpty != false {
|
||||||
error.kinds.insert(.pattern)
|
error.kinds.insert(.pattern)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -76,7 +75,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated integer.
|
/// - Returns: A validated integer.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -108,7 +107,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated fractional number.
|
/// - Returns: A validated fractional number.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -140,7 +139,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||||
/// - Returns: A validated array.
|
/// - Returns: A validated array.
|
||||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||||
error.kinds.insert(.minItems)
|
error.kinds.insert(.minItems)
|
||||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
|||||||
/// - Parameter string: The String you wish to validate.
|
/// - Parameter string: The String you wish to validate.
|
||||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||||
/// - Returns: A validated string.
|
/// - Returns: A validated string.
|
||||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||||
/// `NSError` if the rule.pattern is invalid.
|
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
|
||||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||||
error.kinds.insert(.minLength)
|
error.kinds.insert(.minLength)
|
||||||
@ -59,9 +58,9 @@ public struct Validator {
|
|||||||
error.kinds.insert(.maxLength)
|
error.kinds.insert(.maxLength)
|
||||||
}
|
}
|
||||||
if let pattern = rule.pattern {
|
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))
|
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||||
if matches.isEmpty {
|
if matches?.isEmpty != false {
|
||||||
error.kinds.insert(.pattern)
|
error.kinds.insert(.pattern)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -76,7 +75,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated integer.
|
/// - Returns: A validated integer.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -108,7 +107,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated fractional number.
|
/// - Returns: A validated fractional number.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -140,7 +139,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||||
/// - Returns: A validated array.
|
/// - Returns: A validated array.
|
||||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||||
error.kinds.insert(.minItems)
|
error.kinds.insert(.minItems)
|
||||||
|
@ -48,9 +48,8 @@ public struct Validator {
|
|||||||
/// - Parameter string: The String you wish to validate.
|
/// - Parameter string: The String you wish to validate.
|
||||||
/// - Parameter rule: The StringRule you wish to use for validation.
|
/// - Parameter rule: The StringRule you wish to use for validation.
|
||||||
/// - Returns: A validated string.
|
/// - Returns: A validated string.
|
||||||
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule,
|
/// - Throws: `ValidationError<StringValidationErrorKind>` if the string is invalid against the rule or if the rule.pattern is invalid.
|
||||||
/// `NSError` if the rule.pattern is invalid.
|
public static func validate(_ string: String, against rule: StringRule) throws(ValidationError<StringValidationErrorKind>) -> String {
|
||||||
public static func validate(_ string: String, against rule: StringRule) throws -> String {
|
|
||||||
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
var error = ValidationError<StringValidationErrorKind>(kinds: [])
|
||||||
if let minLength = rule.minLength, !(minLength <= string.count) {
|
if let minLength = rule.minLength, !(minLength <= string.count) {
|
||||||
error.kinds.insert(.minLength)
|
error.kinds.insert(.minLength)
|
||||||
@ -59,9 +58,9 @@ public struct Validator {
|
|||||||
error.kinds.insert(.maxLength)
|
error.kinds.insert(.maxLength)
|
||||||
}
|
}
|
||||||
if let pattern = rule.pattern {
|
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))
|
.matches(in: string, range: .init(location: 0, length: string.utf16.count))
|
||||||
if matches.isEmpty {
|
if matches?.isEmpty != false {
|
||||||
error.kinds.insert(.pattern)
|
error.kinds.insert(.pattern)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -76,7 +75,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated integer.
|
/// - Returns: A validated integer.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -108,7 +107,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The NumericRule you wish to use for validation.
|
/// - Parameter rule: The NumericRule you wish to use for validation.
|
||||||
/// - Returns: A validated fractional number.
|
/// - Returns: A validated fractional number.
|
||||||
/// - Throws: `ValidationError<NumericValidationErrorKind>` if the numeric is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<NumericValidationErrorKind>(kinds: [])
|
||||||
if let minimum = rule.minimum {
|
if let minimum = rule.minimum {
|
||||||
if !rule.exclusiveMinimum, minimum > numeric {
|
if !rule.exclusiveMinimum, minimum > numeric {
|
||||||
@ -140,7 +139,7 @@ public struct Validator {
|
|||||||
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
/// - Parameter rule: The ArrayRule you wish to use for validation.
|
||||||
/// - Returns: A validated array.
|
/// - Returns: A validated array.
|
||||||
/// - Throws: `ValidationError<ArrayValidationErrorKind>` if the string is invalid against the rule.
|
/// - 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: [])
|
var error = ValidationError<ArrayValidationErrorKind>(kinds: [])
|
||||||
if let minItems = rule.minItems, !(minItems <= array.count) {
|
if let minItems = rule.minItems, !(minItems <= array.count) {
|
||||||
error.kinds.insert(.minItems)
|
error.kinds.insert(.minItems)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user