summaryrefslogtreecommitdiff
path: root/cli/js
diff options
context:
space:
mode:
authorOliver Lenehan <sunsetkookaburra+github@outlook.com.au>2020-05-08 22:30:53 +1000
committerGitHub <noreply@github.com>2020-05-08 14:30:53 +0200
commita08a4abac116eda498f8ad2df13b3816ec36c9ad (patch)
tree261a52fe93fc184f8af9aaf037cd74f27a532f76 /cli/js
parentc0e8bae498b1892b994757b5f4972913c076a65e (diff)
feat(workers): "crypto" global accessible in Worker scope (#5121)
Diffstat (limited to 'cli/js')
-rw-r--r--cli/js/globals.ts2
-rw-r--r--cli/js/lib.deno.shared_globals.d.ts21
-rw-r--r--cli/js/lib.deno.window.d.ts22
-rw-r--r--cli/js/runtime_main.ts2
4 files changed, 23 insertions, 24 deletions
diff --git a/cli/js/globals.ts b/cli/js/globals.ts
index 5a04ec443..be327722c 100644
--- a/cli/js/globals.ts
+++ b/cli/js/globals.ts
@@ -6,6 +6,7 @@ import * as abortController from "./web/abort_controller.ts";
import * as abortSignal from "./web/abort_signal.ts";
import * as blob from "./web/blob.ts";
import * as consoleTypes from "./web/console.ts";
+import * as csprng from "./ops/get_random_values.ts";
import * as promiseTypes from "./web/promise.ts";
import * as customEvent from "./web/custom_event.ts";
import * as domException from "./web/dom_exception.ts";
@@ -222,6 +223,7 @@ export const windowOrWorkerGlobalScopeProperties = {
queuingStrategy.ByteLengthQueuingStrategyImpl
),
CountQueuingStrategy: nonEnumerable(queuingStrategy.CountQueuingStrategyImpl),
+ crypto: readOnly(csprng),
File: nonEnumerable(domFile.DomFileImpl),
CustomEvent: nonEnumerable(customEvent.CustomEventImpl),
DOMException: nonEnumerable(domException.DOMExceptionImpl),
diff --git a/cli/js/lib.deno.shared_globals.d.ts b/cli/js/lib.deno.shared_globals.d.ts
index d96230447..617a75fea 100644
--- a/cli/js/lib.deno.shared_globals.d.ts
+++ b/cli/js/lib.deno.shared_globals.d.ts
@@ -192,6 +192,7 @@ declare function clearInterval(id?: number): void;
declare function queueMicrotask(func: Function): void;
declare var console: Console;
+declare var crypto: Crypto;
declare function addEventListener(
type: string,
@@ -578,6 +579,26 @@ declare class Console {
static [Symbol.hasInstance](instance: Console): boolean;
}
+declare interface Crypto {
+ readonly subtle: null;
+ getRandomValues<
+ T extends
+ | Int8Array
+ | Int16Array
+ | Int32Array
+ | Uint8Array
+ | Uint16Array
+ | Uint32Array
+ | Uint8ClampedArray
+ | Float32Array
+ | Float64Array
+ | DataView
+ | null
+ >(
+ array: T
+ ): T;
+}
+
type FormDataEntryValue = File | string;
/** Provides a way to easily construct a set of key/value pairs representing
diff --git a/cli/js/lib.deno.window.d.ts b/cli/js/lib.deno.window.d.ts
index 21619af4d..61c5abf8a 100644
--- a/cli/js/lib.deno.window.d.ts
+++ b/cli/js/lib.deno.window.d.ts
@@ -12,7 +12,6 @@ declare interface Window extends EventTarget {
readonly self: Window & typeof globalThis;
onload: ((this: Window, ev: Event) => any) | null;
onunload: ((this: Window, ev: Event) => any) | null;
- crypto: Crypto;
close: () => void;
readonly closed: boolean;
Deno: typeof Deno;
@@ -22,26 +21,5 @@ declare const window: Window & typeof globalThis;
declare const self: Window & typeof globalThis;
declare const onload: ((this: Window, ev: Event) => any) | null;
declare const onunload: ((this: Window, ev: Event) => any) | null;
-declare const crypto: Crypto;
-
-declare interface Crypto {
- readonly subtle: null;
- getRandomValues<
- T extends
- | Int8Array
- | Int16Array
- | Int32Array
- | Uint8Array
- | Uint16Array
- | Uint32Array
- | Uint8ClampedArray
- | Float32Array
- | Float64Array
- | DataView
- | null
- >(
- array: T
- ): T;
-}
/* eslint-enable @typescript-eslint/no-explicit-any */
diff --git a/cli/js/runtime_main.ts b/cli/js/runtime_main.ts
index a9787d7cb..3e81fc680 100644
--- a/cli/js/runtime_main.ts
+++ b/cli/js/runtime_main.ts
@@ -9,7 +9,6 @@
import * as denoNs from "./deno.ts";
import * as denoUnstableNs from "./deno_unstable.ts";
-import * as csprng from "./ops/get_random_values.ts";
import { exit } from "./ops/os.ts";
import {
readOnly,
@@ -57,7 +56,6 @@ function windowClose(): void {
export const mainRuntimeGlobalProperties = {
window: readOnly(globalThis),
self: readOnly(globalThis),
- crypto: readOnly(csprng),
// TODO(bartlomieju): from MDN docs (https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope)
// it seems those two properties should be available to workers as well
onload: writable(null),