Files
blockly/core/interfaces/i_copyable.js
Christopher Allen d2d5dc4b71 fix: Use require instead of requireType for interfaces (#5568)
But only if the interface is used in an @implements or @extends
declaration.

Fixes #5450
2021-09-29 17:44:21 +01:00

51 lines
1004 B
JavaScript

/**
* @license
* Copyright 2019 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @fileoverview The interface for an object that is copyable.
* @author samelh@google.com (Sam El-Husseini)
*/
'use strict';
/**
* The interface for an object that is copyable.
* @namespace Blockly.ICopyable
*/
goog.module('Blockly.ICopyable');
/* eslint-disable-next-line no-unused-vars */
const ISelectable = goog.require('Blockly.ISelectable');
/* eslint-disable-next-line no-unused-vars */
const WorkspaceSvg = goog.requireType('Blockly.WorkspaceSvg');
/**
* @extends {ISelectable}
* @interface
* @alias Blockly.ICopyable
*/
const ICopyable = function() {};
/**
* Encode for copying.
* @return {?ICopyable.CopyData} Copy metadata.
* @package
*/
ICopyable.prototype.toCopyData;
/**
* Copy Metadata.
* @typedef {{
* saveInfo:(!Object|!Element),
* source:WorkspaceSvg,
* typeCounts:?Object
* }}
*/
ICopyable.CopyData;
exports = ICopyable;