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

2.5.0 • Public • Published

Bara

Bara is a library created for creating any (front/back/cli) JavaScript application.

Installation

npm install --save bara

or

yarn add bara

Usage

Full Application

const {
  register,
  useStream,
  useTrigger,
  useEvent,
  useCondition,
  useAction,
  createEventType 
= require('bara')
 
const ON_TIME_ESLAPSED = createEventType('ON_TIME_ESLAPSED')
 
const EVERY_X_SECOND = x => second => second % x === 0
const ONLY_EVEN_SECOND = EVERY_X_SECOND(2)
 
const app = () => {
  // Register source stream factory for Bara application
  useStream(({setName, addEventType, emit}) => {
    setName('dev.barajs.timer')
 
    let elapsed = 0;
    const timer = setInterval(() => {
        emit(ON_TIME_ESLAPSED, elapsed++);
    }, 1000);
 
    return () => {
        // Cleanup when zero listener
        clearInterval(timer)
    }
  })
 
  // Register a trigger that will be triggered every even second
  useTrigger(() => {
    const event = useEvent(ON_TIME_ESLAPSED)
    const condition = useCondition(ONLY_EVEN_SECOND)
    const action = useAction((second) => {
      console.log(`Tik every even seconds: ${second}`)
    })
 
    return {event, condition, action}
  })
 
  // Register a trigger that will be triggered every 5 second
  useTrigger(() => {
    const every = 5
    const event = useEvent(ON_TIME_ELAPSED)
    const condition = useCondition(EVERY_X_SECOND(every))
    const action = useAction((second) => {
      console.log(`Tik every `${every}` seconds: ${second}`)
    })
 
    return {event, condition, action}
  })
}
 
register(app);

Package Sidebar

Install

npm i bara

Homepage

barajs.dev

Weekly Downloads

2

Version

2.5.0

License

MIT

Unpacked Size

347 kB

Total Files

7

Last publish

Collaborators

  • nampdn