from typing import List


def make_ngrams(text: str, n: int) -> List[str]:
    """Turn a term string into a list of ngrams of size n

    :param text: a text string
    :type text: str
    :param n: the ngram size
    :type n: int
    :return: a list of ngrams
    :rtype: List[str]"""
    if not isinstance(text, str):
        raise TypeError('text must be a string')
    if not isinstance(n, int):
        raise TypeError('n must be a positive integer')
    if n < 1:
        raise ValueError('n must be a positive integer')
    if n > len(text):
        return []
    text = "#{t}#".format(t=text)
    max_start = len(text) - n + 1
    return [text[start:start + n] for start in range(0, max_start)]