can-map-define.js
function(map, attr, val) {
	var serializer = attr === "*" ? false : getPropDefineBehavior("serialize", attr, map.define);
	if (serializer === undefined) {
		return oldSingleSerialize.call(map, attr, val);
	} else if (serializer !== false) {
		return typeof serializer === "function" ? serializer.call(map, val, attr) : oldSingleSerialize.call(map, attr, val);
	}
}
function(map, attr, val) {
	var serializer = attr === "*" ? false : getPropDefineBehavior("serialize", attr, map.define);
	if (serializer === undefined) {
		return oldSingleSerialize.call(map, attr, val);
	} else if (serializer !== false) {
		return typeof serializer === "function" ? serializer.call(map, val, attr) : oldSingleSerialize.call(map, attr, val);
	}
}
function ( map , attr , val ) { var serializer = attr === "*" ? false : getPropDefineBehavior ( "serialize" , attr , map . define ) ; if ( serializer === undefined ) { return oldSingleSerialize . call ( map , attr , val ) ; } else if ( serializer !== false ) { return typeof serializer === "function" ? serializer . call ( map , val , attr ) : oldSingleSerialize . call ( map , attr , val ) ; } }
If the map has a define serializer for the given attr, run it.
If the map has a define serializer for the given attr run it .