summaryrefslogtreecommitdiff
path: root/ext/web/05_base64.js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/web/05_base64.js')
-rw-r--r--ext/web/05_base64.js110
1 files changed, 52 insertions, 58 deletions
diff --git a/ext/web/05_base64.js b/ext/web/05_base64.js
index dac366ca0..9f11ec97c 100644
--- a/ext/web/05_base64.js
+++ b/ext/web/05_base64.js
@@ -6,68 +6,62 @@
/// <reference path="../web/internal.d.ts" />
/// <reference lib="esnext" />
-"use strict";
+const core = globalThis.Deno.core;
+const ops = core.ops;
+import * as webidl from "internal:ext/webidl/00_webidl.js";
+import DOMException from "internal:ext/web/01_dom_exception.js";
+const primordials = globalThis.__bootstrap.primordials;
+const {
+ ObjectPrototypeIsPrototypeOf,
+ TypeErrorPrototype,
+} = primordials;
-((window) => {
- const core = Deno.core;
- const ops = core.ops;
- const webidl = window.__bootstrap.webidl;
- const { DOMException } = window.__bootstrap.domException;
- const {
- ObjectPrototypeIsPrototypeOf,
- TypeErrorPrototype,
- } = window.__bootstrap.primordials;
-
- /**
- * @param {string} data
- * @returns {string}
- */
- function atob(data) {
- const prefix = "Failed to execute 'atob'";
- webidl.requiredArguments(arguments.length, 1, { prefix });
- data = webidl.converters.DOMString(data, {
- prefix,
- context: "Argument 1",
- });
- try {
- return ops.op_base64_atob(data);
- } catch (e) {
- if (ObjectPrototypeIsPrototypeOf(TypeErrorPrototype, e)) {
- throw new DOMException(
- "Failed to decode base64: invalid character",
- "InvalidCharacterError",
- );
- }
- throw e;
+/**
+ * @param {string} data
+ * @returns {string}
+ */
+function atob(data) {
+ const prefix = "Failed to execute 'atob'";
+ webidl.requiredArguments(arguments.length, 1, { prefix });
+ data = webidl.converters.DOMString(data, {
+ prefix,
+ context: "Argument 1",
+ });
+ try {
+ return ops.op_base64_atob(data);
+ } catch (e) {
+ if (ObjectPrototypeIsPrototypeOf(TypeErrorPrototype, e)) {
+ throw new DOMException(
+ "Failed to decode base64: invalid character",
+ "InvalidCharacterError",
+ );
}
+ throw e;
}
+}
- /**
- * @param {string} data
- * @returns {string}
- */
- function btoa(data) {
- const prefix = "Failed to execute 'btoa'";
- webidl.requiredArguments(arguments.length, 1, { prefix });
- data = webidl.converters.DOMString(data, {
- prefix,
- context: "Argument 1",
- });
- try {
- return ops.op_base64_btoa(data);
- } catch (e) {
- if (ObjectPrototypeIsPrototypeOf(TypeErrorPrototype, e)) {
- throw new DOMException(
- "The string to be encoded contains characters outside of the Latin1 range.",
- "InvalidCharacterError",
- );
- }
- throw e;
+/**
+ * @param {string} data
+ * @returns {string}
+ */
+function btoa(data) {
+ const prefix = "Failed to execute 'btoa'";
+ webidl.requiredArguments(arguments.length, 1, { prefix });
+ data = webidl.converters.DOMString(data, {
+ prefix,
+ context: "Argument 1",
+ });
+ try {
+ return ops.op_base64_btoa(data);
+ } catch (e) {
+ if (ObjectPrototypeIsPrototypeOf(TypeErrorPrototype, e)) {
+ throw new DOMException(
+ "The string to be encoded contains characters outside of the Latin1 range.",
+ "InvalidCharacterError",
+ );
}
+ throw e;
}
+}
- window.__bootstrap.base64 = {
- atob,
- btoa,
- };
-})(globalThis);
+export { atob, btoa };