Stay organized with collections
Save and categorize content based on your preferences.
blockly > Extensions > register
Extensions.register() function
Registers a new extension function. Extensions are functions that help initialize blocks, usually adding dynamic behavior such as onchange handlers and mutators. These are applied using Block.applyExtension(), or the JSON "extensions" array attribute.
Signature:
export declare function register<T extends Block>(name: string, initFn: (this: T) => void): void;
Parameters
Parameter |
Type |
Description |
name |
string |
The name of this extension. |
initFn |
(this: T) => void |
The function to initialize an extended block. |
Returns:
void
Exceptions
{Error} if the extension name is empty, the extension is already registered, or extensionFn is not a function.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-05-16 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-16 UTC."],[],["The `Extensions.register()` function registers a new extension for initializing blocks. It takes two parameters: `name` (a string for the extension's name) and `initFn` (a function to initialize the block). Registered extensions add dynamic behavior like onchange handlers and mutators. This function returns void and throws an error if the extension name is empty, already registered, or if `initFn` is not a function. Extensions are applied via `Block.applyExtension()` or the JSON \"extensions\" array.\n"]]