effect
is the missing standard library for TypeScript. effect
provides everything that you need to build type-safe production typescript applications.
Course content
This course will guide you from 0 knowledge of effect
to build your first API with Runtime
, Layer
, Config
and more. It shows you how to implement a single API request using effect
.
This may sound simple, but in reality you need to account for a lot of configurations and possible errors. effect
makes everything type-safe, maintainable, testable:
- Error handling
- Configuration (environmental variables)
- Mocking and testing (dependency injection)
- Organizing and composing services
How the course is organized
The course is organized in small self-contained lessons. Each lesson introduces 1 single new concept.
We will explore why using plain fetch
and Promise
is not enough. For each problem we explore the solution offered by effect
, how it works, why it's needed, and how it integrates with the other modules to build a complete app.
Course outline
These are some of the concepts you will learn:
- Creating and running effects (
Effect
type) - Type safe error handling
- How to use
pipe
andgen
to compose effects - How to use
Schema
to parse request responses - Manage environmental variables with the
Config
module - Testing and mocking using dependency injection
- Composing services using
Context
andLayer
- How to build your custom runtime using
ManagedRuntime
We will learn this step by step. Every new module or API will be introduced only when required, specifically when implementing a missing feature of solving a problem with the app.