UNPKG

tiny-essentials

Version:

Collection of small, essential scripts designed to be used across various projects. These simple utilities are crafted for speed, ease of use, and versatility.

109 lines 3.36 kB
export default TinyTextDiffer; /** * Represents the result of a single text segment comparison. */ export type DiffResult = { /** * - The actual string content of the segment. */ value: string; /** * - The status of the segment relative to the comparison. */ type: "normal" | "added" | "deleted"; }; /** * Represents the result of a single text segment comparison. * @typedef {Object} DiffResult * @property {string} value - The actual string content of the segment. * @property {"normal"|"added"|"deleted"} type - The status of the segment relative to the comparison. */ /** * A utility class to store a history of text strings and compute the differences * between any two versions, generating a detailed diff output. */ declare class TinyTextDiffer { /** * Initializes a new instance of TinyTextDiffer. * @param {string[]} [history=[]] */ constructor(history?: string[]); /** * Overwrites the current history array, ensuring all elements are valid strings. * @param {string[]} history */ set history(history: string[]); /** * Retrieves a shallow copy of the current history array. * @returns {string[]} */ get history(): string[]; /** * Gets the total number of versions currently stored in the history. * @returns {number} */ get size(): number; /** * Retrieves the text string at the specified index. * @param {number} index * @returns {string} */ get(index: number): string; /** * Checks if a text string exists at the specified index. * @param {number} index * @returns {boolean} */ has(index: number): boolean; /** * Appends a new text string to the end of the history. * @param {string} text * @returns {void} */ add(text: string): void; /** * Removes and returns the last text string from the history. * @returns {string | undefined} */ remove(): string | undefined; /** * Inserts a text string at the specified index position. * @param {number} index * @param {string} text * @returns {void} */ addAt(index: number, text: string): void; /** * Removes the text string at the specified index position. * @param {number} index * @returns {boolean} */ removeAt(index: number): boolean; /** * Empties the entire history. * @returns {void} */ clear(): void; /** * Compares multiple pairs of text strings from the history based on their indices. * Each pair of indices (e.g., index1 and index2) will produce a DiffResult array. * @param {...number} indexes - An even number of indices to be compared in pairs. * @returns {(DiffResult[])[]} An array of DiffResult arrays for each compared pair. */ compare(...indexes: number[]): (DiffResult[])[]; /** * Computes the Longest Common Subsequence (LCS) to generate the diff result. * @private * @param {string} str1 * @param {string} str2 * @returns {DiffResult[]} */ private _computeDiff; /** * Cleans up internal references and marks the instance as destroyed to prevent memory leaks. * @returns {void} */ destroy(): void; #private; } //# sourceMappingURL=TinyTextDiffer.d.mts.map