simple-pure-utils
Version:
Funciones puras para manipulación de objetos, arreglos, promesas y observables
22 lines (21 loc) • 1.25 kB
TypeScript
import { Span } from "../types";
/**Encuentra todas las apariciones de cierto patron en una cadena */
export declare function findAll(input: string, pattern: RegExp | string): Span[];
export interface ReplaceIndex {
/**Indice de la posición de reemplazo */
index: number;
/**Longitud de origen la parte que se va a remplazar */
inputLength: number;
/**Longitud de destino de la parte que se va a reemplazar */
outputLength: number;
}
/**
* Dados los indices de las instrucciones de reemplazo, devuelve los indices en los que se deben de hacer cada una de ellas para que al hacerlas
* en ordencomo si se hubieran hecho todas en paralelo. El arrego devuelto tiene la misma longitud que @param indices
*
* Ej. Al reemplazar la cadena "#bc#b" las el texto "#" por "##" los indices iniciales de reemplazo son [0, 3] y las longitudes finales [2, 2],
* el primer reemplazo se debe de hacer en el indice 0, pero debido a que el primer reemplazo modificó la longitud de la cadena, el segundo reemplazo se debe de hacer
* en el índice 4, no en el 3. Así que el retorno de la función en este caso es [0, 4]
* @param indices
*/
export declare function getReplaceAllIndices<TInput, TOutput>(indices: ReplaceIndex[]): number[];