Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

gistdb

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gistdb

Use gist's from GitHub as database files.

  • 0.0.4
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

GistDB

Install: npm install gistdb

This project was started just to learn the gist api.

This project is Unlicensed

Functions

create(content[,database name]); -- Create a new databse. (Requires auth) - Caller ID: 3
get(key) -- Get the value for key.
load([gist id]); -- Load a database. (No auth required) - Caller ID: 1
remove(key) -- Deletes a key and its value. Returns true or false.
save(); -- Saves a database to gist. (Requires auth) - Caller ID: 2
set(key,value); -- Sets a key with said value.

NOTE: Caller ID is used for the error lisener.

Listeners

created -- Triggered by create()
    Returned in object: db (database name), id (gist id)
    Example: GistDB.on('created',function(obj) { console.log("Database: "+obj.db+" - ID: "+obj.id); });
loaded -- Triggered by load();
    Returned in object: content (database), id (gist id)
    Example: GistDB.on('loaded',function(obj) { console.log("Content: "+JSON.stringify(obj.content)); });
saved -- Triggered by save();
    Returned in object: content (database), id (gist id)
    Example: GistDB.on('saved',function(obj) { console.log("Content: "+JSON.stringify(obj.content)); });
error -- Triggered by create(), load(), save()
    Returned in object: msg (error message), id (function caller id)
    Example: GistDB.on('error',function(obj) { console.log("Error Message: "+obj.msg+" - Caller ID: "+obj.id); });

NOTE: If a listener is called without being defined, a message is sent to console.

Options

NOTE: Username and password are not needed if you're only going to load the gist.
      Changed from "user,pass,[opts]" for easy option choosing.

User - Your github user name. (optional only if loading a gist.)
Pass - Your github password. (optional only if loading a gist, required with username.)
ID - Your gist id. (optional)
Timeout - Request timeout. (optional, defaults to 10 seconds)
    Example: gdb = new GistDB({user:'USERNAME',pass:'PASSWORD',id:"9cb6f8b7baa8300af0d7",timeout:1000});

Usage

var GistDB = require('gistdb');
var gdb = new GistDB({user:'USERNAME',pass:'PASSWORD',id:"9cb6f8b7baa8300af0d7",timeout:1000});

Example

var GistDB = require('gistdb');
var gdb = new GistDB({user:'USERNAME',pass:'PASSWORD',id:"9cb6f8b7baa8300af0d7",timeout:1000});
var content = {example:'This is an example database!'};
gdb.create(content,'example.db');
gdb.on('created',function (data) {
    console.log('New database created! ('+data.id+')');
    init(gdb);
});
gdb.on('error',function (data) {
    console.log('There was an error! (Error: '+data.msg+')');
});

gdb.on('saved',function (data) {
    console.log('Content saved to database!');
});

console.log('Init called: '+gdb.get('Initcalled')); // will return false, as the DB isn't loaded.

function init (gdb) {
         gdb.set('Initcalled',true);
         console.log('Init called: '+gdb.get('Initcalled')); // SHOULD return true if you loaded the DB correctly.
         this.save(); // Save when ever you feel like it. (probably best after adding content to the object.)
         // Run your project...
};

Keywords

FAQs

Package last updated on 01 Aug 2012

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc