I have an array of messages returned from the server where each chat message has the following format:
export interface ChatMessage {
_id: string | number;
text: string;
createdAt: Date | number;
user: ChatUser;
groupId: number;
}
interface ChatUser {
_id: string | number;
name: string;
}
I want to normalize the list of messages by groupId AND then by message Id nested inside to achieve something like this:
const messages = {
ids: ['group1', 'group2'],
entities: {
group1: {
ids: ['msg1', 'msg2'],
msg1: {},
msg2: {},
},
group2: {
ids: ['msg3', 'msg4'],
msg3: {},
msg4: {},
},
};
How can I achieve that with createEntityAdapter
or with the normalizr library?