Skip to content

Commit ee3f791

Browse files
committed
use Data.TaggedError as error handling example
1 parent 93be879 commit ee3f791

1 file changed

Lines changed: 5 additions & 7 deletions

File tree

landing/src/components/sections/basic-examples.tsx

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -187,25 +187,23 @@ main()\
187187
withEffect: {
188188
fileName: "index.ts",
189189
code: `\
190-
import { Console, Effect } from 'effect'
190+
import { Console, Data, Effect } from 'effect'
191191
192-
class CustomError {
193-
readonly _tag = 'CustomError'
194-
constructor(readonly value: number) {}
195-
}
192+
class CustomError extends Data.TaggedError("CustomError")<{
193+
value: number
194+
}> {}
196195
197196
const maybeFail: Effect.Effect<
198197
number,
199198
CustomError // type safety
200199
> = Effect.sync(() => Math.random()).pipe(
201200
Effect.andThen((value) =>
202201
value > 0.5
203-
? Effect.fail(new CustomError(value))
202+
? Effect.fail(new CustomError({ value }))
204203
: Effect.succeed(value),
205204
),
206205
)
207206
208-
209207
const main = maybeFail.pipe(
210208
Effect.andThen((value) =>
211209
Console.log(\`Got value \${value}\`),

0 commit comments

Comments
 (0)