Better theme validation

This commit is contained in:
syuilo 2020-03-23 19:09:20 +09:00
parent 6996f1bb1f
commit 0579b0c182

View file

@ -104,8 +104,9 @@ function genValue(c: tinycolor.Instance): string {
} }
export function validateTheme(theme: Record<string, any>): boolean { export function validateTheme(theme: Record<string, any>): boolean {
if (theme.id == null) return false; if (theme.id == null || typeof theme.id !== 'string') return false;
if (theme.name == null) return false; if (theme.name == null || typeof theme.name !== 'string') return false;
if (theme.base == null || !['light', 'dark'].includes(theme.base)) return false; if (theme.base == null || !['light', 'dark'].includes(theme.base)) return false;
if (theme.props == null || typeof theme.props !== 'object') return false;
return true; return true;
} }