mirror of
https://github.com/OliveTin/OliveTin
synced 2025-12-19 12:35:32 +00:00
41 lines
793 B
JavaScript
41 lines
793 B
JavaScript
// NOTICE: This file is generated by Rollup. To modify it,
|
|
// please instead edit the ESM counterpart and rebuild with Rollup (npm run build).
|
|
'use strict';
|
|
|
|
const svgTags = require('svg-tags');
|
|
const mathMLTags = require('./mathMLTags.cjs');
|
|
|
|
/**
|
|
* Check whether a type selector is a custom element
|
|
*
|
|
* @param {string} selector
|
|
* @returns {boolean}
|
|
*/
|
|
function isCustomElement(selector) {
|
|
if (!/^[a-z]/.test(selector)) {
|
|
return false;
|
|
}
|
|
|
|
if (!selector.includes('-')) {
|
|
return false;
|
|
}
|
|
|
|
const selectorLowerCase = selector.toLowerCase();
|
|
|
|
if (selectorLowerCase !== selector) {
|
|
return false;
|
|
}
|
|
|
|
if (svgTags.includes(selectorLowerCase)) {
|
|
return false;
|
|
}
|
|
|
|
if (mathMLTags.includes(selectorLowerCase)) {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
module.exports = isCustomElement;
|