mirror of
https://github.com/google/blockly.git
synced 2026-01-20 07:17:10 +01:00
* chore: reexport triggerProcedureUpdate * chore: export interfaces * fix: incorrect module ID in IProcedureBlock
27 lines
897 B
TypeScript
27 lines
897 B
TypeScript
/**
|
|
* @license
|
|
* Copyright 2022 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
import type {Block} from '../block.js';
|
|
import {IProcedureModel} from './i_procedure_model.js';
|
|
import * as goog from '../../closure/goog/goog.js';
|
|
goog.declareModuleId('Blockly.procedures.IProcedureBlock');
|
|
|
|
|
|
/** The interface for a block which models a procedure. */
|
|
export interface IProcedureBlock {
|
|
getProcedureModel(): IProcedureModel;
|
|
doProcedureUpdate(): void;
|
|
isProcedureDef(): boolean;
|
|
}
|
|
|
|
/** A type guard which checks if the given block is a procedure block. */
|
|
export function isProcedureBlock(block: Block|
|
|
IProcedureBlock): block is IProcedureBlock {
|
|
return (block as IProcedureBlock).getProcedureModel !== undefined &&
|
|
(block as IProcedureBlock).doProcedureUpdate !== undefined &&
|
|
(block as IProcedureBlock).isProcedureDef !== undefined;
|
|
}
|