Module:Distinguish: Difference between revisions
From Kaboom Wiki
				| >NeilN m Protected "Module:Distinguish": Highly visible template ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite)) | >Galobtter  fixed with text and selfref | ||
| (2 intermediate revisions by the same user not shown) | |||
| Line 10: | Line 10: | ||
| 	mArguments = require('Module:Arguments') | 	mArguments = require('Module:Arguments') | ||
| 	mTableTools = require('Module:TableTools') | 	mTableTools = require('Module:TableTools') | ||
| 	local args =  | 	local args = mArguments.getArgs(frame) | ||
| 	return p._distinguish(args) | 	local selfref = args.selfref | ||
| 	local text = args.text | |||
| 	args = mTableTools.compressSparseArray(args) | |||
| 	return p._distinguish(args, text, selfref) | |||
| end | end | ||
| function p._distinguish(args) | function p._distinguish(args, text, selfref) | ||
| 	checkType("_distinguish", 1, args, 'table') | 	checkType("_distinguish", 1, args, 'table') | ||
| 	if #args == 0 then return '' end | 	if #args == 0 and not text then return '' end | ||
| 	local text = string.format( | 	local text = string.format( | ||
| 		'Not to be confused with %s.', | 		'Not to be confused with %s.', | ||
| 		mHatlist.orList(args, true) | 		text or mHatlist.orList(args, true) | ||
| 	) | 	) | ||
| 	return mHatnote._hatnote(text) | 	hnOptions = {selfref = selfref} | ||
| 	return mHatnote._hatnote(text, hnOptions) | |||
| end | end | ||
| return p | return p | ||
Latest revision as of 10:06, 1 April 2018
Documentation for this module may be created at Module:Distinguish/doc
local mHatnote = require('Module:Hatnote')
local mHatlist = require('Module:Hatnote list')
local mArguments --initialize lazily
local mTableTools --initialize lazily
local libraryUtil = require('libraryUtil')
local checkType = libraryUtil.checkType
local p = {}
function p.distinguish(frame)
	mArguments = require('Module:Arguments')
	mTableTools = require('Module:TableTools')
	local args = mArguments.getArgs(frame)
	local selfref = args.selfref
	local text = args.text
	args = mTableTools.compressSparseArray(args)
	return p._distinguish(args, text, selfref)
end
function p._distinguish(args, text, selfref)
	checkType("_distinguish", 1, args, 'table')
	if #args == 0 and not text then return '' end
	local text = string.format(
		'Not to be confused with %s.',
		text or mHatlist.orList(args, true)
	)
	hnOptions = {selfref = selfref}
	return mHatnote._hatnote(text, hnOptions)
end
return p
