import { getEq, isNone, Option, some } from 'fp-ts/Option'
import { eqStrict } from 'fp-ts/Eq'
expect.extend({
toBeNone: (actualOption: Option<any>) => ({
message: () => `expected that ${actualOption} is None`,
pass: isNone(actualOption)
}),
toBeSome: <T>(actualOption: Option<T>, expectedValue: T) => ({
message: () => `expected that ${actualOption} is Some(${expectedValue}`,
pass: getEq(eqStrict).equals(actualOption, some(expectedValue))
})
})