36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
export class NetworkDataBytes {
|
|
#getBytesValue;
|
|
#isBase64;
|
|
|
|
/**
|
|
* Common interface used to handle network BytesValue for collected data which
|
|
* might be encoded and require an additional async step in order to retrieve
|
|
* the actual bytes.
|
|
*
|
|
* This is a simple wrapper mostly designed to ensure a common interface in
|
|
* case this is used for request or response bodies.
|
|
*
|
|
* @param {object} options
|
|
* @param {Function} options.getBytesValue
|
|
* A -potentially async- callable which returns the bytes as a string.
|
|
* @param {boolean} options.isBase64
|
|
* Whether this represents a base64-encoded binary data.
|
|
*/
|
|
constructor(options) {
|
|
this.#getBytesValue = options.getBytesValue;
|
|
this.#isBase64 = options.isBase64;
|
|
}
|
|
|
|
get isBase64() {
|
|
return this.#isBase64;
|
|
}
|
|
|
|
async getBytesValue() {
|
|
return this.#getBytesValue();
|
|
}
|
|
}
|