/** * @since 1.0.0 */ import type * as Context from "@effect/data/Context"; import type * as Either from "@effect/data/Either"; import type * as HashSet from "@effect/data/HashSet"; import type * as Option from "@effect/data/Option"; import type * as Request from "@effect/query/Request"; /** * @since 1.0.0 * @category symbols */ export declare const CompletedRequestMapTypeId: unique symbol; /** * @since 1.0.0 * @category symbols */ export type CompletedRequestMapTypeId = typeof CompletedRequestMapTypeId; /** * A `CompletedRequestMap` is a universally quantified mapping from requests of * type `Request` to results of type `Either` for all types `E` and * `A`. The guarantee is that for any request of type `Request`, if there * is a corresponding value in the map, that value is of type `Either`. * This is used by the library to support data sources that return different * result types for different requests while guaranteeing that results will be * of the type requested. * * @since 1.0.0 * @category models */ export interface CompletedRequestMap extends CompletedRequestMap.Proto { } /** * The context tag for a `CompletedRequestMap`. * * @since 1.0.0 * @category context */ export declare const CompletedRequestMap: Context.Tag; /** * @since 1.0.0 */ export declare namespace CompletedRequestMap { /** * @since 1.0.0 * @category models */ interface Proto { readonly [CompletedRequestMapTypeId]: CompletedRequestMapTypeId; } } /** * An empty completed requests map. * * @since 1.0.0 * @category constructors */ export declare const empty: () => CompletedRequestMap; /** * Constructs a new completed requests map with the specified request and * result. * * @since 1.0.0 * @category constructors */ export declare const make: (request: Request.Request, result: Either.Either) => CompletedRequestMap; /** * Combines two completed request maps into a single completed request map. * * @since 1.0.0 * @category combinators */ export declare const combine: { (that: CompletedRequestMap): (self: CompletedRequestMap) => CompletedRequestMap; (self: CompletedRequestMap, that: CompletedRequestMap): CompletedRequestMap; }; /** * Retrieves the result of the specified request if it exists. * * @since 1.0.0 * @category elements */ export declare const get: { >(request: A): (self: CompletedRequestMap) => Option.Option>; >(self: CompletedRequestMap, request: A): Option.Option>; }; /** * Returns whether a result exists for the specified request. * * @since 1.0.0 * @category elements */ export declare const has: { >(request: A): (self: CompletedRequestMap) => boolean; >(self: CompletedRequestMap, request: A): boolean; }; /** * Collects all requests in a set. * * @since 1.0.0 * @category elements */ export declare const requests: (self: CompletedRequestMap) => HashSet.HashSet>; /** * Appends the specified result to the completed requests map. * * @since 1.0.0 * @category combinators */ export declare const set: { >(request: A, result: Request.Request.Result): (self: CompletedRequestMap) => void; >(self: CompletedRequestMap, request: A, result: Request.Request.Result): void; }; /** * Appends the specified optional result to the completed request map. * * @since 1.0.0 * @category combinators */ export declare const setOption: { >(request: A, result: Request.Request.OptionalResult): (self: CompletedRequestMap) => void; >(self: CompletedRequestMap, request: A, result: Request.Request.OptionalResult): void; }; //# sourceMappingURL=CompletedRequestMap.d.ts.map