open-index/open-npm huggingface dataset:
npm package: @re-code/web_utils
Description: Lightweight JS utils library
Latest version: 0.0.1

# @re-code/web_utils

A modern, lightweight, and strongly-typed collection of web utilities. Designed as an efficient alternative to heavier libraries (like Lodash), optimized for **Tree Shaking**, and built with TypeScript in mind from day one.

## 🚀 Features

- **Tree Shakeable**: Import only what you need. Your final bundle won't grow unnecessarily.
- **TypeScript First**: Includes advanced generic types and type utilities (`Awaitable`, `DeepPartial`, etc.) out of the box.
- **Zero Dependencies**: No bloatware, just pure and efficient code.
- **Isomorphic**: Works seamlessly in both Node.js and modern browsers.

## 📦 Installation

```bash
npm install @re-code/web_utils

OR

yarn add @re-code/web_utils

OR

pnpm add @re-code/web_utils
```

## 🛠 Usage

### Validators (`is`)

A collection of type guards for secure and readable checks.

```typescript
const data: unknown = fetchData();
if (is.String(data)) { console.log(data.toUpperCase()); } // TypeScript knows 'data' is a string here
if (is.Empty(data)) { console.log('The value is empty (array, object, or string)'); }
if (is.Nil(data)) { console.log('The value is null or undefined');}

```

### Type Utilities

We provide not just runtime code, but also helper types to streamline your development.

```typescript
import type { Awaitable, DeepPartial, AsyncFunction } from '@re-code/web_utils';
// Awaitable: Accepts both T and Promise
async function process(value: Awaitable) { const result = await value; console. log(result); }
// DeepPartial: Makes all nested properties optional const config: 
DeepPartial = { db: { host: 'localhost' } }; // You are not forced to define all db properties

```

## 📂 Project Structure

The library is organized into logical modules:

- **`/arrays`**: Utilities for array manipulation.
- **`/formatters`**: Functions for data formatting.
- **`/strings`**: String manipulation helpers.
- **`/types`**: Advanced TypeScript type definitions.
- **`/validators`**: Type checking and validation functions (the `is` object).

## 🤝 Contribution

Contributions are welcome! If you have a utility function you use in all your projects, feel free to open a Pull Request.

1. Fork the repository.
2. Create a branch (`git checkout -b feature/new-utility`).
3. Make your changes and commit (`git commit -m 'Add: new date utility'`).
4. Push to the branch (`git push origin feature/new-utility`).
5. Open a Pull Request.

## 📄 License

MIT © [Codex96](https://github.com/iamcodex96)