This module provides access to Module:scripts from templates, so that they can make use of the information stored there.

Экспорттолгон функциялар

түзөтүү

{{[[Template:#invoke:scripts/templates|#invoke:scripts/templates]]|exists|script code}}

Скрипт коду бар же жарактуу экенин текшериңиз. Ал скрипт коду бар болсо "1" кайтарып берет, ал эми бош сап "" жок болсо.

Бул чанда гана керек, анткени кимдир бирөө жарактуу эмес кодду колдонгондо скрипт катасы келип чыгат, андыктан каталарды текшерүү үчүн мунун кереги жок. Бирок, кандайдыр бир параметр скрипт кодубу же башка нерсеби, ошонун негизинде ар кандай аракеттерди чечишиңиз керек болсо, бул функция пайдалуу болушу мүмкүн.

{{[[Template:#invoke:scripts/templates|#invoke:scripts/templates]]|getByCode|script code|item to look up|index}}

Скрипт коду жөнүндө маалыматты сурайт.

  • Скрипт коду Module:scripts маалыматтарында аныкталган коддордун бири болушу керек. Эгерде ал жок болсо же жок болсо, натыйжа скрипт катасы болот.
  • Нерсе getCanonicalName же getCategoryName сыяктуу скрипт үчүн сакталган берилиштердин биринин аты. Эгер эч кандай нерсе берилбесе, натыйжада скрипт катасы болот.
  • Индекс милдеттүү эмес жана getOtherNames сыяктуу тизмелер үчүн колдонулат. Ал тизмедеги кайсы нерсени кайтаруу керектигин тандайт. getCanonicalName сыяктуу жалгыз саптардан турган нерселерде ал эч кандай таасир этпейт. Эгерде индекс берилбесе, демейки 1 болот (биринчи субпункт). Эгерде индекс тизмедеги элементтердин санынан жогору болсо, натыйжада бош сап болот.

Мисалы, коду Latn болгон скрипттин демейки (канондук) атын суроо үчүн:

{{[[Template:#invoke:scripts/templates|#invoke:scripts/templates]]|getByCode|Latn|getCanonicalName}}
  • Натыйжа: Роман

Эгерде бар болсо, анын экинчи атын суроо үчүн:

{{[[Template:#invoke:scripts/templates|#invoke:scripts/templates]]|getByCode|Latn|getOtherNames|1}}
  • Натыйжа: Латын

local export = {}

function export.exists(frame)
	return require("Module:scripts").getByCode(
		require("Module:parameters").process(frame.args, {
			[1] = {required = true}
		})[1]
	) and "1" or ""
end

function export.getByCode(frame)
	return require("Module:language-like").templateGetByCode(
		require("Module:parameters").process(frame.args, {
			[1] = {required = true, type = "script"},
			[2] = {required = true},
			[3] = {}
		}),
		function(itemname)
			if itemname == "countCharacters" then
				local text = args[3] or ""
				return args[1]:countCharacters(text)
			end
		end
	)
end

function export.getByCanonicalName(frame)
	local sc = require("Module:scripts").getByCanonicalName(
		require("Module:parameters").process(frame.args, {
			[1] = {required = true}
		})[1]
	)
	return sc and sc:getCode() or "None"
end

return export