effect
TypeScript icon, indicating that this package has built-in type declarations

3.13.2 • Public • Published

effect Core Package

The effect package is the heart of the Effect framework, providing robust primitives for managing side effects, ensuring type safety, and supporting concurrency in your TypeScript applications.

Requirements

  • TypeScript 5.4 or Newer: Ensure you are using a compatible TypeScript version.

  • Strict Type-Checking: The strict flag must be enabled in your tsconfig.json. For example:

    {
      "compilerOptions": {
        "strict": true
        // ...other options
      }
    }

Installation

Install the core package using your preferred package manager. For example, with npm:

npm install effect

Documentation

Overview of Effect Modules

The effect package provides a collection of modules designed for functional programming in TypeScript. Below is a brief overview of the core modules:

Module Description
Effect The core abstraction for managing side effects, concurrency, and error handling in a structured way.
Context A lightweight dependency injection mechanism that enables passing services through computations without direct references.
Layer A system for managing dependencies, allowing for modular and composable resource allocation.
Fiber Lightweight virtual threads with resource-safe cancellation capabilities, enabling many features in Effect.
Stream A powerful abstraction for handling asynchronous, event-driven data processing.
Schedule A module for defining retry and repeat policies with composable schedules.
Scope Manages the lifecycle of resources, ensuring proper acquisition and release.
Schema A powerful library for defining, validating, and transforming structured data with type-safe encoding and decoding.

For a comparison between effect/Schema and zod, see Schema vs Zod.

Readme

Keywords

none

Package Sidebar

Install

npm i effect

Weekly Downloads

2,196,188

Version

3.13.2

License

MIT

Unpacked Size

25.5 MB

Total Files

2701

Last publish

Collaborators

  • schickling
  • michael.arnaldi
  • effect-bot