@willian-igor-developer/minha-lib-ts
v1.0.0
Published
Uma biblioteca utilitária TypeScript com tipagens .d.ts
Maintainers
Readme
minha-lib-ts
Uma biblioteca utilitária TypeScript com tipagens .d.ts separadas.
📦 Módulos
| Módulo | Descrição |
|---|---|
| StringUtils | Capitalizar, slugify, truncar, remover acentos, validar e-mail |
| ArrayUtils | Unique, groupBy, chunk, flatten, intersect, difference, shuffle |
| ObjectUtils | Deep clone, deep merge, pick, omit, isEmpty, get aninhado |
| DateUtils | Formatação BR/ISO, diff em dias, addDays, isToday, isLeapYear |
| NumberUtils | Clamp, randomInt, formatCurrency (BRL), isEven, percentage, round |
| Result | Tipo Result (Ok/Err) inspirado no Rust para tratamento de erros |
🚀 Instalação
npm install minha-lib-ts📖 Uso
import { StringUtils, ArrayUtils, Result, Ok, Err } from "minha-lib-ts";
// Strings
StringUtils.capitalize("hello"); // "Hello"
StringUtils.slugify("Olá Mundo!"); // "ola-mundo"
StringUtils.isEmail("[email protected]"); // true
// Arrays
ArrayUtils.unique([1, 2, 2, 3]); // [1, 2, 3]
ArrayUtils.chunk([1, 2, 3, 4, 5], 2); // [[1,2], [3,4], [5]]
ArrayUtils.groupBy(users, u => u.role); // { admin: [...], user: [...] }
// Result Pattern
const result: Result<number> = new Ok(42);
if (result.isOk) {
console.log(result.value); // 42
}🧪 Testes
npm test🏗️ Build
npm run build📁 Estrutura
src/
├── index.ts # Barrel export
├── string/
│ ├── string-utils.ts # Implementação
│ ├── string-utils.d.ts # Tipagem
│ └── string-utils.test.ts # Testes
├── array/
│ ├── array-utils.ts
│ ├── array-utils.d.ts
│ └── array-utils.test.ts
├── object/
│ ├── object-utils.ts
│ ├── object-utils.d.ts
│ └── object-utils.test.ts
├── date/
│ ├── date-utils.ts
│ ├── date-utils.d.ts
│ └── date-utils.test.ts
├── number/
│ ├── number-utils.ts
│ ├── number-utils.d.ts
│ └── number-utils.test.ts
└── result/
├── result.ts
├── result.d.ts
└── result.test.ts📄 Licença
MIT
