drab
Version:
Interactivity for You
17 lines (14 loc) • 457 B
text/typescript
import type { Constructor } from "../base/index.js";
/**
* @param actual Element to validate.
* @param expected Constructor of the expected element.
* @returns If valid returns `actual` otherwise throws `TypeError`.
*/
export const validate = <T extends HTMLElement>(
actual: unknown,
expected: Constructor<T>,
) => {
if (!(actual instanceof expected))
throw new TypeError(`${actual} is not an instance of ${expected.name}.`);
return actual;
};