npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

flex-json-searcher

v1.0.7

Published

FJS é uma biblioteca JavaScript que permite fazer buscas em um array de objetos com base em critérios de consulta flexíveis. Com o FJS, você pode realizar buscas complexas e precisas em seus dados usando operadores atômicos e operadores de busca avançados

Downloads

7

Readme

FJS - Flex JSON Searcher

FJS é uma biblioteca JavaScript que permite fazer buscas em um array de objetos com base em critérios de consulta flexíveis. Com o FJS, você pode realizar buscas complexas e precisas em seus dados usando operadores atômicos e operadores de busca avançados, como busca fuzzy e busca por data.

Instalação

A biblioteca FJS pode ser instalada via npm. Para isso, certifique-se de ter o Node.js instalado em seu ambiente. Em seguida, execute o seguinte comando:

npm install flex-json-searcher

Utilização

O FJS é fácil de usar e pode ser utilizado tanto em projetos TypeScript (com suporte a import/export) quanto em projetos JavaScript (com suporte a require). Abaixo estão os passos para utilização do FJS em ambos os cenários:

import { FJS } from "flex-json-searcher";
// ou
// const { FJS } = require('flex-json-searcher'); 


// Seus dados em formato de array de objetos
const data = [
  { id: 1, name: "Alice", age: 30, city: "New York" },
  { id: 2, name: "Bob", age: 25, city: "Los Angeles" },
  { id: 3, name: "Charlie", age: 35, city: "Chicago" },
];

(async() =>{
  
  // Cria um novo objeto FJS com os dados
  const fjs = new FJS(data);
  
  // Define os critérios de busca
  const query = { age: { $gt: 28 }, city: { $regex: "new" } };
  
  // Realiza a busca
  const result = await fjs.search(query);
  
  console.log(result.result); // Resultado da busca
  console.log(result.metadata); // Metadados da busca
})()

Operadores Atômicos

O FJS é uma biblioteca que permite fazer buscas em um array de objetos com base em critérios de consulta, sendo uma alternativa flexível e de fácil utilização para a busca de dados em JavaScript. Inspirado no MongoDB, o FJS suporta uma variedade de operadores atômicos que podem ser usados em suas consultas, proporcionando uma experiência semelhante à realização de consultas no MongoDB.

Os seguintes operadores atômicos são suportados pelo FJS e podem ser utilizados em suas consultas:

| Operador | Descrição | |------------|--------------------------------------------------| | $eq | Igual a | | $ne | Diferente de | | $gt | Maior que | | $lt | Menor que | | $gte | Maior ou igual a | | $lte | Menor ou igual a | | $in | Está contido em um conjunto | | $regex | Corresponde a uma expressão regular (case-insensitive) | | $exists | Verifica se um campo existe | | $nin | Não está contido em um conjunto | | $startsWith | Começa com uma determinada substring (case-insensitive) | | $endsWith | Termina com uma determinada substring (case-insensitive) | | $contains | Contém uma determinada substring (case-insensitive) | | $size | Tamanho de um array | | $fuzz | Busca fuzzy (busca aproximada) | | $date | Busca por data (aceita datas e timestamps) |

Esses operadores podem ser combinados para realizar buscas mais complexas e precisas em seus dados.