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.

    Install

    npm i baggage

    DownloadsWeekly Downloads

    54

    Version

    1.0.1

    License

    MIT

    Last publish

    Collaborators

    • ds2co