UNPKG

@prishelets/utils

Version:

A modern utility library for strings, numbers, and general data types β€” fully typed, tested, and built for Node.js and TypeScript.

145 lines (97 loc) β€’ 2.75 kB
# @prishelets/utils [![npm version](https://img.shields.io/npm/v/@prishelets/utils.svg)](https://www.npmjs.com/package/@prishelets/utils) [![Build Status](https://img.shields.io/github/actions/workflow/status/Curslo/prishelets/ci.yml?branch=main)](https://github.com/Curslo/prishelets/actions) [![License](https://img.shields.io/npm/l/@prishelets/utils.svg)](https://github.com/Curslo/prishelets/blob/main/LICENSE) --- ## πŸ“¦ Description **@prishelets/utils** is a modern, type-safe utility library for working with strings, numbers, and general data types. It’s fully typed, tested, and optimized for Node.js and TypeScript projects. --- ## ✨ Features - 🧠 Fully typed with TypeScript - πŸ§ͺ Tested with Jest - ⚑ Lightweight and modular - πŸ“š Useful for everyday string and number manipulation - πŸ”§ Tree-shakable and ESM/CommonJS compatible --- ## πŸ“₯ Installation ```bash npm install @prishelets/utils # or pnpm add @prishelets/utils # or yarn add @prishelets/utils ``` --- ## πŸš€ Usage ```ts import { clamp, isEven, roundTo, randomInRange } from "@prishelets/utils"; ``` ```ts clamp(5, 0, 10); // 5 isEven(4); // true roundTo(3.14159, 2); // 3.14 randomInRange(1, 5); // e.g., 3 ``` --- ## πŸ”’ Number Utilities ### `clamp(value, min, max)` Clamp a number between a min and max range. ```ts clamp(5, 0, 10); // 5 clamp(-1, 0, 10); // 0 clamp(15, 0, 10); // 10 ``` --- ### `isEven(value)` Check if a number is even. ```ts isEven(4); // true isEven(3); // false ``` --- ### `roundTo(value, decimals)` Round a number to a specific number of decimal places. ```ts roundTo(3.14159, 2); // 3.14 roundTo(1.005, 2); // 1.01 ``` --- ### `randomInRange(min, max)` Generate a random integer between `min` and `max` (inclusive). ```ts randomInRange(1, 3); // e.g., 2 ``` --- ## πŸ›  Roadmap - [ ] String utilities - [ ] Array helpers - [ ] Object type guards - [ ] Functional programming tools - [ ] Performance benchmarks - [ ] TypeScript documentation generator --- ## πŸ“‚ Project Structure ``` β”œβ”€β”€ src/ β”‚ └── numbers/ β”‚ β”œβ”€β”€ clamp.ts β”‚ β”œβ”€β”€ isEven.ts β”‚ β”œβ”€β”€ randomInRange.ts β”‚ └── roundTo.ts β”œβ”€β”€ dist/ (compiled output) β”œβ”€β”€ .github/workflows/ (CI) └── package.json ``` --- ## πŸ§ͺ Testing ```bash npm run test ``` This runs all tests via **Jest**. Test files are colocated with source files or kept in a `__tests__` directory. --- ## 🧾 License **ISC** Β© [Curslo](https://github.com/Curslo) --- ## πŸ’¬ Feedback & Contributions Feel free to open issues or pull requests. Ideas, bug reports, and feature requests are welcome! πŸ”— GitHub: [github.com/Curslo/prishelets](https://github.com/Curslo/prishelets)