declare global { interface Number { /** @summary convert number to character by charCode */ toChar(): string; } } Number.prototype.toChar = function() { return String.fromCharCode(this as number); } /** @summary get minimum of valid numbers, returns NaN when no valid values are entered */ export function min(...values: Array) { values.push(NaN); // make sure .reduce doesn't crash return (values.filter(v => typeof v === "number") as Array)!.reduce((acc, v) => acc = v < acc ? v : acc); } /** @summary get maximum of valid numbers, returns NaN when no valid values are entered */ export function max(...values: Array) { values.push(NaN); // make sure .reduce doesn't crash return (values.filter(v => typeof v === "number") as Array)!.reduce((acc, v) => acc = v > acc ? v : acc); }