import { gql } from "@...";
import type { RequestDocument, Variables } from "graphql-request";
import type { VariablesAndRequestHeadersArgs } from "graphql-request/build/esm/types";
import type { TypedDocumentNode } from "@graphql-typed-document-node/core";
import { Effect } from "effect";
import { GqlRequestError } from "@exceptions";
export function makeGqlRequest<T, V extends Variables = Variables>(
document: RequestDocument | TypedDocumentNode<T, V>,
...variablesAndRequestHeaders: VariablesAndRequestHeadersArgs<V>
): Effect.Effect<T, GqlRequestError, never> {
return Effect.tryPromise({
try: () => gql.request(document, ...variablesAndRequestHeaders),
catch: () => new GqlRequestError(),
});
}
import { gql } from "@...";
import type { RequestDocument, Variables } from "graphql-request";
import type { VariablesAndRequestHeadersArgs } from "graphql-request/build/esm/types";
import type { TypedDocumentNode } from "@graphql-typed-document-node/core";
import { Effect } from "effect";
import { GqlRequestError } from "@exceptions";
export function makeGqlRequest<T, V extends Variables = Variables>(
document: RequestDocument | TypedDocumentNode<T, V>,
...variablesAndRequestHeaders: VariablesAndRequestHeadersArgs<V>
): Effect.Effect<T, GqlRequestError, never> {
return Effect.tryPromise({
try: () => gql.request(document, ...variablesAndRequestHeaders),
catch: () => new GqlRequestError(),
});
}