Added strict type checking to the project. (#236)
* Implement strict typing (WIP). * changes * Finish type checks * Fix notification icon, matugen settings and update tsconfig. * OSD Styling updates and added the ability to configure OSD duration.
This commit is contained in:
13
globals/variables.ts
Normal file
13
globals/variables.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import { Opt } from "lib/option";
|
||||
import { HexColor, RecursiveOptionsObject } from "lib/types/options";
|
||||
|
||||
export const isOpt = <T>(value: unknown): value is Opt<T> =>
|
||||
typeof value === 'object' && value !== null && 'value' in value && value instanceof Opt;
|
||||
|
||||
export const isRecursiveOptionsObject = (value: unknown): value is RecursiveOptionsObject => {
|
||||
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
||||
}
|
||||
|
||||
export const isHexColor = (value: string): value is HexColor => {
|
||||
return /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(value);
|
||||
}
|
||||
Reference in New Issue
Block a user