- ✅ 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
36 lines
613 B
JavaScript
36 lines
613 B
JavaScript
/**
|
|
* @import {IndentLines} from '../types.js'
|
|
*/
|
|
|
|
const eol = /\r?\n|\r/g
|
|
|
|
/**
|
|
* @type {IndentLines}
|
|
*/
|
|
export function indentLines(value, map) {
|
|
/** @type {Array<string>} */
|
|
const result = []
|
|
let start = 0
|
|
let line = 0
|
|
/** @type {RegExpExecArray | null} */
|
|
let match
|
|
|
|
while ((match = eol.exec(value))) {
|
|
one(value.slice(start, match.index))
|
|
result.push(match[0])
|
|
start = match.index + match[0].length
|
|
line++
|
|
}
|
|
|
|
one(value.slice(start))
|
|
|
|
return result.join('')
|
|
|
|
/**
|
|
* @param {string} value
|
|
*/
|
|
function one(value) {
|
|
result.push(map(value, line, !value))
|
|
}
|
|
}
|