Based on what you are using it for you don't really need a separate UnitIsPet function, also the class name used to index CUSTOM_CLASS_COLORS and RAID_CLASS_COLORS should be in all caps:
Code:
hooksecurefunc("UnitFrame_Update", function(self)
if not self.name then return end
local unit, color = self.unit
if UnitPlayerControlled(unit) then
if UnitIsPlayer(unit) then
local _, class = UnitClass(unit)
color = (CUSTOM_CLASS_COLORS or RAID_CLASS_COLORS)[class]
else
color = HIGHLIGHT_FONT_COLOR
end
elseif UnitIsTapped(unit) and not UnitIsTappedByPlayer(unit) then
color = GRAY_FONT_COLOR
else
color = FACTION_BAR_COLORS[UnitIsEnemy(unit, "player") and 1 or UnitReaction(unit, "player") or 5]
end
if not color then
color = (CUSTOM_CLASS_COLORS or RAID_CLASS_COLORS)["PRIEST"]
end
self.name:SetTextColor(color.r, color.g, color.b)
end)