Skip to main content
Deno 2 is finally here šŸŽ‰ļø
Learn more

Purify logo

Build Status

What is purify?

Purify is a library for functional programming in TypeScript. Itā€™s 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 ca include in any TypeScript project and favors instance methods instead of functions, 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

or

$ yarn add purify-ts

Documentation

You can find the documentation on the official site.

Inspired by