const isInvalidVal = (val: string, decoder: ): boolean => {
const res = pipe(
Effect.succeed({ val }),
Effect.flatMap(decoder), // <--- how to type this?
runtime.runSyncExit,
);
if (Exit.isFailure(res)) {
const failureOption = Cause.failureOption(res.cause);
if (Option.isSome(failureOption)) {
const error = failureOption.value;
return error._tag === "ParseError";
}
}
return false;
};
const isInvalidVal = (val: string, decoder: ): boolean => {
const res = pipe(
Effect.succeed({ val }),
Effect.flatMap(decoder), // <--- how to type this?
runtime.runSyncExit,
);
if (Exit.isFailure(res)) {
const failureOption = Cause.failureOption(res.cause);
if (Option.isSome(failureOption)) {
const error = failureOption.value;
return error._tag === "ParseError";
}
}
return false;
};