contextus
The context you know and love, but framework agnostic!
Features
- Microscopic: ~300 B minzipped!
-
Simple: just
provide
anduse
- 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
This is not an official Google product.