scriptable-testlab
Version:
A lightweight, efficient tool designed to manage and update scripts for Scriptable.
53 lines • 1.32 kB
JavaScript
import { AbsData } from "scriptable-abstract";
const DEFAULT_STATE = {
buffer: Buffer.alloc(0)
};
class MockData extends AbsData {
constructor(input) {
super(DEFAULT_STATE);
let buffer;
if (input instanceof Buffer) {
buffer = input;
} else if (Array.isArray(input)) {
buffer = Buffer.from(input);
} else if (typeof input === "string") {
buffer = Buffer.from(input);
} else {
buffer = Buffer.alloc(0);
}
this.setState({ buffer });
}
// Convert data to base64 encoded string
toBase64String() {
return this.state.buffer.toString("base64");
}
// Convert data to raw string
toRawString() {
return this.state.buffer.toString("utf8");
}
// Get bytes as number array
getBytes() {
return Array.from(this.state.buffer);
}
// Get the length of data in bytes
getLength() {
return this.state.buffer.length;
}
// Create Data from base64 string
static fromBase64String(base64String) {
const buffer = Buffer.from(base64String, "base64");
return new MockData(buffer);
}
// Create Data from file at path
static fromFile(_filePath) {
return new MockData();
}
// Create Data from raw string
static fromString(string) {
return new MockData(string);
}
}
export {
MockData
};
//# sourceMappingURL=data.js.map