Lightweight Utility Library ✨

What and why

Over the past few years, TypeScript has become almost my second mother tongue after Spanish.

I kept noticing how often I was rewriting the same utilities "debounce", "throttle", or "copy to clipboard" across different projects. Instead of reinventing the wheel every time, I decided to build a small library with the utilities I use the most in my daily work.

@polgubau/utils is a lightweight utility library designed to simplify common JavaScript and TypeScript tasks. It's modular, framework-agnostic, tree-shakable, and optimized for performance.

What this is NOT ⚠️

  • A catch-all library that solves every problem.
  • A replacement for Lodash or Underscore.
  • A package that will unnecessarily inflate your bundle size.

What this IS ✅

  • A collection of small, focused utility functions.
  • Modular, tree-shakable and lightweight both for CJS and ESM.
  • Designed to be simple, efficient, and easy to use.
  • Fully typed, with TypeScript definitions included.

Installation

Install the library using your package manager of choice:

Usage

Import the utilities you need from the package:

import { copyToClipboard } from "@polgubau/utils";

For even better optimization, you can import specific modules or functions as needed:

import { copyToClipboard } from "@polgubau/utils/functions";import { shuffle } from "@polgubau/utils/arrays";

Available Modules

  • Storage - Utilities for working with localStorage and sessionStorage.
  • Accessibility - Helpers to improve web accessibility.
  • Arrays - Functions to manipulate arrays efficiently.
  • Comparators - Utility functions for sorting and comparing data.
  • Functions - Higher-order functions and utility methods.
  • Numbers - Mathematical and number-related utilities.
  • Objects - Object manipulation and transformation helpers.
  • Parsers - Functions for parsing different types of data as JSON.
  • Texts - String and text processing utilities.

Example

Using the arrays module:

import {limitArray} from "@polgubau/utils/arrays"; 
const {limitedArray} = limitArray([1, 2, 3, 4, 5]); 
console.log(unique(numbers)); // [1, 2, 3]

TypeScript Support

As it should always be, this library includes full TypeScript support with type definitions included.