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

teensy

v1.2.2

Published

Teensy is a very small flatfile DB.

Downloads

15

Readme

Teensy Travis

At just 1.5k and less than 100 lines of JS, Teensy is a very small flat file database.

Performance Metrics

100 Item:

  • Seek 1 results: 47μs (0.047ms)
  • Put one item: 150μs (0.150ms)

5,000 Item:

  • Seek 5,000 results: 4.250ms
  • Put one item: 0.525ms

50,000 Item:

  • Seek 50,000 results: 21.713ms
  • Put one item: 2ms

100,000 Item:

  • Seek 50,000 results: 47.450ms
  • Put one item: 3ms

Metrics gathered on 2015 MacBook 12" running Node v5.3.0. Requests made every 50ms.

How Teensy Works

Teensy stores data in memory and writes it to a file periodically (defined when you create a new Teensy DB). Teensy will then look for that file and load it into memory next time it's initialized.

Usage

Install using npm. Teensy requires ES6 features to be enabled, Use of node 5.3.0+ is recommended.

npm install --save teensy

First, require teensy.

const Teensy = require('teensy');

Create your database, specifying your db filename, and storage interval. Be sure to include the store() call, this is how Teensy stores stuff!

let DB = new Teensy('teensy.db', 1000).store();

Easily put data into Teensy. id and rev required.

DB.put({_id: 'Ringo', _rev: 2, color: 'Orange', fangs: true});

You can find data just as easily. Simply provide query params to .seek().

let seekData = DB.seek({_id: 'Ringo', fangs: true});

You can subscribe to changes in the DB.

DB.subscribe((data) => {
  // do stuff
}, 'subscription_id');

You can also unsubscribe.

DB.unsubscribe('subscription_id');

If you want data gone, simply use .poof() while passing a query.

DB.poof({color: 'Orange'});