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

atomic-batcher

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

atomic-batcher

A simple batching function that allows you to atomically batch a series of operations.

  • 1.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

atomic-batcher

A simple batching function that allows you to atomically batch a series of operations. If you are looking for the same thing with a stream interface checkout byte-stream.

npm install atomic-batcher

build status

Usage

var batcher = require('atomic-batcher')
var db = require('level')('some.db')

var batch = batcher(function work (ops, cb) {
  // only one batch will happen at the time
  console.log('Batching:', ops, '\n')
  db.batch(ops, cb)
})

batch({type: 'put', key: 'hello', value: 'world-1'})
batch({type: 'put', key: 'hello', value: 'world-2'})
batch({type: 'put', key: 'hello', value: 'world-3'})
batch({type: 'put', key: 'hi', value: 'hello'}, function () {
  console.log('Printing latest values:\n')
  db.get('hello', console.log) // returns world-3
  db.get('hi', console.log) // returns hello
})

Running the above example will print

Batching: [ { type: 'put', key: 'hello', value: 'world-1' } ]

Batching: [ { type: 'put', key: 'hello', value: 'world-2' },
  { type: 'put', key: 'hello', value: 'world-3' },
  { type: 'put', key: 'hi', value: 'hello' } ]

Printing latest values:

null 'world-3'
null 'hello'

API

var batch = batcher(worker)

Create a new batching function. worker should be a function that accepts a batch and a callback, (batch, cb). Only one batch is guaranteed to be run at the time.

The batch function accepts a value or an array of values and a callback, batch(value(s), cb). The callback is called when the batch containing the values have been run.

License

MIT

FAQs

Package last updated on 12 Feb 2017

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