put method

Future<void> put(
  1. String path,
  2. Object contents
)

Writes contents to path: a String (as UTF-8), a List<int> of bytes, or a Stream<List<int>>. Replaces any file there.

Implementation

Future<void> put(String path, Object contents) => _run(path, () async {
  _guardWrite('put');
  final String target = _resolve(path);
  if (contents is String) {
    await driver.write(target, utf8.encode(contents));
  } else if (contents is List<int>) {
    await driver.write(target, contents);
  } else if (contents is Stream<List<int>>) {
    await driver.writeStream(target, contents);
  } else {
    throw ArgumentError.value(
      contents,
      'contents',
      'Expected a String, a List<int> of bytes, or a Stream<List<int>>',
    );
  }
  _written(target);
});