モジュール:Phone
この解説は、モジュール:Phone/docから呼び出されています。 (編集 | 履歴) 編集者は、このモジュールをサンドボックス (作成 | 複製)とテストケース (作成)で試すことができます。(解説) このモジュールのサブページ一覧。 |
-- 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