| '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); |