mirror of
https://github.com/bitwarden/browser
synced 2025-12-17 00:33:44 +00:00
27 lines
863 B
TypeScript
27 lines
863 B
TypeScript
import { Utils } from "../../misc/utils";
|
|
|
|
export class Fido2Utils {
|
|
static bufferToString(bufferSource: BufferSource): string {
|
|
const buffer = Fido2Utils.bufferSourceToUint8Array(bufferSource);
|
|
|
|
return Utils.fromBufferToUrlB64(buffer);
|
|
}
|
|
|
|
static stringToBuffer(str: string): Uint8Array {
|
|
return Utils.fromUrlB64ToArray(str);
|
|
}
|
|
|
|
static bufferSourceToUint8Array(bufferSource: BufferSource) {
|
|
if (Fido2Utils.isArrayBuffer(bufferSource)) {
|
|
return new Uint8Array(bufferSource);
|
|
} else {
|
|
return new Uint8Array(bufferSource.buffer);
|
|
}
|
|
}
|
|
|
|
/** Utility function to identify type of bufferSource. Necessary because of differences between runtimes */
|
|
static isArrayBuffer(bufferSource: BufferSource): bufferSource is ArrayBuffer {
|
|
return bufferSource instanceof ArrayBuffer || bufferSource.buffer === undefined;
|
|
}
|
|
}
|