fix: comment icon interface re serialization (#7964)

* fix: comment icon interface re serialization

* chore: fix test
This commit is contained in:
Beka Westberg
2024-04-01 21:34:48 +00:00
committed by GitHub
parent 63eb4ecb2a
commit 2fa6f5b954
3 changed files with 23 additions and 2 deletions

View File

@@ -4,12 +4,14 @@
* SPDX-License-Identifier: Apache-2.0
*/
import {IconType} from '../icons.js';
import {IconType} from '../icons/icon_types.js';
import {CommentState} from '../icons/comment_icon.js';
import {IIcon, isIcon} from './i_icon.js';
import {Size} from '../utils/size.js';
import {IHasBubble, hasBubble} from './i_has_bubble.js';
import {ISerializable, isSerializable} from './i_serializable.js';
export interface ICommentIcon extends IIcon, IHasBubble {
export interface ICommentIcon extends IIcon, IHasBubble, ISerializable {
setText(text: string): void;
getText(): string;
@@ -17,6 +19,10 @@ export interface ICommentIcon extends IIcon, IHasBubble {
setBubbleSize(size: Size): void;
getBubbleSize(): Size;
saveState(): CommentState;
loadState(state: CommentState): void;
}
/** Checks whether the given object is an ICommentIcon. */
@@ -24,6 +30,7 @@ export function isCommentIcon(obj: Object): obj is ICommentIcon {
return (
isIcon(obj) &&
hasBubble(obj) &&
isSerializable(obj) &&
(obj as any)['setText'] !== undefined &&
(obj as any)['getText'] !== undefined &&
(obj as any)['setBubbleSize'] !== undefined &&