export function notUndefined(x: T | undefined): x is T { return x !== undefined; } export type Unpacked = T extends (infer U)[] ? U : T; type Concat = K | T type SuperOf = {[P in K]: T[P]}; export type Selector = (a: T) => S; export function isValidURL(url: string) { return (/^http[s]+:\/\/.+/).test(url); }