effect
effect copied to clipboard
DX improvements for 2.0 (e.g. tooling)
NOTE: This issue is WIP
Effect eslint rules
- [ ] Enforce restrictions of
Do(($) => { ... })- [ ] Prevent branching
- [ ] Make sure
yield/$is called
- [ ] ... what else?
- [ ] prevent
===on things implementingEqual - [ ] Help catch duplicate context tag symbols which should be globally unique
Codegen-driven
- [ ] Help with derived -> opaque type boilerplate
@@opaque
VSC Extension
Refactor workflows
- [x] wrap/unwrap
pipe- e.g.myFn<>pipe(myFn) - [ ] Curry/uncurry definition site - e.g.
const x = 1<>const x = () => 1 - [x] Curry/uncurry call site - e.g
T.tap(_ => T.log(_))<>T.tap(T.log) - [ ] Refactor from/to
T.succeedandT.sync - [ ]
.pipe()<>pipe() - [x] "Update" explicit type signature / see diff
Improve error messages
- [ ] Environment dependency mismatch error messages should be improved

Fiber-aware debugger
What do you mean by branching? like conditional logic? also Do is a TS+ only feature that will ideally support if-else