# fm-json-response

> Um modulo para retornar um JSON em sua aplicação

Latest version **1.2.1** (published 2021-07-20) · MIT license · 0 weekly downloads

## Install

```sh
npm install fm-json-response
pnpm add fm-json-response
yarn add fm-json-response
bun add fm-json-response
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.2.1 |
| Published | 2021-07-20 |
| First published | 2021-07-18 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 5.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Leandro Macedo |
| Maintainers | fmlimao |
| Keywords | json, response |

## Links

- npm: https://www.npmjs.com/package/fm-json-response
- Repository: https://github.com/fmlimao/fm-json-response
- Homepage: https://github.com/fmlimao/fm-json-response#readme
- Issues: https://github.com/fmlimao/fm-json-response/issues
- npm.io page: https://npm.io/package/fm-json-response

## Alternatives

- [@mapbox/jsonlint-lines-primitives](https://npm.io/package/@mapbox/jsonlint-lines-primitives.md) — 5.3M weekly downloads
- [reftools](https://npm.io/package/reftools.md) — 3.5M weekly downloads
- [@hey-api/openapi-ts](https://npm.io/package/@hey-api/openapi-ts.md) — 3.5M weekly downloads
- [@mapbox/geojson-rewind](https://npm.io/package/@mapbox/geojson-rewind.md) — 2.4M weekly downloads
- [turbo-stream](https://npm.io/package/turbo-stream.md) — 1.7M weekly downloads

## Recent versions

- 1.2.1 (latest) — 2021-07-20
- 1.2.0 — 2021-07-18
- 1.1.0 — 2021-07-18
- 1.0.0 — 2021-07-18

## README

# fm-json-response

Um modulo para retornar um JSON em sua aplicação.

## Instalação

```bash
npm i fm-json-response --save
```

## Como usar

```javascript

const FmJsonResponse = require('fm-json-response');


// Inicio a classe dentro de uma variável.
const JsonResponse = new FmJsonResponse;


// O método "generate" retorna o JSON formatado.
console.log(JsonResponse.generate());
/*
{
  code: 200,
  error: false,
  messages: []
}
*/


// Podemos adicionar campos de formulário, para retornar ao usuário possíveis erros validação.
JsonResponse.addFields(['name', 'email', 'password']);
console.log(JsonResponse.generate());
/*
{
  code: 200,
  error: false,
  messages: [],
  form: {
    name: { error: false, messages: [] },
    email: { error: false, messages: [] },
    password: { error: false, messages: [] }
  }
}
*/


// Simulando um erro na validação do e-mail.
if (true) {
    JsonResponse.setFieldError('email', true, 'E-mail inválido.');
}

console.log(JsonResponse.generate());
/*
{
  code: 200,
  error: false,
  messages: [],
  form: {
    name: { error: false, messages: [] },
    email: { error: true, messages: [ 'E-mail inválido.' ] },
    password: { error: false, messages: [] }
  }
}
*/


// Podemos passar outras variávels em nosso retorno, como o objeto do usuário que alguém esteja tentando recuperar.
JsonResponse.addContent('users', [
    {
        id: 432165,
        name: 'Leandro Macedo',
    },
]);
console.log(JsonResponse.generate());
/*
{
  code: 200,
  error: false,
  messages: [],
  content: {
    users: [
      {
          id: 432165,
          name: 'Leandro Macedo'
      }
    ]
  }
}
*/


// E por final, alterar as variáveis de erro e de código:
JsonResponse.setError(true);
JsonResponse.setCode(400);

// Podemos passar uma mensagem neste mesmos métodos.
JsonResponse.setError(true, 'Mensagem opcional.');
JsonResponse.setCode(400, 'Outra mensagem opcional.');

console.log(JsonResponse.generate());
/*
{
  code: 400,
  error: true,
  messages: [ 'Mensagem opcional.', 'Outra mensagem opcional.' ]
}
*/

```

---
_Source: https://npm.io/package/fm-json-response · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
