|
1 | 1 | local Result = require "mason-core.result" |
2 | 2 | local _ = require "mason-core.functional" |
3 | 3 | local providers = require "mason-core.providers" |
4 | | -local util = require "mason-core.installer.compiler.util" |
5 | 4 |
|
6 | 5 | local M = {} |
7 | 6 |
|
8 | 7 | ---@class CargoSource : RegistryPackageSource |
9 | | ----@field supported_platforms? string[] |
10 | 8 |
|
11 | 9 | ---@param source CargoSource |
12 | 10 | ---@param purl Purl |
13 | 11 | function M.parse(source, purl) |
14 | | - return Result.try(function(try) |
15 | | - if source.supported_platforms then |
16 | | - try(util.ensure_valid_platform(source.supported_platforms)) |
17 | | - end |
18 | | - |
19 | | - local repository_url = _.path({ "qualifiers", "repository_url" }, purl) |
| 12 | + local repository_url = _.path({ "qualifiers", "repository_url" }, purl) |
20 | 13 |
|
21 | | - local git |
22 | | - if repository_url then |
23 | | - git = { |
24 | | - url = repository_url, |
25 | | - rev = _.path({ "qualifiers", "rev" }, purl) == "true", |
26 | | - } |
27 | | - end |
| 14 | + local git |
| 15 | + if repository_url then |
| 16 | + git = { |
| 17 | + url = repository_url, |
| 18 | + rev = _.path({ "qualifiers", "rev" }, purl) == "true", |
| 19 | + } |
| 20 | + end |
28 | 21 |
|
29 | | - ---@type string? |
30 | | - local features = _.path({ "qualifiers", "features" }, purl) |
31 | | - local locked = _.path({ "qualifiers", "locked" }, purl) |
| 22 | + ---@type string? |
| 23 | + local features = _.path({ "qualifiers", "features" }, purl) |
| 24 | + local locked = _.path({ "qualifiers", "locked" }, purl) |
32 | 25 |
|
33 | | - ---@class ParsedCargoSource : ParsedPackageSource |
34 | | - local parsed_source = { |
35 | | - crate = purl.name, |
36 | | - version = purl.version, |
37 | | - features = features, |
38 | | - locked = locked ~= "false", |
39 | | - git = git, |
40 | | - } |
41 | | - return parsed_source |
42 | | - end) |
| 26 | + ---@class ParsedCargoSource : ParsedPackageSource |
| 27 | + local parsed_source = { |
| 28 | + crate = purl.name, |
| 29 | + version = purl.version, |
| 30 | + features = features, |
| 31 | + locked = locked ~= "false", |
| 32 | + git = git, |
| 33 | + } |
| 34 | + return Result.success(parsed_source) |
43 | 35 | end |
44 | 36 |
|
45 | 37 | ---@async |
|
0 commit comments