مسابقه دانش‌دخت
اسلامیکال از تاریخ ۱۵ دی تا ۲۰ بهمن، میزبان یک همایه با موضوع زنان است. شما می‌توانید در مسابقه مقاله‌نویسی دانش‌دخت، شرکت کنید و با نگارش مقاله، از جوایز آن بهره‌مند باشید. اگر به موضوعات مربوط با زنان علاقه‌مندید، این فرصت را از دست ندهید. فهرستی از مقالات پیشنهادی جهت ایجاد یا ویرایش در اینجا وجود دارد.

پودمان:Protect

از اسلامیکال
نسخهٔ تاریخ ‏۲۴ سپتامبر ۲۰۲۵، ساعت ۱۸:۲۶ توسط Aboammar (بحث | مشارکت‌ها) (صفحه‌ای تازه حاوی «local function processResult(options, success, ...) if not success then local message = tostring(... or '(فاقد پیام)') if options.removeLocation then message = mw.ustring.gsub(message, '^پودمان:[^:]+:%d+: ', '', 1) end return mw.ustring.format(options.errFormat, message) end return ... end local function protect(func, errFormat, options) if type(errFormat) == 'table' then options = options or errFormat...» ایجاد کرد)
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو

توضیحات این پودمان می‌تواند در پودمان:Protect/توضیحات قرار گیرد.

local function processResult(options, success, ...)
	if not success then
		local message = tostring(... or '(فاقد پیام)')
		if options.removeLocation then
			message = mw.ustring.gsub(message, '^پودمان:[^:]+:%d+: ', '', 1)
		end
		return mw.ustring.format(options.errFormat, message)
	end
	return ...
end

local function protect(func, errFormat, options)
	if type(errFormat) == 'table' then
		options = options or errFormat
		errFormat = nil
	end
	options = mw.clone(options) or {}
	options.errFormat = errFormat or options.errFormat or 'خطا: %s'
	if not options.raw then
		options.errFormat = '<strong class="error">' .. options.errFormat .. '</strong>'
	end
	options.removeLocation = options.removeLocation == nil or options.removeLocation
	
	return function (...)
		return processResult(options, pcall(func, ...))
	end
end

return protect