happy-dom
Version:
Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. It includes many web standards from WHATWG DOM and HTML.
69 lines (64 loc) • 2.37 kB
text/typescript
import CharacterData from './CharacterData.js';
/**
* Child node utility.
*/
export default class CharacterDataUtility {
/**
* Appends the given DOMString to the CharacterData.data string; when this method returns, data contains the concatenated DOMString.
*
* @param characterData Character data.
* @param data Data.
*/
public static appendData(characterData: CharacterData, data: string): void {
characterData.data += data;
}
/**
* Removes the specified amount of characters, starting at the specified offset, from the CharacterData.data string; when this method returns, data contains the shortened DOMString.
*
* @param characterData Character data.
* @param offset Offset.
* @param count Count.
*/
public static deleteData(characterData: CharacterData, offset: number, count: number): void {
characterData.data =
characterData.data.substring(0, offset) + characterData.data.substring(offset + count);
}
/**
* Inserts the specified characters, at the specified offset, in the CharacterData.data string; when this method returns, data contains the modified DOMString.
*
* @param characterData Character data.
* @param offset Offset.
* @param data Data.
*/
public static insertData(characterData: CharacterData, offset: number, data: string): void {
characterData.data =
characterData.data.substring(0, offset) + data + characterData.data.substring(offset);
}
/**
* Replaces the specified amount of characters, starting at the specified offset, with the specified DOMString; when this method returns, data contains the modified DOMString.
*
* @param characterData Character data.
* @param offset Offset.
* @param count Count.
* @param data Data.
*/
public static replaceData(
characterData: CharacterData,
offset: number,
count: number,
data: string
): void {
characterData.data =
characterData.data.substring(0, offset) + data + characterData.data.substring(offset + count);
}
/**
* Returns a DOMString containing the part of CharacterData.data of the specified length and starting at the specified offset.
*
* @param characterData Character data.
* @param offset Offset.
* @param count Count.
*/
public static substringData(characterData: CharacterData, offset: number, count: number): string {
return characterData.data.substring(offset, offset + count);
}
}