# Stdout class

Stdout represents the IOSink for either `stdout` or `stderr`.

It provides a blocking `IOSink`, so using this to write will block until the output is written.

In some situations this blocking behavior is undesirable as it does not provide the same non-blocking behavior as dart:io in general exposes. Use the property nonBlocking to get an `IOSink` which has the non-blocking behavior.

This class can also be used to check whether `stdout` or `stderr` is connected to a terminal and query some terminal properties.

The addError API is inherited from StreamSink and calling it will result in an unhandled asynchronous error unless there is an error handler on done.

Implemented types
  - IOSink

## Properties

hasTerminal → bool
  Returns true if there is a terminal attached to stdout.
  read-only
nonBlocking → IOSink
  Get a non-blocking `IOSink`.
  read-only
supportsAnsiEscapes → bool
  Whether connected to a terminal that supports ANSI escape sequences. [...]
  read-only
terminalColumns → int
  Get the number of columns of the terminal. [...]
  read-only
terminalLines → int
  read-only
done → Future
  Get a future that will complete when the consumer closes, or when an error occurs. This future is identical to the future returned by close.
  read-only, inherited
encoding ↔ Encoding
  The Encoding used when writing strings. Depending on the underlying consumer this property might be mutable.
  read / write, inherited
hashCode → int
  The hash code for this object. [...]
  read-only, inherited
runtimeType → Type
  A representation of the runtime type of the object.
  read-only, inherited

## Methods

add(List<int> data) → void
  Adds byte `data` to the target consumer, ignoring encoding. [...]
  inherited
addError(Object error, [ StackTrace stackTrace ]) → void
  Passes the error to the target consumer as an error event. [...]
  inherited
addStream(Stream<List<int>> stream) → Future
  Adds all elements of the given `stream` to `this`. [...]
  inherited
close() → Future
  Close the target consumer. [...]
  inherited
flush() → Future
  Returns a Future that completes once all buffered data is accepted by the underlying StreamConsumer. [...]
  inherited
noSuchMethod(Invocation invocation) → dynamic
  Invoked when a non-existent method or property is accessed. [...]
  inherited
toString() → String
  Returns a string representation of this object.
  inherited
write(Object object) → void
  Converts `obj` to a String by invoking Object.toString and adds the encoding of the result to the target consumer. [...]
  inherited
writeAll(Iterable objects, [ String sep = "" ]) → void
  Iterates over the given `objects` and writes them in sequence. [...]
  inherited
writeCharCode(int charCode) → void
  Writes the character of `charCode`. [...]
  inherited
writeln([Object object = "" ]) → void
  Converts `obj` to a String by invoking Object.toString and writes the result to `this`, followed by a newline. [...]
  inherited

## Operators

operator ==(dynamic other) → bool
  The equality operator. [...]
  inherited