diff options
| author | V1K1NGbg <victor@ilchev.com> | 2024-08-22 17:49:00 -0300 |
|---|---|---|
| committer | Hisham Muhammad <hisham@gobolinux.org> | 2024-10-21 13:30:51 -0300 |
| commit | ef6ae68c57b74430654987f159af1f1e902f67c2 (patch) | |
| tree | f4adae17eb869c8d6a1edbef13ce22ea3ea750d6 /src | |
| parent | 5fe3d2fd35d75256967a75c77a9e1d0e9aa3ec92 (diff) | |
| download | luarocks-ef6ae68c57b74430654987f159af1f1e902f67c2.tar.gz luarocks-ef6ae68c57b74430654987f159af1f1e902f67c2.tar.bz2 luarocks-ef6ae68c57b74430654987f159af1f1e902f67c2.zip | |
Teal: convert luarocks.config
Diffstat (limited to 'src')
| -rw-r--r-- | src/luarocks/config.tl | 18 |
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 | ||
| 3 | local persist = require("luarocks.persist") | 3 | local persist = require("luarocks.persist") |
| 4 | 4 | ||
| 5 | local cfg_skip = { | 5 | local 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 | ||
| 13 | function config.should_skip(k, v) | 13 | local type PersistableTable = require("luarocks.core.types.persist").PersistableTable |
| 14 | return type(v) == "function" or cfg_skip[k] | 14 | |
| 15 | function config.should_skip(k: string, v: any): boolean | ||
| 16 | return v is function or cfg_skip[k] | ||
| 15 | end | 17 | end |
| 16 | 18 | ||
| 17 | local function cleanup(tbl) | 19 | local 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 |
| 25 | end | 27 | end |
| 26 | 28 | ||
| 27 | function config.get_config_for_display(cfg) | 29 | function config.get_config_for_display(cfg: PersistableTable): PersistableTable |
| 28 | return cleanup(cfg) | 30 | return cleanup(cfg) |
| 29 | end | 31 | end |
| 30 | 32 | ||
| 31 | function config.to_string(cfg) | 33 | function 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) |
| 34 | end | 36 | end |
| 35 | 37 | ||
