Files
blockly/core/inputs/statement_input.ts
Beka Westberg 3a9a9bd24e feat: break input types into separate classes (#7019)
* chore: move input and input types into new directory

* feat: define and export new input types

* feat: modify blocks to construct individual inputs

* chore: transition code to use actual type checks

* chore: fixup input type type

* chore: format

* chore: fixup PR comments

* chore: fix build
2023-05-04 08:50:45 -07:00

31 lines
983 B
TypeScript

/**
* @license
* Copyright 2023 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import type {Block} from '../block.js';
import type {Connection} from '../connection.js';
import {Input} from './input.js';
import {inputTypes} from './input_types.js';
/** Represents an input on a block with a statement connection. */
export class StatementInput extends Input {
readonly type = inputTypes.STATEMENT;
/**
* @param name Language-neutral identifier which may used to find this input
* again.
* @param block The block containing this input.
* @param connection The statement connection for this input.
*/
constructor(
public name: string, block: Block, public connection: Connection) {
// Errors are maintained for people not using typescript.
if (!name) throw new Error('Statement inputs must have a non-empty name');
if (!connection) throw new Error('Value inputs must have a connection');
super(name, block, connection);
}
}