core-js
Version:
Standard library
25 lines (22 loc) • 835 B
JavaScript
// https://github.com/zenparsing/es-abstract-refs
!function(REFERENCE){
REFERENCE_GET = getWellKnownSymbol(REFERENCE+'Get', true);
var REFERENCE_SET = getWellKnownSymbol(REFERENCE+SET, true)
, REFERENCE_DELETE = getWellKnownSymbol(REFERENCE+'Delete', true);
$define(STATIC, SYMBOL, {
referenceGet: REFERENCE_GET,
referenceSet: REFERENCE_SET,
referenceDelete: REFERENCE_DELETE
});
hidden(FunctionProto, REFERENCE_GET, returnThis);
function setMapMethods(Constructor){
if(Constructor){
var MapProto = Constructor[PROTOTYPE];
hidden(MapProto, REFERENCE_GET, MapProto.get);
hidden(MapProto, REFERENCE_SET, MapProto.set);
hidden(MapProto, REFERENCE_DELETE, MapProto['delete']);
}
}
setMapMethods(Map);
setMapMethods(WeakMap);
}('reference');