モジュール:Phone

提供:ウィキボヤージュ
モジュールの解説[表示] [編集] [履歴] [キャッシュを破棄]

ウィキデータでのバージョン: 2022-10-22 問題なし

使用状況[編集]

このモジュールを使用しているテンプレートは以下の通りです:

関連項目[編集]

-- documentation
local Phone = {
	suite  = 'Phone',
	serial = '2022-10-22',
	item   = 106152593
}

-- module import
-- require( 'strict' )
local cm = require( 'Module:CountryData' )
local lp = require( 'Module:LinkPhone' )
local yn = require( 'Module:Yesno' )

-- module variable and administration
local ph = {
	moduleInterface = Phone
}

-- with parameter check for templates / #invoke
function ph.linkPhoneNumberSet( args )
	args.phone  = args.phone or args.mobile or args[ 1 ] or ''
	if args.phone == '' then
		return ''
	end

	args.cc     = ( args.cc or '' ):gsub( '^00', '+' ):gsub( '^%+%++', '+' )
	args.format = yn( args.format, false )
	args.isFax  = yn( args.isFax, false )
	args.isTollfree = yn( args.isTollfree, false )
	args.size   = tonumber( args.size )

	-- get country code if allowed
	local size
	if ( args.cc == '' or args.cc:sub( 1, 1 ) ~= '+' ) then
		args.cc, size = cm.getCountryCode()
		args.size = args.size or size
	end
	args.size = args.size or 2

	return lp.linkPhoneNumbers( args )
end

-- for #invoke call
function ph.linkPhone( frame )
	return ph.linkPhoneNumberSet( frame.args )
end

-- for template call
function ph.linkPhoneTemplate( frame )
	return ph.linkPhoneNumberSet( frame:getParent().args )
end

return ph