mirror of
https://github.com/google/blockly.git
synced 2026-01-04 15:40:08 +01:00
refactor(generators): Migrate JavaScript generators to TypeScript (#7602)
* refactor(generators): Migrate javascript_generator.js to TypeScript * refactor(generators): Simplify getAdjusted Slightly simplify the implementation of getAdjusted, in part to make it more readable. Also improve its JSDoc comment. * refactor(generators): Migrate generators/javascript/* to TypeScript First pass doing very mechanistic migration, not attempting to fix all the resulting type errors. * fix(generators): Fix type errors in generator functions This consists almost entirely of adding casts, so the code output by tsc should be as similar as possible to the pre-migration .js source files. * refactor(generators): Migrate generators/javascript.js to TypeScript The way the generator functions are added to javascriptGenerator.forBlock has been modified so that incorrect generator function signatures will cause tsc to generate a type error. * chore(generator): Format One block protected with // prettier-ignore to preserve careful comment formatting. Where there are repeated concatenations prettier has made a pretty mess of things, but the correct fix is probably to use template literals instead (rather than just locally disabling prettier). This has been added to the to-do list in #7600. * fix(generators): Fixes for PR #7602 * fix(generators): Fix syntax error
This commit is contained in:
committed by
GitHub
parent
7d2c307fed
commit
4ab8d00099
@@ -111,8 +111,12 @@ export const blocks = createBlockDefinitionsFromJsonArray([
|
||||
},
|
||||
]);
|
||||
|
||||
/** Type of a 'lists_create_with' block. */
|
||||
type CreateWithBlock = Block & ListCreateWithMixin;
|
||||
/**
|
||||
* Type of a 'lists_create_with' block.
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
export type CreateWithBlock = Block & ListCreateWithMixin;
|
||||
interface ListCreateWithMixin extends ListCreateWithMixinType {
|
||||
itemCount_: number;
|
||||
}
|
||||
|
||||
@@ -325,8 +325,12 @@ export const loopTypes: Set<string> = new Set([
|
||||
'controls_whileUntil',
|
||||
]);
|
||||
|
||||
/** Type of a block that has CONTROL_FLOW_IN_LOOP_CHECK_MIXIN */
|
||||
type ControlFlowInLoopBlock = Block & ControlFlowInLoopMixin;
|
||||
/**
|
||||
* Type of a block that has CONTROL_FLOW_IN_LOOP_CHECK_MIXIN
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
export type ControlFlowInLoopBlock = Block & ControlFlowInLoopMixin;
|
||||
interface ControlFlowInLoopMixin extends ControlFlowInLoopMixinType {}
|
||||
type ControlFlowInLoopMixinType = typeof CONTROL_FLOW_IN_LOOP_CHECK_MIXIN;
|
||||
|
||||
|
||||
@@ -1209,8 +1209,12 @@ blocks['procedures_callreturn'] = {
|
||||
defType_: 'procedures_defreturn',
|
||||
};
|
||||
|
||||
/** Type of a procedures_ifreturn block. */
|
||||
type IfReturnBlock = Block & IfReturnMixin;
|
||||
/**
|
||||
* Type of a procedures_ifreturn block.
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
export type IfReturnBlock = Block & IfReturnMixin;
|
||||
interface IfReturnMixin extends IfReturnMixinType {
|
||||
hasReturnValue_: boolean;
|
||||
}
|
||||
|
||||
@@ -725,8 +725,12 @@ const QUOTES_EXTENSION = function (this: QuoteImageBlock) {
|
||||
this.quoteField_('TEXT');
|
||||
};
|
||||
|
||||
/** Type of a block that has TEXT_JOIN_MUTATOR_MIXIN */
|
||||
type JoinMutatorBlock = BlockSvg & JoinMutatorMixin & QuoteImageMixin;
|
||||
/**
|
||||
* Type of a block that has TEXT_JOIN_MUTATOR_MIXIN
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
export type JoinMutatorBlock = BlockSvg & JoinMutatorMixin & QuoteImageMixin;
|
||||
interface JoinMutatorMixin extends JoinMutatorMixinType {}
|
||||
type JoinMutatorMixinType = typeof JOIN_MUTATOR_MIXIN;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user