@bernotieno/mini-framework
Version:
A lightweight JavaScript framework built from scratch with zero dependencies
52 lines (45 loc) • 1.12 kB
JavaScript
/**
* 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)}`;
}