-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathdev.js
More file actions
30 lines (28 loc) · 906 Bytes
/
dev.js
File metadata and controls
30 lines (28 loc) · 906 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
const { rpc, method, createError } = require('./index');
module.exports = rpc(
method('add', (a, b) => a + b),
method('addAsync', (a, b) => new Promise((resolve) => {
resolve(a + b);
})),
method('addItems', ({ a, b }) => a + b),
method('addItemsAsync', ({ a, b }) => new Promise((resolve) => {
resolve(a + b);
})),
method('throwError', () => {
throw createError({ message: 'I\'m sorry I can\'t do that'});
}),
method('throwErrorAsync', () => new Promise((resolve, reject) => {
reject(createError({ message: 'Something is broke internally', statusCode: 500 }));
})),
method('documentation',
`
# documentation
Document what a method does.
`,
() => new Promise((resolve, reject) => {
reject(createError({ message: 'Something is broke internally', statusCode: 500 }));
})),
method('unhandledError', () => {
throw new Error('Not expected');
})
);