diff options
| author | William Boman <william@redwill.se> | 2023-10-13 21:14:29 +0200 |
|---|---|---|
| committer | William Boman <william@redwill.se> | 2025-02-19 09:23:19 +0100 |
| commit | ae208dc380808ff1aef39929a0e897e881571d43 (patch) | |
| tree | b9044cec7223062db69998189c76f8163ac9d58b /lua/mason-core/receipt.lua | |
| parent | fix(location): use correct registry path (diff) | |
| download | mason-ae208dc380808ff1aef39929a0e897e881571d43.tar mason-ae208dc380808ff1aef39929a0e897e881571d43.tar.gz mason-ae208dc380808ff1aef39929a0e897e881571d43.tar.bz2 mason-ae208dc380808ff1aef39929a0e897e881571d43.tar.lz mason-ae208dc380808ff1aef39929a0e897e881571d43.tar.xz mason-ae208dc380808ff1aef39929a0e897e881571d43.tar.zst mason-ae208dc380808ff1aef39929a0e897e881571d43.zip | |
refactor: standardize constructors and improve inheritance construction
Diffstat (limited to 'lua/mason-core/receipt.lua')
| -rw-r--r-- | lua/mason-core/receipt.lua | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/lua/mason-core/receipt.lua b/lua/mason-core/receipt.lua index 748cab38..63403503 100644 --- a/lua/mason-core/receipt.lua +++ b/lua/mason-core/receipt.lua @@ -25,12 +25,12 @@ local M = {} local InstallReceipt = {} InstallReceipt.__index = InstallReceipt -function InstallReceipt.new(data) - return setmetatable(data, InstallReceipt) +function InstallReceipt:new(data) + return setmetatable(data, self) end function InstallReceipt.from_json(json) - return InstallReceipt.new(json) + return InstallReceipt:new(json) end function InstallReceipt:get_name() @@ -72,14 +72,16 @@ end local InstallReceiptBuilder = {} InstallReceiptBuilder.__index = InstallReceiptBuilder -function InstallReceiptBuilder.new() - return setmetatable({ - links = { - bin = vim.empty_dict(), - share = vim.empty_dict(), - opt = vim.empty_dict(), - }, - }, InstallReceiptBuilder) +function InstallReceiptBuilder:new() + ---@type InstallReceiptBuilder + local instance = {} + setmetatable(instance, self) + instance.links = { + bin = vim.empty_dict(), + share = vim.empty_dict(), + opt = vim.empty_dict(), + } + return instance end ---@param name string @@ -130,7 +132,7 @@ function InstallReceiptBuilder:build() assert(self.start_time, "start_time is required") assert(self.completion_time, "completion_time is required") assert(self.source, "source is required") - return InstallReceipt.new { + return InstallReceipt:new { name = self.name, schema_version = "1.2", metrics = { |
