session-ios/SessionUtilitiesKit/Utilities/Notification+Utilities.swift

40 lines
1.1 KiB
Swift

// Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.
import Foundation
extension Notification {
public struct Key: RawRepresentable, Hashable, ExpressibleByUnicodeScalarLiteral, ExpressibleByExtendedGraphemeClusterLiteral, ExpressibleByStringLiteral {
public typealias RawValue = String
public var rawValue: String
public init(_ rawValue: String) {
self.rawValue = rawValue
}
// MARK: - RawRepresentable
public init?(rawValue: String) {
self.rawValue = rawValue
}
// MARK: - ExpressibleByStringLiteral
public init(stringLiteral value: String) {
self.rawValue = value
}
// MARK: - ExpressibleByExtendedGraphemeClusterLiteral
public init(extendedGraphemeClusterLiteral value: String) {
self.rawValue = value
}
// MARK: - ExpressibleByUnicodeScalarLiteral
public init(unicodeScalarLiteral value: String) {
self.rawValue = value
}
}
}