-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathAPI.lua
More file actions
74 lines (58 loc) · 1.94 KB
/
API.lua
File metadata and controls
74 lines (58 loc) · 1.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
local _, ns = ...
local T = {}
ns.T = T
local issecretvalue = issecretvalue
local issecrettable = issecrettable
local canaccessvalue = canaccessvalue
local ShouldUnitIdentityBeSecret = C_Secrets and C_Secrets.ShouldUnitIdentityBeSecret
do
function T:IsSecretUnit(unit)
return ShouldUnitIdentityBeSecret and ShouldUnitIdentityBeSecret(unit)
end
function T:NotSecretUnit(unit)
return not ShouldUnitIdentityBeSecret or not ShouldUnitIdentityBeSecret(unit)
end
function T:IsSecretValue(value)
return issecretvalue and issecretvalue(value)
end
function T:IsSecretTable(object)
return issecrettable and issecrettable(object)
end
function T:NotSecretValue(value)
return not issecretvalue or not issecretvalue(value)
end
function T:NotSecretTable(object)
return not issecrettable or not issecrettable(object)
end
function T:CanAccessValue(value)
return not canaccessvalue or canaccessvalue(value)
end
function T:CanNotAccessValue(value)
return canaccessvalue and not canaccessvalue(value)
end
function T:HasSecretValues(object)
return object.HasSecretValues and object:HasSecretValues()
end
function T:NoSecretValues(object)
return not object.HasSecretValues or not object:HasSecretValues()
end
function T:UnitExists(unit)
if T:IsSecretUnit(unit) then return end
return unit and UnitExists(unit)
end
function T:UnitGUID(unit)
if T:IsSecretUnit(unit) then return end
local success, guid = pcall(UnitGUID, unit)
return success and guid
end
end
do
function T:SendChatMessage(...)
if C_ChatInfo.InChatMessagingLockdown() then return end
return C_ChatInfo.SendChatMessage(...)
end
function T:SendAddonMessage(...)
if C_ChatInfo.InChatMessagingLockdown() then return end
return C_ChatInfo.SendAddonMessage(...)
end
end