@effect/language-service - плагин для Typescript со специфичными для Effect диагностиками и рефакторингами.Например есть аналог
no-floating-promises:Effect.gen(function* () {
//Effect must be yielded or assigned to a variable.effect(3)
Effect.success(1);
})
Или рефакторнинг — "Переписать с
async-await на Effect.gen + yield*"const before = async () => {
const response = await fetch("");
const body = await response.json();
return body;
};
// Rewrite to Effect.gen with failures
const after = () =>
Effect.gen(function* () {
Effect.tryPromise({
try: () => fetch(""),
catch: (error) => ({ _tag: "Error1" as const, error }),
});
const body = yield* Effect.tryPromise({
try: () => response.json(),
catch: (error) => ({ _tag: "Error2" as const, error }),
});
return body;
});
В README — способ подключения и список возможностей.
В Discord вижу, что идет движуха в проекте.
Кстати — может есть какие-то идеи, какие еще фичи можно туда добавить?