Immutable
release. Only release title and notes can be modified.
New Features in v2.2.0
This release introduces several powerful new utilities inspired by functional programming patterns and RxJS operators:
- Combinators:
traverse: Map over an array using a function that returns a Reader.zip: Combine two Readers into a single Reader returning a tuple.alt: Provide fallback logic (returns the first non-null/undefined result).
- Environment Management:
provide: Fix the environment for a Reader (injection).pick: Select multiple properties from the environment.
- Lazy & Conditional Execution:
defer: Lazily initialize a Reader at call time.when: Conditionally execute a Reader based on the environment.
- Transformation:
chainFirst: Sequence Readers but return the original result.mapTo: Shorthand to map a result to a constant value.
Improvements
- Do-Notation: Added individual examples for
Do,bind, andbindTo. - Project Structure: Introduced
tsconfig.eslint.jsonfor improved type-aware linting across all files including examples. - CI/Linting: Updated lint script to fail on all warnings.
Full Changelog: v2.1.1...v2.2.0