Skip to content

Repository files navigation

@zero-dependency/utils

npm versionnpm bundle size (scoped)npm license

Installation

npm install @zero-dependency/utils
yarn add @zero-dependency/utils
pnpm add @zero-dependency/utils

Usage

import{hexToRgb,rgbToHex,isHexColor,debounce,throttle,toNumber,addZero,entries,pick,omit,pluralize,randomNum,randomToken,generateChars,capitalizewait,match}from'@zero-dependency/utils'// hexconsole.log(hexToRgb('#000'))// { r: 0, g: 0, b: 0 }console.log(rgbToHex({r: 0,g: 0,b: 0}))// #000000console.log(isHexColor('#000'))// RegExpExecArrayconsole.log(isHexColor('wrong'))// null// debounceconstdebounced=debounce((msg)=>console.log(msg),1000)// throttleconstthrottled=throttle((msg)=>console.log(msg),1000)// numberconsole.log(toNumber('1'))// 1console.log(addZero(1))// '01'console.log(randomNum(1,10))// objectconsole.log(entries({a: 1,b: 2}))// [['a', 1], ['b', 2]]console.log(pick({a: 1,b: 2},['a']))// { a: 1 }console.log(omit({a: 1,b: 2},['a']))// { b: 2 }// pluralizeconsttasksPluralize=pluralize({one: 'задание',two: 'задания',few: 'заданий',prefix: true})console.log(tasksPluralize(1))// '1 задание'console.log(tasksPluralize(3))// '3 задания'console.log(tasksPluralize(5))// '5 заданий'console.log(tasksPluralize(999))// '999 заданий'// stringconsole.log(randomToken())// 'vpxi4hpzmy'console.log(generateChars('a','d'))// ['a', 'b', 'c', 'd']console.log(capitalize('hello'))// 'Hello'// waitawaitwait(1000)console.log('resolve after 1s')// pattern matchingconstmatcher=match<[string,string],string>((test)=>({[test((firstName)=>!firstName)]: 'User not found',[test((firstName)=>firstName.length<8)]: (firstName,lastName)=>`${firstName}${lastName}`,[test((firstName)=>firstName.length>=8)]: (firstName)=>firstName}))matcher('','Doe')// 'User not found'matcher('John','Doe')// 'John Doe'

About

🛠 Additional utilities

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

Used by

Contributors

Languages