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

supersimplestorage

v0.0.2

Published

SuperSimpleStorage - A simple persistance layer library to store and retrieve data in Node.js without using a full blown database.

Downloads

5

Readme

#SuperSimpleStorage ##A simple persistance layer library to store and retrieve data in Node.js without using a full blown database.

###Introduction Often in a Node.js application there is a need to store some pieces data. Nothing big to justify a full blown database. For those cases SuperSimpleStorage is handy tool that allows you to easily store and retrieve data from the filesystem.

SuperSimpleStorage is able to store:

  • strings
  • integers
  • javascript data objects (that are automatically converted to and from JSON)

###Instalation

Install SuperSimpleStorage through NPM

npm install supersimplestorage --save

This will install SuperSimpleStorage as a dependency and update your package.json automatically.

Next require SuperSimpleStorage in your Node.js script, like this:

var supersimplestorage = require('supersimplestorage');

###Usage

####Initializing the storage

Before we can store and retrieve storage items, we first need to initialize the storage. We do this by creating a new storage object. When creating a new object we can pass configuration options. When no configuration options are passed (or only partially), default values are used.

var storage = new SuperSimpleStorage({
		storageFolder: 'my_storage_folder',
		dotsToFolders: true,
		fileExtension: 'txt'
});

The following configuration options are available:

  • storageFolder - Folder where the storage items are stored. Defaults to 'storage'
  • dotsToFolders - Whether to translate a dots to slahes in order to store items in a file structure. Defaults to 'true'
  • fileExtension - The file extension used for the storage files. Defaults to 'data'.

####Retrieving data from a storage item

Retrieving data from a storage item is done by calling the open method. The open-method accepts 3 parameters:

  • name - The name of the storage item. When dotsToFolder is set to true, dots will translate to a file tree.
  • successCallback - Function to call when the storage item has successfully been retrieved
  • errorCallback - Function to call when an error has occurred while retrieving the item

It is important to realize that retrieving data from storage is asynchronous. That means that we can't assign the result of the open method directly to a variable. Instead we pass a success callback, which will receive the data as soon as it becomes available, where it can be processed further.

storage.open('foo', function(content) {

	console.log('Successfully opened foo');
	console.log(content);

}, function(error) {

	console.log('An error has occured');
	console.log(error);

});

####Saving data in a storage item

Storing data into a storage item is done by calling the save method. The save method accepts 4 parameters:

  • name - The name of the storage item. When dotsToFolder is set to true, dots will translate to a file tree.
  • content - The content to save in the storage item
  • successCallback - Function to call when the storage item has successfully been saved
  • errorCallback - Function to call when an error has occurred while storing the item
var data = {
	'foo': 'bar',
	'bar': 'foo'
}

// store JSON content
storage.save('foo.bar', data, function(content) {

	console.log('The content has been saved')

}, function(error) {

	console.log('An error has occured');
	console.log(error);

});

It is important to realize that saving data in storage also is asynchronous. If we want to act upon successfully saving data, we have to pass a callback, which will be executed as soon as the item has been stored.