perlica
Version:
<h1 align="center">Perlica</h1>
49 lines (48 loc) • 2.93 kB
TypeScript
import { type Option } from "../Option";
import { type Result } from "../Result";
import type { Task } from "./Task";
/**
* |-----------------------|-------------------|
* | Rust methods | Perlica |
* |-----------------------|-------------------|
* | and | and |
* | and_then | flatMap |
* | expect | expect |
* | filter | filter |
* | flatten | flatten |
* | inspect | inspect |
* | map | map |
* | map_or | mapOr |
* | map_or_else | mapOrElse |
* | ok_or | okOr |
* | ok_or_else | okOrElse |
* | or | or |
* | or_else | orElse |
* | unwrap | unwrap |
* | unwrap_or | unwrapOr |
* | unwrap_or_else | unwrapOrElse |
* | | toResult |
* | | of |
* | | safeRun |
* |-----------------------|-------------------|
*/
export declare const of: <T>(value: T) => Task<T>;
export declare const map: <A, B>(f: (a: A) => B) => (task: Task<A>) => Task<B>;
export declare const flatMap: <A, B>(f: (a: A) => Task<B>) => (task: Task<A>) => Task<B>;
export declare const flatten: <T>(task: Task<Task<T>>) => Task<T>;
export declare const okOr: <E>(error: E) => <T>(task: Task<T>) => Task<Result<T, E>>;
export declare const okOrElse: <E>(f: () => E) => <T>(task: Task<T>) => Task<Result<T, E>>;
export declare const and: <B>(that: Task<B>) => <A>(task: Task<A>) => Task<B>;
export declare const expect: (msg: string) => <T>(task: Task<T>) => Task<T>;
export declare const filter: <T>(f: (v: T) => boolean) => (task: Task<T>) => Task<Option<T>>;
export declare const inspect: <T>(f: (v: T) => void) => (task: Task<T>) => Task<T>;
export declare const mapOr: <A, B>(def: B, f: (a: A) => B) => (task: Task<A>) => Task<B>;
export declare const mapOrElse: <A, B>(d: () => B, f: (a: A) => B) => (task: Task<A>) => Task<B>;
export declare const or: <A>(that: Task<A>) => (task: Task<A>) => Task<A>;
export declare const orElse: <A>(f: () => Task<A>) => (task: Task<A>) => Task<A>;
export declare const unwrap: <T>(task: Task<T>) => Task<T>;
export declare const unwrapOr: <A>(def: A) => (task: Task<A>) => Task<A>;
export declare const unwrapOrElse: <A>(f: () => A) => (task: Task<A>) => Task<A>;
export declare const toResult: <T>(task: Task<T>) => Task<Result<T, unknown>>;
export declare const safeRun: <T>(task: Task<T>) => Promise<Result<T, unknown>>;
export declare const bind: <T extends Task<any>, R>(fn: () => Generator<T, R>) => Task<R>;