ts-data-forge
Version:
[](https://www.npmjs.com/package/ts-data-forge) [](https://www.npmjs.com/package/ts-data-forge) [ • 771 B
JavaScript
import { isErr } from './result-is-err.mjs';
function flatMap(...args) {
switch (args.length) {
case 2: {
// Direct version: first argument is result
const [result, flatMapFn] = args;
return flatMapImpl(result, flatMapFn);
}
case 1: {
// Curried version
const [flatMapFn] = args;
return (result) => flatMapImpl(result, flatMapFn);
}
}
}
const flatMapImpl = (result, flatMapFn) => isErr(result)
? // eslint-disable-next-line total-functions/no-unsafe-type-assertion
result
: // eslint-disable-next-line total-functions/no-unsafe-type-assertion
flatMapFn(result.value);
export { flatMap };
//# sourceMappingURL=result-flat-map.mjs.map