You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					20 lines
				
				642 B
			
		
		
			
		
	
	
					20 lines
				
				642 B
			| 
								 
											3 years ago
										 
									 | 
							
								'use strict';
							 | 
						||
| 
								 | 
							
								var strong = require('./_collection-strong');
							 | 
						||
| 
								 | 
							
								var validate = require('./_validate-collection');
							 | 
						||
| 
								 | 
							
								var MAP = 'Map';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// 23.1 Map Objects
							 | 
						||
| 
								 | 
							
								module.exports = require('./_collection')(MAP, function (get) {
							 | 
						||
| 
								 | 
							
								  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
							 | 
						||
| 
								 | 
							
								}, {
							 | 
						||
| 
								 | 
							
								  // 23.1.3.6 Map.prototype.get(key)
							 | 
						||
| 
								 | 
							
								  get: function get(key) {
							 | 
						||
| 
								 | 
							
								    var entry = strong.getEntry(validate(this, MAP), key);
							 | 
						||
| 
								 | 
							
								    return entry && entry.v;
							 | 
						||
| 
								 | 
							
								  },
							 | 
						||
| 
								 | 
							
								  // 23.1.3.9 Map.prototype.set(key, value)
							 | 
						||
| 
								 | 
							
								  set: function set(key, value) {
							 | 
						||
| 
								 | 
							
								    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}, strong, true);
							 |