@ryanuo/utils
v1.4.2
Published
提供多种实用工具函数,涵盖算法、浏览器操作、网络请求等多个领域
Maintainers
Readme
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:
npm install @ryanuo/utilsInstall using pnpm:
pnpm add @ryanuo/utilsInstall using yarn:
yarn add @ryanuo/utilsUsage
// 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 | linearRegression();normalizeData();normalizeMinMax() | | Algorithm | binarySearch();bubbleSort();fibonacciDP();fibonacciRecursive();isPrime();quickSort() | | Browser | copyToClipboard();enterFullScreen();isMobile();manageClasses();onceEventListener();downloadFile();safeStorage();getUrlParams();getUrlParamsString() | | Common | dateFormat();dayjs();curry();debounce();getUuid();safeJSONParse();throttle();compress();decompress();decrypt();encrypt();xor();isBoolean();isBrowser();isDate();isEmptyObject();isFunction();isNull();isNumber();isObject();isRegExp();isString();isUndefined();deepClone();getTypeName();numberToFixed();toString() | | Finance | formatCurrency();calculatePercentage();compare();preciseAdd();preciseDiv();preciseMul();preciseSub();roundTo();decimal() | | Graphics | hexToRgba();lerpColor();rgbaToHex() | | Network | checkNetworkStatus();fetchWithTimeout();getClientIP();parallelRequests();request() | | Node | logger();projectRoot();mkdirp();resolvePath();rmrf() |
How to development
pnpm i
pnpm dev
pnpm build
# docs
cd docs
pnpm run predocs:dev
# add test cases