mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-05-05 19:19:35 +00:00
27 lines
651 B
Lua
27 lines
651 B
Lua
---@class Analytics
|
|
local Analytics = {}
|
|
|
|
---@class Event
|
|
---@field views? number
|
|
---@field likes? number
|
|
---@field comments? number
|
|
|
|
---@class Summary
|
|
---@field views number
|
|
---@field likes number
|
|
---@field comments number
|
|
|
|
---@param events? Event[]
|
|
---@return Summary
|
|
function Analytics.aggregate(events)
|
|
local summary = { views = 0, likes = 0, comments = 0 }
|
|
for _, event in ipairs(events or {}) do
|
|
summary.views = summary.views + (event.views or 0)
|
|
summary.likes = summary.likes + (event.likes or 0)
|
|
summary.comments = summary.comments + (event.comments or 0)
|
|
end
|
|
return summary
|
|
end
|
|
|
|
return Analytics
|