-
Notifications
You must be signed in to change notification settings - Fork 12.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Retain name and propertyName in declaration emit copies of binding pa…
…tterns if property name is a keyword (#50537) * Retain name and propertyName in declaration emit copies of binding patterns if property name is a keyword * Accept baselines * Remove out of date file
- Loading branch information
Showing
7 changed files
with
209 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
48 changes: 48 additions & 0 deletions
48
tests/baselines/reference/declarationEmitBindingPatternWithReservedWord.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
//// [declarationEmitBindingPatternWithReservedWord.ts] | ||
type LocaleData = Record<string, never> | ||
type ConvertLocaleConfig<T extends LocaleData = LocaleData> = Record< | ||
string, | ||
T | ||
>; | ||
type LocaleConfig<T extends LocaleData = LocaleData> = Record<string, Partial<T>>; | ||
|
||
export interface GetLocalesOptions<T extends LocaleData> { | ||
app: unknown; | ||
default: ConvertLocaleConfig<T>; | ||
config?: LocaleConfig<T> | undefined; | ||
name?: string; | ||
} | ||
|
||
export const getLocales = <T extends LocaleData>({ | ||
app, | ||
name, | ||
default: defaultLocalesConfig, | ||
config: userLocalesConfig = {}, | ||
}: GetLocalesOptions<T>): ConvertLocaleConfig<T> => { | ||
return defaultLocalesConfig; | ||
}; | ||
|
||
|
||
//// [declarationEmitBindingPatternWithReservedWord.js] | ||
"use strict"; | ||
exports.__esModule = true; | ||
exports.getLocales = void 0; | ||
var getLocales = function (_a) { | ||
var app = _a.app, name = _a.name, defaultLocalesConfig = _a["default"], _b = _a.config, userLocalesConfig = _b === void 0 ? {} : _b; | ||
return defaultLocalesConfig; | ||
}; | ||
exports.getLocales = getLocales; | ||
|
||
|
||
//// [declarationEmitBindingPatternWithReservedWord.d.ts] | ||
type LocaleData = Record<string, never>; | ||
type ConvertLocaleConfig<T extends LocaleData = LocaleData> = Record<string, T>; | ||
type LocaleConfig<T extends LocaleData = LocaleData> = Record<string, Partial<T>>; | ||
export interface GetLocalesOptions<T extends LocaleData> { | ||
app: unknown; | ||
default: ConvertLocaleConfig<T>; | ||
config?: LocaleConfig<T> | undefined; | ||
name?: string; | ||
} | ||
export declare const getLocales: <T extends LocaleData>({ app, name, default: defaultLocalesConfig, config, }: GetLocalesOptions<T>) => ConvertLocaleConfig<T>; | ||
export {}; |
78 changes: 78 additions & 0 deletions
78
tests/baselines/reference/declarationEmitBindingPatternWithReservedWord.symbols
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
=== tests/cases/compiler/declarationEmitBindingPatternWithReservedWord.ts === | ||
type LocaleData = Record<string, never> | ||
>LocaleData : Symbol(LocaleData, Decl(declarationEmitBindingPatternWithReservedWord.ts, 0, 0)) | ||
>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) | ||
|
||
type ConvertLocaleConfig<T extends LocaleData = LocaleData> = Record< | ||
>ConvertLocaleConfig : Symbol(ConvertLocaleConfig, Decl(declarationEmitBindingPatternWithReservedWord.ts, 0, 39)) | ||
>T : Symbol(T, Decl(declarationEmitBindingPatternWithReservedWord.ts, 1, 25)) | ||
>LocaleData : Symbol(LocaleData, Decl(declarationEmitBindingPatternWithReservedWord.ts, 0, 0)) | ||
>LocaleData : Symbol(LocaleData, Decl(declarationEmitBindingPatternWithReservedWord.ts, 0, 0)) | ||
>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) | ||
|
||
string, | ||
T | ||
>T : Symbol(T, Decl(declarationEmitBindingPatternWithReservedWord.ts, 1, 25)) | ||
|
||
>; | ||
type LocaleConfig<T extends LocaleData = LocaleData> = Record<string, Partial<T>>; | ||
>LocaleConfig : Symbol(LocaleConfig, Decl(declarationEmitBindingPatternWithReservedWord.ts, 4, 2)) | ||
>T : Symbol(T, Decl(declarationEmitBindingPatternWithReservedWord.ts, 5, 18)) | ||
>LocaleData : Symbol(LocaleData, Decl(declarationEmitBindingPatternWithReservedWord.ts, 0, 0)) | ||
>LocaleData : Symbol(LocaleData, Decl(declarationEmitBindingPatternWithReservedWord.ts, 0, 0)) | ||
>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) | ||
>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) | ||
>T : Symbol(T, Decl(declarationEmitBindingPatternWithReservedWord.ts, 5, 18)) | ||
|
||
export interface GetLocalesOptions<T extends LocaleData> { | ||
>GetLocalesOptions : Symbol(GetLocalesOptions, Decl(declarationEmitBindingPatternWithReservedWord.ts, 5, 82)) | ||
>T : Symbol(T, Decl(declarationEmitBindingPatternWithReservedWord.ts, 7, 35)) | ||
>LocaleData : Symbol(LocaleData, Decl(declarationEmitBindingPatternWithReservedWord.ts, 0, 0)) | ||
|
||
app: unknown; | ||
>app : Symbol(GetLocalesOptions.app, Decl(declarationEmitBindingPatternWithReservedWord.ts, 7, 58)) | ||
|
||
default: ConvertLocaleConfig<T>; | ||
>default : Symbol(GetLocalesOptions.default, Decl(declarationEmitBindingPatternWithReservedWord.ts, 8, 17)) | ||
>ConvertLocaleConfig : Symbol(ConvertLocaleConfig, Decl(declarationEmitBindingPatternWithReservedWord.ts, 0, 39)) | ||
>T : Symbol(T, Decl(declarationEmitBindingPatternWithReservedWord.ts, 7, 35)) | ||
|
||
config?: LocaleConfig<T> | undefined; | ||
>config : Symbol(GetLocalesOptions.config, Decl(declarationEmitBindingPatternWithReservedWord.ts, 9, 36)) | ||
>LocaleConfig : Symbol(LocaleConfig, Decl(declarationEmitBindingPatternWithReservedWord.ts, 4, 2)) | ||
>T : Symbol(T, Decl(declarationEmitBindingPatternWithReservedWord.ts, 7, 35)) | ||
|
||
name?: string; | ||
>name : Symbol(GetLocalesOptions.name, Decl(declarationEmitBindingPatternWithReservedWord.ts, 10, 41)) | ||
} | ||
|
||
export const getLocales = <T extends LocaleData>({ | ||
>getLocales : Symbol(getLocales, Decl(declarationEmitBindingPatternWithReservedWord.ts, 14, 12)) | ||
>T : Symbol(T, Decl(declarationEmitBindingPatternWithReservedWord.ts, 14, 27)) | ||
>LocaleData : Symbol(LocaleData, Decl(declarationEmitBindingPatternWithReservedWord.ts, 0, 0)) | ||
|
||
app, | ||
>app : Symbol(app, Decl(declarationEmitBindingPatternWithReservedWord.ts, 14, 50)) | ||
|
||
name, | ||
>name : Symbol(name, Decl(declarationEmitBindingPatternWithReservedWord.ts, 15, 8)) | ||
|
||
default: defaultLocalesConfig, | ||
>default : Symbol(GetLocalesOptions.default, Decl(declarationEmitBindingPatternWithReservedWord.ts, 8, 17)) | ||
>defaultLocalesConfig : Symbol(defaultLocalesConfig, Decl(declarationEmitBindingPatternWithReservedWord.ts, 16, 9)) | ||
|
||
config: userLocalesConfig = {}, | ||
>config : Symbol(GetLocalesOptions.config, Decl(declarationEmitBindingPatternWithReservedWord.ts, 9, 36)) | ||
>userLocalesConfig : Symbol(userLocalesConfig, Decl(declarationEmitBindingPatternWithReservedWord.ts, 17, 34)) | ||
|
||
}: GetLocalesOptions<T>): ConvertLocaleConfig<T> => { | ||
>GetLocalesOptions : Symbol(GetLocalesOptions, Decl(declarationEmitBindingPatternWithReservedWord.ts, 5, 82)) | ||
>T : Symbol(T, Decl(declarationEmitBindingPatternWithReservedWord.ts, 14, 27)) | ||
>ConvertLocaleConfig : Symbol(ConvertLocaleConfig, Decl(declarationEmitBindingPatternWithReservedWord.ts, 0, 39)) | ||
>T : Symbol(T, Decl(declarationEmitBindingPatternWithReservedWord.ts, 14, 27)) | ||
|
||
return defaultLocalesConfig; | ||
>defaultLocalesConfig : Symbol(defaultLocalesConfig, Decl(declarationEmitBindingPatternWithReservedWord.ts, 16, 9)) | ||
|
||
}; | ||
|
52 changes: 52 additions & 0 deletions
52
tests/baselines/reference/declarationEmitBindingPatternWithReservedWord.types
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
=== tests/cases/compiler/declarationEmitBindingPatternWithReservedWord.ts === | ||
type LocaleData = Record<string, never> | ||
>LocaleData : { [x: string]: never; } | ||
|
||
type ConvertLocaleConfig<T extends LocaleData = LocaleData> = Record< | ||
>ConvertLocaleConfig : ConvertLocaleConfig<T> | ||
|
||
string, | ||
T | ||
>; | ||
type LocaleConfig<T extends LocaleData = LocaleData> = Record<string, Partial<T>>; | ||
>LocaleConfig : LocaleConfig<T> | ||
|
||
export interface GetLocalesOptions<T extends LocaleData> { | ||
app: unknown; | ||
>app : unknown | ||
|
||
default: ConvertLocaleConfig<T>; | ||
>default : ConvertLocaleConfig<T> | ||
|
||
config?: LocaleConfig<T> | undefined; | ||
>config : LocaleConfig<T> | ||
|
||
name?: string; | ||
>name : string | ||
} | ||
|
||
export const getLocales = <T extends LocaleData>({ | ||
>getLocales : <T extends LocaleData>({ app, name, default: defaultLocalesConfig, config, }: GetLocalesOptions<T>) => ConvertLocaleConfig<T> | ||
><T extends LocaleData>({ app, name, default: defaultLocalesConfig, config: userLocalesConfig = {},}: GetLocalesOptions<T>): ConvertLocaleConfig<T> => { return defaultLocalesConfig;} : <T extends LocaleData>({ app, name, default: defaultLocalesConfig, config, }: GetLocalesOptions<T>) => ConvertLocaleConfig<T> | ||
|
||
app, | ||
>app : unknown | ||
|
||
name, | ||
>name : string | ||
|
||
default: defaultLocalesConfig, | ||
>default : any | ||
>defaultLocalesConfig : ConvertLocaleConfig<T> | ||
|
||
config: userLocalesConfig = {}, | ||
>config : any | ||
>userLocalesConfig : LocaleConfig<T> | ||
>{} : {} | ||
|
||
}: GetLocalesOptions<T>): ConvertLocaleConfig<T> => { | ||
return defaultLocalesConfig; | ||
>defaultLocalesConfig : ConvertLocaleConfig<T> | ||
|
||
}; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
23 changes: 23 additions & 0 deletions
23
tests/cases/compiler/declarationEmitBindingPatternWithReservedWord.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
// @declaration: true | ||
type LocaleData = Record<string, never> | ||
type ConvertLocaleConfig<T extends LocaleData = LocaleData> = Record< | ||
string, | ||
T | ||
>; | ||
type LocaleConfig<T extends LocaleData = LocaleData> = Record<string, Partial<T>>; | ||
|
||
export interface GetLocalesOptions<T extends LocaleData> { | ||
app: unknown; | ||
default: ConvertLocaleConfig<T>; | ||
config?: LocaleConfig<T> | undefined; | ||
name?: string; | ||
} | ||
|
||
export const getLocales = <T extends LocaleData>({ | ||
app, | ||
name, | ||
default: defaultLocalesConfig, | ||
config: userLocalesConfig = {}, | ||
}: GetLocalesOptions<T>): ConvertLocaleConfig<T> => { | ||
return defaultLocalesConfig; | ||
}; |