/**
 * @template T,K
 * @param {Class<T>} value
 * @param {Class<K>} SuperClass
 * @returns {boolean}
 */
export function isSubclassOf(value, SuperClass) {
    let k = value;

    while (k !== undefined) {
        if (k === SuperClass || k instanceof SuperClass) {
            return true;
        }

        k = k.prototype;
    }

    return false;
}
