diff options
Diffstat (limited to 'std/encoding/base64url.ts')
-rw-r--r-- | std/encoding/base64url.ts | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/std/encoding/base64url.ts b/std/encoding/base64url.ts index b20878554..fe8019a29 100644 --- a/std/encoding/base64url.ts +++ b/std/encoding/base64url.ts @@ -1,13 +1,11 @@ // Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. -import { - decode as convertBase64ToArrayBuffer, - encode as convertArrayBufferToBase64, -} from "./base64.ts"; +import * as base64 from "./base64.ts"; /* * Some variants allow or require omitting the padding '=' signs: * https://en.wikipedia.org/wiki/Base64#URL_applications + * @param base64url */ export function addPaddingToBase64url(base64url: string): string { if (base64url.length % 4 === 2) return base64url + "=="; @@ -18,29 +16,26 @@ export function addPaddingToBase64url(base64url: string): string { return base64url; } -function convertBase64urlToBase64(base64url: string): string { - return addPaddingToBase64url(base64url) - .replace(/\-/g, "+") - .replace(/_/g, "/"); +function convertBase64urlToBase64(b64url: string): string { + return addPaddingToBase64url(b64url).replace(/\-/g, "+").replace(/_/g, "/"); } -function convertBase64ToBase64url(base64: string): string { - return base64.replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_"); +function convertBase64ToBase64url(b64: string): string { + return b64.replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_"); } /** - * Converts given data with base64url encoding. - * Removes paddings '='. - * @param data input to encode + * Encodes a given Uint8Array into a base64url representation + * @param uint8 */ -export function encode(data: string | ArrayBuffer): string { - return convertBase64ToBase64url(convertArrayBufferToBase64(data)); +export function encode(uint8: Uint8Array): string { + return convertBase64ToBase64url(base64.encode(uint8)); } /** * Converts given base64url encoded data back to original - * @param data input to decode + * @param b64url */ -export function decode(data: string): ArrayBuffer { - return convertBase64ToArrayBuffer(convertBase64urlToBase64(data)); +export function decode(b64url: string): Uint8Array { + return base64.decode(convertBase64urlToBase64(b64url)); } |