Module:TemplateHelpers: Difference between revisions

// via Wikitext Extension for VSCode
Tag: Reverted
// via Wikitext Extension for VSCode
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
-- Module:TemplateHelpers
--[[
-- Common helper functions for template modules promoting code reuse and consistency.
* Name: TemplateHelpers
-- Provides utilities for string processing, field handling, normalization, and block rendering.
* Author: Mark W. Datysgeld
--
* Description: Common helper functions for template modules promoting code reuse and consistency across string processing, field handling, normalization, and block rendering
-- This module contains the following sections:
* Notes: String processing functions for manipulating strings and template arguments; field processing functions for handling template fields and values; normalization wrappers for standardizing data formats; block generation helpers for rendering template blocks; category and semantic utilities (DEPRECATED wrappers for SemanticCategoryHelpers); configuration standardization for creating standard config structures; includes caching mechanism and multi-value string processing
-- * String Processing Functions - For manipulating strings and template arguments
]]
-- * Field Processing Functions - For handling template fields and values
-- * Normalization Wrappers - For standardizing data formats
-- * Block Generation Helpers - For rendering template blocks
-- * Category and Semantic Utilities - DEPRECATED wrappers for SemanticCategoryHelpers
-- * Configuration Standardization - For creating standard config structures


local p = {}
local p = {}
Line 20: Line 15:
local NormalizationText = require('Module:NormalizationText')
local NormalizationText = require('Module:NormalizationText')
local ListGeneration = require('Module:ListGeneration')
local ListGeneration = require('Module:ListGeneration')
-- WikitextProcessor is loaded lazily to avoid circular dependency


--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Line 736: Line 730:
function p.splitMultiValueString(value, delimiters)
function p.splitMultiValueString(value, delimiters)
     return NormalizationText.splitMultiValueString(value, delimiters)
     return NormalizationText.splitMultiValueString(value, delimiters)
end
--------------------------------------------------------------------------------
-- Content Processing Functions
--------------------------------------------------------------------------------
-- Processes JSON content with wikitext formatting for frontend display
-- Delegation function to WikitextProcessor module (lazy loaded to avoid circular dependency)
-- @param content The content string to process
-- @param placeholders Optional table of placeholder values for $VARIABLE$ replacement
-- @param errorContext Optional error context for error reporting
-- @return Processed content ready for frontend display
function p.processContentForFrontend(content, placeholders, errorContext)
    local WikitextProcessor = require('Module:WikitextProcessor')
    return WikitextProcessor.processContentForFrontend(content, placeholders, errorContext)
end
end