// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. part of "dart:core"; // Examples can assume: // late StringSink sink; abstract interface class StringSink { /// Writes the string representation of [object]. /// /// Converts [object] to a string using `object.toString()`. /// /// Notice that calling `sink.write(null)` will will write the `"null"` /// string. void write(Object? object); /// Writes the elements of [objects] separated by [separator]. /// /// Writes the string representation of every element of [objects], /// in iteration order, and writes [separator] between any two elements. /// /// ```dart /// sink.writeAll(["Hello", "World"], " Beautiful "); /// ``` /// is equivalent to: /// ```dart /// sink /// ..write("Hello"); /// ..write(" Beautiful "); /// ..write("World"); /// ``` void writeAll(Iterable objects, [String separator = ""]); /// Writes the string representation of [object] followed by a newline. /// /// Equivalent to `buffer.write(object)` followed by `buffer.write("\n")`. /// /// Notice that calling `buffer.writeln(null)` will write the `"null"` string /// before the newline. Omitting the argument, or explicitly passing an empty /// string, is the recommended way to emit just the newline. void writeln([Object? object = ""]); /// Writes a string containing the character with code point [charCode]. /// /// Equivalent to `write(String.fromCharCode(charCode))`. void writeCharCode(int charCode); }