@stringsync/vexml
Version:
MusicXML to Vexflow
24 lines (23 loc) • 693 B
JavaScript
export function assertNotNull(value, msg) {
if (value === null) {
throw new Error(msg ?? `expected value to be present, got: ${value}`);
}
}
export function assertNull(value, msg) {
if (value !== null) {
throw new Error(msg ?? `expected value to be null, got: ${value}`);
}
}
export function assertDefined(value, msg) {
if (typeof value === 'undefined') {
throw new Error(msg ?? `expected value to be defined, got: ${value}`);
}
}
export function assert(condition, msg) {
if (!condition) {
throw new Error(msg ?? 'assertion failed');
}
}
export function assertUnreachable() {
throw new Error('expected to be unreachable');
}