mirror of
https://github.com/google/blockly.git
synced 2026-01-10 10:27:08 +01:00
* refactor: Provide a BlockDefinition type
* refactor: Split defineBlocksWithJsonArray
Split defineBlocksWithJsonArray into:
- createBlockDefinitionsFromJsonArray, which creates BlockDefinitions
from a (possibly JSON-originated) POJsO array, having no side-effects
except possibly issuing warnings to the console.
- defineBlocks, which add any dictionary of BlockDefinitions to
the Blocks dictionary.
* feat(blocks): Export block definitions per-module
- Define all blocks in a local blocks dictionary, often using
createBlockDefinitionFromJsonArray, without registering them.
- Separately, use defineBlocks to register the exported
BlockDefinitions at the end of each Blockly.blocks.*
module.
- In Blockly.blocks.all, create a blocks export that combines all
of the blocks exports from the individual blocks modules.
* chore: have format script run clang-format on blocks/ too
48 lines
1.5 KiB
JavaScript
48 lines
1.5 KiB
JavaScript
/**
|
|
* @license
|
|
* Copyright 2021 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/**
|
|
* @fileoverview All the blocks. (Entry point for blocks_compressed.js.)
|
|
* @suppress {extraRequire}
|
|
*/
|
|
'use strict';
|
|
|
|
goog.module('Blockly.blocks.all');
|
|
goog.module.declareLegacyNamespace();
|
|
|
|
const colour = goog.require('Blockly.blocks.colour');
|
|
const lists = goog.require('Blockly.blocks.lists');
|
|
const logic = goog.require('Blockly.blocks.logic');
|
|
const loops = goog.require('Blockly.blocks.loops');
|
|
const math = goog.require('Blockly.blocks.math');
|
|
const procedures = goog.require('Blockly.blocks.procedures');
|
|
const texts = goog.require('Blockly.blocks.texts');
|
|
const variables = goog.require('Blockly.blocks.variables');
|
|
const variablesDynamic = goog.require('Blockly.blocks.variablesDynamic');
|
|
/* eslint-disable-next-line no-unused-vars */
|
|
const {BlockDefinition} = goog.requireType('Blockly.blocks');
|
|
|
|
|
|
exports.colour = colour;
|
|
exports.lists = lists;
|
|
exports.logic = logic;
|
|
exports.loops = loops;
|
|
exports.math = math;
|
|
exports.procedures = procedures;
|
|
exports.texts = texts;
|
|
exports.variables = variables;
|
|
exports.variablesDynamic = variablesDynamic;
|
|
|
|
/**
|
|
* A dictionary of the block definitions provided by all the
|
|
* Blockly.blocks.* modules.
|
|
* @type {!Object<string, !BlockDefinition>}
|
|
*/
|
|
const blocks = Object.assign(
|
|
{}, colour.blocks, lists.blocks, logic.blocks, loops.blocks, math.blocks,
|
|
procedures.blocks, variables.blocks, variablesDynamic.blocks);
|
|
exports.blocks = blocks;
|