export function getName(name, mode, ios, md) { mode = (mode || 'md').toLowerCase(); if (ios && mode === 'ios') { name = ios.toLowerCase(); } else if (md && mode === 'md') { name = md.toLowerCase(); } else if (name) { name = name.toLowerCase(); if (!/^md-|^ios-|^logo-/.test(name)) { name = `${mode}-${name}`; } } if (typeof name !== 'string' || name.trim() === '') { return null; } const invalidChars = name.replace(/[a-z]|-|\d/gi, ''); if (invalidChars !== '') { return null; } return name; } export function getSrc(src) { if (typeof src === 'string') { src = src.trim(); if (src.length > 0 && /(\/|\.)/.test(src)) { return src; } } return null; } export function isValid(elm) { if (elm.nodeType === 1) { if (elm.nodeName.toLowerCase() === 'script') { return false; } for (let i = 0; i < elm.attributes.length; i++) { const val = elm.attributes[i].value; if (typeof val === 'string' && val.toLowerCase().indexOf('on') === 0) { return false; } } for (let i = 0; i < elm.childNodes.length; i++) { if (!isValid(elm.childNodes[i])) { return false; } } } return true; }