Skip to content

@ryanuo/utils

npm versionnpm downloadsbundle sizeTest coverageJSDocsLicense

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:

TypeFunction List
AilinearRegression();normalizeData();normalizeMinMax()
AlgorithmbinarySearch();bubbleSort();fibonacciDP();fibonacciRecursive();isPrime();quickSort()
BrowsercopyToClipboard();enterFullScreen();isMobile();manageClasses();onceEventListener();downloadFile();safeStorage();getUrlParams();getUrlParamsString()
CommondateFormat();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()
FinanceformatCurrency();calculatePercentage();compare();preciseAdd();preciseDiv();preciseMul();preciseSub();roundTo();decimal()
GraphicshexToRgba();lerpColor();rgbaToHex()
NetworkcheckNetworkStatus();fetchWithTimeout();getClientIP();parallelRequests();request()
Nodelogger();projectRoot();mkdirp();resolvePath();rmrf()

How to development ​

bash
pnpm i
pnpm dev
pnpm build

# docs
cd docs
pnpm run predocs:dev

# add test cases

License ​

MIT License © 2023-PRESENT ryanuo