Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

datas-store

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

datas-store

Datas is a fast, reliable, object based data store.

  • 2.0.4
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Datas

Datas is a fast, reliable, object based data store.

Introduction

Datas is meant to be a data store that integrates quickly and easily with large projects. It does that by being Object based. This allows you to choose how you control your data.

Installation

npm install datas-store

Usage

To create a store, you need to extend DatasStore:

import DatasStore from 'datas-store';

class MyStore extends DatasStore {
    constructor() {
        super(0); // here you define your initial state
    }

    public addOne() {
        this.setState(this.getState() + 1);
    }
}

let store = new MyStore();

store.watch(state => console.log('My number is now', state));

store.addOne(); // => "My number is now 1"
store.addOne(); // => "My number is now 2"
store.addOne(); // => "My number is now 3"
store.addOne(); // => "My number is now 4"
// ...

This is only a simple example of a data store however. You can also use Objects, Arrays, or any other JavaScript type.

Upgrading

  • In v2.0.0, the hasChanged function is by default empty. This means that the watch methods will always be called when the state changes.
  • In v2.0.0, the watch function no longer returns a boolean if it was successfully removed.

Immutability

As of v2.0.0, everything is immutable. For an example of using immutability in a project, check the todo example.

Examples

There are several examples inside of the examples directory. Install webpack-dev-server globally, then run webpack-dev-server inside of a directory to run the example.

Size & Performance

Datas is currently less than 800 bytes minified (362 bytes gzipped.)

Performance should be better than alternatives, however due to built in immutibility this may not be the case with large states.

Differences with Flux/Redux

Unlike Redux which calls all of the reducers when an action is called, in Datas you just call the method directly.

Flux and Redux both use a switch statement to check action type. You have the option of doing this by accepting a string as a parameter.

To Do

  • Testing outside of the examples

License

This is licensed under the MIT license.

Keywords

FAQs

Package last updated on 14 Mar 2016

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