blob: dafc269301a43642cb6f8347346f2caacb6147cd [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/**
* @interface
*/
export class OutputStream {
/**
* @param {string} data
* @return {!Promise}
*/
async write(data) {
}
/**
* @return {!Promise}
*/
async close() {
}
}
/**
* @implements {OutputStream}
*/
export class StringOutputStream {
constructor() {
this._data = '';
}
/**
* @override
* @param {string} chunk
* @return {!Promise}
*/
async write(chunk) {
this._data += chunk;
}
/**
* @override
*/
async close() {
}
/**
* @return {string}
*/
data() {
return this._data;
}
}