29 lines
863 B
Swift
29 lines
863 B
Swift
import Foundation
|
|
|
|
extension Content {
|
|
|
|
private static let disallowedCharactersInIds = CharacterSet.alphanumerics.union(CharacterSet(charactersIn: "-")).inverted
|
|
|
|
private static let disallowedCharactersInFileIds = CharacterSet.alphanumerics.union(CharacterSet(charactersIn: "-.")).inverted
|
|
|
|
func isNewIdForTag(_ id: String) -> Bool {
|
|
!tags.contains { $0.id == id }
|
|
}
|
|
|
|
func isNewIdForPage(_ id: String) -> Bool {
|
|
!pages.contains { $0.id == id }
|
|
}
|
|
|
|
func isNewIdForPost(_ id: String) -> Bool {
|
|
!posts.contains { $0.id == id }
|
|
}
|
|
|
|
func isValidIdForTagOrTagOrPost(_ id: String) -> Bool {
|
|
id.rangeOfCharacter(from: Content.disallowedCharactersInIds) == nil
|
|
}
|
|
|
|
func isValidIdForFile(_ id: String) -> Bool {
|
|
id.rangeOfCharacter(from: Content.disallowedCharactersInFileIds) == nil
|
|
}
|
|
}
|