--- name: pipeline kind: function lang: go domain: core version: "1.0.0" purity: pure signature: "func Pipeline[T any](fns ...func(T) T) func(T) T" description: "Compone funciones T -> T en secuencia de izquierda a derecha. Pipeline(f, g, h)(x) equivale a h(g(f(x))). Sin funciones retorna la identidad." tags: [pipeline, compose, functional, generic, pendiente-usar] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "" imports: [] params: - name: fns desc: "funciones variÔdicas de tipo T -> T a componer en secuencia" output: "función que aplica todas las funciones de izquierda a derecha; si no hay funciones, retorna la identidad" tested: false tests: [] test_file_path: "" file_path: "functions/core/pipeline.go" --- ## Ejemplo ```go transform := Pipeline( func(s string) string { return strings.TrimSpace(s) }, func(s string) string { return strings.ToUpper(s) }, func(s string) string { return "[" + s + "]" }, ) transform(" hello ") // "[HELLO]" ``` ## Notas Funcion pura generica. Las funciones se aplican en orden de izquierda a derecha (no es composicion matematica tradicional). Si se pasa un slice vacio de funciones, la funcion retornada actua como identidad.