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 🙏

© 2025 – Pkg Stats / Ryan Hefner

react-sift

v1.0.0

Published

A simple query tool for React data structures

Readme

React Sift

A simple query tool for React data structures that allows you to filter, search, and manipulate JSON data using natural language queries.

Description

React Sift provides an Object Query Method (OQM) that enables you to query JSON arrays and objects using simple, intuitive commands. It's designed to make data manipulation and filtering more accessible for React applications.

Installation

npm install react-sift

Usage

Basic Usage

import { oqm } from 'react-sift';

const data = [
  {
    id: 1000,
    question_source: "vocab",
    category: [{ id: 1000, title: "Vocabulary" }],
    question_text: "pundit",
    difficulty: "Medium",
    // ... more properties
  },
  // ... more items
];

// Show available keys in the data
const keys = oqm(data, "show keys");
console.log(keys); // ['id', 'question_source', 'category', 'question_text', 'difficulty', ...]

Query Examples (Coming Soon)

// Count items with specific criteria
const count = oqm(data, "count where difficulty = 'easy'");

// Sort data
const sorted = oqm(data, "sort by difficulty");
const sortedDesc = oqm(data, "sort by difficulty desc");

// Filter and limit results
const filtered = oqm(data, "where difficulty = 'medium' limit 10");

// Group data
const grouped = oqm(data, "group by difficulty");

// Show available keys
const keys = oqm(data, "show keys");

API Reference

oqm(data: JsonArray, query: string): any

The main function for querying data.

Parameters:

  • data: An array of JSON objects to query
  • query: A string containing the query command

Returns:

  • The result of the query operation

Supported Query Commands

  • show keys - Returns the keys available in the first object of the array
  • count where [condition] - Counts items matching the specified condition
  • sort by [field] - Sorts the data by the specified field
  • sort by [field] desc - Sorts the data by the specified field in descending order
  • where [condition] - Filters data based on the specified condition
  • limit [number] - Limits the number of results
  • group by [field] - Groups data by the specified field

Development

Prerequisites

  • Node.js
  • npm or yarn
  • TypeScript

Setup

  1. Clone the repository
  2. Install dependencies:
    npm install

Build

npm run build

Test

npm test

License

MIT License - see the LICENSE file for details.

Author

Tom Zhang