33 lines
898 B
Swift
33 lines
898 B
Swift
|
// SPDX-License-Identifier: MIT
|
||
|
// Copyright © 2018 WireGuard LLC. All Rights Reserved.
|
||
|
|
||
|
import Foundation
|
||
|
|
||
|
extension String {
|
||
|
|
||
|
func splitToArray(separator: Character = ",", trimmingCharacters: CharacterSet? = nil) -> [String] {
|
||
|
return split(separator: separator)
|
||
|
.map {
|
||
|
if let charSet = trimmingCharacters {
|
||
|
return $0.trimmingCharacters(in: charSet)
|
||
|
} else {
|
||
|
return String($0)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
extension Optional where Wrapped == String {
|
||
|
|
||
|
func splitToArray(separator: Character = ",", trimmingCharacters: CharacterSet? = nil) -> [String] {
|
||
|
switch self {
|
||
|
case .none:
|
||
|
return []
|
||
|
case .some(let wrapped):
|
||
|
return wrapped.splitToArray(separator: separator, trimmingCharacters: trimmingCharacters)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|