ts-data-forge
Version:
[](https://www.npmjs.com/package/ts-data-forge) [](https://www.npmjs.com/package/ts-data-forge) [ • 668 B
JavaScript
import { isSome } from './optional-is-some.mjs';
import { none } from './optional-none.mjs';
import { unwrap } from './optional-unwrap.mjs';
function flatMap(...args) {
switch (args.length) {
case 2: {
const [optional, flatMapFn] = args;
return flatMapImpl(optional, flatMapFn);
}
case 1: {
// Curried version
const [flatMapFn] = args;
return (optional) => flatMapImpl(optional, flatMapFn);
}
}
}
const flatMapImpl = (optional, flatMapFn) => (isSome(optional) ? flatMapFn(unwrap(optional)) : none);
export { flatMap };
//# sourceMappingURL=optional-flat-map.mjs.map