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

corvid-storeon

Package Overview
Dependencies
Maintainers
1
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

corvid-storeon - npm Package Compare versions

Comparing version

to
2.1.0

EXAMPLES.md

90

dist/index.esm.js

@@ -1,64 +0,40 @@

/**
* Initialize new store and apply all modules to the store.
*
* @param {moduleInitializer[]} modules Functions which will set initial state
* define reducer and subscribe
* to all system events.
*
* @return {Store} The new store.
*
* @example
* import createStore from 'storeon'
* let increment = store => {
* store.on('@init', () => ({ count: 0 }))
* store.on('inc', ({ count }) => ({ count: count + 1 }))
* }
* const store = createStore([increment])
* store.get().count //=> 0
* store.dispatch('inc')
* store.get().count //=> 1
*/
var createStore = function (modules) {
var events = { };
var state = { };
var storeon = modules => {
let events = { };
let state = { };
var on = function (event, cb) {
(events[event] || (events[event] = [])).push(cb);
let store = {
dispatch(event, data) {
if (event !== '@dispatch') {
store.dispatch('@dispatch', [event, data, events[event]]);
}
return function () {
events[event] = events[event].filter(function (i) {
return i !== cb;
});
};
};
if (events[event]) {
let changes = { };
let changed;
events[event].forEach(i => {
let diff = i(state, data);
if (diff && typeof diff.then !== 'function') {
changed = state = { ...state, ...diff };
changes = { ...changes, ...diff };
}
});
if (changed) store.dispatch('@changed', changes);
}
},
var dispatch = function (event, data) {
if (event !== '@dispatch') {
dispatch('@dispatch', [event, data, events[event]]);
}
get: () => state,
if (events[event]) {
var changes = { };
var changed;
events[event].forEach(function (i) {
var diff = i(state, data);
if (diff && typeof diff.then !== 'function') {
changed = state = Object.assign({ }, state, diff);
Object.assign(changes, diff);
}
});
if (changed) dispatch('@changed', changes);
on(event, cb) {
(events[event] || (events[event] = [])).push(cb);
return () => {
events[event] = events[event].filter(i => i !== cb);
};
}
};
var get = function () {
return state;
};
var store = { dispatch: dispatch, get: get, on: on };
modules.forEach(function (i) {
modules.forEach(i => {
if (i) i(store);
});
dispatch('@init');
store.dispatch('@init');

@@ -68,5 +44,3 @@ return store;

var storeon = createStore;
const createStore$1 = (modules) => {
const createStore = (modules) => {
const store = storeon(modules);

@@ -118,2 +92,2 @@ const page = [];

export { createStore$1 as createStore };
export { createStore };

@@ -5,65 +5,41 @@ 'use strict';

/**
* Initialize new store and apply all modules to the store.
*
* @param {moduleInitializer[]} modules Functions which will set initial state
* define reducer and subscribe
* to all system events.
*
* @return {Store} The new store.
*
* @example
* import createStore from 'storeon'
* let increment = store => {
* store.on('@init', () => ({ count: 0 }))
* store.on('inc', ({ count }) => ({ count: count + 1 }))
* }
* const store = createStore([increment])
* store.get().count //=> 0
* store.dispatch('inc')
* store.get().count //=> 1
*/
var createStore = function (modules) {
var events = { };
var state = { };
var storeon = modules => {
let events = { };
let state = { };
var on = function (event, cb) {
(events[event] || (events[event] = [])).push(cb);
let store = {
dispatch(event, data) {
if (event !== '@dispatch') {
store.dispatch('@dispatch', [event, data, events[event]]);
}
return function () {
events[event] = events[event].filter(function (i) {
return i !== cb;
});
};
};
if (events[event]) {
let changes = { };
let changed;
events[event].forEach(i => {
let diff = i(state, data);
if (diff && typeof diff.then !== 'function') {
changed = state = { ...state, ...diff };
changes = { ...changes, ...diff };
}
});
if (changed) store.dispatch('@changed', changes);
}
},
var dispatch = function (event, data) {
if (event !== '@dispatch') {
dispatch('@dispatch', [event, data, events[event]]);
}
get: () => state,
if (events[event]) {
var changes = { };
var changed;
events[event].forEach(function (i) {
var diff = i(state, data);
if (diff && typeof diff.then !== 'function') {
changed = state = Object.assign({ }, state, diff);
Object.assign(changes, diff);
}
});
if (changed) dispatch('@changed', changes);
on(event, cb) {
(events[event] || (events[event] = [])).push(cb);
return () => {
events[event] = events[event].filter(i => i !== cb);
};
}
};
var get = function () {
return state;
};
var store = { dispatch: dispatch, get: get, on: on };
modules.forEach(function (i) {
modules.forEach(i => {
if (i) i(store);
});
dispatch('@init');
store.dispatch('@init');

@@ -73,5 +49,3 @@ return store;

var storeon = createStore;
const createStore$1 = (modules) => {
const createStore = (modules) => {
const store = storeon(modules);

@@ -123,2 +97,2 @@ const page = [];

exports.createStore = createStore$1;
exports.createStore = createStore;
{
"name": "corvid-storeon",
"version": "2.0.0",
"version": "2.1.0",
"description": "A tiny event-based state manager Storeon for Corvid by Wix",

@@ -22,3 +22,3 @@ "main": "dist/index.js",

"rollup-plugin-node-resolve": "^5.2.0",
"storeon": "^0.9.8"
"storeon": "^1.0.0"
},

@@ -25,0 +25,0 @@ "husky": {