UNPKG

@bernotieno/mini-framework

Version:

A lightweight JavaScript framework built from scratch with zero dependencies

52 lines (45 loc) 1.12 kB
/** * String Utilities * Functions for string manipulation and formatting */ /** * Capitalize first letter of a string */ export function capitalize(str) { if (!str || typeof str !== 'string') return str; return str.charAt(0).toUpperCase() + str.slice(1); } /** * Convert camelCase to kebab-case */ export function camelToKebab(str) { return str.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase(); } /** * Convert kebab-case to camelCase */ export function kebabToCamel(str) { return str.replace(/-([a-z])/g, (match, letter) => letter.toUpperCase()); } /** * Escape HTML characters */ export function escapeHtml(str) { const div = document.createElement('div'); div.textContent = str; return div.innerHTML; } /** * Create a simple template engine */ export function template(template, data) { return template.replace(/\{\{(\w+)\}\}/g, (match, key) => { return data[key] !== undefined ? data[key] : match; }); } /** * Generate a unique ID */ export function generateId(prefix = 'id') { return `${prefix}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`; }