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.

/contextus/

    Package Sidebar

    Install

    npm i contextus

    Weekly Downloads

    4

    Version

    1.1.0

    License

    Apache-2.0

    Unpacked Size

    17.5 kB

    Total Files

    6

    Last publish

    Collaborators

    • tomeraberbach