core-fed-util
Version:
This is A collection of commonly used frontend utility functions
880 lines (662 loc) • 27 kB
Markdown
# core-fed-util
This is A collection of commonly used frontend utility functions
## Num
### Description
Provides functions for number manipulation and arithmetic operations with precision.
### Functions
- `getNthLargest(arr: number[], n: number): number | null`
- Returns the nth largest number in an array.
- **Params**: `arr` (array of numbers), `n` (position)
- **Returns**: nth largest number or `null` if n exceeds array length.
- `getDecimalPlaces(num: number): number`
- Returns the number of decimal places in a number.
- **Params**: `num` (number)
- **Returns**: count of decimal places.
- `addFloat(num1: number, num2: number): number`
- Adds two floating-point numbers with precision.
- **Params**: `num1`, `num2`
- **Returns**: sum with precision.
- `subtractFloat`, `multiplyFloat`, `divideFloat`
- Perform subtraction, multiplication, and division with precision similar to `addFloat`.
- `formatNumber(num: number): string`
- Formats a number with commas and two decimal places.
- **Params**: `num`
- **Returns**: formatted string.
- `convertNumberToDecimal(num: string): number`
- Converts a number string with commas to a decimal.
- **Params**: `num` (string)
- **Returns**: decimal number.
- `clampNumber(num: number, min: number, max: number): number`
- Clamps a number between a minimum and maximum value.
- **Params**: `num`, `min`, `max`
- **Returns**: clamped number.
- `convertNumberBase(number: number, base: number = 10): string`
- Converts a number to a different base (2-36).
- **Params**: `number`, `base`
- **Returns**: string representation in the new base.
- `isNumberInteger(num: number): boolean`
- Checks if a number is an integer.
- **Params**: `num`
- **Returns**: `true` if integer.
- `padNumber(num: number | string, padNum: number | string, length: number = 2): string`
- Pads a number with a specified character to a specified length.
- **Params**: `num`, `padNum`, `length`
- **Returns**: padded string.
## Array
### Description
Utility functions for array manipulation.
### Functions
- `generateArrayNumbers(n: number, start: number = 1): number[]`
- Generates an array of numbers starting from a given number.
- **Params**: `n` (length), `start` (starting number)
- **Returns**: array of numbers.
- `flattenArray<T>(arr: T[], depth: number = 1): any[]`
- Flattens a nested array up to a specified depth.
- **Params**: `arr`, `depth`
- **Returns**: flattened array.
- `removeArrayDuplicates<T>(arr: T[], value: T): T[]`
- Removes duplicates of a specific value from an array.
- **Params**: `arr`, `value`
- **Returns**: array with duplicates removed.
- `findAllIndexes<T>(arr: T[], value: T): number[]`
- Finds all indexes of a value in an array.
- **Params**: `arr`, `value`
- **Returns**: array of indexes.
- `isEmptyArray<T>(arr: T[]): boolean`
- Checks if an array is empty.
- **Params**: `arr`
- **Returns**: `true` if empty.
- `sortArrayAscending(arr: number[]): number[]`
- Sorts an array in ascending order.
- **Params**: `arr`
- **Returns**: sorted array.
- `sortArrayDescending`, `bubbleArraySort`
- Sort in descending order and bubble sort implementation.
- `uniqueArray<T>(arr: T[]): T[]`
- Returns an array with unique values.
- **Params**: `arr`
- **Returns**: array of unique values.
- `omitArrayValues<T>(arr: T[], values: T[]): T[]`
- Removes specified values from an array.
- **Params**: `arr`, `values`
- **Returns**: filtered array.
- `arrayToMap(array: [string, any][]): Map<string, any>`
- Converts an array of key-value pairs to a Map.
- **Params**: `array`
- **Returns**: Map.
- `mergeArrays<T>(...arrays: T[][]): T[]`
- Merges multiple arrays into one.
- **Params**: variable number of arrays
- **Returns**: merged array.
## Async
### Description
Utilities for asynchronous operations.
### Functions
- `sleep(ms: number): Promise<void>`
- Pauses execution for specified milliseconds.
- **Params**: `ms`
- **Returns**: Promise that resolves after delay.
- `executeAsyncFunctionsInOrder(functions: Function[]): Promise<AsyncResult[]>`
- Executes async functions in order.
- **Params**: array of async functions
- **Returns**: results array.
- `executeAsyncFunctionsConcurrently(functions: Function[]): Promise<any[]>`
- Runs async functions concurrently.
- **Params**: array of async functions
- **Returns**: results array.
- `runWithConcurrencyInLimit(tasks: Function[], maxConcurrency: number): Promise<any[]>`
- Runs tasks with concurrency limit.
- **Params**: `tasks`, `maxConcurrency`
- **Returns**: results array.
- `asyncify(fn: Function): Promise<(...args: any[]) => Promise<any>>`
- Converts a sync function to async.
- **Params**: `fn`
- **Returns**: async function wrapper.
## Boolean
### Description
Boolean value checking and manipulation.
### Functions
- `checkAllTrue(...args: any[]): boolean`
- Checks if all arguments are truthy.
- **Params**: variable arguments
- **Returns**: `true` if all truthy.
- `checkAnyTrue`, `checkAllFalse`, `checkAnyFalse`
- Similar checks for any truthy, all falsy, any falsy.
- `classIf(condition: any, className: string): string`
- Returns class name if condition is true.
- **Params**: `condition`, `className`
- **Returns**: class name or empty string.
- `filterTruthyProps(obj: Record<string, any>): Record<string, any>`
- Filters object to include only truthy properties.
- **Params**: `obj`
- **Returns**: filtered object.
- `toBoolean(value: any): boolean`
- Converts value to boolean.
- **Params**: `value`
- **Returns**: boolean value.
- `isTrue(value: any): boolean`, `isFalse(value: any): boolean`
- Check if value is truthy or falsy.
## Browser
### Description
Browser-related utilities for URL and storage operations.
### Functions
- `getUrlParam(name: string): string | null`
- Gets a URL parameter value.
- **Params**: `name`
- **Returns**: parameter value or `null`.
- `hasUrlParam(name: string): boolean`
- Checks if URL parameter exists.
- **Params**: `name`
- **Returns**: `true` if exists.
- `setUrlParam(name: string, value: string): void`
- Sets a URL parameter.
- **Params**: `name`, `value`
- `removeUrlParam(name: string): void`
- Removes a URL parameter.
- **Params**: `name`
- `getAllUrlParams(): Record<string, string>`
- Gets all URL parameters as an object.
- **Returns**: object of parameters.
- `getCurrentUrlInfo(): { href, protocol, host, hostname, pathname, search, hash }`
- Returns current URL information.
- **Returns**: URL components object.
- `detectDeviceType(): 'mobile' | 'tablet' | 'desktop'`
- Detects device type based on user agent.
- **Returns**: device type string.
- `getBrowserType(): BrowserType`
- Detects browser type.
- **Returns**: browser name.
### StorageOperator Class
- `static setKey(key: string, value: object, expireHours: number = 24): void`
- Sets a value in localStorage with expiration.
- **Params**: `key`, `value`, `expireHours`
- `static getKey(key: string): object | null`
- Gets a value from localStorage, respects expiration.
- **Params**: `key`
- **Returns**: value or `null` if expired.
- `static removeKey(key: string): void`
- Removes a key from localStorage.
- **Params**: `key`
## Date
### Description
Date and time utility functions.
### Functions
- `getCurrentLocalDateTime(): string`
- Gets current local date and time.
- **Returns**: formatted string.
- `getSpecificLocalDateTime(date: Date): string`
- Gets specific local date and time.
- **Params**: `date`
- **Returns**: formatted string.
- `getCurrentLocalDate(): string`, `getCurrentLocalTime(): string`
- Get current date or time in specific formats.
- `getSpecificLocalDate(date: Date): string`, `getSpecificTime(date: Date): string`
- Get specific date or time in formats.
- `getUtcTime(): string`
- Gets current UTC time string.
- **Returns**: UTC time string.
- `getFormatDate(date: Date, format: string = '-'): string`
- Formats date with custom separator.
- **Params**: `date`, `format`
- **Returns**: formatted date string.
- `getFormatTime(date: Date, format: string = ':'): string`
- Formats time with custom separator.
- **Params**: `date`, `format`
- **Returns**: formatted time string.
- `getSpecificDateTime(date: Date, formatDate: string = '-', formatTime: string = ':'): string`
- Combines formatted date and time.
- **Params**: `date`, `formatDate`, `formatTime`
- **Returns**: combined string.
- `getRelativeTime(date: Date): string`
- Returns relative time string (e.g., "2 days ago").
- **Params**: `date`
- **Returns**: relative time string.
- `dateDiff(date1: Date, date2: Date, unit: DateUnit): number`
- Calculates difference between two dates in specified unit.
- **Params**: `date1`, `date2`, `unit`
- **Returns**: difference value.
- `getFirstDayOfMonth(date: Date): Date`
- Gets first day of the month for a date.
- **Params**: `date`
- **Returns**: first day Date.
- `getLastDayOfMonth(date: Date): number`
- Gets last day of the month for a date.
- **Params**: `date`
- **Returns**: day number.
## Dom
### Description
DOM manipulation and interaction utilities.
### Functions
- `getDomHeight(): number`, `getDomWidth(): number`
- Gets DOM height or width.
- **Returns**: dimension value.
- `getViewportHeight(): number`, `getViewportWidth(): number`
- Gets viewport height or width.
- **Returns**: dimension value.
- `getScrollTop(): number`, `getScrollLeft(): number`
- Gets scroll position.
- **Returns**: scroll value.
- `mouseInElement(element: HTMLElement, x: number, y: number): boolean`
- Checks if coordinates are inside an element.
- **Params**: `element`, `x`, `y`
- **Returns**: `true` if inside.
- `mousePositioninElement(element: HTMLElement, event: MouseEvent): { x: number, y: number } | null`
- Gets mouse position relative to element.
- **Params**: `element`, `event`
- **Returns**: position object or `null`.
- `getMousePosition(event: MouseEvent): { x: number, y: number }`
- Gets mouse position in document.
- **Params**: `event`
- **Returns**: position object.
- `getRealElementHeight(element: HTMLElement): number`, `getElementRealWidth(element: HTMLElement): number`
- Gets real dimensions of an element including scroll.
- **Params**: `element`
- **Returns**: dimension value.
- `isElInViewport(el: HTMLElement): boolean`
- Checks if element is visible in viewport.
- **Params**: `el`
- **Returns**: `true` if visible.
- `removeElement(el: HTMLElement): void`
- Removes element from DOM.
- **Params**: `el`
- `containSpecificEl(el: HTMLElement, child: HTMLElement): boolean`
- Checks if element contains a child.
- **Params**: `el`, `child`
- **Returns**: `true` if contains.
- `findAllChildElements(el: HTMLElement): HTMLElement[]`
- Finds all child elements of a given element.
- **Params**: `el`
- **Returns**: array of child elements.
- `hasChildElements(el: HTMLElement): boolean`
- Checks if element has child elements.
- **Params**: `el`
- **Returns**: `true` if has children.
- `documentHasFocus(): boolean`
- Checks if document has focus.
- **Returns**: `true` if focused.
- `getElementPosition(el: HTMLElement): { top, left, width, height }`
- Gets element position and dimensions.
- **Params**: `el`
- **Returns**: position object.
- `addEventListener(target: HTMLElement, event: keyof HTMLElementEventMap, callback: () => void, options: AddEventListenerOptions = {}): void`
- Adds event listener with browser compatibility.
- **Params**: `target`, `event`, `callback`, `options`
- `downloadFile(data: any, fileName: string): void`
- Downloads data as a file.
- **Params**: `data`, `fileName`
- `downloadImage(imgElement: HTMLImageElement, fileName: string): void`
- Downloads image from element.
- **Params**: `imgElement`, `fileName`
- `downloadImageByUrl(imgUrl: string, fileName: string): void`
- Downloads image by URL.
- **Params**: `imgUrl`, `fileName`
- `uploadFile(fileInput: HTMLInputElement, callback: (data: string, fileName: string) => void): void`
- Uploads file and calls callback with data.
- **Params**: `fileInput`, `callback`
- `copyToClipboard(text: string): Promise<boolean>`
- Copies text to clipboard.
- **Params**: `text`
- **Returns**: Promise indicating success.
- `readFromClipboard(): Promise<string>`
- Reads text from clipboard.
- **Returns**: Promise with clipboard text.
## Env
### Description
Environment detection utilities.
### Functions
- `isReactEnv(): boolean`, `isVueEnv(): boolean`, `isAngularEnv(): boolean`, `isSvelteEnv(): boolean`, `isPreactEnv(): boolean`, `isSolidEnv(): boolean`
- Check if current environment is a specific framework environment.
- **Returns**: `true` if framework is detected.
- `isNodeEnv(): boolean`
- Checks if environment is Node.js.
- **Returns**: `true` in Node.js.
- `isMobile(): boolean`
- Checks if browser is on a mobile device.
- **Returns**: `true` if mobile.
- `curBrowser(): BrowserName`
- Gets current browser name.
- **Returns**: browser name string.
- `hasGlobalVariable(variable: string | number): boolean`
- Checks if a global variable exists.
- **Params**: `variable`
- **Returns**: `true` if exists.
## Function
### Description
Function utilities for execution control and composition.
### Functions
- `retryFn(fn: () => Promise<any>, maxAttempts: number = 3, delay: number = 1000): Promise<any>`
- Retries an async function with exponential backoff.
- **Params**: `fn`, `maxAttempts`, `delay`
- **Returns**: Promise with result.
- `TimedFn(fn: (...args: any[]) => any): (...args: any[]) => any`
- Decorator to log function execution time.
- **Params**: `fn`
- **Returns**: wrapped function.
- `onceFn(fn: Function): (...args: any[]) => any`
- Ensures a function is executed only once.
- **Params**: `fn`
- **Returns**: controlled function.
- `memoizeFn(fn: Function): (...args: any[]) => any`
- Memoizes function results based on arguments.
- **Params**: `fn`
- **Returns**: memoized function.
- `pipeFn(...fns: Function[]): (value: any) => any`
- Creates a pipeline of functions.
- **Params**: functions array
- **Returns**: pipeline function.
- `curryFn(fn: Function): (...args: any[]) => any`
- Curries a function for partial application.
- **Params**: `fn`
- **Returns**: curried function.
## Is
### Description
Type checking utilities.
### Functions
- `isType(value: unknown, type: string): boolean`
- Checks if value is of a specific type.
- **Params**: `value`, `type`
- **Returns**: `true` if matches.
- Type-specific checks: `isNumber`, `isString`, `isArray`, `isObject`, `isFunction`, `isBoolean`, `isNull`, `isUndefined`, `isDate`, `isRegExp`, `isSymbol`, `isBigInt`, `isError`, `isDateTime`, `isMap`, `isSet`, `isWeakMap`, `isWeakSet`, `isPromise`, `isElement`
- Each checks for their respective types.
- **Params**: `value`
- **Returns**: `true` if matches.
## Json
### Description
JSON data manipulation utilities.
### Functions
- `flattenJsonObject(obj: Record<string, any>, prefix: string = '', result: Record<string, any> = {}): Record<string, any>`
- Flattens nested JSON object.
- **Params**: `obj`, `prefix`, `result`
- **Returns**: flattened object.
- `unFlattenJsonObject(obj: Record<string, any>, separator: string = '.'): Record<string, any>`
- Unflattens JSON object.
- **Params**: `obj`, `separator`
- **Returns**: nested object.
- `getJsonObjectDiff(obj1: Record<string, any>, obj2: Record<string, any>): Record<string, { oldValue: any, newValue: any }>`
- Gets differences between two JSON objects.
- **Params**: `obj1`, `obj2`
- **Returns**: differences object.
- `renameJsonObject(obj: Record<string, any>, renameMap: Record<string, string>): Record<string, any>`
- Renames keys in JSON object.
- **Params**: `obj`, `renameMap`
- **Returns**: renamed object.
- `jsonToQueryString(obj: Record<string, any>, prefix: string = ''): string`
- Converts JSON to query string.
- **Params**: `obj`, `prefix`
- **Returns**: query string.
## Log
### Description
Logging utility with different levels and styling.
### Logger Class
- `constructor(name: string = 'global', level: LogLevel = LogLevel.DEBUG)`
- Initializes logger with name and level.
- **Params**: `name`, `level`
- `setLevel(level: LogLevel): void`
- Sets logging level.
- **Params**: `level`
- `debug(...args: any[]): void`, `info(...args: any[]): void`, `warn(...args: any[]): void`, `error(...args: any[]): void`
- Log messages at different levels.
- **Params**: variable arguments
- `time(label: string): () => void`
- Starts a timer and returns a stop function.
- **Params**: `label`
- **Returns**: stop function that logs duration.
## Map
### Description
Map utility functions.
### Functions
- `safeGetMapValue<K, V>(map: Map<K, V>, key: K, defaultVal: V | undefined): V | undefined`
- Safely gets a value from a Map with default.
- **Params**: `map`, `key`, `defaultVal`
- **Returns**: value or default.
- `mapToObject(map: Map<string, any>): Record<string, any>`
- Converts Map to plain object.
- **Params**: `map`
- **Returns**: object.
- `mapToArray<K, V>(map: Map<K, V>): [K, V][]`
- Converts Map to array of entries.
- **Params**: `map`
- **Returns**: array.
- `areMapsEqual<K, V>(map1: Map<K, V>, map2: Map<K, V>): boolean`
- Checks if two Maps are equal.
- **Params**: `map1`, `map2`
- **Returns**: `true` if equal.
- `mergeMaps<K, V>(...maps: Map<K, V>[]): Map<K, V>`
- Merges multiple Maps.
- **Params**: variable Maps
- **Returns**: merged Map.
## Math
### Description
Mathematical utility functions.
### Functions
- `getRandomInt(min: number, max: number): number`
- Gets random integer between min and max.
- **Params**: `min`, `max`
- **Returns**: random integer.
- `getRandomFromArray<T>(array: T[]): T`
- Gets random element from array.
- **Params**: `array`
- **Returns**: random element.
- `getInteger(num: number): number`
- Gets integer part of a number.
- **Params**: `num`
- **Returns**: integer value.
- `getFloat(num: number): number`
- Gets decimal part of a number.
- **Params**: `num`
- **Returns**: decimal value.
- `radianToAngle(radian: number): number`, `angleToRadian(angle: number): number`
- Converts between radians and degrees.
- **Params**: value in respective unit
- **Returns**: converted value.
- `getRadian(x: number, y: number, centerX: number, centerY: number): number`
- Gets radian between point and circle center.
- **Params**: coordinates
- **Returns**: radian value.
## Obj
### Description
Object manipulation utilities.
### Functions
- `objDeepClone<T>(target: Record<string | number, any> | T[]): Record<string | number, any> | T[]`
- Deep clones an object or array.
- **Params**: `target`
- **Returns**: clone.
- `objShallowClone<T>(target: object | T[]): object | T[]`
- Shallow clones an object or array.
- **Params**: `target`
- **Returns**: clone.
- `isEqual(obj1: Record<string, any>, obj2: Record<string, any>): boolean`
- Checks deep equality of two objects.
- **Params**: `obj1`, `obj2`
- **Returns**: `true` if equal.
- `objInheritPrototype(child: any, parent: any): void`
- Inherits prototype from parent to child.
- **Params**: `child`, `parent`
- `isEmptyObject(obj: object): boolean`
- Checks if object is empty.
- **Params**: `obj`
- **Returns**: `true` if empty.
- `objPick(obj: Record<string, any>, keys: (string | number)[]): Record<string, any>`
- Picks specific keys from object.
- **Params**: `obj`, `keys`
- **Returns**: picked properties object.
- `objOmit(obj: Record<string, any>, keys: (string | number)[]): Record<string, any>`
- Omits specific keys from object.
- **Params**: `obj`, `keys`
- **Returns**: omitted properties object.
- `objToQueryString(obj: object): string`
- Converts object to query string.
- **Params**: `obj`
- **Returns**: query string.
- `objectToMap(obj: Record<string, any>): Map<string, any>`
- Converts object to Map.
- **Params**: `obj`
- **Returns**: Map.
- `mergeObjects<T extends Record<string, any>>(...objects: T[]): T`
- Merges multiple objects.
- **Params**: variable objects
- **Returns**: merged object.
- `freezeObject<T extends Record<string, any>>(obj: T): Readonly<T>`
- Recursively freezes an object.
- **Params**: `obj`
- **Returns**: frozen object.
- `freezeObjectShallow<T extends Record<string, any>>(obj: T): Readonly<T>`
- Freezes object shallowly.
- **Params**: `obj`
- **Returns**: frozen object.
- `freezeObjectPickKeys<T extends Record<string, any>>(obj: T, keys: (string | number)[]): void`
- Freezes specific keys of an object.
- **Params**: `obj`, `keys`
## Proxy
### Description
Proxy creation utilities for object control.
### Functions
- `createValidatorProxy<T extends object>(target: T, validator: Validator): T`
- Creates a proxy that validates property assignments.
- **Params**: `target`, `validator`
- **Returns**: proxy object.
- `createReadonlyProxy<T extends object>(target: T): T`
- Creates a read-only proxy.
- **Params**: `target`
- **Returns**: read-only proxy.
- `createObservableProxy<T extends object>(target: T, onChange: (prop: string | symbol, value: any) => void): T`
- Creates a proxy that notifies on changes.
- **Params**: `target`, `onChange`
- **Returns**: observable proxy.
- `createCallFnAspectProxy(target: Function, callFn: (prop: string | symbol, args: any[]) => void, before: boolean = true): Function`
- Creates a proxy for function call interception.
- **Params**: `target`, `callFn`, `before`
- **Returns**: proxy function.
- `withPrivatePropsProxy<T extends object>(target: T, privateProps: (string | symbol)[]): T`
- Creates a proxy with private properties.
- **Params**: `target`, `privateProps`
- **Returns**: proxy with access control.
## Regexp
### Description
Regular expression validation utilities.
### Functions
- `validEmail(email: string): boolean`
- Validates email format.
- **Params**: `email`
- **Returns**: `true` if valid.
- `validPassword(password: string): boolean`
- Validates password strength (8+ chars, mixed case, digits).
- **Params**: `password`
- **Returns**: `true` if valid.
- `validIdCard(idCard: string): boolean`
- Validates ID card number format.
- **Params**: `idCard`
- **Returns**: `true` if valid.
- `validateURL(url: string): boolean`
- Validates URL format.
- **Params**: `url`
- **Returns**: `true` if valid.
- `validateFormatDate(date: string, format: string): boolean`
- Validates date string against format (e.g., 'YYYY-MM-DD').
- **Params**: `date`, `format`
- **Returns**: `true` if valid.
## Request
### Description
HTTP request utilities using XMLHttpRequest.
### Functions
- `getRequest(url: string, params: object = {}): Promise<any>`
- Makes a GET request.
- **Params**: `url`, `params`
- **Returns**: Promise with response.
- `postRequest(url: string, data: object): Promise<any>`
- Makes a POST request.
- **Params**: `url`, `data`
- **Returns**: Promise with response.
- `delRequest(url: string, params: object = {}): Promise<any>`
- Makes a DELETE request.
- **Params**: `url`, `params`
- **Returns**: Promise with response.
- `putRequest(url: string, data: object): Promise<any>`
- Makes a PUT request.
- **Params**: `url`, `data`
- **Returns**: Promise with response.
## Set
### Description
Set operations utilities for arrays.
### Functions
- `uninonSet<T>(...args: T[][]): T[]`
- Computes union of multiple arrays.
- **Params**: variable arrays
- **Returns**: union array.
- `intersectionSet<T>(...args: T[][]): T[]`
- Computes intersection of multiple arrays.
- **Params**: variable arrays
- **Returns**: intersection array.
- `differenceSet<T>(arr1: T[], arr2: T[]): T[]`
- Computes difference between two arrays.
- **Params**: `arr1`, `arr2`
- **Returns**: difference array.
- `symmetricDifferenceSet<T>(arr1: T[], arr2: T[]): T[]`
- Computes symmetric difference between two arrays.
- **Params**: `arr1`, `arr2`
- **Returns**: symmetric difference array.
- `isSubset<T>(arr1: T[], arr2: T[]): boolean`
- Checks if one array is a subset of another.
- **Params**: `arr1`, `arr2`
- **Returns**: `true` if subset.
- `isSuperset<T>(arr1: T[], arr2: T[]): boolean`
- Checks if one array is a superset of another.
- **Params**: `arr1`, `arr2`
- **Returns**: `true` if superset.
- `mapSet<T, U>(arr: Set<T>, callback: (item: T) => U): U[]`
- Maps a Set to an array using a callback.
- **Params**: `arr`, `callback`
- **Returns**: mapped array.
## String
### Description
String manipulation utilities.
### Functions
- `truncateStr(str: string, maxLen: number, suffix: string = '...'): string`
- Truncates string to maximum length with suffix.
- **Params**: `str`, `maxLen`, `suffix`
- **Returns**: truncated string.
- `camelToKebab(str: string): string`
- Converts camelCase to kebab-case.
- **Params**: `str`
- **Returns**: converted string.
- `kebabToCamel(str: string): string`
- Converts kebab-case to camelCase.
- **Params**: `str`
- **Returns**: converted string.
- `escapeHTML(str: string): string`
- Escapes HTML characters in a string.
- **Params**: `str`
- **Returns**: escaped string.
- `unescapeHTML(str: string): string`
- Unescapes HTML characters in a string.
- **Params**: `str`
- **Returns**: unescaped string.
- `isValieUrl(url: string): boolean`
- Validates if a string is a valid URL.
- **Params**: `url`
- **Returns**: `true` if valid.
- `capitalizeStr(str: string): string`
- Capitalizes the first character of a string.
- **Params**: `str`
- **Returns**: capitalized string.
- `countOccurrences(str: string, char: string): number`
- Counts occurrences of a character in a string.
- **Params**: `str`, `char`
- **Returns**: count.
- `encodebase64(str: string): string`
- Encodes string to base64.
- **Params**: `str`
- **Returns**: base64 string.
- `decodebase64(str: string): string`
- Decodes base64 string.
- **Params**: `str`
- **Returns**: decoded string.
- `generateRandomString(length: number = 10, chars: string = 'A-Za-z0-9'): string`
- Generates a random string.
- **Params**: `length`, `chars`
- **Returns**: random string.
- `trimString(str: string): string`
- Trims whitespace from string.
- **Params**: `str`
- **Returns**: trimmed string.
This documentation covers all the provided modules in the Core-Fed-Util library. Each function and class is designed to simplify common programming tasks and improve code readability and maintainability.