diff --git a/nostrdb/AsciiCharacter.swift b/nostrdb/AsciiCharacter.swift index 9dca6efb..90011a79 100644 --- a/nostrdb/AsciiCharacter.swift +++ b/nostrdb/AsciiCharacter.swift @@ -7,13 +7,22 @@ import Foundation -struct AsciiCharacter: ExpressibleByStringLiteral { +struct AsciiCharacter: ExpressibleByStringLiteral, Equatable, Hashable { private let value: UInt8 var cchar: CChar { return CChar(bitPattern: value) } + var string: String { + return String(UnicodeScalar(UInt8(bitPattern: cchar))) + } + + init?(_ cchar: CChar) { + guard cchar < 127 else { return nil } + self.value = UInt8(cchar) + } + init?(_ character: Character) { guard let asciiValue = character.asciiValue, asciiValue < 128 else { return nil