@difizen/magent-chat
Version:
24 lines (19 loc) • 845 B
text/typescript
import { PrioritizedContributionManager } from '@difizen/magent-core';
import type { Contribution } from '@difizen/mana-app';
import { contrib, singleton } from '@difizen/mana-app';
import type { BaseChatMessageItemModel } from '../index.js';
import { ChatMessageItemRenderContribution } from './protocol.js';
()
export class ChatMessageRender extends PrioritizedContributionManager<
BaseChatMessageItemModel,
ChatMessageItemRenderContribution
> {
(ChatMessageItemRenderContribution)
protected contributionProvider: Contribution.Provider<ChatMessageItemRenderContribution>;
getChatItemRender = <T extends BaseChatMessageItemModel = BaseChatMessageItemModel>(
option: T,
) => {
const contribution = this.findContribution(option, this.contributionProvider);
return contribution.handle(option);
};
}