Common package with many useful features for web and mobile development
Install package from npm:
#### npm i @appello/common
Import modules you need in your code:
#### import { useInterval, isNill } from '@appello/common';
Each new functionality must be added to the folder and exported from the root! This is necessary to simplify
the import of the necessary functionality:
#### import { useInterval, isFunction, ... } from '@appello/common';
If you need to create a new module, remember to add index.ts with exports.
| Hook Name | Description | File Path |
| --------------------- | ---------------------------------------------------------- | ---------------------------------------------------------------------- |
| useCodeTimer | Timer functionality for verification codes | useCodeTimer |
| useCombinedRef | Combining multiple refs | useCombinedRef |
| useDebounce | Two files: useDebounceCallback.md and useDebounceEffect.md | useDebounce |
| useDefault | State with fallback values | useDefault |
| useFirstMountState | Detecting first render | useFirstMountState |
| useHookFormPersist | Form persistence in storage | useHookFormPersist |
| useInterval | Interval management | useInterval |
| useIsClient | Client-side detection | useIsClient |
| useIsMounted | Mount state checking (typo now fixed) | useIsMounted |
| useLatest | Latest value reference | useLatest |
| useManualUpdate | Force re-renders | useManualUpdate |
| useMemoCallback | Stable callback references | useMemoCallback |
| useMountEffect | Mount-only effects | useMountEffect |
| usePrevious | Previous value tracking | usePrevious |
| useQueryParamsBuilder | Query parameter management | useQueryParamsBuilder |
| useSelectOptions | React-select compatibility | useSelectOptions |
| useStateObject | Object state management | useStateObject |
| useStep | Step counter management | useStep |
| useSwitchValue | Boolean toggle management | useSwitchValue |
| useUnmountEffect | Unmount-only effects | useUnmountEffect |
| useUpdateEffect | Update-only effects | useUpdateEffect |
---
| Utility Name | Description | File Path |
| -------------------- | ----------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| checkIsServer | Server-side environment detection | checkIsServer |
| checkNavigator | Navigator object availability check | checkNavigator |
| debounce | Function execution delay utility | debounce |
| deepMergeObjects | Deep object merging with immutability | deepMergeObjects |
| entries | Type-safe Object.entries wrapper | entries |
| getDirtyValues | Extract modified form fields | getDirtyValues |
| getFileExtension | File extension extraction utility | getFileExtension |
| getProto | Reliable type detection using Object.prototype.toString | getProto |
| getWeekdaysNames | Localized weekday names generation | getWeekdaysNames |
| isArray | Array type checking utility | isArray |
| isDate | Date object type checking | isDate |
| isEmpty | Empty value detection for multiple types | isEmpty |
| isFloat | Floating-point number detection | isFloat |
| isFunction | Function type checking utility | isFunction |
| isInt | Integer type checking utility | isInt |
| isNil | Null and undefined detection | isNil |
| isNumber | Number type checking utility | isNumber |
| isObject | Plain object type checking | isObject |
| isPrimitive | Primitive type detection | isPrimitive |
| isPromise | Promise and thenable object detection | isPromise |
| isString | String type checking utility | isString |
| isSymbol | Symbol type checking utility | isSymbol |
| keys | Type-safe Object.keys wrapper | keys |
| makeFormData | Object to FormData conversion | makeFormData |
| makeQueryString | URL query string generation | makeQueryString |
| mapFormData | FormData transformation utility | mapFormData |
| mergeCollectionByKey | Array merging by specified key | mergeCollectionByKey |
| noop | No-operation function placeholder | noop |
| omit | Object property exclusion utility | omit |
| pick | Object property selection utility | pick |
| sleep | Promise-based delay utility | sleep |
| throttle | Function execution rate limiting | throttle |
| toBase64 | File to base64 string conversion | toBase64 |
| toFinite | Safe finite number conversion | toFinite |
| isFile | File instance checking utility | isFile |
| isBlob | Blob instance checking utility | isBlob |
| deepEqual | Deep comparison of two values for equality | deepEqual |
| difference | Creates an array of values not included in the other given arrays | difference |
| intersection | Creates an array of unique values that are included in all given arrays | intersection |
| uniq | Creates a duplicate-free version of an array | uniq |
| compact | Creates an array with all falsy values removed | compact |
| enumKeyToReadable | Converts an enum key into a human-readable format | enumKeyToReadable |
| capitalize | Capitalizes the first character of a string | capitalize |
| truncate | Truncates a string to the specified length | truncate |
| pluralize | Returns the appropriate word form based on a count | pluralize |
| formatNumber | Formats a number using thousand separators | formatNumber |
| formatCurrency | Formats a number as currency | formatCurrency |
| getFileName | Extracts the filename from a filename or file path | getFileName |
| enumToSelectOptions | Converts an enum or enum-like object into an array of select options | enumToSelectOptions |
| deepKeys | Returns all key paths in an object | deepKeys |
---