codigo0/node_modules/happy-dom/lib/custom-element/CustomElementUtility.js
planetazuzu 5d7a6500fe refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades
-  Ticket 1.1: Estructura Clean Architecture en backend
-  Ticket 1.2: Schemas Zod compartidos
-  Ticket 1.3: Refactorización drugs.ts (1362 → 8 archivos modulares)
-  Ticket 1.4: Refactorización procedures.ts (3583 → 6 archivos modulares)
-  Ticket 1.5: Eliminación de duplicidades (~50 líneas)

Cambios principales:
- Creada estructura Clean Architecture en backend/src/
- Schemas Zod compartidos en backend/src/shared/schemas/
- Refactorización modular de drugs y procedures
- Utilidades genéricas en src/utils/ (filter, validation)
- Eliminados scripts obsoletos y documentación antigua
- Corregidos errores: QueryClient, import test-error-handling
- Build verificado y funcionando correctamente
2026-01-25 21:09:47 +01:00

32 lines
1.1 KiB
JavaScript

const PCEN_CHAR = '[-_.]|[0-9]|[a-z]|\u{B7}|[\u{C0}-\u{D6}]|[\u{D8}-\u{F6}]' +
'|[\u{F8}-\u{37D}]|[\u{37F}-\u{1FFF}]' +
'|[\u{200C}-\u{200D}]|[\u{203F}-\u{2040}]|[\u{2070}-\u{218F}]' +
'|[\u{2C00}-\u{2FEF}]|[\u{3001}-\u{D7FF}]' +
'|[\u{F900}-\u{FDCF}]|[\u{FDF0}-\u{FFFD}]|[\u{10000}-\u{EFFFF}]';
const PCEN_REGEXP = new RegExp(`^[a-z](${PCEN_CHAR})*-(${PCEN_CHAR})*$`, 'u');
const RESERVED_NAMES = [
'annotation-xml',
'color-profile',
'font-face',
'font-face-src',
'font-face-uri',
'font-face-format',
'font-face-name',
'missing-glyph'
];
/**
* Custom element utility.
*/
export default class CustomElementUtility {
/**
* Returns true if the tag name is a valid custom element name.
*
* @see https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name
* @param name Tag name.
* @returns True if valid.
*/
static isValidCustomElementName(name) {
return PCEN_REGEXP.test(name) && !RESERVED_NAMES.includes(name);
}
}
//# sourceMappingURL=CustomElementUtility.js.map