Skip to content

Commit cf5d329

Browse files
committed
Some updates
1 parent 1f82455 commit cf5d329

File tree

3 files changed

+24
-8
lines changed

3 files changed

+24
-8
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "js-messages",
3-
"version": "0.1.19",
3+
"version": "0.1.20",
44
"license": "LGPL-3.0",
55
"homepage": "https://github.com/js-works/js-messages",
66
"main": "index.js",

src/main/api/types/MessagesOf.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// --- MessagesOf ---------------------------------------------------
2+
3+
type MessagesOf<T extends { [k: string]: MessageCreator<any, any> }> =
4+
{ [K in keyof T]:
5+
T[K] extends (...args: any[]) => infer R
6+
? R
7+
: never
8+
}
9+
10+
// --- locals -------------------------------------------------------
11+
12+
type MessageCreator<P, M> = (...args: any[]) => {
13+
type: string,
14+
payload?: P,
15+
meta?: M
16+
}
17+
18+
// --- exports ------------------------------------------------------
19+
20+
export default MessagesOf

src/main/index.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
import defineMessage from './api/defineMessage'
2-
import defineMessages from './api/defineMessages'
3-
4-
export {
5-
defineMessage,
6-
defineMessages
7-
}
1+
export { default as defineMessage } from './api/defineMessage'
2+
export { default as defineMessages } from './api/defineMessages'
3+
export { default as MessagesOf } from './api/types/MessagesOf'

0 commit comments

Comments
 (0)