13 lines
		
	
	
		
			484 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			13 lines
		
	
	
		
			484 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import { fromString } from "@smithy/util-buffer-from";
 | 
						|
const BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/;
 | 
						|
export const fromBase64 = (input) => {
 | 
						|
    if ((input.length * 3) % 4 !== 0) {
 | 
						|
        throw new TypeError(`Incorrect padding on base64 string.`);
 | 
						|
    }
 | 
						|
    if (!BASE64_REGEX.exec(input)) {
 | 
						|
        throw new TypeError(`Invalid base64 string.`);
 | 
						|
    }
 | 
						|
    const buffer = fromString(input, "base64");
 | 
						|
    return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
 | 
						|
};
 |