def syllable_tokenize(text: str) -> List[str]:
    """
    :param str text: input string to be tokenized
    :return: list of syllables
    """

    if not text or not isinstance(text, str):
        return []

    tokens = []
    if text:
        words = word_tokenize(text)
        trie = dict_trie(dict_source=thai_syllables())
        for word in words:
            tokens.extend(word_tokenize(text=word, custom_dict=trie))

    return tokens