New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@paxperscientiam/ts-models

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@paxperscientiam/ts-models

Base classes for model classes that store data in browser's localstorage.

  • 0.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Travis (.org)

What is?

This project provides two classes for building models with data stored in localstorage.

Definitions:

interface IStruct {
    [prop: string]: string;
}
export declare class Model {
    protected _id: number;
    private _modelStore;
    private _struct;
    private _namespace;
    constructor(namespace: string, struct: string[], id?: number);
    private updateRegistry;
    save(data: IStruct, overwrite?: boolean): void;
    getItem(key: string): any;
    get id(): number;
    erase(): void;
    dump(): any;
}
export declare class Collection {
    private _modelStore;
    private _namespace;
    constructor(namespace: string);
    total(): number;
}

Try out

# clone and cd into directory

# install dependencies
npm install

# build project and load test server
# This should open localhost:4444 in your browser
npm run example

Basic example

Create your model

In this example I've created a model to represent a user. When instantiating the parent class (Model), two parameters are required: a namespace ("User") and the structure of model. The Model limits saves (more on that later) to the properties specified in the structure parameter.

class User extends Model {

    constructor(id?: number) {
        super(
            "User",
            [
                "firstname",
                "lastname",
                "username",
                "age",
            ],
            id
        )
    }

    get fullname() {
        return `${this.firstname} ${this.lastname}`
    }
}

Instantiation

Creating a new user would be done like this:

const user = new User()

Fetching an existing user

const user = new User(userID) // userID: number

Saving (to localstorage)

Setting properties would be done like this:

user.save([
    firstname: 'Isaac',
    lastname: 'Asimov',
    username: 'asimov1969',
    age: 33
])

The id of this new user instance can be accessed like this:

user.id // => some integer 

To do:

[] expand ORM features [] undo save [x] instead of supplying an id, an id should be automatically determined [] joins

Keywords

FAQs

Package last updated on 13 Dec 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc