aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/luarocks/config.tl18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/luarocks/config.tl b/src/luarocks/config.tl
index 019b3885..b1f9c52d 100644
--- a/src/luarocks/config.tl
+++ b/src/luarocks/config.tl
@@ -2,7 +2,7 @@ local config = {}
2 2
3local persist = require("luarocks.persist") 3local persist = require("luarocks.persist")
4 4
5local cfg_skip = { 5local cfg_skip: {string: boolean} = {
6 errorcodes = true, 6 errorcodes = true,
7 flags = true, 7 flags = true,
8 platforms = true, 8 platforms = true,
@@ -10,26 +10,28 @@ local cfg_skip = {
10 upload_servers = true, 10 upload_servers = true,
11} 11}
12 12
13function config.should_skip(k, v) 13local type PersistableTable = require("luarocks.core.types.persist").PersistableTable
14 return type(v) == "function" or cfg_skip[k] 14
15function config.should_skip(k: string, v: any): boolean
16 return v is function or cfg_skip[k]
15end 17end
16 18
17local function cleanup(tbl) 19local function cleanup(tbl: PersistableTable): PersistableTable
18 local copy = {} 20 local copy = {}
19 for k, v in pairs(tbl) do 21 for k, v in pairs(tbl) do
20 if not config.should_skip(k, v) then 22 if not (k is string and config.should_skip(k, v)) then
21 copy[k] = v 23 copy[k] = v
22 end 24 end
23 end 25 end
24 return copy 26 return copy
25end 27end
26 28
27function config.get_config_for_display(cfg) 29function config.get_config_for_display(cfg: PersistableTable): PersistableTable
28 return cleanup(cfg) 30 return cleanup(cfg)
29end 31end
30 32
31function config.to_string(cfg) 33function config.to_string(cfg: PersistableTable): string, string
32 local cleancfg = config.get_config_for_display(cfg) 34 local cleancfg: PersistableTable = config.get_config_for_display(cfg)
33 return persist.save_from_table_to_string(cleancfg) 35 return persist.save_from_table_to_string(cleancfg)
34end 36end
35 37