aboutsummaryrefslogtreecommitdiffstats
path: root/lua/mason-core/receipt.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/mason-core/receipt.lua')
-rw-r--r--lua/mason-core/receipt.lua12
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