is-kit

parse

Runtime-safe parsing helpers returning tagged results.

import { safeParse, safeParseWith, predicateToRefine, and, isString, isNumber } from 'is-kit';
const parseResult1 = safeParse(isString, 'ok');
if (parseResult1.valid) {
parseResult1.value; // string
}
const isEven = predicateToRefine<number>((num) => num % 2 === 0);
const isEvenNumber = and(isNumber, isEven);
const parseEven = safeParseWith(isEvenNumber);
const parseResult2 = parseEven(4); // { valid: true, value: 4 }