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

keydb

Package Overview
Dependencies
Maintainers
3
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

keydb - npm Package Compare versions

Comparing version 0.1.9 to 0.1.10

lib/drivers/s3.js

3

index-server.js

@@ -21,3 +21,4 @@ var keydb = require('./lib/keydb');

keydb.driver('buffer', require('./lib/drivers/buffer'));
keydb.driver('s3', require('./lib/drivers/s3'));
module.exports = keydb;
module.exports = keydb;
{
"name": "keydb",
"version": "0.1.9",
"version": "0.1.10",
"description": "Key/value data/query API to use on the server and in the browser.",

@@ -5,0 +5,0 @@ "main": "index-server.js",

@@ -6,4 +6,19 @@ keydb

Build data APIs using the middleware concept.
KeyDB is generic middleware for data.
KeyDB provides the tools to create *somewhat* consistent read/write APIs to
heterogenous data sources. The key word here is *somewhat*. KeyDB does not
attempt to completely paper over the semantic differences of all possible data
sources. Instead, it uses the middleware concept to have low level "sources"
that speak the native semantics of a physical data source and higher level
"drivers" that massage those semantics into more consistent APIs.
The "key" in KeyDB refers to the desire to use key/value semantics as much as
possible for reasons of performance, simplicity, and because it's usually a
common denominator across data sources.
An original goal of KeyDB was to provide consistent data APIs across client and
server. For example, local storage and MySQL. Currently, the focus is on server
APIs, but hopefully the original intent will be revisited in the future.
## Installation

@@ -17,4 +32,4 @@

By default, KeyDB is a middleware stack that does nothing. At a minimum, you
must provide it with a data source. A data source is just a function that
By default, KeyDB is a middleware stack that does almost nothing. At a minimum,
you must provide it with a data source. A data source is just a function that
returns data.

@@ -36,4 +51,7 @@

The above database will simply echo the message sent to it. That's not very
useful. To do something more useful, use the included drivers.
The above database will simply echo the message sent to it. Note that KeyDB
does automatically wrap synchronous data sources in a promise API. This is the
default behavior because it is possible to make synchronouse APIs asynchronous,
but it is impossible to make asynchronous APIs synchronous. Some drivers take
a synchronous option, including the default stack driver. For example:

@@ -43,2 +61,17 @@ ```js

var db = keydb({sync: true});
db.source(function (msg) {
return msg;
});
console.log(db("Hello, world"));
```
Of course, the above data sources aren't very useful. To do something more
useful, use the included drivers.
```js
var keydb = require('keydb');
var db = keydb();

@@ -87,6 +120,10 @@

that upsert semantics can be added to mysql without the underlying driver
actually supporting upsert.
actually supporting upsert. (Of course, MySQL does directly provide some
upsert capabilities. Just pretend it doesn't.) This demonstrates the philosophy
and use of middleware in KeyDB. Each source and driver does only what it needs
to do. Other features are added by stacking drivers together, rather than
making monolithic data sources or drivers.
Some drivers are preconfigured stacks, and these can be easily created by their
IDs. They may also add sugar methods.
names. They may also add sugar methods.

@@ -93,0 +130,0 @@ ```js

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