INNER CODE UNIT · TypeScript
ow
sindresorhus/ow · source/index.ts:182
const ow = <T>(value: unknown, labelOrPredicate: unknown, predicate?: BasePredicate<T>): void => {
if (!isPredicate(labelOrPredicate) && typeof labelOrPredicate !== 'string') {
throw new TypeError(`Expected second argument to be a predicate or a string, got \`${typeof labelOrPredicate}\``);
}
if (isPredicate(labelOrPredicate)) {
// If the second argument is a predicate, infer the label
const stackFrames = callsites();
test(value, () => inferLabel(stackFrames), labelOrPredicate);
return;
}
test(value, labelOrPredicate, predicate!);
};
Object.defineProperties(ow, {