// I have the following util:
export function safeJsonParse(
value: string,
errorMessage: string = 'Something went wrong during JSON data parsing',
): Effect.Effect<unknown, JsonParseError, never> {
return Effect.try({
try: () => JSON.parse(value),
catch: () => new JsonParseError({ message: errorMessage }),
})
}
// I am trying to write some simple unit tests (I am using vitest)
expect(safeJsonParse('"duck"')).toStrictEqual(Effect.succeed('duck'))
expect(safeJsonParse('null')).toStrictEqual(Effect.succeed(null))
expect(safeJsonParse('undefined')).toStrictEqual(Effect.succeed(undefined))
// I have the following util:
export function safeJsonParse(
value: string,
errorMessage: string = 'Something went wrong during JSON data parsing',
): Effect.Effect<unknown, JsonParseError, never> {
return Effect.try({
try: () => JSON.parse(value),
catch: () => new JsonParseError({ message: errorMessage }),
})
}
// I am trying to write some simple unit tests (I am using vitest)
expect(safeJsonParse('"duck"')).toStrictEqual(Effect.succeed('duck'))
expect(safeJsonParse('null')).toStrictEqual(Effect.succeed(null))
expect(safeJsonParse('undefined')).toStrictEqual(Effect.succeed(undefined))