Transform namespaces declared with module keyword to namespace keyword in d.ts files (#54134)

Signed-off-by: Chi Leung <chiguan.leung@gmail.com>
Co-authored-by: Titian Cernicova-Dragomir <dragomirtitian@yahoo.com>
Co-authored-by: Titian Cernicova-Dragomir <tcernicovad1@bloomberg.net>
This commit is contained in:
Chi Leung
2023-06-26 17:58:23 +01:00
committed by GitHub
parent 7dd7caaf7c
commit a94eb319eb
174 changed files with 547 additions and 518 deletions
+31 -2
View File
@@ -91,6 +91,7 @@ import {
ImportTypeNode,
IndexSignatureDeclaration,
InterfaceDeclaration,
isAmbientModule,
isAnyImportSyntax,
isArray,
isArrayBindingElement,
@@ -163,8 +164,10 @@ import {
MethodSignature,
Modifier,
ModifierFlags,
ModifierLike,
ModuleBody,
ModuleDeclaration,
ModuleName,
NamedDeclaration,
NamespaceDeclaration,
needsScopeMarker,
@@ -1422,6 +1425,31 @@ export function transformDeclarations(context: TransformationContext) {
return factory.updateModifiers(statement, modifiers);
}
function updateModuleDeclarationAndKeyword(
node: ModuleDeclaration,
modifiers: readonly ModifierLike[] | undefined,
name: ModuleName,
body: ModuleBody | undefined
) {
const updated = factory.updateModuleDeclaration(node, modifiers, name, body);
if (isAmbientModule(updated) || updated.flags & NodeFlags.Namespace) {
return updated;
}
const fixed = factory.createModuleDeclaration(
updated.modifiers,
updated.name,
updated.body,
updated.flags | NodeFlags.Namespace
);
setOriginalNode(fixed, updated);
setTextRange(fixed, updated);
return fixed;
}
function transformTopLevelDeclaration(input: LateVisibilityPaintedStatement) {
if (lateMarkedStatements) {
while (orderedRemoveItem(lateMarkedStatements, input));
@@ -1598,7 +1626,8 @@ export function transformDeclarations(context: TransformationContext) {
needsScopeFixMarker = oldNeedsScopeFix;
resultHasScopeMarker = oldHasScopeFix;
const mods = ensureModifiers(input);
return cleanup(factory.updateModuleDeclaration(
return cleanup(updateModuleDeclarationAndKeyword(
input,
mods,
isExternalModuleAugmentation(input) ? rewriteModuleSpecifier(input, input.name) : input.name,
@@ -1614,7 +1643,7 @@ export function transformDeclarations(context: TransformationContext) {
const id = getOriginalNodeId(inner!); // TODO: GH#18217
const body = lateStatementReplacementMap.get(id);
lateStatementReplacementMap.delete(id);
return cleanup(factory.updateModuleDeclaration(
return cleanup(updateModuleDeclarationAndKeyword(
input,
mods,
input.name,
@@ -14,8 +14,8 @@ var M;
//// [aliasInaccessibleModule.d.ts]
declare module M {
module N {
declare namespace M {
namespace N {
}
export import X = N;
export {};
@@ -28,8 +28,8 @@ var M;
//// [aliasInaccessibleModule2.d.ts]
declare module M {
module N {
declare namespace M {
namespace N {
}
import R = N;
export import X = R;
@@ -100,5 +100,5 @@ declare class E {
declare var c: C;
declare var d: any;
declare var e: any;
declare module Generic {
declare namespace Generic {
}
@@ -21,7 +21,7 @@ var M;
//// [classDoesNotDependOnPrivateMember.d.ts]
declare module M {
declare namespace M {
class C {
private x;
}
+3 -3
View File
@@ -235,14 +235,14 @@ declare class a {
}
declare class b extends a {
}
declare module m1 {
declare namespace m1 {
class b {
}
interface ib {
}
}
declare module m2 {
module m3 {
declare namespace m2 {
namespace m3 {
class c extends b {
}
class ib2 implements m1.ib {
@@ -32,7 +32,7 @@ define(["require", "exports"], function (require, exports) {
//// [commentsDottedModuleName.d.ts]
/** this is multi declare module*/
export declare module outerModule.InnerModule {
export declare namespace outerModule.InnerModule {
class b {
}
}
@@ -139,11 +139,11 @@ define(["require", "exports", "commentsExternalModules_0"], function (require, e
//// [commentsExternalModules_0.d.ts]
/** Module comment*/
export declare module m1 {
export declare namespace m1 {
/** b's comment*/
var b: number;
/** m2 comments*/
module m2 {
namespace m2 {
/** class comment;*/
class c {
}
@@ -154,12 +154,12 @@ export declare module m1 {
function fooExport(): number;
}
/** Module comment */
export declare module m4 {
export declare namespace m4 {
/** b's comment */
var b: number;
/** m2 comments
*/
module m2 {
namespace m2 {
/** class comment; */
class c {
}
@@ -140,11 +140,11 @@ define(["require", "exports", "commentsExternalModules2_0"], function (require,
//// [commentsExternalModules2_0.d.ts]
/** Module comment*/
export declare module m1 {
export declare namespace m1 {
/** b's comment*/
var b: number;
/** m2 comments*/
module m2 {
namespace m2 {
/** class comment;*/
class c {
}
@@ -155,12 +155,12 @@ export declare module m1 {
function fooExport(): number;
}
/** Module comment */
export declare module m4 {
export declare namespace m4 {
/** b's comment */
var b: number;
/** m2 comments
*/
module m2 {
namespace m2 {
/** class comment; */
class c {
}
@@ -138,11 +138,11 @@ exports.newVar2 = new extMod.m4.m2.c();
//// [commentsExternalModules2_0.d.ts]
/** Module comment*/
export declare module m1 {
export declare namespace m1 {
/** b's comment*/
var b: number;
/** m2 comments*/
module m2 {
namespace m2 {
/** class comment;*/
class c {
}
@@ -153,12 +153,12 @@ export declare module m1 {
function fooExport(): number;
}
/** Module comment */
export declare module m4 {
export declare namespace m4 {
/** b's comment */
var b: number;
/** m2 comments
*/
module m2 {
namespace m2 {
/** class comment; */
class c {
}
@@ -190,7 +190,7 @@ this is 4 spaces left aligned but above line is empty
//// [commentsFormatting.d.ts]
declare module m {
declare namespace m {
/** this is first line - aligned to class declaration
* this is 4 spaces left aligned
* this is 3 spaces left aligned
+12 -12
View File
@@ -272,11 +272,11 @@ new m7.m8.m9.c();
//// [commentsModules.d.ts]
/** Module comment*/
declare module m1 {
declare namespace m1 {
/** b's comment*/
var b: number;
/** m2 comments*/
module m2 {
namespace m2 {
/** class comment;*/
class c {
}
@@ -293,44 +293,44 @@ declare module m1 {
}
declare var myvar: m1.m2.c;
/** module comment of m2.m3*/
declare module m2.m3 {
declare namespace m2.m3 {
/** Exported class comment*/
class c {
}
}
/** module comment of m3.m4.m5*/
declare module m3.m4.m5 {
declare namespace m3.m4.m5 {
/** Exported class comment*/
class c {
}
}
/** module comment of m4.m5.m6*/
declare module m4.m5.m6 {
module m7 {
declare namespace m4.m5.m6 {
namespace m7 {
/** Exported class comment*/
class c {
}
}
}
/** module comment of m5.m6.m7*/
declare module m5.m6.m7 {
declare namespace m5.m6.m7 {
/** module m8 comment*/
module m8 {
namespace m8 {
/** Exported class comment*/
class c {
}
}
}
declare module m6.m7 {
module m8 {
declare namespace m6.m7 {
namespace m8 {
/** Exported class comment*/
class c {
}
}
}
declare module m7.m8 {
declare namespace m7.m8 {
/** module m9 comment*/
module m9 {
namespace m9 {
/** Exported class comment*/
class c {
}
@@ -100,12 +100,12 @@ define(["require", "exports"], function (require, exports) {
//// [commentsMultiModuleMultiFile_0.d.ts]
/** this is multi declare module*/
export declare module multiM {
export declare namespace multiM {
class b {
}
}
/** thi is multi module 2*/
export declare module multiM {
export declare namespace multiM {
/** class c comment*/
class c {
}
@@ -114,7 +114,7 @@ export declare module multiM {
}
//// [commentsMultiModuleMultiFile_1.d.ts]
/** this is multi module 3 comment*/
export declare module multiM {
export declare namespace multiM {
/** class d comment*/
class d {
}
@@ -67,14 +67,14 @@ new multiM.c();
//// [commentsMultiModuleSingleFile.d.ts]
/** this is multi declare module*/
declare module multiM {
declare namespace multiM {
/** class b*/
class b {
}
class d {
}
}
declare module multiM {
declare namespace multiM {
/** class c comment*/
class c {
}
@@ -160,12 +160,12 @@ interface i1 {
prop: string;
}
declare var i1_i: i1;
declare module m1 {
declare namespace m1 {
class b {
x: number;
constructor(x: number);
}
module m2 {
namespace m2 {
}
}
declare var x: any;
@@ -188,13 +188,13 @@ interface i1 {
/**interface instance comments*/
declare var i1_i: i1;
/** this is module comment*/
declare module m1 {
declare namespace m1 {
/** class b */
class b {
x: number;
constructor(x: number);
}
module m2 {
namespace m2 {
}
}
declare var x: any;
@@ -20,7 +20,7 @@ var M;
//// [constDeclarations2.d.ts]
declare module M {
declare namespace M {
const c1 = false;
const c2: number;
const c3 = 0, c4: string, c5: any;
@@ -16,7 +16,7 @@ declare module "test" {
//// [declFileAliasUseBeforeDeclaration2.d.ts]
declare module "test" {
module A {
namespace A {
class C {
}
}
@@ -26,8 +26,8 @@ exports.x = void 0;
//// [declFileAmbientExternalModuleWithSingleExportedModule_0.d.ts]
declare module "SubModule" {
module m {
module m3 {
namespace m {
namespace m3 {
interface c {
}
}
@@ -33,8 +33,8 @@ module.exports = m;
//// [declFileExportAssignmentImportInternalModule.d.ts]
declare module m3 {
module m2 {
declare namespace m3 {
namespace m2 {
interface connectModule {
(res: any, req: any, next: any): void;
}
@@ -66,8 +66,8 @@ define(["require", "exports"], function (require, exports) {
//// [declFileExportImportChain_a.d.ts]
declare module m1 {
module m2 {
declare namespace m1 {
namespace m2 {
class c1 {
}
}
@@ -57,8 +57,8 @@ define(["require", "exports"], function (require, exports) {
//// [declFileExportImportChain2_a.d.ts]
declare module m1 {
module m2 {
declare namespace m1 {
namespace m2 {
class c1 {
}
}
@@ -114,7 +114,7 @@ exports.j = C.F6;
//// [declFileGenericType.d.ts]
export declare module C {
export declare namespace C {
class A<T> {
}
class B {
@@ -102,33 +102,33 @@ var templa;
//// [declFileGenericType2.d.ts]
declare module templa.mvc {
declare namespace templa.mvc {
interface IModel {
}
}
declare module templa.mvc {
declare namespace templa.mvc {
interface IController<ModelType extends templa.mvc.IModel> {
}
}
declare module templa.mvc {
declare namespace templa.mvc {
class AbstractController<ModelType extends templa.mvc.IModel> implements mvc.IController<ModelType> {
}
}
declare module templa.mvc.composite {
declare namespace templa.mvc.composite {
interface ICompositeControllerModel extends mvc.IModel {
getControllers(): mvc.IController<mvc.IModel>[];
}
}
declare module templa.dom.mvc {
declare namespace templa.dom.mvc {
interface IElementController<ModelType extends templa.mvc.IModel> extends templa.mvc.IController<ModelType> {
}
}
declare module templa.dom.mvc {
declare namespace templa.dom.mvc {
class AbstractElementController<ModelType extends templa.mvc.IModel> extends templa.mvc.AbstractController<ModelType> implements IElementController<ModelType> {
constructor();
}
}
declare module templa.dom.mvc.composite {
declare namespace templa.dom.mvc.composite {
class AbstractCompositeElementController<ModelType extends templa.mvc.composite.ICompositeControllerModel> extends templa.dom.mvc.AbstractElementController<ModelType> {
_controllers: templa.mvc.IController<templa.mvc.IModel>[];
constructor();
@@ -31,8 +31,8 @@ module.exports = b;
//// [declFileImportChainInExportAssignment.d.ts]
declare module m {
module c {
declare namespace m {
namespace c {
class c {
}
}
@@ -40,7 +40,7 @@ exports.a.test1(null, null, null);
//// [declFileImportModuleWithExportAssignment_0.d.ts]
declare module m2 {
declare namespace m2 {
interface connectModule {
(res: any, req: any, next: any): void;
}
@@ -37,15 +37,15 @@ var m2;
//// [declFileInternalAliases.d.ts]
declare module m {
declare namespace m {
class c {
}
}
declare module m1 {
declare namespace m1 {
import x = m.c;
var d: x;
}
declare module m2 {
declare namespace m2 {
export import x = m.c;
var d: x;
}
@@ -27,7 +27,7 @@ var d = {
//// [declFileModuleAssignmentInObjectLiteralProperty.d.ts]
declare module m1 {
declare namespace m1 {
class c {
}
}
@@ -30,11 +30,11 @@ var A;
//// [declFileModuleContinuation.d.ts]
declare module A.C {
declare namespace A.C {
interface Z {
}
}
declare module A.B.C {
declare namespace A.B.C {
class W implements A.C.Z {
}
}
@@ -22,7 +22,7 @@ var m;
//// [declFileModuleWithPropertyOfTypeModule.d.ts]
declare module m {
declare namespace m {
class c {
}
var a: typeof m;
@@ -118,7 +118,7 @@ function foo10() {
//// [declFileTypeAnnotationArrayType.d.ts]
declare class c {
}
declare module m {
declare namespace m {
class c {
}
class g<T> {
@@ -55,7 +55,7 @@ var y = x;
//// [declFileTypeAnnotationTupleType.d.ts]
declare class c {
}
declare module m {
declare namespace m {
class c {
}
class g<T> {
@@ -65,13 +65,13 @@ var M;
//// [declFileTypeAnnotationTypeAlias.d.ts]
declare module M {
declare namespace M {
type Value = string | number | boolean;
var x: Value;
class c {
}
type C = c;
module m {
namespace m {
class c {
}
}
@@ -81,9 +81,9 @@ declare module M {
interface Window {
someMethod(): any;
}
declare module M {
declare namespace M {
type W = Window | string;
module N {
namespace N {
class Window {
}
var p: W;
@@ -73,7 +73,7 @@ declare class c {
}
declare class g<T> {
}
declare module m {
declare namespace m {
class c {
}
}
@@ -103,7 +103,7 @@ function foo8() {
//// [declFileTypeAnnotationTypeQuery.d.ts]
declare class c {
}
declare module m {
declare namespace m {
class c {
}
class g<T> {
@@ -103,7 +103,7 @@ function foo8() {
//// [declFileTypeAnnotationTypeReference.d.ts]
declare class c {
}
declare module m {
declare namespace m {
class c {
}
class g<T> {
@@ -60,7 +60,7 @@ var y = new g() || new m.g() || (function () { return new c(); });
declare class c {
private p;
}
declare module m {
declare namespace m {
class c {
private q;
}
@@ -263,12 +263,12 @@ var m;
//// [declFileTypeAnnotationVisibilityErrorAccessors.d.ts]
declare module m {
declare namespace m {
class private1 {
}
export class public1 {
}
module m2 {
namespace m2 {
class public2 {
}
}
@@ -110,7 +110,7 @@ var m;
//// [declFileTypeAnnotationVisibilityErrorParameterOfFunction.d.ts]
declare module m {
declare namespace m {
class private1 {
}
export class public1 {
@@ -119,7 +119,7 @@ declare module m {
export function foo4(param?: private1): void;
export function foo13(param: public1): void;
export function foo14(param?: public1): void;
module m2 {
namespace m2 {
class public2 {
}
}
@@ -128,7 +128,7 @@ var m;
//// [declFileTypeAnnotationVisibilityErrorReturnTypeOfFunction.d.ts]
declare module m {
declare namespace m {
class private1 {
}
export class public1 {
@@ -137,7 +137,7 @@ declare module m {
export function foo4(): private1;
export function foo13(): public1;
export function foo14(): public1;
module m2 {
namespace m2 {
class public2 {
}
}
@@ -95,29 +95,29 @@ var M2;
interface Window {
someMethod(): any;
}
declare module M {
declare namespace M {
type W = Window | string;
export module N {
export namespace N {
class Window {
}
var p: W;
}
export {};
}
declare module M1 {
declare namespace M1 {
type W = Window | string;
module N {
namespace N {
class Window {
}
var p: W;
}
}
declare module M2 {
declare namespace M2 {
class private1 {
}
class public1 {
}
module m3 {
namespace m3 {
class public1 {
}
}
@@ -66,10 +66,10 @@ var m;
//// [declFileTypeAnnotationVisibilityErrorTypeLiteral.d.ts]
declare module m {
declare namespace m {
class private1 {
}
module m2 {
namespace m2 {
class public1 {
}
}
@@ -71,7 +71,7 @@ var m;
//// [declFileTypeAnnotationVisibilityErrorVariableDeclaration.d.ts]
declare module m {
declare namespace m {
class private1 {
}
export class public1 {
@@ -80,7 +80,7 @@ declare module m {
export var l: private1;
export var k2: public1;
export var l2: public1;
module m2 {
namespace m2 {
class public2 {
}
}
@@ -54,7 +54,7 @@ var d = {
//// [declFileTypeofInAnonymousType.d.ts]
declare module m1 {
declare namespace m1 {
class c {
}
enum e {
@@ -28,12 +28,12 @@ var m2_2;
//// [declFileTypeofModule.d.ts]
declare module m1 {
declare namespace m1 {
var c: string;
}
declare var m1_1: typeof m1;
declare var m1_2: typeof m1;
declare module m2 {
declare namespace m2 {
var d: typeof m2;
}
declare var m2_1: typeof m2;
@@ -76,17 +76,17 @@ var X;
//// [declFileWithClassNameConflictingWithClassReferredByExtendsClause.d.ts]
declare module A.B.Base {
declare namespace A.B.Base {
class W {
id: number;
}
}
declare module X.Y.base {
declare namespace X.Y.base {
class W extends A.B.Base.W {
name: string;
}
}
declare module X.Y.base.Z {
declare namespace X.Y.base.Z {
class W<TValue> extends X.Y.base.W {
value: boolean;
}
@@ -66,16 +66,16 @@ var A;
//// [declFileWithExtendsClauseThatHasItsContainerNameConflict.d.ts]
declare module A.B.C {
declare namespace A.B.C {
class B {
}
}
declare module A.B {
declare namespace A.B {
class EventManager {
id: number;
}
}
declare module A.B.C {
declare namespace A.B.C {
class ContextMenu extends EventManager {
name: string;
}
@@ -34,11 +34,11 @@ var X;
//// [declFileWithInternalModuleNameConflictsInExtendsClause1.d.ts]
declare module X.A.C {
declare namespace X.A.C {
interface Z {
}
}
declare module X.A.B.C {
declare namespace X.A.B.C {
class W implements X.A.C.Z {
}
}
@@ -37,13 +37,13 @@ var X;
//// [declFileWithInternalModuleNameConflictsInExtendsClause2.d.ts]
declare module X.A.C {
declare namespace X.A.C {
interface Z {
}
}
declare module X.A.B.C {
declare namespace X.A.B.C {
class W implements A.C.Z {
}
}
declare module X.A.B.C {
declare namespace X.A.B.C {
}
@@ -37,15 +37,15 @@ var X;
//// [declFileWithInternalModuleNameConflictsInExtendsClause3.d.ts]
declare module X.A.C {
declare namespace X.A.C {
interface Z {
}
}
declare module X.A.B.C {
declare namespace X.A.B.C {
class W implements X.A.C.Z {
}
}
declare module X.A.B.C {
module A {
declare namespace X.A.B.C {
namespace A {
}
}
+1 -1
View File
@@ -53,7 +53,7 @@ var M;
//// [declInput-2.d.ts]
declare module M {
declare namespace M {
class C {
}
export class E {
+1 -1
View File
@@ -44,7 +44,7 @@ var M;
//// [declInput4.d.ts]
declare module M {
declare namespace M {
class E {
}
interface I1 {
@@ -14,6 +14,6 @@ var M;
//// [declarationEmitDestructuringArrayPattern3.d.ts]
declare module M {
declare namespace M {
var a: number, b: number;
}
@@ -60,6 +60,6 @@ declare function f15(): {
c4: boolean;
};
declare var a4: string, b4: number, c4: boolean;
declare module m {
declare namespace m {
var a4: string, b4: number, c4: boolean;
}
@@ -39,6 +39,6 @@ declare function f15(): {
c4: boolean;
};
declare var a4: string, b4: number, c4: boolean;
declare module m {
declare namespace m {
var a4: string, b4: number, c4: boolean;
}
@@ -21,7 +21,7 @@ var m;
//// [declarationEmitDestructuringPrivacyError.d.ts]
declare module m {
declare namespace m {
class c {
}
export var x: number, y: c, z: number;
@@ -29,8 +29,8 @@ module.exports = m;
//// [declarationEmitImportInExportAssignmentModule.d.ts]
declare module m {
module c {
declare namespace m {
namespace c {
class c {
}
}
@@ -134,18 +134,18 @@ var M;
//// [declarationEmit_nameConflicts_1.d.ts]
declare module f {
declare namespace f {
class c {
}
}
export = f;
//// [declarationEmit_nameConflicts_0.d.ts]
import im = require('./declarationEmit_nameConflicts_1');
export declare module M {
export declare namespace M {
function f(): void;
class C {
}
module N {
namespace N {
function g(): void;
interface I {
}
@@ -155,11 +155,11 @@ export declare module M {
export import c = N;
export import d = im;
}
export declare module M.P {
export declare namespace M.P {
function f(): void;
class C {
}
module N {
namespace N {
function g(): void;
interface I {
}
@@ -171,11 +171,11 @@ export declare module M.P {
var g: typeof M.N.g;
var d: typeof M.d;
}
export declare module M.Q {
export declare namespace M.Q {
function f(): void;
class C {
}
module N {
namespace N {
function g(): void;
interface I {
}
@@ -184,7 +184,7 @@ export declare module M.Q {
}
interface I extends M.c.I {
}
module c {
namespace c {
interface I extends M.c.I {
}
}
@@ -59,17 +59,17 @@ var X;
//// [declarationEmitNameConflicts2.d.ts]
declare module X.Y.base {
declare namespace X.Y.base {
function f(): void;
class C {
}
module M {
namespace M {
var v: any;
}
enum E {
}
}
declare module X.Y.base.Z {
declare namespace X.Y.base.Z {
var f: typeof base.f;
var C: typeof base.C;
var M: typeof base.M;
@@ -92,20 +92,20 @@ var M;
//// [declarationEmitNameConflicts3.d.ts]
declare module M {
declare namespace M {
interface D {
}
module D {
namespace D {
function f(): void;
}
module C {
namespace C {
function f(): void;
}
module E {
namespace E {
function f(): void;
}
}
declare module M.P {
declare namespace M.P {
class C {
static f(): void;
}
@@ -18,13 +18,13 @@ var M;
//// [declarationEmitNameConflictsWithAlias.d.ts]
export declare module C {
export declare namespace C {
interface I {
}
}
export import v = C;
export declare module M {
module C {
export declare namespace M {
namespace C {
interface I {
}
}
+1 -1
View File
@@ -27,7 +27,7 @@ module.exports = m2;
//// [declarationMaps.d.ts]
declare module m2 {
declare namespace m2 {
interface connectModule {
(res: any, req: any, next: any): void;
}
@@ -1,3 +1,3 @@
//// [declarationMaps.d.ts.map]
{"version":3,"file":"declarationMaps.d.ts","sourceRoot":"","sources":["declarationMaps.ts"],"names":[],"mappings":"AAAA,eAAO,EAAE,CAAC;IACN,UAAiB,aAAa;QAC1B,CAAC,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,IAAI,KAAA,GAAG,IAAI,CAAC;KAC1B;IACD,UAAiB,aAAa;QAC1B,GAAG,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,aAAa,CAAC;QAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KAClC;CAEJ;AAED,QAAA,IAAI,EAAE,EAAE;IACJ,IAAI,EAAE,CAAC,aAAa,CAAC;IACrB,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC;IACxB,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC;CAC7B,CAAC;AAEF,SAAS,EAAE,CAAC"}
//// https://sokra.github.io/source-map-visualization#base64,ZGVjbGFyZSBtb2R1bGUgbTIgew0KICAgIGludGVyZmFjZSBjb25uZWN0TW9kdWxlIHsNCiAgICAgICAgKHJlczogYW55LCByZXE6IGFueSwgbmV4dDogYW55KTogdm9pZDsNCiAgICB9DQogICAgaW50ZXJmYWNlIGNvbm5lY3RFeHBvcnQgew0KICAgICAgICB1c2U6IChtb2Q6IGNvbm5lY3RNb2R1bGUpID0+IGNvbm5lY3RFeHBvcnQ7DQogICAgICAgIGxpc3RlbjogKHBvcnQ6IG51bWJlcikgPT4gdm9pZDsNCiAgICB9DQp9DQpkZWNsYXJlIHZhciBtMjogew0KICAgICgpOiBtMi5jb25uZWN0RXhwb3J0Ow0KICAgIHRlc3QxOiBtMi5jb25uZWN0TW9kdWxlOw0KICAgIHRlc3QyKCk6IG0yLmNvbm5lY3RNb2R1bGU7DQp9Ow0KZXhwb3J0ID0gbTI7DQovLyMgc291cmNlTWFwcGluZ1VSTD1kZWNsYXJhdGlvbk1hcHMuZC50cy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjbGFyYXRpb25NYXBzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkZWNsYXJhdGlvbk1hcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFBTyxFQUFFLENBQUM7SUFDTixVQUFpQixhQUFhO1FBQzFCLENBQUMsR0FBRyxLQUFBLEVBQUUsR0FBRyxLQUFBLEVBQUUsSUFBSSxLQUFBLEdBQUcsSUFBSSxDQUFDO0tBQzFCO0lBQ0QsVUFBaUIsYUFBYTtRQUMxQixHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsYUFBYSxLQUFLLGFBQWEsQ0FBQztRQUMzQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxLQUFLLElBQUksQ0FBQztLQUNsQztDQUVKO0FBRUQsUUFBQSxJQUFJLEVBQUUsRUFBRTtJQUNKLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUNyQixLQUFLLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUN4QixLQUFLLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztDQUM3QixDQUFDO0FBRUYsU0FBUyxFQUFFLENBQUMifQ==,bW9kdWxlIG0yIHsKICAgIGV4cG9ydCBpbnRlcmZhY2UgY29ubmVjdE1vZHVsZSB7CiAgICAgICAgKHJlcywgcmVxLCBuZXh0KTogdm9pZDsKICAgIH0KICAgIGV4cG9ydCBpbnRlcmZhY2UgY29ubmVjdEV4cG9ydCB7CiAgICAgICAgdXNlOiAobW9kOiBjb25uZWN0TW9kdWxlKSA9PiBjb25uZWN0RXhwb3J0OwogICAgICAgIGxpc3RlbjogKHBvcnQ6IG51bWJlcikgPT4gdm9pZDsKICAgIH0KCn0KCnZhciBtMjogewogICAgKCk6IG0yLmNvbm5lY3RFeHBvcnQ7CiAgICB0ZXN0MTogbTIuY29ubmVjdE1vZHVsZTsKICAgIHRlc3QyKCk6IG0yLmNvbm5lY3RNb2R1bGU7Cn07CgpleHBvcnQgPSBtMjs=
{"version":3,"file":"declarationMaps.d.ts","sourceRoot":"","sources":["declarationMaps.ts"],"names":[],"mappings":"AAAA,kBAAO,EAAE,CAAC;IACN,UAAiB,aAAa;QAC1B,CAAC,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,IAAI,KAAA,GAAG,IAAI,CAAC;KAC1B;IACD,UAAiB,aAAa;QAC1B,GAAG,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,aAAa,CAAC;QAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KAClC;CAEJ;AAED,QAAA,IAAI,EAAE,EAAE;IACJ,IAAI,EAAE,CAAC,aAAa,CAAC;IACrB,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC;IACxB,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC;CAC7B,CAAC;AAEF,SAAS,EAAE,CAAC"}
//// https://sokra.github.io/source-map-visualization#base64,ZGVjbGFyZSBuYW1lc3BhY2UgbTIgew0KICAgIGludGVyZmFjZSBjb25uZWN0TW9kdWxlIHsNCiAgICAgICAgKHJlczogYW55LCByZXE6IGFueSwgbmV4dDogYW55KTogdm9pZDsNCiAgICB9DQogICAgaW50ZXJmYWNlIGNvbm5lY3RFeHBvcnQgew0KICAgICAgICB1c2U6IChtb2Q6IGNvbm5lY3RNb2R1bGUpID0+IGNvbm5lY3RFeHBvcnQ7DQogICAgICAgIGxpc3RlbjogKHBvcnQ6IG51bWJlcikgPT4gdm9pZDsNCiAgICB9DQp9DQpkZWNsYXJlIHZhciBtMjogew0KICAgICgpOiBtMi5jb25uZWN0RXhwb3J0Ow0KICAgIHRlc3QxOiBtMi5jb25uZWN0TW9kdWxlOw0KICAgIHRlc3QyKCk6IG0yLmNvbm5lY3RNb2R1bGU7DQp9Ow0KZXhwb3J0ID0gbTI7DQovLyMgc291cmNlTWFwcGluZ1VSTD1kZWNsYXJhdGlvbk1hcHMuZC50cy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjbGFyYXRpb25NYXBzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkZWNsYXJhdGlvbk1hcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQU8sRUFBRSxDQUFDO0lBQ04sVUFBaUIsYUFBYTtRQUMxQixDQUFDLEdBQUcsS0FBQSxFQUFFLEdBQUcsS0FBQSxFQUFFLElBQUksS0FBQSxHQUFHLElBQUksQ0FBQztLQUMxQjtJQUNELFVBQWlCLGFBQWE7UUFDMUIsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLGFBQWEsS0FBSyxhQUFhLENBQUM7UUFDM0MsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sS0FBSyxJQUFJLENBQUM7S0FDbEM7Q0FFSjtBQUVELFFBQUEsSUFBSSxFQUFFLEVBQUU7SUFDSixJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDckIsS0FBSyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDeEIsS0FBSyxJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUM7Q0FDN0IsQ0FBQztBQUVGLFNBQVMsRUFBRSxDQUFDIn0=,bW9kdWxlIG0yIHsKICAgIGV4cG9ydCBpbnRlcmZhY2UgY29ubmVjdE1vZHVsZSB7CiAgICAgICAgKHJlcywgcmVxLCBuZXh0KTogdm9pZDsKICAgIH0KICAgIGV4cG9ydCBpbnRlcmZhY2UgY29ubmVjdEV4cG9ydCB7CiAgICAgICAgdXNlOiAobW9kOiBjb25uZWN0TW9kdWxlKSA9PiBjb25uZWN0RXhwb3J0OwogICAgICAgIGxpc3RlbjogKHBvcnQ6IG51bWJlcikgPT4gdm9pZDsKICAgIH0KCn0KCnZhciBtMjogewogICAgKCk6IG0yLmNvbm5lY3RFeHBvcnQ7CiAgICB0ZXN0MTogbTIuY29ubmVjdE1vZHVsZTsKICAgIHRlc3QyKCk6IG0yLmNvbm5lY3RNb2R1bGU7Cn07CgpleHBvcnQgPSBtMjs=
@@ -8,20 +8,20 @@ sources: declarationMaps.ts
emittedFile:declarationMaps.d.ts
sourceFile:declarationMaps.ts
-------------------------------------------------------------------
>>>declare module m2 {
>>>declare namespace m2 {
1 >
2 >^^^^^^^^^^^^^^^
3 > ^^
4 > ^
5 > ^^^^^^^^^^^^->
2 >^^^^^^^^^^^^^^^^^^
3 > ^^
4 > ^
5 > ^^^^^^^^^->
1 >
2 >module
3 > m2
4 >
3 > m2
4 >
1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0)
2 >Emitted(1, 16) Source(1, 8) + SourceIndex(0)
3 >Emitted(1, 18) Source(1, 10) + SourceIndex(0)
4 >Emitted(1, 19) Source(1, 11) + SourceIndex(0)
2 >Emitted(1, 19) Source(1, 8) + SourceIndex(0)
3 >Emitted(1, 21) Source(1, 10) + SourceIndex(0)
4 >Emitted(1, 22) Source(1, 11) + SourceIndex(0)
---
>>> interface connectModule {
1->^^^^
@@ -16,10 +16,10 @@ module T.U { // This needs to be emitted
//// [declareDottedModuleName.d.ts]
declare module M {
declare namespace M {
}
declare module M {
module R.S { }
declare namespace M {
namespace R.S { }
}
declare module T.U {
declare namespace T.U {
}
@@ -27,7 +27,7 @@ module.exports = m2;
//// [declareFileExportAssignment.d.ts]
declare module m2 {
declare namespace m2 {
interface connectModule {
(res: any, req: any, next: any): void;
}
@@ -27,7 +27,7 @@ module.exports = m2;
//// [declareFileExportAssignmentWithVarFromVariableStatement.d.ts]
declare module m2 {
declare namespace m2 {
interface connectModule {
(res: any, req: any, next: any): void;
}
@@ -88,8 +88,8 @@ declare var v: number;
declare class Foo {
static x: number;
}
declare module N {
module F {
declare namespace N {
namespace F {
}
}
//// [file2.d.ts]
@@ -101,9 +101,9 @@ declare function C2(): void;
declare class f {
}
declare var v: number;
declare module Foo {
declare namespace Foo {
var x: number;
}
declare module N {
declare namespace N {
function F(): any;
}
+1 -1
View File
@@ -14,7 +14,7 @@ declare module mAmbient {
//// [enumDecl1.d.ts]
declare module mAmbient {
declare namespace mAmbient {
enum e {
x,
y,
@@ -32,7 +32,7 @@ module.exports = A;
declare class A {
foo(): A.B;
}
declare module A {
declare namespace A {
interface B {
}
}
+2 -2
View File
@@ -32,11 +32,11 @@ export declare class c {
}
export interface i {
}
export declare module m {
export declare namespace m {
var x: number;
}
export declare var x: number;
export declare module uninstantiated {
export declare namespace uninstantiated {
}
//// [client.d.ts]
export * from "server";
@@ -55,11 +55,11 @@ export declare class c {
}
export interface i {
}
export declare module m {
export declare namespace m {
var x: number;
}
export declare var x: number;
export declare module uninstantiated {
export declare namespace uninstantiated {
}
//// [client.d.ts]
export * from "./server";
+2 -2
View File
@@ -36,11 +36,11 @@ declare class c {
}
interface i {
}
declare module m {
declare namespace m {
var x: number;
}
declare var x: number;
declare module uninstantiated {
declare namespace uninstantiated {
}
export { c };
export { c as c2 };
@@ -41,11 +41,11 @@ declare class c {
}
interface i {
}
declare module m {
declare namespace m {
var x: number;
}
declare var x: number;
declare module uninstantiated {
declare namespace uninstantiated {
}
export { c };
export { c as c2 };
@@ -39,11 +39,11 @@ export declare class c {
}
export interface i {
}
export declare module m {
export declare namespace m {
var x: number;
}
export declare var x: number;
export declare module uninstantiated {
export declare namespace uninstantiated {
}
//// [client.d.ts]
export { c } from "server";
@@ -53,11 +53,11 @@ export declare class c {
}
export interface i {
}
export declare module m {
export declare namespace m {
var x: number;
}
export declare var x: number;
export declare module uninstantiated {
export declare namespace uninstantiated {
}
//// [client.d.ts]
export { c } from "./server";
@@ -32,7 +32,7 @@ module.exports = x;
//// [es6ImportNamedImportInIndirectExportAssignment_0.d.ts]
export declare module a {
export declare namespace a {
class c {
}
}
@@ -71,11 +71,11 @@ declare class Bbb {
}
declare class Aaa extends Bbb {
}
declare module Aaa {
declare namespace Aaa {
class SomeType {
}
}
declare module Bbb {
declare namespace Bbb {
export class SomeType {
}
export * from Aaa;
@@ -92,7 +92,7 @@ var MsPortalFx;
//// [exportImportCanSubstituteConstEnumForValue.d.ts]
declare module MsPortalFx.ViewModels.Dialogs {
declare namespace MsPortalFx.ViewModels.Dialogs {
const enum DialogResult {
Abort = 0,
Cancel = 1,
@@ -115,7 +115,7 @@ declare module MsPortalFx.ViewModels.Dialogs {
YesNoCancel = 5
}
}
declare module MsPortalFx.ViewModels {
declare namespace MsPortalFx.ViewModels {
/**
* For some reason javascript code is emitted for this re-exported const enum.
*/
+1 -1
View File
@@ -156,7 +156,7 @@ declare function overload1(n: number): string;
declare function overload1(s: string): string;
declare var withOverloadSignature: typeof overload1;
declare function f(n: () => void): void;
declare module m2 {
declare namespace m2 {
function foo(n: () => void): void;
}
declare function fooAmbient(n: number): string;
@@ -14,6 +14,6 @@ var M;
//// [generatorInAmbientContext6.d.ts]
declare module M {
declare namespace M {
function generator(): any;
}
@@ -22,11 +22,11 @@ var bar;
//// [genericClassImplementingGenericInterfaceFromAnotherModule.d.ts]
declare module foo {
declare namespace foo {
interface IFoo<T> {
}
}
declare module bar {
declare namespace bar {
class Foo<T> implements foo.IFoo<T> {
}
}
@@ -30,7 +30,7 @@ var a = new Foo.B();
//// [genericClassesInModule.d.ts]
declare module Foo {
declare namespace Foo {
class B<T> {
}
class A {
@@ -12,7 +12,7 @@ var M;
})(M || (M = {}));
FileName : /tests/cases/fourslash/inputFile.d.ts
declare module M {
declare namespace M {
class C {
}
export var foo: C;
@@ -19,7 +19,7 @@ define(["require", "exports"], function (require, exports) {
FileName : /tests/cases/fourslash/inputFile.d.ts
declare class C {
}
export declare module M {
export declare namespace M {
var foo: C;
}
export {};
+15 -15
View File
@@ -1165,7 +1165,7 @@ export interface eI {
p7(pa1: any, pa2: any): void;
p7?(pa1: any, pa2: any): void;
}
export declare module eM {
export declare namespace eM {
var eV: any;
function eF(): void;
class eC {
@@ -1217,19 +1217,19 @@ export declare module eM {
p7(pa1: any, pa2: any): void;
p7?(pa1: any, pa2: any): void;
}
module eM {
namespace eM {
var eV: any;
function eF(): void;
class eC {
}
interface eI {
}
module eM { }
namespace eM { }
var eaV: any;
function eaF(): void;
class eaC {
}
module eaM { }
namespace eaM { }
}
var eaV: any;
function eaF(): void;
@@ -1254,21 +1254,21 @@ export declare module eM {
static tgF(): void;
static get tgF(): any;
}
module eaM {
namespace eaM {
var V: any;
function F(): void;
class C {
}
interface I {
}
module M { }
namespace M { }
var eV: any;
function eF(): void;
class eC {
}
interface eI {
}
module eM { }
namespace eM { }
}
}
export declare var eaV: any;
@@ -1294,7 +1294,7 @@ export declare class eaC {
static tgF(): void;
static get tgF(): any;
}
export declare module eaM {
export declare namespace eaM {
var V: any;
function F(): void;
class C {
@@ -1332,26 +1332,26 @@ export declare module eaM {
p7(pa1: any, pa2: any): void;
p7?(pa1: any, pa2: any): void;
}
module M {
namespace M {
var V: any;
function F(): void;
class C {
}
interface I {
}
module M { }
namespace M { }
var eV: any;
function eF(): void;
class eC {
}
interface eI {
}
module eM { }
namespace eM { }
var eaV: any;
function eaF(): void;
class eaC {
}
module eaM { }
namespace eaM { }
}
var eV: any;
function eF(): void;
@@ -1391,18 +1391,18 @@ export declare module eaM {
p7(pa1: any, pa2: any): void;
p7?(pa1: any, pa2: any): void;
}
module eM {
namespace eM {
var V: any;
function F(): void;
class C {
}
module M { }
namespace M { }
var eV: any;
function eF(): void;
class eC {
}
interface eI {
}
module eM { }
namespace eM { }
}
}
+2 -2
View File
@@ -219,7 +219,7 @@ import m4 = require("./importDecl_require");
export declare var x4: m4.d;
export declare var d4: typeof m4.d;
export declare var f4: m4.d;
export declare module m1 {
export declare namespace m1 {
var x2: m4.d;
var d2: typeof m4.d;
var f2: m4.d;
@@ -229,7 +229,7 @@ export declare var useGlo_m4_d4: typeof glo_m4.d;
export declare var useGlo_m4_f4: glo_m4.d;
import fncOnly_m4 = require("./importDecl_require2");
export declare var useFncOnly_m4_f4: fncOnly_m4.d;
export declare module usePrivate_m4_m1 {
export declare namespace usePrivate_m4_m1 {
}
export declare var d: m4.d;
export declare var useMultiImport_m4_x4: m4.d;
@@ -29,11 +29,11 @@ var c;
//// [internalAliasClass.d.ts]
declare module a {
declare namespace a {
class c {
}
}
declare module c {
declare namespace c {
import b = a.c;
var x: b;
}
@@ -48,13 +48,13 @@ exports.d = new m2.m3.c();
//// [internalAliasClassInsideLocalModuleWithExport.d.ts]
export declare module x {
export declare namespace x {
class c {
foo(a: number): number;
}
}
export declare module m2 {
module m3 {
export declare namespace m2 {
namespace m3 {
export import c = x.c;
var cProp: c;
}
@@ -45,13 +45,13 @@ var m2;
//// [internalAliasClassInsideLocalModuleWithoutExport.d.ts]
export declare module x {
export declare namespace x {
class c {
foo(a: number): number;
}
}
export declare module m2 {
module m3 {
export declare namespace m2 {
namespace m3 {
import c = x.c;
var cProp: c;
}
@@ -35,7 +35,7 @@ var cReturnVal = exports.cProp.foo(10);
//// [internalAliasClassInsideTopLevelModuleWithExport.d.ts]
export declare module x {
export declare namespace x {
class c {
foo(a: number): number;
}
@@ -35,7 +35,7 @@ var cReturnVal = exports.cProp.foo(10);
//// [internalAliasClassInsideTopLevelModuleWithoutExport.d.ts]
export declare module x {
export declare namespace x {
class c {
foo(a: number): number;
}
@@ -33,14 +33,14 @@ var c;
//// [internalAliasEnum.d.ts]
declare module a {
declare namespace a {
enum weekend {
Friday = 0,
Saturday = 1,
Sunday = 2
}
}
declare module c {
declare namespace c {
import b = a.weekend;
var bVal: b;
}
@@ -36,14 +36,14 @@ var c;
//// [internalAliasEnumInsideLocalModuleWithExport.d.ts]
export declare module a {
export declare namespace a {
enum weekend {
Friday = 0,
Saturday = 1,
Sunday = 2
}
}
export declare module c {
export declare namespace c {
export import b = a.weekend;
var bVal: b;
}
@@ -36,14 +36,14 @@ var c;
//// [internalAliasEnumInsideLocalModuleWithoutExport.d.ts]
export declare module a {
export declare namespace a {
enum weekend {
Friday = 0,
Saturday = 1,
Sunday = 2
}
}
export declare module c {
export declare namespace c {
import b = a.weekend;
var bVal: b;
}
@@ -33,7 +33,7 @@ define(["require", "exports"], function (require, exports) {
//// [internalAliasEnumInsideTopLevelModuleWithExport.d.ts]
export declare module a {
export declare namespace a {
enum weekend {
Friday = 0,
Saturday = 1,
@@ -33,7 +33,7 @@ define(["require", "exports"], function (require, exports) {
//// [internalAliasEnumInsideTopLevelModuleWithoutExport.d.ts]
export declare module a {
export declare namespace a {
enum weekend {
Friday = 0,
Saturday = 1,
@@ -31,10 +31,10 @@ var c;
//// [internalAliasFunction.d.ts]
declare module a {
declare namespace a {
function foo(x: number): number;
}
declare module c {
declare namespace c {
import b = a.foo;
var bVal: number;
var bVal2: typeof b;
@@ -34,10 +34,10 @@ var c;
//// [internalAliasFunctionInsideLocalModuleWithExport.d.ts]
export declare module a {
export declare namespace a {
function foo(x: number): number;
}
export declare module c {
export declare namespace c {
export import b = a.foo;
var bVal: number;
var bVal2: typeof b;
@@ -34,10 +34,10 @@ var c;
//// [internalAliasFunctionInsideLocalModuleWithoutExport.d.ts]
export declare module a {
export declare namespace a {
function foo(x: number): number;
}
export declare module c {
export declare namespace c {
import b = a.foo;
var bVal2: typeof b;
}

Some files were not shown because too many files have changed in this diff Show More