An educational pure functional programming library in TypeScript
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Release v0.1.0-alpha.8

+18 -1
+17
CHANGELOG.md
··· 2 2 3 3 All notable changes to this project will be documented in this file. 4 4 5 + ## [0.1.0-alpha.8] - 2026-02-07 6 + 7 + ### Added 8 + 9 + - **Docs site** — Astro Starlight documentation site with tutorials, concepts, stories, and examples 10 + - **Nullability guards** — `isDefined`, `isNotNull`, `isNotNullish` for piping and filtering 11 + - **`hasProperties` guard** — Multi-property object checking: `hasProperties("id", "name", "email")(data)` 12 + - **Recursion over loops concept article** — Why pure functional code avoids loops and how to replace them with expressions 13 + 14 + ### Changed 15 + 16 + - **TS 5.5+ inferred type predicates** — Removed redundant `: x is T` annotations from simple guards where TypeScript infers them automatically 17 + - **Stricter tsconfig** — Added `exactOptionalPropertyTypes` and `noPropertyAccessFromIndexSignature` 18 + - Replaced all `forEach`/imperative loops in docs and examples with `map`+`join`, `reduce`, and `test.each` 19 + - Replaced `switch` statements with `match()` in story examples 20 + - Replaced manual null/undefined checks with library guards (`isDefined`, `isObject`, `hasProperties`) in docs and examples 21 + 5 22 ## [0.1.0-alpha.7] - 2026-02-07 6 23 7 24 ### Added
+1 -1
package.json
··· 1 1 { 2 2 "name": "purus-ts", 3 - "version": "0.1.0-alpha.7", 3 + "version": "0.1.0-alpha.8", 4 4 "description": "Pure TypeScript effect system with fiber-based concurrency, brands, refinements, and pattern matching", 5 5 "type": "module", 6 6 "main": "./dist/index.js",