Verificadores de conexión personalizados

Un beneficio importante de usar Blockly es que garantiza que el código generado sea correcto sintácticamente.

El verificador de conexiones es el objeto que aplica las reglas de Blockly sobre qué conexiones son compatibles. De forma predeterminada, el verificador aplica un sistema de tipos simple, como se describe en la página Verificaciones de conexión.

Las verificaciones

Blockly aplica tres niveles de verificaciones: de seguridad, de tipo y de arrastre.

Verificaciones de seguridad

Las verificaciones de seguridad garantizan que los bloques estén en el mismo espacio de trabajo, que las conexiones estén en diferentes bloques, etcétera. Esto garantiza que Blockly no entre en un estado incorrecto.

Las verificaciones de seguridad también bloquean combinaciones sin sentido, como conectar dos conexiones seguidas.

Verificaciones de tipo

Los desarrolladores pueden etiquetar conexiones con información de tipo. Las verificaciones de tipo usan esta información para aplicar un sistema de tipos, p.ej., bloqueando la conexión de una cadena donde se espera un número.

Verificaciones de arrastre

Las verificaciones de arrastre se aplican solo cuando se conectan bloques arrastrándolos, en lugar de hacerlo de forma programática. Por ejemplo, solo se deben considerar las conexiones dentro de un radio determinado durante un arrastre.

Anulación del comprobador de conexión

Los desarrolladores que deseen proporcionar su propia lógica para las verificaciones de tipo o de arrastre pueden registrar un objeto de verificador de conexión sustituto que implemente la interfaz IConnectionChecker.

Para implementar tus propios controles de seguridad, anula doSafetyChecks en el comprobador de conexión.

Para implementar tus propias verificaciones de tipo, anula doTypeChecks en tu verificador de conexión.

Para implementar tus propias verificaciones de arrastre, anula doDragChecks en tu verificador de conexión.

Ejemplo de código

El complemento de verificador de conexiones estrictas es un ejemplo simple de un verificador personalizado.