> For the complete documentation index, see [llms.txt](https://stunks.gitbook.io/util-stunks/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://stunks.gitbook.io/util-stunks/util-stunks.md).

# util-stunks

A **util-stunks** reúne funções pequenas para abreviar números, converter durações, calcular tempo relativo e sortear itens de arrays.

> Versão documentada: **1.3.1**

## Instalação

```bash
npm install util-stunks
```

## Uso rápido

{% tabs %}
{% tab title="ES Modules / TypeScript" %}

```typescript
import {
  abbreviate,
  unabbreviate,
  msToTime,
  relativeTime,
  randomArray,
} from "util-stunks";

abbreviate(1_500); // "1.5K"
unabbreviate("1.5M"); // 1500000
msToTime(61_000, { display: 2, removeMs: true });
// "1 minuto e 1 segundo"
relativeTime(Date.now() - 3_600_000, { display: 1, removeMs: true });
// "1 hora"
randomArray(["Ana", "Bia", "Caio"], { quantity: 1, removeSelectItem: false });
```

{% endtab %}

{% tab title="CommonJS" %}

```javascript
const {
  abbreviate,
  unabbreviate,
  msToTime,
  relativeTime,
  randomArray,
} = require("util-stunks");
```

{% endtab %}
{% endtabs %}

## Funções

| Função                                                 | O que faz                                                 |
| ------------------------------------------------------ | --------------------------------------------------------- |
| [`abbreviate`](/util-stunks/funcoes/abbreviate.md)     | Converte números grandes em textos como `1.5K` e `2M`.    |
| [`unabbreviate`](/util-stunks/funcoes/unabbreviate.md) | Converte abreviações numéricas novamente em números.      |
| [`msToTime`](/util-stunks/funcoes/mstotime.md)         | Transforma uma duração em milissegundos em texto legível. |
| [`relativeTime`](/util-stunks/funcoes/relativetime.md) | Calcula a diferença entre um timestamp e o momento atual. |
| [`randomArray`](/util-stunks/funcoes/randomarray.md)   | Sorteia um ou mais itens de um array.                     |

## Compatibilidade

O pacote é distribuído como CommonJS, inclui declarações TypeScript e não possui dependências de produção.

## Links

* [Pacote no npm](https://www.npmjs.com/package/util-stunks)
* [Código-fonte no GitHub](https://github.com/costa-dnl/util-stunks)
* [Licença MIT](https://github.com/costa-dnl/util-stunks/blob/main/LICENSE)
