mirror of
https://github.com/google/blockly.git
synced 2026-01-07 00:50:27 +01:00
* fix: add basic comment icon * fix: add using comment icon * chore: delete old comment icon * chore: add docs to the comment icon * chore: move Comment to icons.CommentIcon * chore: mode properties to module level * chore: properly override and call super * chore: remove .comment and .commentIcon_ * chore: cleanup test * chore: deprecate getCommentIcon and getCommentText * chore: change imports to import type * chore: refactor code for paren peace * chore: fix lint and make it error * chore: remove change to block JS file * chore: fix css * chore: add renamings * chore: format
29 lines
867 B
TypeScript
29 lines
867 B
TypeScript
/**
|
|
* @license
|
|
* Copyright 2023 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
export interface ISerializable {
|
|
/**
|
|
* @param doFullSerialization If true, this signals that any backing data
|
|
* structures used by this ISerializable should also be serialized. This
|
|
* is used for copy-paste.
|
|
* @returns a JSON serializable value that records the ISerializable's state.
|
|
*/
|
|
saveState(doFullSerialization: boolean): any;
|
|
|
|
/**
|
|
* Takes in a JSON serializable value and sets the ISerializable's state
|
|
* based on that.
|
|
*
|
|
* @param state The state to apply to the ISerializable.
|
|
*/
|
|
loadState(state: any): void;
|
|
}
|
|
|
|
/** Type guard that checks whether the given object is a ISerializable. */
|
|
export function isSerializable(obj: any): obj is ISerializable {
|
|
return obj.saveState !== undefined && obj.loadState !== undefined;
|
|
}
|