Module:Citation/CS1/Utilities: Difference between revisions

    From Nonbinary Wiki
    m>Trappist the monk
    No edit summary
    m>Trappist the monk
    No edit summary
    Line 21: Line 21:
    end
    end


    return {is_set = is_set, z=z} -- return exported functions and tables
    --[[--------------------------< I N _ A R R A Y >--------------------------------------------------------------
     
    Whether needle is in haystack
     
    ]]
     
    local function in_array( needle, haystack )
    if needle == nil then
    return false;
    end
    for n,v in ipairs( haystack ) do
    if v == needle then
    return n;
    end
    end
    return false;
    end
     
    --[[--------------------------< S U B S T I T U T E >----------------------------------------------------------
     
    Populates numbered arguments in a message string using an argument table.
     
    ]]
     
    local function substitute( msg, args )
    return args and mw.message.newRawMessage( msg, args ):plain() or msg;
    end
     
    --[[--------------------------< E R R O R _ C O M M E N T >----------------------------------------------------
     
    Wraps error messages with css markup according to the state of hidden.
     
    ]]
    local function error_comment( content, hidden )
    return substitute( hidden and cfg.presentation['hidden-error'] or cfg.presentation['visible-error'], content );
    end
     
    return {is_set=is_set, in_array=in_array, substitute=substitute, error_comment=error_comment, z=z} -- return exported functions and tables

    Revision as of 18:21, 13 December 2015

    Documentation for this module may be created at Module:Citation/CS1/Utilities/doc

    local u = {}
    
    local z = {
    	error_categories = {};		-- for categorizing citations that contain errors
    	error_ids = {};
    	message_tail = {};
    	maintenance_cats = {};		-- for categorizing citations that aren't erroneous per se, but could use a little work
    	properties_cats = {};		-- for categorizing citations based on certain properties, language of source for instance
    };
    
    local cfg = mw.loadData ('Module:Citation/CS1/Configuration/sandbox');
    
    --[[--------------------------< I S _ S E T >------------------------------------------------------------------
    
    Returns true if argument is set; false otherwise. Argument is 'set' when it exists (not nil) or when it is not an empty string.
    This function is global because it is called from both this module and from Date validation
    
    ]]
    function is_set( var )
    	return not (var == nil or var == '');
    end
    
    --[[--------------------------< I N _ A R R A Y >--------------------------------------------------------------
    
    Whether needle is in haystack
    
    ]]
    
    local function in_array( needle, haystack )
    	if needle == nil then
    		return false;
    	end
    	for n,v in ipairs( haystack ) do
    		if v == needle then
    			return n;
    		end
    	end
    	return false;
    end
    
    --[[--------------------------< S U B S T I T U T E >----------------------------------------------------------
    
    Populates numbered arguments in a message string using an argument table.
    
    ]]
    
    local function substitute( msg, args )
    	return args and mw.message.newRawMessage( msg, args ):plain() or msg;
    end
    
    --[[--------------------------< E R R O R _ C O M M E N T >----------------------------------------------------
    
    Wraps error messages with css markup according to the state of hidden.
    
    ]]
    local function error_comment( content, hidden )
    	return substitute( hidden and cfg.presentation['hidden-error'] or cfg.presentation['visible-error'], content );
    end
    
    return {is_set=is_set, in_array=in_array, substitute=substitute, error_comment=error_comment, z=z}			-- return exported functions and tables