<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="rue">
	<id>https://wiki.kocky.cc/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3ACommon</id>
	<title>Модуль:Common - Історія едітовань</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.kocky.cc/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3ACommon"/>
	<link rel="alternate" type="text/html" href="https://wiki.kocky.cc/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Common&amp;action=history"/>
	<updated>2026-04-04T01:18:54Z</updated>
	<subtitle>Історія едітовань той сторінкы на вікі</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://wiki.kocky.cc/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Common&amp;diff=106&amp;oldid=prev</id>
		<title>Бетярь: 1 ревізія: Module:Common from StarCitizenTools</title>
		<link rel="alternate" type="text/html" href="https://wiki.kocky.cc/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Common&amp;diff=106&amp;oldid=prev"/>
		<updated>2023-10-18T00:53:16Z</updated>

		<summary type="html">&lt;p&gt;1 ревізія: Module:Common from StarCitizenTools&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;rue&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Старша верзія&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Ревізія 02:53, 18 октовбра 2023&lt;/td&gt;
				&lt;/tr&gt;
&lt;!-- diff cache key wiki:diff::1.12:old-105:rev-106 --&gt;
&lt;/table&gt;</summary>
		<author><name>Бетярь</name></author>
	</entry>
	<entry>
		<id>https://wiki.kocky.cc/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Common&amp;diff=105&amp;oldid=prev</id>
		<title>starcitizen&gt;Alistair3149 в 18:52, 19 юнія 2023</title>
		<link rel="alternate" type="text/html" href="https://wiki.kocky.cc/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Common&amp;diff=105&amp;oldid=prev"/>
		<updated>2023-06-19T18:52:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова сторінка&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local common = {}&lt;br /&gt;
&lt;br /&gt;
--- Convert an input to number&lt;br /&gt;
--- @param num string|integer Input&lt;br /&gt;
--- @param onFail string|integer Output if conversion fails&lt;br /&gt;
--- @param base integer Base for tonumber, defaults to 10&lt;br /&gt;
--- @return number&lt;br /&gt;
function common.toNumber( num, onFail, base )&lt;br /&gt;
	base = base or 10&lt;br /&gt;
&lt;br /&gt;
    if num == nil then&lt;br /&gt;
        return onFail&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
	local numCopy = num&lt;br /&gt;
    if type( num ) == &amp;#039;string&amp;#039; then&lt;br /&gt;
        numCopy = num:gsub( &amp;#039;,&amp;#039;, &amp;#039;.&amp;#039; )&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    numCopy = tonumber( numCopy, base )&lt;br /&gt;
&lt;br /&gt;
    if numCopy == nil then&lt;br /&gt;
        return onFail&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    return numCopy&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- Formats a number according to the content language&lt;br /&gt;
--- @param num number|string&lt;br /&gt;
function common.formatNum( num, onFail )&lt;br /&gt;
    local converted = common.toNumber( num, false )&lt;br /&gt;
&lt;br /&gt;
    if converted == nil or converted == false then&lt;br /&gt;
    	return onFail or false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
    local converted = mw.language.getContentLanguage():formatNum( converted )&lt;br /&gt;
&lt;br /&gt;
    return mw.ustring.gsub( converted, &amp;#039;−&amp;#039;, &amp;#039;-&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- Removes (...) suffixes&lt;br /&gt;
--- @param pageName string&lt;br /&gt;
--- @param suffix string|table&lt;br /&gt;
function common.removeTypeSuffix( pageName, suffix )&lt;br /&gt;
    if type( suffix ) == &amp;#039;table&amp;#039; then&lt;br /&gt;
        for _, toRemove in pairs( suffix ) do&lt;br /&gt;
            pageName = common.removeTypeSuffix( pageName, toRemove )&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        return pageName&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    return mw.text.trim( pageName:gsub( &amp;#039;%(&amp;#039; .. suffix .. &amp;#039;%)&amp;#039;, &amp;#039;&amp;#039; ), &amp;#039;_ &amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- Create interwiki links for a given title&lt;br /&gt;
--- @param pageName string&lt;br /&gt;
function common.generateInterWikiLinks( pageName )&lt;br /&gt;
	if pageName == nil or #pageName == &amp;#039;&amp;#039; then&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local prefixes = { &amp;#039;de&amp;#039;, &amp;#039;hu&amp;#039;, &amp;#039;zh&amp;#039; }&lt;br /&gt;
	local suffixes = {}&lt;br /&gt;
&lt;br /&gt;
	local out = &amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
	for _, prefix in pairs( prefixes ) do&lt;br /&gt;
		local page = common.removeTypeSuffix( pageName, suffixes )&lt;br /&gt;
		out = out .. string.format( &amp;#039;[[%s:%s]]&amp;#039;, prefix, page )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- Checks if Setting SMW Data was successful&lt;br /&gt;
--- @param result table&lt;br /&gt;
function common.checkSmwResult( result )&lt;br /&gt;
	if result == nil then&lt;br /&gt;
        return&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
    if result ~= true and result.error ~= nil then&lt;br /&gt;
        error( &amp;#039;Semantic Mediawiki error &amp;#039; .. result.error )&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- Checks if Api Request was successful and if the Response is valid&lt;br /&gt;
--- @param response table&lt;br /&gt;
--- @param errorOnData boolean&lt;br /&gt;
--- @param errorOnData boolean&lt;br /&gt;
--- @return boolean&lt;br /&gt;
function common.checkApiResponse( response, errorOnStatus, errorOnData )&lt;br /&gt;
    if response[ &amp;#039;status_code&amp;#039; ] ~= nil and response[ &amp;#039;status_code&amp;#039; ] ~= 200 then&lt;br /&gt;
        if errorOnStatus == nil or errorOnStatus == true then&lt;br /&gt;
            error( &amp;#039;API request returns the error code &amp;#039; .. response[ &amp;#039;status_code&amp;#039; ] .. &amp;#039;(&amp;#039; .. response[ &amp;#039;message&amp;#039; ] .. &amp;#039;)&amp;#039;, 0 )&lt;br /&gt;
        end&lt;br /&gt;
        return false&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    if response[ &amp;#039;data&amp;#039; ] == nil then&lt;br /&gt;
        if errorOnData == nil or errorOnData == true then&lt;br /&gt;
            error( &amp;#039;API data does not contain a &amp;quot;data&amp;quot; field&amp;#039;, 0 )&lt;br /&gt;
        end&lt;br /&gt;
        return false&lt;br /&gt;
    end&lt;br /&gt;
    return true&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- Walks a table in order, can be used like pairs()&lt;br /&gt;
--- @param t table&lt;br /&gt;
--- @param order function - Sorting function OPTIONAL&lt;br /&gt;
function common.spairs( t, order )&lt;br /&gt;
    -- collect the keys&lt;br /&gt;
    local keys = {}&lt;br /&gt;
    for k in pairs(t) do keys[#keys+1] = k end&lt;br /&gt;
&lt;br /&gt;
    -- if order function given, sort by it by passing the table and keys a, b,&lt;br /&gt;
    -- otherwise just sort the keys&lt;br /&gt;
    if order then&lt;br /&gt;
        table.sort(keys, function(a,b) return order(t, a, b) end)&lt;br /&gt;
    else&lt;br /&gt;
        table.sort(keys)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    -- return the iterator function&lt;br /&gt;
    local i = 0&lt;br /&gt;
    return function()&lt;br /&gt;
        i = i + 1&lt;br /&gt;
        if keys[i] then&lt;br /&gt;
            return keys[i], t[keys[i]]&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return common&lt;/div&gt;</summary>
		<author><name>starcitizen&gt;Alistair3149</name></author>
	</entry>
</feed>