Skip to content

Latest commit

 

History

History
30 lines (24 loc) · 649 Bytes

README.md

File metadata and controls

30 lines (24 loc) · 649 Bytes

Postpone 🦥

Small TypeScript library making it easier to handle complex asynchronous tasks.

Installation

npm install @lorisleiva/postpone

Usage

import { Postpone } from "@lorisleiva/postpone";

Postpone.make(async () => "Hello")
  .tap(v => console.log(v))
  .pipe(v => `${v} world`)
  .tap(v => console.log(v))
  .pipe(v => [v, v, v])
  .tap(v => console.log(v))
  .map(() => Math.round(Math.random() * 100))
  .tap(v => console.log(v))
  .run(); // <- The promise is only executed at this point.

// Console outputs:
// "Hello"
// "Hello world"
// ["Hello world", "Hello world", "Hello world"]
// [12, 94, 23]