stable-diffusion-client
Version:
smart stable-diffusion-webui client
27 lines (26 loc) • 796 B
JavaScript
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
const encoder = new TextEncoder();
function getTypeName(value) {
const type = typeof value;
if (type !== "object") {
return type;
}
else if (value === null) {
return "null";
}
else {
return value?.constructor?.name ?? "object";
}
}
export function validateBinaryLike(source) {
if (typeof source === "string") {
return encoder.encode(source);
}
else if (source instanceof Uint8Array) {
return source;
}
else if (source instanceof ArrayBuffer) {
return new Uint8Array(source);
}
throw new TypeError(`The input must be a Uint8Array, a string, or an ArrayBuffer. Received a value of the type ${getTypeName(source)}.`);
}