@cometchat/chat-uikit-react-native
Version:
Ready-to-use Chat UI Components for React Native
32 lines (27 loc) • 1.1 kB
text/typescript
import { ChatConfigurator, ExtensionsDataSource } from "../../shared/framework";
import { ExtensionConstants } from "../ExtensionConstants";
import { StickerConfiguration, StickerConfigurationInterface } from "./StickerConfiguration";
import { StickersExtensionDecorator } from "./StickersExtensionDecorator";
export class StickersExtension extends ExtensionsDataSource {
//Configuration prop taken as optional field in constructor
configuration?: StickerConfigurationInterface;
constructor(stickerConfiguration?: StickerConfigurationInterface) {
super();
this.configuration = new StickerConfiguration({
...stickerConfiguration,
});
}
//override addExtension method from ExtensionsDataSource interface
override addExtension(): void {
ChatConfigurator.enable((dataSource) => {
return new StickersExtensionDecorator({
dataSource,
configration: this.configuration,
});
});
}
//override getExtensionId method from ExtensionsDataSource interface
override getExtensionId(): string {
return ExtensionConstants.stickers;
}
}