mirror of
https://github.com/wavetermdev/waveterm.git
synced 2024-12-21 16:38:23 +01:00
36 lines
922 B
TypeScript
36 lines
922 B
TypeScript
// Copyright 2024, Command Line Inc.
|
|
// SPDX-License-Identifier: Apache-2.0s
|
|
|
|
import base64 from "base64-js";
|
|
|
|
function isBlank(str: string): boolean {
|
|
return str == null || str == "";
|
|
}
|
|
|
|
function base64ToString(b64: string): string {
|
|
if (b64 == null) {
|
|
return null;
|
|
}
|
|
if (b64 == "") {
|
|
return "";
|
|
}
|
|
const stringBytes = base64.toByteArray(b64);
|
|
return new TextDecoder().decode(stringBytes);
|
|
}
|
|
|
|
function stringToBase64(input: string): string {
|
|
const stringBytes = new TextEncoder().encode(input);
|
|
return base64.fromByteArray(stringBytes);
|
|
}
|
|
|
|
function base64ToArray(b64: string): Uint8Array {
|
|
const rawStr = atob(b64);
|
|
const rtnArr = new Uint8Array(new ArrayBuffer(rawStr.length));
|
|
for (let i = 0; i < rawStr.length; i++) {
|
|
rtnArr[i] = rawStr.charCodeAt(i);
|
|
}
|
|
return rtnArr;
|
|
}
|
|
|
|
export { base64ToArray, base64ToString, isBlank, stringToBase64 };
|