summaryrefslogtreecommitdiff
path: root/cli/js/internals.ts
blob: 6aae1be489064f7452f1e1c55c0183cc22323cf1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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
  });
}