contextus
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

contextus

The context you know and love, but framework agnostic!

Features

  • Microscopic: ~300 B minzipped!
  • Simple: just provide and use
  • Powerful: supports context nesting
  • Fancy: contextus is Latin for context!

Install

$ npm i contextus

Usage

import context from 'contextus'

const myContext = context()

function a() {
  b()

  return `Amazing!`
}

function b() {
  c()
}

function c() {
  d()
}

function d() {
  const value = myContext.use()

  console.log(`d: ${value}`)
  myContext.provide(`More specific wins!`, e)
  console.log(`d: ${value}`)
}

function e() {
  console.log(`e: ${myContext.use()}`)
}

const returnValue = myContext.provide(`Spectacular!`, a)
//=> d: Spectacular!
//=> e: More specific wins!
//=> d: Spectacular!

console.log(returnValue)
//=> Amazing!

try {
  myContext.use()
} catch (e) {
  console.log(e.message)
}
//=> context: use called outside provide

See the type definitions for more documentation.

Contributing

Stars are always welcome!

For bugs and feature requests, please create an issue.

For pull requests, please read the contributing guidelines.

License

Apache 2.0

This is not an official Google product.

Package Sidebar

Install

npm i contextus

Weekly Downloads

8

Version

1.1.0

License

Apache-2.0

Unpacked Size

17.5 kB

Total Files

6

Last publish

Collaborators

  • tomeraberbach