Skip to content
/ utils Public

Provide a variety of practical utility functions, covering multiple fields such as algorithms, browser operations, network requests, etc.

License

Notifications You must be signed in to change notification settings

ryanuo/utils

Repository files navigation

@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:

npm install @ryanuo/utils

Install using pnpm:

pnpm add @ryanuo/utils

Install using yarn:

yarn add @ryanuo/utils

Usage

// 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

License

MIT License © 2023-PRESENT ryanuo

About

Provide a variety of practical utility functions, covering multiple fields such as algorithms, browser operations, network requests, etc.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project