summaryrefslogtreecommitdiff
path: root/std/encoding/base64url.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/encoding/base64url.ts')
-rw-r--r--std/encoding/base64url.ts31
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));
}