fix: only dispatch remove evt if an item is actually removed

by removeAt
This commit is contained in:
Will Hopkins 2023-12-09 00:13:36 -08:00
parent 3d469c19ca
commit 61742f45c8
No known key found for this signature in database
GPG Key ID: 643B8C585BABBB68

View File

@ -99,12 +99,14 @@ end
---@return HarpoonList
function HarpoonList:removeAt(index)
Listeners.listeners:emit(
Listeners.event_names.REMOVE,
{ list = self, item = self.items[index], idx = index }
)
Logger:log("HarpoonList:removeAt", { item = self.items[index], index = index })
table.remove(self.items, index)
if self.items[index] then
Logger:log("HarpoonList:removeAt", { item = self.items[index], index = index })
Listeners.listeners:emit(
Listeners.event_names.REMOVE,
{ list = self, item = self.items[index], idx = index }
)
table.remove(self.items, index)
end
return self
end