Skip to content

Commit 89eea14

Browse files
committed
typing: improve ServiceState typing
1 parent 4aff535 commit 89eea14

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

src/service-module/service-module.state.ts

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ eslint
66

77
import _omit from 'lodash/omit'
88

9-
import { MakeServicePluginOptions } from './types'
9+
import { MakeServicePluginOptions, AnyData, Model, ModelClone } from './types'
1010

1111
export interface ServiceStateExclusiveDefaults {
1212
ids: string[]
@@ -37,7 +37,7 @@ export interface ServiceStateExclusiveDefaults {
3737
modelName?: string
3838
}
3939

40-
export interface ServiceState {
40+
export interface ServiceState<D extends AnyData = AnyData> {
4141
options: {}
4242
ids: string[]
4343
autoRemove: boolean
@@ -55,9 +55,17 @@ export interface ServiceState {
5555
isRemovePending: boolean
5656
idField: string
5757
tempIdField: string
58-
keyedById: {}
59-
tempsById: {}
60-
copiesById: {}
58+
keyedById: {
59+
[k: string]: Model<D>
60+
[k: number]: Model<D>
61+
}
62+
tempsById: {
63+
[k: string]: Model<D>
64+
[k: number]: Model<D>
65+
}
66+
copiesById: {
67+
[k: string]: ModelClone<D>
68+
}
6169
whitelist: string[]
6270
paramsForServer: string[]
6371
namespace: string

0 commit comments

Comments
 (0)