
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@appello/common
Advanced tools
Common package with many useful features for web and mobile development
Install package from npm:
npm i @appello/commonImport 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 |
typesDocs| 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 |
FAQs
Common package with many useful features for web and mobile development
We found that @appello/common demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.