ProgramHost.jsonChannel constructor

ProgramHost.jsonChannel({
  1. required void sendMessage(
    1. String message
    ),
  2. required Stream<Object?> inboundMessages,
  3. Future<void> flushMessages()?,
  4. Future<void> closeTransport()?,
  5. TerminalDimensions initialSize = (width: 80, height: 24),
  6. bool supportsAnsi = true,
  7. bool isTerminal = true,
  8. ColorProfile colorProfile = ColorProfile.trueColor,
  9. ({bool useBackspace, bool useTabs}) movementCaps = (useTabs: false, useBackspace: true),
})

Creates a host backed by a JSON message channel.

Implementation

factory ProgramHost.jsonChannel({
  required void Function(String message) sendMessage,
  required Stream<Object?> inboundMessages,
  Future<void> Function()? flushMessages,
  Future<void> Function()? closeTransport,
  TerminalDimensions initialSize = const (width: 80, height: 24),
  bool supportsAnsi = true,
  bool isTerminal = true,
  ColorProfile colorProfile = ColorProfile.trueColor,
  ({bool useTabs, bool useBackspace}) movementCaps = const (
    useTabs: false,
    useBackspace: true,
  ),
}) => _BackendProgramHost(
  JsonTerminalBackend(
    sendMessage: sendMessage,
    inboundMessages: inboundMessages,
    flushMessages: flushMessages,
    closeTransport: closeTransport,
    initialSize: initialSize,
    supportsAnsi: supportsAnsi,
    isTerminal: isTerminal,
    colorProfile: colorProfile,
    movementCaps: movementCaps,
  ),
);