New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

flatty

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

flatty

This library was build for quickly testing API using local DB. Also can be used as non-failing, always reachable DB used for presentations (This is why it was created). This module is small ~300 LOC.

latest
Source
npmnpm
Version
1.4.4
Version published
Maintainers
1
Created
Source

Flatty

This library was build for quickly testing API using local DB. Also can be used as non-failing, always reachable DB used for presentations (This is why it was created). This module is small ~300 LOC.

Be warned, that it is not stable and API is subject to change.

install: npm install flatty

API

var flatty = require("flatty");
var Store = require("flatty/stores/native");

var pokemons = new flatty("./pokemons.db", {
    interval: 50, // In ms
    store: new Store()
});

Methods

set([id], data, callback)

Options:

  • id (if omitted, random id will be generated)
  • data - valid JSON data
  • callback - Obvious

Example:

pokemons.set({name: "Lapras", type: "ice"}, function(id) {
  console.log(id) // Some random string (qFbzoWk7qyWFMW0u)
});
pokemons.set("AFgzoWk7qAWFMd3f", {name: "Rotom", type: "ghost"}, function(id) {
  console.log(id) // Some random string (qFbzoWk7qyWFMW0u)
});

get([id], callback)

Options:

  • id (if omitted, will return all records)
  • callback(results) - Again, callback! typeof results === (id === undefined) ? "array" : "object"

Example:

pokemons.get(function(pokemons) {
  console.log(pokemons) // [{name: "Lapras", type: "ice", id: "qFbzoWk7qyWFMW0u"},{name: "Rotom", type: "ghost", id: "AFgzoWk7qAWFMd3f"}]
});

pokemons.get("qFbzoWk7qyWFMW0u", function(pokemon) {
    console.log(pokemon) // {name: "Lapras", type: "ice", id: "qFbzoWk7qyWFMW0u"}
});

delete(id, callback)

Options:

  • id - ID of the record
  • callback - OH, THAT!

Example:

pokemon.delete("AFgzoWk7qAWFMd3f", function() {
  //Deleted record!
});

update(id, data, callback)

Options:

  • id - ID of the record
  • callback - SUCH CALLBACK!

Example:

pokemon.update("AFgzoWk7qAWFMd3f", {pokedex_id: 479}, function() {
  //Updated!
});

find(search, callback)

Options:

  • search - valid JSON object
  • callback(results) - CALLBACK WOW! typeof results === "array"

Example:

pokemon.find({pokedex_id: 479}, function(results) {
  console.log(results) // [{name: "Rotom", type: "ghost", id: "AFgzoWk7qAWFMd3f"}]
});

pokemon.find({pokedex_id: 479, name: "Lapras"}, function(results) {
  console.log(results) // null
});

option(key, val)

Options:

  • key - option name
  • val - options value

Example:

pokemon.option("index", true);

Events

record:set - callback: fn(key). Key is id of record. record:update - callback: fn(key). Key is id of record. record:delete - callback: fn(key). Key is id of record.

option:change - Emitted when option has changed.

Ticker

Ticker is a function, that saves data to disk at certain interval. Data format is JSON or native format, which looks like ID\t{data: "stuff"}\n, so it`s highly editable and readable. Currently interval is set to 50ms. But dont worry! It will not flood your drive, because it will write only if changes were made.

FAQs

Package last updated on 30 Oct 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts