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

node-context

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-context

Context type that carries deadlines, cancelation signals, and other request-scoped values.

  • 0.7.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Context Build Status

Context type that carries deadlines, cancelation signals, and other request-scoped values.

Influenced by Go's context.

Documentation

### context.Context([options])

Initialize a new context.

Options

  • deadline (Number, optional): time when request expires (milliseconds since Unix epoch)
  • timeout (Number, optional): duration in milliseconds until request expires
  • parent (Context, optional): parent context; inherits deadlines, cancelation signals, and properties
### Event: 'cancel'

Emitted when the request exceeds it's deadline or is canceled.

This is only emitted once.

### Event: 'finish'

Emitted when the request is finished.

This is only emitted once.

### ctx.create([options])

Create and return a child context.

This accepts the same options as the context constructor and automatically sets the parent option.

Options

  • cancel (Boolean, default: true): inherit cancel/finish signals and deadline/timeout
  • values (Boolean, default: true): inherit values (shallow copy)
### ctx.cancel()

Cancel request immediately.

This is safe to call multiple times.

### ctx.canceled

True after canceled.

### ctx.deadline

Time in milliseconds when the request will be canceled if not finished.

### ctx.end()

Finish the request, this must be called at the end of the request.

It is safe to call multiple times.

### ctx.finished

True after finished.

### ctx.values([object])

Return context values.

If object is provided then the context values will be merged into it.

Example

var context = require('node-context');

function display(ctx, name) {
  ctx.once('cancel', function() {
    console.log('%s canceled after %d ms', name, new Date() - ctx.time);
  });

  ctx.once('finish', function() {
    console.log('%s finished', name);
  });
}

var parent = context();
parent.time = new Date();

var master = parent.create({ timeout: 1000 });

display(parent, 'parent');
display(master, 'master');
display(master.create({ timeout: 500 }), 'worker1');
display(master.create(), 'worker2');

process.on('beforeExit', function() {
  parent.end();
});

Output

worker1 canceled after 524 ms
worker1 finished
master canceled after 1007 ms
worker2 canceled after 1007 ms
worker2 finished
master finished
parent finished

License

This work is licensed under the MIT License (see the LICENSE file).

Keywords

FAQs

Package last updated on 17 Jul 2015

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