knadh / localStorageDB

A simple database layer for localStorage and sessionStorage for creating structured data in the form of databases and tables
http://nadh.in/code/localstoragedb
814 stars 128 forks source link

Added support for jspm package manager #60

Open uelarn opened 9 years ago

uelarn commented 9 years ago

Used in application with the Aurelia framework using jspm package manager with system.js module loader.

Application code written in Typescript.

Use case:

import {localStorageDB} from "localStorageDB";

const OPENTAGS = "OpenTags";

export interface IOpenTagsRow {
    ID: number,
    TagID: number
}

export class LocalstorServices {
    private _lsdb: localStorageDB;

    constructor() {
        this._lsdb = new localStorageDB("MyToolBoxStore", "localStorage");
        if (!this._lsdb.tableExists(OPENTAGS)) {
            this._lsdb.createTable(OPENTAGS, ["TagID"]);
            this._lsdb.commit();
        }

    }

    getAllTagTreeState(): IOpenTagsRow[] {
        return this._lsdb.queryAll(OPENTAGS) as IOpenTagsRow[];
    }

    deleteTagTreeState(tagid: number) {
        this._lsdb.deleteRows(OPENTAGS, { TagID: tagid });
        this._lsdb.commit();
    }

    addTagTreeState(tagid: number) {
        this._lsdb.insert(OPENTAGS, { TagID: tagid });
        this._lsdb.commit();
    }
}