get-or-throw
Version:
A convenience function for safely getting values from dynamic objects and arrays
22 lines (21 loc) • 490 B
JavaScript
// src/get-or-throw.ts
function getOrThrow(objOrArr, keyOrIndex) {
if (Array.isArray(objOrArr)) {
if (keyOrIndex in objOrArr) {
return objOrArr[keyOrIndex];
} else {
throw new Error(`Index ${String(keyOrIndex)} is out of bounds.`);
}
} else {
if (keyOrIndex in objOrArr) {
return objOrArr[keyOrIndex];
} else {
throw new Error(
`Key "${String(keyOrIndex)}" does not exist in the object.`
);
}
}
}
export {
getOrThrow
};