aboutsummaryrefslogtreecommitdiffstats
path: root/lua/mason-core/managers/cargo/client.lua
blob: ae04691d5645bce5e11c9c5e9016fcd215671e12 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
local fetch = require "mason-core.fetch"

local M = {}

---@alias CrateResponse {crate: {id: string, max_stable_version: string, max_version: string, newest_version: string}}

---@async
---@param crate string
---@return Result: of Crate
function M.fetch_crate(crate)
    return fetch(("https://crates.io/api/v1/crates/%s"):format(crate)):map_catching(vim.json.decode)
end

return M