Source

Text/generators.js

import { Order } from 'blockly/javascript';
/**
 * @category Texts
 * @module AdvancedTexts
 */
/**
 * Splits a string into an array of substrings based on a specified delimiter.
 *
 * @param {String} text - The text to split
 * @param {String} delimiter - The delimiter
 * @returns {String} - text.split(delimiter)
 */
function splitText(block, generator) {
    const text = generator.valueToCode(block, 'TEXT', Order.NONE) || '';
    const delimiter = generator.valueToCode(block, 'DELIMITER', Order.NONE) || '';
    return [`${text}.split(${delimiter})`, Order.VOID];
}
/**
 * Stems a word using the Porter Stemmer algorithm.
 *
 * @param {String} text - The text
 * @returns {String} - PorterStemmer.stem(text)
 */
function stemText(block, generator) {
    const text = generator.valueToCode(block, 'TEXT', Order.NONE) || '';
    return [`PorterStemmer.stem(${text})`, Order.VOID];
}
/**
 * Tokenizes a string into an array of words or symbols.
 *
 * @param {String} text - The text to tokenize
 * @param {String} js_map - The javascript Map object
 * @returns {String} - Tokenizer.tokenize(text, js_map)
 */
function tokenizeText(block, generator) {
    const text = generator.valueToCode(block, 'TEXT', Order.NONE) || '';
    const js_map = generator.valueToCode(block, 'JS_MAP', Order.NONE) || '';
    return [`Tokenizer.tokenize(${text},${js_map})`, Order.VOID];
}
export const additionalTextBlockGenerator = {
    text_split: splitText,
    stem_text: stemText,
    tokenize_text: tokenizeText,
};
//# sourceMappingURL=generators.js.map