UNPKG

lean4-code-actions

Version:

Refactorings and snippets for Lean 4

18 lines (15 loc) 534 B
import { Mapper } from '../Mapper' import { aggregate } from './aggregate' import { success } from './constructors' import { Result } from './index' export const map = <In, Out>(mapper: Mapper<In, Out>) => <Error>(result: Result<In, Error>): Result<Out, Error> => { if (result.success) { return success(mapper(result.data)) } else { return result } } export const mapMany = <In, Out>(mapper: Mapper<In[], Out>) => <Err>(results: Result<In, Err>[]) => { const final = aggregate(results) return map(mapper)(final) }