Skip to content

zcorky/soul

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

soul

NPM version Coverage Status Dependencies Build Status license issues

Give a soul for your app.

Install

$ npm install @zcorky/soul

Usage

import soul from '@zcorky/soul';

const app = new Soul();

app.model({
	namespace: 'user',
	state: {
		total: 1,
		current: 12138,
		list: [{
			id: 12138,
			name: 'zero',
		}],
	},
	reducers: {
		save(state, { payload }) {
			const { total, list } = payload;
			return {
				...state,
				total,
				list,
			};
		},
	},
	effects: {
		async 'sync'(action, { put }) {
			const { total, user } = await syncUserService();
			await put({ type: 'user/save', payload: { total, user } });
		},
	},
});

app.start();