UNPKG

1.27 kBMarkdownView Raw
1# Keyu
2
3Key utilities you will need when you work in any javascript project.
4
5## Utilities
6
7### Functional programming
8
9#### Compose
10
11Composes N functions into another one, also accept functions that a return Promise.
12
13```
14const {compose} = require('keyu');
15
16const sum1 = x => x+1;
17const mult2 = x => x*2;
18const dbSum = x => Promise.resolve(x+1);
19
20const sumAndMult = compose(mult2,sum1);
21const sumAndMultDB = compose(dbSum,mult2,sum1);
22
23sumAndMult(1) // 4
24sumAndMultDB(1) // Promise(5)
25```
26#### Pipe
27
28Pipe N functions into another one, also accept functions that a return Promise.
29
30```
31const {pipe} = require('keyu');
32
33const sum1 = x => x+1;
34const mult2 = x => x*2;
35const dbSum = x => Promise.resolve(x+1);
36
37const sumAndMult = pipe(sum1,mult2);
38const sumAndMultDB = pipe(sum1, mult2, dbSum);
39
40sumAndMult(1) // 4
41sumAndMultDB(1) // Promise(5)
42```
43
44### Objects
45
46#### Map
47
48Maps over every key of an object
49```
50let obj = {a:1,b:2,c:3};
51
52console.log(obj.map(value => value+1)) // {a:2}
53console.log(obj.map((value, key) => `${key}:${value+1}`)) // {a:'a:2'}
54```
55
56#### Filter
57
58Filters an object for each single key
59```
60let obj = {a:1,b:2,c:3};
61
62console.log(obj.filter(value => value > 2)) // {c:3}
63
64console.log(obj.filter((value, key) => value > 1 && key === 'c')) // {c:3}
65```
66