Files
blockly/core/interfaces/i_serializer.ts
Christopher Allen b0475b0c68 chore: Fix whitespace (#6243)
* fix: Remove spurious blank lines

  Remove extraneous blank lines introduced by deletion of
  'use strict'; pragmas.

  Also fix the location of the goog.declareModuleId call in
  core/utils/array.ts.

* fix: Add missing double-blank-line before body of modules

  Our convention is to have two blank lines between the imports (or
  module ID, if there are no imports) and the beginning of the body
  of the module.  Enforce this.

* fix: one addition format error for PR #6243
2022-06-24 19:33:39 +01:00

67 lines
2.0 KiB
TypeScript

/**
* @license
* Copyright 2021 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @fileoverview The record type for an object containing functions for
* serializing part of the workspace.
*/
/**
* The record type for an object containing functions for
* serializing part of the workspace.
* @namespace Blockly.serialization.ISerializer
*/
import * as goog from '../../closure/goog/goog.js';
goog.declareModuleId('Blockly.serialization.ISerializer');
// eslint-disable-next-line no-unused-vars
import {Workspace} from '../workspace.js';
/**
* Serializes and deserializes a plugin or system.
* @alias Blockly.serialization.ISerializer.ISerializer
*/
export interface ISerializer {
/**
* A priority value used to determine the order of deserializing state.
* More positive priorities are deserialized before less positive
* priorities. Eg if you have priorities (0, -10, 10, 100) the order of
* deserialiation will be (100, 10, 0, -10).
* If two serializers have the same priority, they are deserialized in an
* arbitrary order relative to each other.
*/
priority: number;
/* eslint-disable no-unused-vars, valid-jsdoc */
/**
* Saves the state of the plugin or system.
* @param workspace The workspace the system to serialize is associated with.
* @return A JS object containing the system's state, or null if there is no
* state to record.
*/
save(workspace: Workspace): AnyDuringMigration;
/* eslint-enable valid-jsdoc */
/**
* Loads the state of the plugin or system.
* @param state The state of the system to deserialize. This will always be
* non-null.
* @param workspace The workspace the system to deserialize is associated
* with.
*/
load(state: AnyDuringMigration, workspace: Workspace): void;
/**
* Clears the state of the plugin or system.
* @param workspace The workspace the system to clear the state of is
* associated with.
*/
clear(workspace: Workspace): void;
}
/* eslint-enable no-unused-vars */