grJS
Manipula objetos de um array como se fosse um CRUD, inserindo, alterando, deletando e consultando.
Este pacote foi testado no backend e frontend.
Ao inserir um item é criado automaticamente um ID sequencial, para desabilitar esse recurso definir no construtor {addID: false}
Eu criei este pacote pois buscava uma forma de manipular os dados mais facilmente antes de inserir no banco ou exibir no frontend.
Você também pode passar um array com resultado de uma consulta no banco ou request e manipular os dados.
Ideal para quem está aprendendo frontend e deseja criar um CRUD sem backend ou banco de dados.
Instalação
npm install grjs
Teste
const grJS = // const clientes = new grJS({addID: false}) const clientes = // addID padrão é true. // Você pode inserir cada item individualmente.clientesclientesclientesclientesclientesclientes // Ou inserir um array de itens.clientes // Buscar por todos os itens.console // O resultado será atribuído um id automaticamente. "id":0"nome":"Paulo""profissao":"Mecânico""sexo":"M""filhos": "id":1"nome":"Ana""profissao":"Costureira""sexo":"F""filhos": "id":2"nome":"Marcos""profissao":"Motorista""sexo":"M""filhos": "id":3"nome":"Maria""profissao":"Mecânico""sexo":"F""filhos": "id":4"nome":"Maria""profissao":"Administrador""sexo":"F""filhos": "id":5"nome":"Carlos""profissao":"Advogado""sexo":"M""filhos": "id":6"nome":"Patricia""profissao":"Motorista""sexo":"F""filhos": "id":7"nome":"Renata""profissao":"Contador""sexo":"F""filhos": // Filtra por IDconsole "id":3"nome":"Maria""profissao":"Mecânico""sexo":"F""filhos": // Filtra por ID e oculta ID no retorno.console "nome":"Maria""profissao":"Mecânico""sexo":"F""filhos": // Filtra por um array de IDconsole "id":3"nome":"Maria""profissao":"Mecânico""sexo":"F""filhos": "id":5"nome":"Carlos""profissao":"Advogado""sexo":"M""filhos": // Filtra por um atributo do item.console "id":1"nome":"Ana""profissao":"Costureira""sexo":"F""filhos": "id":3"nome":"Maria""profissao":"Mecânico""sexo":"F""filhos": "id":4"nome":"Maria""profissao":"Administrador""sexo":"F""filhos": "id":6"nome":"Patricia""profissao":"Motorista""sexo":"F""filhos": "id":7"nome":"Renata""profissao":"Contador""sexo":"F""filhos": // Filtra por um ou mais atributos dos itens.console "id":4"nome":"Maria""profissao":"Administrador""sexo":"F""filhos":
Os métodos Update e Delete podem utilizar os mesmos critérios de busca dos exemplos anteriores.
// Update retorna um objeto com todos os registros antes e depois de alterado.clientes before: id: 5 nome: 'Carlos' profissao: 'Advogado' sexo: 'M' filhos: after: id: 5 nome: 'Carlos Luiz' profissao: 'Advogado' sexo: 'M' filhos: idade: 30 // Retorna registros Deletados.clientes "id":4"nome":"Maria""profissao":"Administrador""sexo":"F""filhos": // Remove itens do retorno, mas não deleta do array principal.clientes "id":0"nome":"Paulo""profissao":"Mecânico""sexo":"M""filhos": "id":2"nome":"Marcos""profissao":"Motorista""sexo":"M""filhos": "id":5"nome":"Carlos""profissao":"Advogado""sexo":"M""filhos": // Concatena resultado da busca com itens do segundo parâmetro, não altera no array principal.clientes "id":1"nome":"Ana""profissao":"Costureira""sexo":"F""filhos": nome: 'Bethe' profissao: 'Vendedor' sexo: 'F' // Retorna quantidade de itens no array.clientescount 8 // Realiza um merge entre os arrays clientes // Retorna os nomes dos atributos e os tipos.clientes id: 'number' nome: 'string' profissao: 'string' sexo: 'string' filhos: 'array'