- ✅ 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
39 lines
952 B
JavaScript
39 lines
952 B
JavaScript
/**
|
|
* @import {Code} from 'micromark-util-types'
|
|
*/
|
|
|
|
import {
|
|
markdownLineEndingOrSpace,
|
|
unicodePunctuation,
|
|
unicodeWhitespace
|
|
} from 'micromark-util-character'
|
|
import {codes, constants} from 'micromark-util-symbol'
|
|
|
|
/**
|
|
* Classify whether a code represents whitespace, punctuation, or something
|
|
* else.
|
|
*
|
|
* Used for attention (emphasis, strong), whose sequences can open or close
|
|
* based on the class of surrounding characters.
|
|
*
|
|
* > 👉 **Note**: eof (`null`) is seen as whitespace.
|
|
*
|
|
* @param {Code} code
|
|
* Code.
|
|
* @returns {typeof constants.characterGroupWhitespace | typeof constants.characterGroupPunctuation | undefined}
|
|
* Group.
|
|
*/
|
|
export function classifyCharacter(code) {
|
|
if (
|
|
code === codes.eof ||
|
|
markdownLineEndingOrSpace(code) ||
|
|
unicodeWhitespace(code)
|
|
) {
|
|
return constants.characterGroupWhitespace
|
|
}
|
|
|
|
if (unicodePunctuation(code)) {
|
|
return constants.characterGroupPunctuation
|
|
}
|
|
}
|