@@ -38,6 +38,21 @@ var createMapFromMap: {(m: Map<any, any>): Map<any, any>} = (function() {
3838 return map ;
3939 }
4040} ) ( ) ;
41+ var _clearValues : { ( m : Map < any , any > ) } = ( function ( ) {
42+ if ( ( < any > ( new Map ( ) ) . keys ( ) ) . next ) {
43+ return function _clearValues ( m : Map < any , any > ) {
44+ var keyIterator = m . keys ( ) ;
45+ var k ;
46+ while ( ! ( ( k = ( < any > keyIterator ) . next ( ) ) . done ) ) {
47+ m . set ( k . value , null ) ;
48+ }
49+ } ;
50+ } else {
51+ return function _clearValuesWithForeEach ( m : Map < any , any > ) {
52+ m . forEach ( ( v , k ) => { m . set ( k , null ) ; } ) ;
53+ }
54+ }
55+ } ) ( ) ;
4156
4257export class MapWrapper {
4358 static create ( ) : Map < any , any > { return new Map ( ) ; }
@@ -57,13 +72,7 @@ export class MapWrapper {
5772 static size ( m : Map < any , any > ) { return m . size ; }
5873 static delete < K > ( m : Map < K , any > , k : K ) { m . delete ( k ) ; }
5974 static clear ( m : Map < any , any > ) { m . clear ( ) ; }
60- static clearValues ( m : Map < any , any > ) {
61- var keyIterator = m . keys ( ) ;
62- var k ;
63- while ( ! ( ( k = ( < any > keyIterator ) . next ( ) ) . done ) ) {
64- m . set ( k . value , null ) ;
65- }
66- }
75+ static clearValues ( m : Map < any , any > ) { _clearValues ( m ) ; }
6776 static iterable ( m ) { return m ; }
6877 static keys < K > ( m : Map < K , any > ) : List < K > { return m . keys ( ) ; }
6978 static values < V > ( m : Map < any , V > ) : List < V > { return m . values ( ) ; }
0 commit comments