mirror of
https://github.com/Insality/druid.git
synced 2025-06-27 10:27:47 +02:00
43 lines
1.1 KiB
Lua
43 lines
1.1 KiB
Lua
--- Druid module with utils on string formats
|
|
-- @module helper.formats
|
|
|
|
local const = require("druid.const")
|
|
|
|
local M = {}
|
|
|
|
--- Return number with zero number prefix
|
|
-- @function formats.add_prefix_zeros
|
|
-- @tparam number num Number for conversion
|
|
-- @tparam number count Count of numerals
|
|
-- @return string with need count of zero (1,3) -> 001
|
|
function M.add_prefix_zeros(num, count)
|
|
local result = tostring(num)
|
|
for i = string.len(result), count - 1 do
|
|
result = const.ZERO..result
|
|
end
|
|
return result
|
|
end
|
|
|
|
|
|
--- Convert seconds to string minutes:seconds
|
|
-- @function formats.second_string_min
|
|
-- @tparam number sec Seconds
|
|
-- @return string minutes:seconds
|
|
function M.second_string_min(sec)
|
|
local mins = math.floor(sec / 60)
|
|
local seconds = math.floor(sec - mins * 60)
|
|
return string.format("%.2d:%.2d", mins, seconds)
|
|
end
|
|
|
|
|
|
--- Interpolate string with named Parameters in Table
|
|
-- @function formats.second_string_min
|
|
-- @tparam string s Target string
|
|
-- @tparam table tab Table with parameters
|
|
-- @return string with replaced parameters
|
|
function M.interpolate_string(s, tab)
|
|
return (s:gsub('($%b{})', function(w) return tab[w:sub(3, -2)] or w end))
|
|
end
|
|
|
|
|
|
return M |