UNPKG

@full-pack/string-builder

Version:

A lightweight and versatile String Builder Class for Node.js & Browser.

83 lines (80 loc) 3.71 kB
/** * @full-pack/string-builder v2.0.0 * Copyright (c) 2024 Ram Amoncar <ramamonkar444@gmail.com> * @license MIT */ type Replacer = (char: string, index: number, str: string) => string; declare class StringBuilder { private _cap; private _str; constructor(str?: string, capacity?: number); insert(index: number, value: number | string | boolean, repeatCount?: number): boolean; append(value: number | string | boolean, repeatCount?: number): boolean; prepend(value: number | string | boolean, repeatCount?: number): boolean; appendNewLine(num?: number): boolean; prependNewLine(num?: number): boolean; appendSpace(num?: number): boolean; prependSpace(num?: number): boolean; appendArray(arr: Array<number | string | boolean>, separator?: string): boolean; prependArray(arr: Array<number | string | boolean>, separator?: string): boolean; appendJSON(json: Record<string | number | symbol, unknown> | Array<Record<string | number | symbol, unknown>>, space?: string | number): boolean; prependJSON(json: Record<string | number | symbol, unknown> | Array<Record<string | number | symbol, unknown>>, space?: string | number): boolean; appendCodePoint(...codePoints: number[]): boolean; prependCodePoint(...codePoints: number[]): boolean; replaceSubstring(str: string | Replacer, start?: number, end?: number): boolean; setString(value: string): boolean; private checkCapacity; getString(): string; indexOf(searchString: string, position?: number): number; lastIndexOf(searchString: string, position?: number): number; setChar(index: number, char: string): string; substring(start: number, end?: number): string; trim(): void; /** * Only removes the string. */ clear(): void; /** * Removes string & capacity. */ reset(): void; clone(): StringBuilder; isFull(): boolean; isEmpty(): boolean; get capacity(): number; set capacity(value: number); get length(): number; set length(value: number); } declare class ChainableStringBuilder { private readonly sb; readonly UNSET_VALUE = -1; static fromStringBuilder(sb: StringBuilder): ChainableStringBuilder; constructor(str?: string, capacity?: number); insert(index: number, value: number | string | boolean, repeatCount?: number): this; append(value: number | string | boolean, repeatCount?: number): this; prepend(value: number | string | boolean, repeatCount?: number): this; appendNewLine(num?: number): this; prependNewLine(num?: number): this; appendSpace(num?: number): this; prependSpace(num?: number): this; appendArray(arr: Array<number | string | boolean>, separator?: string): this; prependArray(arr: Array<number | string | boolean>, separator?: string): this; appendJSON(json: Record<string | number | symbol, unknown> | Array<Record<string | number | symbol, unknown>>, space?: string | number): this; prependJSON(json: Record<string | number | symbol, unknown> | Array<Record<string | number | symbol, unknown>>, space?: string | number): this; appendCodePoint(...codePoints: number[]): this; prependCodePoint(...codePoints: number[]): this; replaceSubstring(str: string | Replacer, start?: number, end?: number): this; setString(value: string): this; trim(): this; clear(): this; reset(): this; clone(): ChainableStringBuilder; build(): StringBuilder; getString(): string; get capacity(): number; set capacity(value: number); get length(): number; set length(value: number); } export { ChainableStringBuilder, type Replacer, StringBuilder, StringBuilder as default };