1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
=== tests/cases/conformance/es2019/globalThisAmbientModules.ts ===
declare module "ambientModule" {
>"ambientModule" : typeof import("ambientModule")
export type typ = 1
>typ : 1
export var val: typ
>val : 1
}
namespace valueModule { export var val = 1 }
>valueModule : typeof valueModule
>val : number
>1 : 1
namespace namespaceModule { export type typ = 1 }
>typ : 1
// should error
type GlobalBad1 = (typeof globalThis)["\"ambientModule\""]
>GlobalBad1 : any
>globalThis : typeof globalThis
type GlobalOk1 = (typeof globalThis)["valueModule"]
>GlobalOk1 : typeof valueModule
>globalThis : typeof globalThis
type GlobalOk2 = globalThis.namespaceModule.typ
>GlobalOk2 : 1
>globalThis : any
>namespaceModule : any
const bad1: (typeof globalThis)["\"ambientModule\""] = 'ambientModule'
>bad1 : any
>globalThis : typeof globalThis
>'ambientModule' : "ambientModule"
|