reflections/shape/shape.js
function(obj){
	var hasOwnKey = obj[canSymbol.for("can.hasOwnKey")];
	if(hasOwnKey) {
		return hasOwnKey.bind(obj);
	} else {
		var map = makeMap( shapeReflections.getOwnEnumerableKeys(obj) );
		return function(key) {
			return map.get(key);
		};
	}
}
function(obj){
	var hasOwnKey = obj[canSymbol.for("can.hasOwnKey")];
	if(hasOwnKey) {
		return hasOwnKey.bind(obj);
	} else {
		var map = makeMap( shapeReflections.getOwnEnumerableKeys(obj) );
		return function(key) {
			return map.get(key);
		};
	}
}
function ( obj ) { var hasOwnKey = obj [ canSymbol . for ( "can.hasOwnKey" ) ] ; if ( hasOwnKey ) { return hasOwnKey . bind ( obj ) ; } else { var map = makeMap ( shapeReflections . getOwnEnumerableKeys ( obj ) ) ; return function ( key ) { return map . get ( key ) ; } ; } }
creates an optimized hasOwnKey lookup. If the object has hasOwnKey, then we just use that. Otherwise, try to put all keys in a map.
creates an optimized hasOwnKey lookup . If the object has hasOwnKey then we just use that . Otherwise try to put all keys in a map .