/** * Based on: https://github.com/cucumber/cucumber-js/blob/main/src/value_checker.ts */ export function doesHaveValue(value: T): value is NonNullable { return !doesNotHaveValue(value); } export function doesNotHaveValue(value: T): value is Extract { return value === null || value === undefined; } export function valueOrDefault(value: T | undefined, defaultValue: T): T { if (doesHaveValue(value)) { return value; } return defaultValue; }