Skip to main content
Glama
ssv445

Lorem Ipsum MCP Server

by ssv445
Take.ts7.86 kB
/** * @since 2.0.0 */ import type * as Cause from "./Cause.js" import type * as Chunk from "./Chunk.js" import type * as Effect from "./Effect.js" import type * as Exit from "./Exit.js" import * as internal from "./internal/take.js" import type * as Option from "./Option.js" import type { Pipeable } from "./Pipeable.js" import type * as Types from "./Types.js" /** * @since 2.0.0 * @category symbols */ export const TakeTypeId: unique symbol = internal.TakeTypeId /** * @since 2.0.0 * @category symbols */ export type TakeTypeId = typeof TakeTypeId /** * A `Take<A, E>` represents a single `take` from a queue modeling a stream of * values. A `Take` may be a failure cause `Cause<E>`, a chunk value `Chunk<A>`, * or an end-of-stream marker. * * @since 2.0.0 * @category models */ export interface Take<out A, out E = never> extends Take.Variance<A, E>, Pipeable { /** @internal */ readonly exit: Exit.Exit<Chunk.Chunk<A>, Option.Option<E>> } /** * @since 2.0.0 */ export declare namespace Take { /** * @since 2.0.0 * @category models */ export interface Variance<out A, out E> { readonly [TakeTypeId]: { readonly _A: Types.Covariant<A> readonly _E: Types.Covariant<E> } } } /** * Creates a `Take` with the specified chunk. * * @since 2.0.0 * @category constructors */ export const chunk: <A>(chunk: Chunk.Chunk<A>) => Take<A> = internal.chunk /** * Creates a failing `Take` with the specified defect. * * @since 2.0.0 * @category constructors */ export const die: (defect: unknown) => Take<never> = internal.die /** * Creates a failing `Take` with the specified error message. * * @since 2.0.0 * @category constructors */ export const dieMessage: (message: string) => Take<never> = internal.dieMessage /** * Transforms a `Take<A, E>` to an `Effect<A, E>`. * * @since 2.0.0 * @category destructors */ export const done: <A, E>(self: Take<A, E>) => Effect.Effect<Chunk.Chunk<A>, Option.Option<E>> = internal.done /** * Represents the end-of-stream marker. * * @since 2.0.0 * @category constructors */ export const end: Take<never> = internal.end /** * Creates a failing `Take` with the specified error. * * @since 2.0.0 * @category constructors */ export const fail: <E>(error: E) => Take<never, E> = internal.fail /** * Creates a failing `Take` with the specified cause. * * @since 2.0.0 * @category constructors */ export const failCause: <E>(cause: Cause.Cause<E>) => Take<never, E> = internal.failCause /** * Creates an effect from `Effect<A, E, R>` that does not fail, but succeeds with * the `Take<A, E>`. Error from stream when pulling is converted to * `Take.failCause`. Creates a single value chunk. * * @since 2.0.0 * @category constructors */ export const fromEffect: <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<Take<A, E>, never, R> = internal.fromEffect /** * Creates a `Take` from an `Exit`. * * @since 2.0.0 * @category constructors */ export const fromExit: <A, E>(exit: Exit.Exit<A, E>) => Take<A, E> = internal.fromExit /** * Creates effect from `Effect<Chunk<A>, Option<E>, R>` that does not fail, but * succeeds with the `Take<A, E>`. Errors from stream when pulling are converted * to `Take.failCause`, and the end-of-stream is converted to `Take.end`. * * @since 2.0.0 * @category constructors */ export const fromPull: <A, E, R>( pull: Effect.Effect<Chunk.Chunk<A>, Option.Option<E>, R> ) => Effect.Effect<Take<A, E>, never, R> = internal.fromPull /** * Checks if this `take` is done (`Take.end`). * * @since 2.0.0 * @category getters */ export const isDone: <A, E>(self: Take<A, E>) => boolean = internal.isDone /** * Checks if this `take` is a failure. * * @since 2.0.0 * @category getters */ export const isFailure: <A, E>(self: Take<A, E>) => boolean = internal.isFailure /** * Checks if this `take` is a success. * * @since 2.0.0 * @category getters */ export const isSuccess: <A, E>(self: Take<A, E>) => boolean = internal.isSuccess /** * Constructs a `Take`. * * @since 2.0.0 * @category constructors */ export const make: <A, E>(exit: Exit.Exit<Chunk.Chunk<A>, Option.Option<E>>) => Take<A, E> = internal.make /** * Transforms `Take<A, E>` to `Take<B, A>` by applying function `f`. * * @since 2.0.0 * @category mapping */ export const map: { /** * Transforms `Take<A, E>` to `Take<B, A>` by applying function `f`. * * @since 2.0.0 * @category mapping */ <A, B>(f: (a: A) => B): <E>(self: Take<A, E>) => Take<B, E> /** * Transforms `Take<A, E>` to `Take<B, A>` by applying function `f`. * * @since 2.0.0 * @category mapping */ <A, E, B>(self: Take<A, E>, f: (a: A) => B): Take<B, E> } = internal.map /** * Folds over the failure cause, success value and end-of-stream marker to * yield a value. * * @since 2.0.0 * @category destructors */ export const match: { /** * Folds over the failure cause, success value and end-of-stream marker to * yield a value. * * @since 2.0.0 * @category destructors */ <Z, E, Z2, A, Z3>( options: { readonly onEnd: () => Z readonly onFailure: (cause: Cause.Cause<E>) => Z2 readonly onSuccess: (chunk: Chunk.Chunk<A>) => Z3 } ): (self: Take<A, E>) => Z | Z2 | Z3 /** * Folds over the failure cause, success value and end-of-stream marker to * yield a value. * * @since 2.0.0 * @category destructors */ <A, E, Z, Z2, Z3>( self: Take<A, E>, options: { readonly onEnd: () => Z readonly onFailure: (cause: Cause.Cause<E>) => Z2 readonly onSuccess: (chunk: Chunk.Chunk<A>) => Z3 } ): Z | Z2 | Z3 } = internal.match /** * Effectful version of `Take.fold`. * * Folds over the failure cause, success value and end-of-stream marker to * yield an effect. * * @since 2.0.0 * @category destructors */ export const matchEffect: { /** * Effectful version of `Take.fold`. * * Folds over the failure cause, success value and end-of-stream marker to * yield an effect. * * @since 2.0.0 * @category destructors */ <Z, E2, R, E, Z2, R2, A, Z3, E3, R3>( options: { readonly onEnd: Effect.Effect<Z, E2, R> readonly onFailure: (cause: Cause.Cause<E>) => Effect.Effect<Z2, E2, R2> readonly onSuccess: (chunk: Chunk.Chunk<A>) => Effect.Effect<Z3, E3, R3> } ): (self: Take<A, E>) => Effect.Effect<Z | Z2 | Z3, E2 | E | E3, R | R2 | R3> /** * Effectful version of `Take.fold`. * * Folds over the failure cause, success value and end-of-stream marker to * yield an effect. * * @since 2.0.0 * @category destructors */ <A, E, Z, E2, R, Z2, R2, Z3, E3, R3>( self: Take<A, E>, options: { readonly onEnd: Effect.Effect<Z, E2, R> readonly onFailure: (cause: Cause.Cause<E>) => Effect.Effect<Z2, E2, R2> readonly onSuccess: (chunk: Chunk.Chunk<A>) => Effect.Effect<Z3, E3, R3> } ): Effect.Effect<Z | Z2 | Z3, E | E2 | E3, R | R2 | R3> } = internal.matchEffect /** * Creates a `Take` with a single value chunk. * * @since 2.0.0 * @category constructors */ export const of: <A>(value: A) => Take<A> = internal.of /** * Returns an effect that effectfully "peeks" at the success of this take. * * @since 2.0.0 * @category sequencing */ export const tap: { /** * Returns an effect that effectfully "peeks" at the success of this take. * * @since 2.0.0 * @category sequencing */ <A, X, E2, R>(f: (chunk: Chunk.Chunk<A>) => Effect.Effect<X, E2, R>): <E>(self: Take<A, E>) => Effect.Effect<void, E2 | E, R> /** * Returns an effect that effectfully "peeks" at the success of this take. * * @since 2.0.0 * @category sequencing */ <A, E, X, E2, R>(self: Take<A, E>, f: (chunk: Chunk.Chunk<A>) => Effect.Effect<X, E2, R>): Effect.Effect<void, E | E2, R> } = internal.tap

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ssv445/lorem-ipsum-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server