local _M = {}

-- 从域名中获取根域名
function _M.get_root_domain(domain)
    -- 先判断是否为有效字符串
    if type(domain) ~= "string" then
        return nil
    end
    -- 去除末尾的点
    domain = domain:gsub("%.$", "")
    -- 拆分域名
    local parts = {}
    for part in string.gmatch(domain, "[^%.]+") do
        table.insert(parts, part)
    end
    local n = #parts
    if n < 2 then
        return nil
    end
    -- 返回倒数第二和最后一个部分拼接
    return parts[n-1] .. "." .. parts[n]
end

-- 判断域名是否是主域名
function _M.is_root_domain(domain)
    return domain:match("^[^.]+%.([^.]+)$") == 1
end

return _M