# @lyra-mock-api/core

> Pure JS mock API — register, validate, and resolve mocks with zero dependencies

Latest version **0.0.2** (published 2026-09-13) · MIT license · 0 weekly downloads

## Install

```sh
npm install @lyra-mock-api/core
pnpm add @lyra-mock-api/core
yarn add @lyra-mock-api/core
bun add @lyra-mock-api/core
```

## Health

**Score 65/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; recently updated; high maintenance score.

Warnings: low downloads; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.0.2 |
| Published | 2026-09-13 |
| First published | 2026-09-13 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 53.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | guicarvalho274 |
| Keywords | mock, api, testing, stub, intercept |

## Links

- npm: https://www.npmjs.com/package/@lyra-mock-api/core
- npm.io page: https://npm.io/package/@lyra-mock-api/core

## Alternatives

- [pagerjs](https://npm.io/package/pagerjs.md) — 60 weekly downloads
- [whistle.savefor-mock](https://npm.io/package/whistle.savefor-mock.md) — 4 weekly downloads
- [@availity/mock-server](https://npm.io/package/@availity/mock-server.md) — 0 weekly downloads
- [@scotthuang/agent-knock-knock-pi](https://npm.io/package/@scotthuang/agent-knock-knock-pi.md) — 0 weekly downloads
- [@typestrong/ts-mockito](https://npm.io/package/@typestrong/ts-mockito.md) — 0 weekly downloads

## Recent versions

- 0.0.2 (latest) — 2026-09-13
- 0.0.1 — 2026-09-13

## README

<p align="center">
  <h1 align="center">@lyra-mock-api/core</h1>
  <p align="center">API pura (zero dependências) para registro, validação e resolução de mocks.</p>
</p>

<p align="center">
  <a href="https://github.com/guicarvalho274/lyra-mock">
    <img src="https://img.shields.io/badge/GitHub-repositório-181717?style=flat&logo=github" alt="GitHub">
  </a>
  <a href="https://www.npmjs.com/package/@lyra-mock-api/core">
    <img src="https://img.shields.io/badge/npm-pacote-cb3837?style=flat&logo=npm" alt="npm">
  </a>
  <img src="https://img.shields.io/badge/ESM-supported-green" alt="ESM">
  <img src="https://img.shields.io/badge/CJS-supported-blue" alt="CJS">
  <img src="https://img.shields.io/badge/TypeScript-types-purple" alt="TypeScript">
  <img src="https://img.shields.io/badge/Dependencies-zero-red" alt="Zero Dependencies">
  <img src="https://img.shields.io/badge/Status-stable-brightgreen" alt="Stable">
</p>

---

## Introdução

`@lyra-mock-api/core` é uma API pura (zero dependências) para registro, validação e resolução de mocks. Funciona em qualquer runtime JavaScript — Node.js, browser, Deno, Bun.

**Princípio:** o sistema não sabe o que são erros, prioridades ou autenticação. Ele apenas armazena, valida e busca por index. Toda lógica de negócio pertence à aplicação.

- **Repositório:** https://github.com/guicarvalho274/lyra-mock
- **Pacote:** https://www.npmjs.com/package/@lyra-mock-api/core
- **Documentação completa:** https://github.com/guicarvalho274/lyra-mock/tree/main/packages/%40lyra-mock-api

---

## Instalação

```bash
npm install @lyra-mock-api/core
```

---

## Quick Start

### ESM

```js
import { stateMock } from '@lyra-mock-api/core';
```

### CommonJS

```js
const { stateMock } = require('@lyra-mock-api/core');
```

### Exemplo

```js
const { register, resolve, resolvePriority, getTransport } = stateMock();

// Registrar mocks
register({
    url: '/api/login',
    mock: {
        email_invalid: { action: 'toggle', value: false },
        login_ok: { action: 'toggle', value: true }
    }
}, { type: 'http', delay: 1000 });

// Resolver
const result = resolve({ url: '/api/login', index: 'login_ok' });
// → { index: 'login_ok', matched: true, scenario: 'matched' }
```

---

## Documentação

A documentação completa está no repositório: [lyra-mock/packages/@lyra-mock-api](https://github.com/guicarvalho274/lyra-mock/tree/main/packages/%40lyra-mock-api)

### Conceitos

- [Mocks](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/concepts/mocks.md) — o que são mocks e como são armazenados
- [Actions](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/concepts/actions.md) — toggle vs input
- [Conditions](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/concepts/conditions.md) — condition array, lógica AND
- [Scenarios](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/concepts/scenarios.md) — matched vs difference
- [Priority](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/concepts/priority.md) — resolvePriority
- [Transport](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/concepts/transport.md) — type, url, delay

### Guias

- [Login](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/guides/login.md) — exemplo: login completo
- [Validação de Formulário](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/guides/form-validation.md) — exemplo: validação de campos
- [Erros de API](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/guides/api-errors.md) — exemplo: simular erros HTTP
- [Respostas Condicionais](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/guides/conditional-responses.md) — exemplo: respostas baseadas no payload
- [Frontend Antes do Backend](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/guides/frontend-before-backend.md) — exemplo: desenvolvimento independente
- [Substituindo API Real](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/guides/replacing-real-api.md) — exemplo: trocar API por mocks

### API

- [stateMock()](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/api/stateMock.md) — factory principal
- [register()](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/api/register.md) — registro por URL
- [registerService()](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/api/registerService.md) — registro por service
- [resolve()](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/api/resolve.md) — resolução por index
- [resolvePriority()](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/api/resolvePriority.md) — resolução por prioridade
- [getTransport()](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/api/getTransport.md) — acesso ao transport

### Referência

- [MockEntry](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/reference/MockEntry.md) — tipo completo de um mock
- [MockCondition](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/reference/MockCondition.md) — tipo de condição
- [Transport](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/reference/Transport.md) — tipo de transporte
- [ResolveResult](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/reference/ResolveResult.md) — tipo de retorno
- [Enums](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/reference/Enums.md) — ACTIONS, SCENARIOS, OPERATORS, TRANSPORT

---

## Changelog

Ver [CHANGELOG.md](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/CHANGELOG.md)

---

## License

[MIT](https://github.com/guicarvalho274/lyra-mock/blob/main/packages/%40lyra-mock-api/LICENSE)

---
_Source: https://npm.io/package/@lyra-mock-api/core · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
