blob: 82dc85aa3d98dd151ba17eb2647924db0d01c142 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
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 # Result<CrateResponse>
function M.fetch_crate(crate)
return fetch(("https://crates.io/api/v1/crates/%s"):format(crate), {
headers = {
Accept = "application/json",
},
}):map_catching(vim.json.decode)
end
return M
|