Skip to content

v2.2.0

Latest

Choose a tag to compare

@dominicegginton dominicegginton released this 16 May 14:00
Immutable release. Only release title and notes can be modified.
v2.2.0
acb8fce

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, and bindTo.
  • Project Structure: Introduced tsconfig.eslint.json for 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