function isString ( x ) { return typeof x === "string" ; } type StringGen = string | ( ( ) => string ) ; export function ensure < T > ( x , msg = "" ) { if ( x === null || x === undefined ) { debugger ; msg = ( isString ( msg ) ? msg : msg ( ) ) || "" ; throw new Error ( `Value must not be undefined or null${ msg ? `- ${ msg }` : "" }` ) ; } else { return x ; } }