summaryrefslogtreecommitdiff
path: root/cli/js/internals.ts
blob: a675c5d7fb79703e482a319ddae6fd775d6c5b27 (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.symbols.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,
  });
}