Learn how to wrap missing data and expected errors in type-safe containers. We explore the Option and Either monads, providing the final foundational step before entering the Effect-TS ecosystem.
Welcome to the Intermediate Tier. The true advantage of using a general-purpose programming language for IaC is access to native control flow. In this episode, we will dynamically generate Subnets and Security Group rules using native array mapping and conditional logic based on environment flags.
Learn how to eliminate impossible states from your application by mastering Algebraic Data Types (ADTs). We explore Sum Types, Product Types, and exhaustive pattern matching in TypeScript.
Functional programming requires data to be immutable. Discover how to leverage TypeScript’s structural typing, Readonly<T>, and as const to enforce deep immutability at compile time, eliminating a massive category of state-based bugs.
When you write standard TypeScript, data is computed immediately. But in Pulumi, when you request an EC2 instance’s IP address, the IP does not exist until AWS physically boots the server. This introduces temporal paradoxes. In this final fundamental episode, we master Inputs, Outputs, and how to safely manipulate asynchronous infrastructure data.
Welcome to the final module! Before diving into Effect-TS, we must build a foundation in Functional Programming. Learn why pure functions eliminate whole classes of bugs, how separating descriptions from execution powers the Effect runtime, and how to refactor impure services into highly testable functional pipelines.
An in-depth analysis of the polymorphic this type in TypeScript. Learn how returning : this preserves subclass type identities during method chaining, build type-safe Fluent Builder APIs, and use explicit this parameters for callback binding safety.
An in-depth analysis of static class members in TypeScript. Learn how static properties attach to constructor functions, static access control, static blocks (static {}), static inheritance, and implementing the Singleton Pattern using private constructors.
An in-depth guide to Abstract Classes in TypeScript. Learn how abstract class prevents direct instantiation, enforcing method implementation contracts on subclasses while sharing concrete base logic using the Template Method design pattern.
In Terraform, you write declarative configuration blocks. In Pulumi, you instantiate Object-Oriented classes. This episode explores how to declare complex resources like an AWS VPC, Security Group, and EC2 instance using pure TypeScript, while leveraging your IDE’s IntelliSense for maximum productivity.