/** * TT-Core Script Loader * Dynamically load external scripts */ /** * Load external script dynamically * @param {string} src - Script URL * @returns {Promise} - Resolves when script is loaded */ export function loadScript(src) { return new Promise((resolve, reject) => { // Check if already loaded if (document.querySelector(`script[src="${src}"]`)) { return resolve(); } const script = document.createElement('script'); script.src = src; script.onload = resolve; script.onerror = () => reject(new Error(`Script load error for ${src}`)); document.head.appendChild(script); }); } /** * Load multiple scripts sequentially * @param {string[]} scripts - Array of script URLs * @returns {Promise} - Resolves when all scripts are loaded */ export async function loadScripts(scripts) { for (const src of scripts) { await loadScript(src); } }