@@ -585,7 +585,7 @@ namespace ts {
585585 return result ;
586586 }
587587
588- export function mapEntries < T , U > ( map : Map < T > , f : ( key : string , value : T ) => [ string , U ] ) : Map < U > {
588+ export function mapEntries < T , U > ( map : ReadonlyMap < T > , f : ( key : string , value : T ) => [ string , U ] ) : Map < U > {
589589 if ( ! map ) {
590590 return undefined ;
591591 }
@@ -998,9 +998,9 @@ namespace ts {
998998 * Calls `callback` for each entry in the map, returning the first truthy result.
999999 * Use `map.forEach` instead for normal iteration.
10001000 */
1001- export function forEachEntry < T , U > ( map : UnderscoreEscapedMap < T > , callback : ( value : T , key : __String ) => U | undefined ) : U | undefined ;
1002- export function forEachEntry < T , U > ( map : Map < T > , callback : ( value : T , key : string ) => U | undefined ) : U | undefined ;
1003- export function forEachEntry < T , U > ( map : UnderscoreEscapedMap < T > | Map < T > , callback : ( value : T , key : ( string & __String ) ) => U | undefined ) : U | undefined {
1001+ export function forEachEntry < T , U > ( map : ReadonlyUnderscoreEscapedMap < T > , callback : ( value : T , key : __String ) => U | undefined ) : U | undefined ;
1002+ export function forEachEntry < T , U > ( map : ReadonlyMap < T > , callback : ( value : T , key : string ) => U | undefined ) : U | undefined ;
1003+ export function forEachEntry < T , U > ( map : ReadonlyUnderscoreEscapedMap < T > | ReadonlyMap < T > , callback : ( value : T , key : ( string & __String ) ) => U | undefined ) : U | undefined {
10041004 const iterator = map . entries ( ) ;
10051005 for ( let { value : pair , done } = iterator . next ( ) ; ! done ; { value : pair , done } = iterator . next ( ) ) {
10061006 const [ key , value ] = pair ;
@@ -1013,9 +1013,9 @@ namespace ts {
10131013 }
10141014
10151015 /** `forEachEntry` for just keys. */
1016- export function forEachKey < T > ( map : UnderscoreEscapedMap < { } > , callback : ( key : __String ) => T | undefined ) : T | undefined ;
1017- export function forEachKey < T > ( map : Map < { } > , callback : ( key : string ) => T | undefined ) : T | undefined ;
1018- export function forEachKey < T > ( map : UnderscoreEscapedMap < { } > | Map < { } > , callback : ( key : string & __String ) => T | undefined ) : T | undefined {
1016+ export function forEachKey < T > ( map : ReadonlyUnderscoreEscapedMap < { } > , callback : ( key : __String ) => T | undefined ) : T | undefined ;
1017+ export function forEachKey < T > ( map : ReadonlyMap < { } > , callback : ( key : string ) => T | undefined ) : T | undefined ;
1018+ export function forEachKey < T > ( map : ReadonlyUnderscoreEscapedMap < { } > | ReadonlyMap < { } > , callback : ( key : string & __String ) => T | undefined ) : T | undefined {
10191019 const iterator = map . keys ( ) ;
10201020 for ( let { value : key , done } = iterator . next ( ) ; ! done ; { value : key , done } = iterator . next ( ) ) {
10211021 const result = callback ( key as string & __String ) ;
@@ -1027,8 +1027,8 @@ namespace ts {
10271027 }
10281028
10291029 /** Copy entries from `source` to `target`. */
1030- export function copyEntries < T > ( source : UnderscoreEscapedMap < T > , target : UnderscoreEscapedMap < T > ) : void ;
1031- export function copyEntries < T > ( source : Map < T > , target : Map < T > ) : void ;
1030+ export function copyEntries < T > ( source : ReadonlyUnderscoreEscapedMap < T > , target : UnderscoreEscapedMap < T > ) : void ;
1031+ export function copyEntries < T > ( source : ReadonlyMap < T > , target : Map < T > ) : void ;
10321032 export function copyEntries < T , U extends UnderscoreEscapedMap < T > | Map < T > > ( source : U , target : U ) : void {
10331033 ( source as Map < T > ) . forEach ( ( value , key ) => {
10341034 ( target as Map < T > ) . set ( key , value ) ;
@@ -1106,8 +1106,8 @@ namespace ts {
11061106 }
11071107
11081108 export function cloneMap ( map : SymbolTable ) : SymbolTable ;
1109- export function cloneMap < T > ( map : Map < T > ) : Map < T > ;
1110- export function cloneMap < T > ( map : Map < T > | SymbolTable ) : Map < T > | SymbolTable {
1109+ export function cloneMap < T > ( map : ReadonlyMap < T > ) : Map < T > ;
1110+ export function cloneMap < T > ( map : ReadonlyMap < T > | SymbolTable ) : Map < T > | SymbolTable {
11111111 const clone = createMap < T > ( ) ;
11121112 copyEntries ( map as Map < T > , clone ) ;
11131113 return clone ;
0 commit comments