https://github.com/ryanuo/utils
Provide a variety of practical utility functions, covering multiple fields such as algorithms, browser operations, network requests, etc.
https://github.com/ryanuo/utils
utils
Last synced: 11 months ago
JSON representation
Provide a variety of practical utility functions, covering multiple fields such as algorithms, browser operations, network requests, etc.
- Host: GitHub
- URL: https://github.com/ryanuo/utils
- Owner: ryanuo
- License: mit
- Created: 2025-05-11T09:39:58.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-09T07:23:09.000Z (11 months ago)
- Last Synced: 2025-06-09T08:31:32.772Z (11 months ago)
- Topics: utils
- Language: TypeScript
- Homepage: https://utils.ryanuo.cc
- Size: 546 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
@ryanuo/utils
## Overview
`@ryanuo/utils` is a powerful utility library that provides a variety of practical helper functions across multiple domains such as algorithms, browser operations, network requests, and more, aiming to boost development efficiency.
- **AI Module**: Provides utility functions related to artificial intelligence to aid AI development.
- **Algorithm Module**: Contains implementations of commonly used algorithms for quick integration.
- **Browser Module**: Offers utility functions for browser environments to simplify DOM manipulation and event handling.
- **Node.js Module**: Specifically designed utility functions for Node.js environment to enhance productivity.
- **Finance Module**: Includes utility functions relevant to financial calculations suitable for finance-related scenarios.
- **Graphics Module**: Provides utility functions related to graphics processing ideal for image and graphic development.
- **Network Module**: Contains utility functions for network requests and data processing to streamline network operations.
- **Common Module**: Provides general-purpose foundational utility functions applicable in various scenarios.
## Installation
Install using npm:
```bash
npm install @ryanuo/utils
```
Install using pnpm:
```bash
pnpm add @ryanuo/utils
```
Install using yarn:
```bash
yarn add @ryanuo/utils
```
## Usage
```ts
// Module to be used in both browser and Node environments
import { /* shared utility functions */ } from '@ryanuo/utils'
// Module to be used only in Node environment
// Note: This module includes functionalities specifically designed for Node, such as file operations, network requests, etc.
import { /* Node-specific utility functions */ } from '@ryanuo/utils/node'
```
## Available Utilities
Below are the module categories available in the utility library:
| Type | Function List |
|------|----------------|
| [Ai](https://utils.ryanuo.cc/api/ai/) | [linearRegression()](https://utils.ryanuo.cc/api/ai/functions/linearRegression.html);[normalizeData()](https://utils.ryanuo.cc/api/ai/functions/normalizeData.html);[normalizeMinMax()](https://utils.ryanuo.cc/api/ai/functions/normalizeMinMax.html) |
| [Algorithm](https://utils.ryanuo.cc/api/algorithm/) | [binarySearch()](https://utils.ryanuo.cc/api/algorithm/functions/binarySearch.html);[bubbleSort()](https://utils.ryanuo.cc/api/algorithm/functions/bubbleSort.html);[fibonacciDP()](https://utils.ryanuo.cc/api/algorithm/functions/fibonacciDP.html);[fibonacciRecursive()](https://utils.ryanuo.cc/api/algorithm/functions/fibonacciRecursive.html);[isPrime()](https://utils.ryanuo.cc/api/algorithm/functions/isPrime.html);[quickSort()](https://utils.ryanuo.cc/api/algorithm/functions/quickSort.html) |
| [Browser](https://utils.ryanuo.cc/api/browser/) | [copyToClipboard()](https://utils.ryanuo.cc/api/browser/functions/copyToClipboard.html);[enterFullScreen()](https://utils.ryanuo.cc/api/browser/functions/enterFullScreen.html);[isMobile()](https://utils.ryanuo.cc/api/browser/functions/isMobile.html);[manageClasses()](https://utils.ryanuo.cc/api/browser/functions/manageClasses.html);[onceEventListener()](https://utils.ryanuo.cc/api/browser/functions/onceEventListener.html);[downloadFile()](https://utils.ryanuo.cc/api/browser/functions/downloadFile.html);[safeStorage()](https://utils.ryanuo.cc/api/browser/variables/safeStorage.html);[getUrlParams()](https://utils.ryanuo.cc/api/browser/functions/getUrlParams.html);[getUrlParamsString()](https://utils.ryanuo.cc/api/browser/functions/getUrlParamsString.html) |
| [Common](https://utils.ryanuo.cc/api/common/) | [dateFormat()](https://utils.ryanuo.cc/api/common/functions/dateFormat.html);[dayjs()](https://utils.ryanuo.cc/api/common/variables/dayjs.html);[curry()](https://utils.ryanuo.cc/api/common/functions/curry.html);[debounce()](https://utils.ryanuo.cc/api/common/functions/debounce.html);[getUuid()](https://utils.ryanuo.cc/api/common/functions/getUuid.html);[safeJSONParse()](https://utils.ryanuo.cc/api/common/functions/safeJSONParse.html);[throttle()](https://utils.ryanuo.cc/api/common/functions/throttle.html);[isBoolean()](https://utils.ryanuo.cc/api/common/functions/isBoolean.html);[isBrowser()](https://utils.ryanuo.cc/api/common/functions/isBrowser.html);[isDate()](https://utils.ryanuo.cc/api/common/functions/isDate.html);[isEmptyObject()](https://utils.ryanuo.cc/api/common/functions/isEmptyObject.html);[isFunction()](https://utils.ryanuo.cc/api/common/functions/isFunction.html);[isNull()](https://utils.ryanuo.cc/api/common/functions/isNull.html);[isNumber()](https://utils.ryanuo.cc/api/common/functions/isNumber.html);[isObject()](https://utils.ryanuo.cc/api/common/functions/isObject.html);[isRegExp()](https://utils.ryanuo.cc/api/common/functions/isRegExp.html);[isString()](https://utils.ryanuo.cc/api/common/functions/isString.html);[isUndefined()](https://utils.ryanuo.cc/api/common/functions/isUndefined.html);[deepClone()](https://utils.ryanuo.cc/api/common/functions/deepClone.html);[getTypeName()](https://utils.ryanuo.cc/api/common/functions/getTypeName.html);[numberToFixed()](https://utils.ryanuo.cc/api/common/functions/numberToFixed.html);[toString()](https://utils.ryanuo.cc/api/common/functions/toString.html) |
| [Finance](https://utils.ryanuo.cc/api/finance/) | [formatCurrency()](https://utils.ryanuo.cc/api/finance/functions/formatCurrency.html);[calculatePercentage()](https://utils.ryanuo.cc/api/finance/functions/calculatePercentage.html);[compare()](https://utils.ryanuo.cc/api/finance/functions/compare.html);[preciseAdd()](https://utils.ryanuo.cc/api/finance/functions/preciseAdd.html);[preciseDiv()](https://utils.ryanuo.cc/api/finance/functions/preciseDiv.html);[preciseMul()](https://utils.ryanuo.cc/api/finance/functions/preciseMul.html);[preciseSub()](https://utils.ryanuo.cc/api/finance/functions/preciseSub.html);[roundTo()](https://utils.ryanuo.cc/api/finance/functions/roundTo.html);[decimal()](https://utils.ryanuo.cc/api/finance/variables/decimal.html) |
| [Graphics](https://utils.ryanuo.cc/api/graphics/) | [hexToRgba()](https://utils.ryanuo.cc/api/graphics/functions/hexToRgba.html);[lerpColor()](https://utils.ryanuo.cc/api/graphics/functions/lerpColor.html);[rgbaToHex()](https://utils.ryanuo.cc/api/graphics/functions/rgbaToHex.html) |
| [Network](https://utils.ryanuo.cc/api/network/) | [checkNetworkStatus()](https://utils.ryanuo.cc/api/network/functions/checkNetworkStatus.html);[fetchWithTimeout()](https://utils.ryanuo.cc/api/network/functions/fetchWithTimeout.html);[getClientIP()](https://utils.ryanuo.cc/api/network/functions/getClientIP.html);[getIndexedDBCache()](https://utils.ryanuo.cc/api/network/functions/getIndexedDBCache.html);[parallelRequests()](https://utils.ryanuo.cc/api/network/functions/parallelRequests.html);[request()](https://utils.ryanuo.cc/api/network/functions/request.html) |
| [Node](https://utils.ryanuo.cc/api/node/) | [logger()](https://utils.ryanuo.cc/api/node/variables/logger.html);[mkdirp()](https://utils.ryanuo.cc/api/node/functions/mkdirp.html);[rmrf()](https://utils.ryanuo.cc/api/node/functions/rmrf.html) |
## License
[MIT](https://github.com/ryanuo/utils/blob/main/LICENSE) License © 2023-PRESENT [ryanuo](https://github.com/ryanuo)