Skip to content
Snippets Groups Projects
ChatFeature.swift 626 B
Newer Older
import ComposableArchitecture
import Foundation
import XCTestDynamicOverlay

public struct ChatState: Equatable, Identifiable {
  public enum ID: Equatable, Hashable {
    case contact(Data)
  }

  public init(id: ID) {
    self.id = id
  }

  public var id: ID
}

public enum ChatAction: Equatable {
  case start
}

public struct ChatEnvironment {
  public init() {}
}

#if DEBUG
extension ChatEnvironment {
  public static let unimplemented = ChatEnvironment()
}
#endif

public let chatReducer = Reducer<ChatState, ChatAction, ChatEnvironment>
{ state, action, env in
  switch action {
  case .start:
    return .none
  }
}