
Product
Announcing Bun and vlt Support in Socket
Bringing supply chain security to the next generation of JavaScript package managers
@paxperscientiam/ts-models
Advanced tools
Base classes for model classes that store data in browser's localstorage.
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;
}
# 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
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}`
}
}
Creating a new user would be done like this:
const user = new User()
Fetching an existing user
const user = new User(userID) // userID: number
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
[] expand ORM features [] undo save [x] instead of supplying an id, an id should be automatically determined [] joins
FAQs
Base classes for model classes that store data in browser's localstorage.
The npm package @paxperscientiam/ts-models receives a total of 2 weekly downloads. As such, @paxperscientiam/ts-models popularity was classified as not popular.
We found that @paxperscientiam/ts-models demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Product
Bringing supply chain security to the next generation of JavaScript package managers

Product
A safer, faster way to eliminate vulnerabilities without updating dependencies

Product
Reachability analysis for Ruby is now in beta, helping teams identify which vulnerabilities are truly exploitable in their applications.