Effect란
Effect-TS는 TypeScript를 위한 종합 이펙트 시스템입니다. 타입 레벨에서 에러와 의존성을 추적합니다.
기본 사용법
import { Effect, pipe } from "effect";
const getUser = (id: number): Effect.Effect<User, NotFoundError> =>
Effect.tryPromise({
try: () => fetch(`/api/users/${id}`).then(r => r.json()),
catch: () => new NotFoundError(),
});
const program = pipe(
getUser(1),
Effect.map(user => user.name),
Effect.catchTag("NotFoundError", () => Effect.succeed("Unknown")),
);
Effect.runPromise(program);에러 타입이 컴파일 타임에 추적되어 안전합니다.
댓글 0