baggage
v1.0.1
Published
A state container for javascipt applications.
Downloads
208
Maintainers
Readme
Baggage
Baggage is a fun, lightweight state container for JavaScript applications.
It helps you create consistency across your web applications and reduce the number of repetitive calls to the back-end. Just create a class and check it in at with the baggage handler. Baggage provides a selective level of data caching that can persist through page refresh and even the browser closing.
You can use Baggage together with React, Ember, Aurelia, Vue.js, or with any other view library.
It is a tiny package and has no dependencies.
Table of Contents
Installation
npm install baggage --save
Basic Usage
1. Create a class
export default class ApplicationStore {
constuctor() {
this.username = null;
}
}
2. Check the class with the Baggage Handler on the entry file (example: app.js)
import { Handler } from 'baggage';
import ApplicationStore from './ApplicationStore';
Handler.Check(ApplicationStore);
3. Access the class from Baggage for future Read/Write operations
import { ApplicationStore } from 'baggage';
ApplicationStore.username = 'gregg2';
API Reference
Handler
The Handler is used to manage the data that is being stored with Baggage.
import { Handler } from 'baggage';
// - OR - //
const { Handler } = require('baggage');
// - OR - //
var baggageHandler = require('baggage').Handler;
Functions:
Handler.Check(class)
Adds class to the store at the lowest level store cache (aka CarryOn).
Handler.Check(class, level)
Adds class to the store at the store level passed into the function.
Handler.Claim()
Removes all registed classes. This function is good to use on logout or if all data needs to be reset in an application.
Store Levels
CarryOn
- Level 1 Store.
- Data persists until tab/window is refreshed, closed, or Handler.Claim() is executed.
import { CarryOn } from 'baggage';
// - OR - //
const { CarryOn } = require('baggage');
// - OR - //
var level = require('baggage').CarryOn;
Checked
- Level 2 Store.
- Data persists until tab/window is closed or Handler.Claim() is executed.
import { Checked } from 'baggage';
// - OR - //
const { Checked } = require('baggage');
// - OR - //
var level = require('baggage').Checked;
Excessive
- Level 3 Store.
- Data persists until Handler.Claim() is executed.
import { Excessive } from 'baggage';
// - OR - //
const { Excessive } = require('baggage');
// - OR - //
var level = require('baggage').Excessive;
Future Development
- Baggage for React-Native Apps.
- Baggage package that has security in mind.
Todo List
- Create extensive API documentation.
- Add a CONTRIBUTING guide.