ts-data-forge
Version:
[](https://www.npmjs.com/package/ts-data-forge) [](https://www.npmjs.com/package/ts-data-forge) [ • 788 B
JavaScript
import { isSome } from './optional-is-some.mjs';
import { none } from './optional-none.mjs';
import { some } from './optional-some.mjs';
import { unwrap } from './optional-unwrap.mjs';
function map(...args) {
switch (args.length) {
case 2: {
const [optional, mapFn] = args;
return mapImpl(optional, mapFn);
}
case 1: {
// Curried version: first argument is mapping function
const [mapFn] = args;
return (optional) => mapImpl(optional, mapFn);
}
}
}
const mapImpl = (optional, mapFn) => isSome(optional)
? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
some(mapFn(unwrap(optional)))
: none;
export { map };
//# sourceMappingURL=optional-map.mjs.map