summaryrefslogtreecommitdiff
path: root/cli/js/internals.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cli/js/internals.ts')
-rw-r--r--cli/js/internals.ts16
1 files changed, 16 insertions, 0 deletions
diff --git a/cli/js/internals.ts b/cli/js/internals.ts
new file mode 100644
index 000000000..6aae1be48
--- /dev/null
+++ b/cli/js/internals.ts
@@ -0,0 +1,16 @@
+// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
+export const internalSymbol = Symbol("Deno.internal");
+
+// The object where all the internal fields for testing will be living.
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+export const internalObject: { [key: string]: any } = {};
+
+// Register a field to internalObject for test access,
+// through Deno[Deno.symbols.internal][name].
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+export function exposeForTest(name: string, value: any): void {
+ Object.defineProperty(internalObject, name, {
+ value,
+ enumerable: false
+ });
+}