baggage

1.0.1 • Public • Published

alt textBaggage

GitHub license npm (scoped) build status Github file size

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.

Package Sidebar

Install

npm i baggage

Weekly Downloads

26

Version

1.0.1

License

MIT

Last publish

Collaborators

  • ds2co