diff options
author | Kevin (Kun) "Kassimo" Qian <kevinkassimo@gmail.com> | 2020-01-16 16:42:58 -0800 |
---|---|---|
committer | Ry Dahl <ry@tinyclouds.org> | 2020-01-16 19:42:58 -0500 |
commit | 0a78bfb836f520d3709a32c8a978d08d33198d83 (patch) | |
tree | aa96e2164ea39d8856a4eca7eeb5c21388d8a4b7 /cli/js/internals.ts | |
parent | cad7b3e4fe4e368882628dbde8512f36d142098b (diff) |
Add Deno.symbols and move internal fields for test (#3693)
Diffstat (limited to 'cli/js/internals.ts')
-rw-r--r-- | cli/js/internals.ts | 16 |
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 + }); +} |