Skip to content

Commit 02a50db

Browse files
committed
Some updates
1 parent 08c0754 commit 02a50db

File tree

6 files changed

+27
-20
lines changed

6 files changed

+27
-20
lines changed

src/main/api/defineMessage.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import MessageInitializer from '../internal/types/MessageInitializer'
33
import MessageCreator from '../internal/types/MessageCreator'
44

55
export default function defineMessage<K extends String, A extends any[]>
6-
(type: K, initializer: MessageInitializer<A> = null): MessageCreator<K, A, any, any> {
6+
(type: string, initializer: MessageInitializer<A> = null): MessageCreator<A, any, any> {
77

88
return buildMessageCreator(type, initializer)
99
}

src/main/api/defineMessages.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,10 @@ import buildMessageCreator from '../internal/buildMessageCreator';
77
// --- defineMessages -----------------------------------------------
88

99
function defineMessages<T extends MessagesConfig>(prefix: string, config: T):
10-
{ [K in keyof T]: MessageCreator<K, Arguments<any, T[K]>, Payload<T[K]>, Meta<T[K]>> }
10+
{ [K in keyof T]: MessageCreator<Arguments<any, T[K]>, Payload<T[K]>, Meta<T[K]>> }
1111

1212
function defineMessages<T extends MessagesConfig>(config: T):
13-
{ [K in keyof T]: MessageCreator<K, Arguments<any, T[K]>, Payload<T[K]>, Meta<T[K]>> }
14-
13+
{ [K in keyof T]: MessageCreator<Arguments<any, T[K]>, Payload<T[K]>, Meta<T[K]>> }
1514

1615
function defineMessages(arg1: any, arg2?: any): any {
1716
const

src/main/internal/buildMessageCreator.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import MessageInitializer from './types/MessageInitializer'
22
import MessageCreator from './types/MessageCreator'
33

4-
export default function buildMessageCreator<K extends String, A extends any[]>
5-
(type: K, initializer: MessageInitializer<A> = null): MessageCreator<K, A, any, any> {
4+
// --- buildMessageCreator ------------------------------------------
5+
6+
function buildMessageCreator<A extends any[]>
7+
(type: string, initializer: MessageInitializer<A>): MessageCreator<A, any, any> {
68

79
let ret: any
810

@@ -42,3 +44,7 @@ export default function buildMessageCreator<K extends String, A extends any[]>
4244

4345
return ret
4446
}
47+
48+
// --- exports ------------------------------------------------------
49+
50+
export default buildMessageCreator

src/main/internal/types/MessageCreator.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
type MessageCreator<K, A extends any[], P, M> = {
2-
readonly type: K,
1+
type MessageCreator<A extends any[], P, M> = {
2+
readonly type: string,
33

44
(...args: A): {
5-
type: K,
5+
type: string,
66
payload?: P,
77
meta?: M
88
}

src/test/api/defineMessage.test.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,38 +4,38 @@ import { expect } from 'chai'
44
import defineMessage from '../../main/api/defineMessage'
55

66
const
7-
action1 = defineMessage('ACTION1'),
8-
action2 = defineMessage('ACTION2', (value: number = 0) => value),
9-
action3 = defineMessage('ACTION3', (value: number = 21) => ({ value })),
7+
action1 = defineMessage('action1'),
8+
action2 = defineMessage('action2', (value: number = 0) => value),
9+
action3 = defineMessage('action3', (value: number = 21) => ({ value })),
1010

11-
action4 = defineMessage('ACTION4', {
11+
action4 = defineMessage('action4', {
1212
payload: (value: number = 42) => ({ value }),
1313
meta: (value: number = 42) => ({ half: value / 2})
1414
})
1515

1616
describe('defineMessage', () => {
1717
it('should create messages with neigther payload nor meta', () => {
1818
expect(action1())
19-
.to.eql({ type: 'ACTION1' })
19+
.to.eql({ type: 'action1' })
2020
})
2121

2222
it('should create messages properly with payload getter', () => {
2323
expect(action2())
24-
.to.eql({ type: 'ACTION2', payload: 0 })
24+
.to.eql({ type: 'action2', payload: 0 })
2525

2626
expect(action2(2))
27-
.to.eql({ type: 'ACTION2', payload: 2 })
27+
.to.eql({ type: 'action2', payload: 2 })
2828

2929
expect(action3())
30-
.to.eql({ type: 'ACTION3', payload: { value: 21 } })
30+
.to.eql({ type: 'action3', payload: { value: 21 } })
3131

3232
expect(action3(2))
33-
.to.eql({ type: 'ACTION3', payload: { value: 2 } })
33+
.to.eql({ type: 'action3', payload: { value: 2 } })
3434

3535
expect(action4())
36-
.to.eql({ type: 'ACTION4', payload: { value: 42 }, meta: { half: 21 } })
36+
.to.eql({ type: 'action4', payload: { value: 42 }, meta: { half: 21 } })
3737

3838
expect(action4(2))
39-
.to.eql({ type: 'ACTION4', payload: { value: 2 }, meta: { half: 1 } })
39+
.to.eql({ type: 'action4', payload: { value: 2 }, meta: { half: 1 } })
4040
})
4141
})

src/test/api/defineMessages.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ const Actions = defineMessages({
1717
}
1818
})
1919

20+
const x = Actions.action1()
21+
2022
describe('defineMessages', () => {
2123
it('should create messages with neigther payload nor meta', () => {
2224
expect(Actions.action1())

0 commit comments

Comments
 (0)