Effect.Effect
https://effect.website/docs/getting-started/the-effect-type/
Effect<A, E, R> を用いると、副作用 を 値 のように扱うことが可能
A: 成功時の型
E 失敗時の型
R: 依存するコンテキストの型
Effect は「プログラムが何をするか」を表すだけ
実際に実行するには、run*(e.g. runSync(通常の同期処理)、runPromise(通常の非同期処理))で明示的に実行する必要がある
参考: run* のチートシートhttps://effect.website/docs/getting-started/running-effects/#cheatsheet
code:ts
const print = Console.log("Hello");
const printingArray = print, print, print;
const printIfTrue = (check: boolean, toPrint: Effect.Effect<void>) => {
if (check) Effect.runSync(toPrint);
};
#Effect(TypeScript) #TypeScript