What is purify?

Purify is a library for functional programming in TypeScript. Its purpose is to allow developers to use popular patterns and abstractions that are available in most functional languages. It is also Fantasy Land conformant.

Core values

  • Elegant and developer-friendly API - Purify's design decisions are made with developer experience in mind. Purify doesn't try to change how you write TypeScript, instead it provides useful tools for making your code easier to read and maintain without resolving to hacks or scary type definitions.
  • Type-safety - While purify can be used in vanilla JavaScript, it's entirely written with TypeScript and type safety in mind. While TypeScript does a great job at preventing runtime errors, purify goes a step further and provides utility functions for working with native objects like arrays in a type-safe manner.
  • Emphasis on practical code - Higher-kinded types and other type-level features would be great additions to this library, but as of right now they don't have reasonable implementations in TypeScript. Purify focuses on being a library that you can include in any TypeScript project and favors clean and readable type definitions instead of advanced type features and a curated API instead of trying to port over another language's standard library.

How to start?

Purify is available as a package on npm. You can install it with a package manager of your choice:
$ npm install purify-ts
$ yarn add purify-ts
On the left sidebar you can find all of purify's contents, each page contains a guide on how to start using it.
You can start by visiting the page about Maybe, one of the most popular data types.
If you are worried about the future of the project, because perhaps you are evaluating its usage in a large project, consider checking out the FAQ.