diff options
Diffstat (limited to 'lua/mason-core/receipt.lua')
| -rw-r--r-- | lua/mason-core/receipt.lua | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lua/mason-core/receipt.lua b/lua/mason-core/receipt.lua index 42a7e882..bdf96254 100644 --- a/lua/mason-core/receipt.lua +++ b/lua/mason-core/receipt.lua @@ -1,3 +1,7 @@ +local Optional = require "mason-core.optional" +local Purl = require "mason-core.purl" +local _ = require "mason-core.functional" + local M = {} ---@alias InstallReceiptSchemaVersion @@ -41,6 +45,14 @@ function InstallReceipt:get_name() return self.name end +---@return string? +function InstallReceipt:get_installed_package_version() + local source = self:get_source() + if source.id then + return Purl.parse(source.id):map(_.prop "version"):get_or_nil() + end +end + function InstallReceipt:get_schema_version() return self.schema_version end |
