11# js-messages
22
3- A small library to handle messages, message types and message factories
3+ A small library to handle messages, message types and message creators
44(also known as "actions", "action types" and "action creators" in redux context).
55js-messages is written in TypeScript, everything is completely type safe.
66
7+ js-messages currently consists of two messages
8+
9+ - ` defineMessage ` : To define one type of message / to create one message creator
10+ - ` defineMessages ` : To define multiple related messages / to create multipe message creators
11+
712[ ![ Licence] ( https://img.shields.io/badge/licence-LGPLv3-blue.svg?style=flat )] ( https://github.com/js-works/js-messages/blob/master/LICENSE )
813[ ![ npm version] ( https://img.shields.io/npm/v/js-messages.svg?style=flat )] ( https://www.npmjs.com/package/js-messages )
914[ ![ Build status] ( https://travis-ci.com/js-works/js-messages.svg )] ( https://travis-ci.org/js-works/js-messages )
@@ -15,10 +20,35 @@ npm install --save js-messages
1520
1621## Usage
1722
18- Example 1:
23+ Example 1 (using ` defineMessage ` )
1924
2025``` javascript
21- import defineMessages from ' js-messages'
26+ import { defineMessage } from ' js-messages'
27+
28+ const
29+ increment = defineMessage (' increment' ),
30+ // for messages of shape { type: 'increment' }
31+
32+ decrement = defineMessage (' decrement' ),
33+ // for messages of shape { type: 'decrement' }
34+
35+ resetTo = defineMessage (' resetTo' , (value : number ) => value)
36+ // for messages of shape { type: 'resetTo', payload: number }
37+
38+ expect (increment ())
39+ .to .eql ({ type: ' increment' })
40+
41+ expect (decrement ())
42+ .to .eql ({ type: ' decrement' })
43+
44+ expect (resetTo (0 ))
45+ .to .eql ({ type: ' resetTo' , payload: 0 })
46+ ```
47+
48+ Example 2 (using ` defineMessages ` ):
49+
50+ ``` javascript
51+ import { defineMessages } from ' js-messages'
2252
2353const Actions = defineMessages ({
2454 increment: {},
@@ -59,10 +89,10 @@ expect(Actions.resetType.type).to.eql('resetTo')
5989expect (Actions .log .type ).to .eql (' log' )
6090```
6191
62- Example 2 :
92+ Example 3 (using ` defineMessages ` ) :
6393
6494``` javascript
65- import defineMessages from ' js-messages'
95+ import { defineMessages } from ' js-messages'
6696
6797type Task = {
6898 id: number,
@@ -90,6 +120,7 @@ const Actions = defineMessages({
90120 // }
91121})
92122```
123+
93124## License
94125
95126"js-messages" is licensed under LGPLv3.
0 commit comments