UNPKG

@settlemint/sdk-portal

Version:

Portal API client module for SettleMint SDK, providing access to smart contract portal services and APIs

31 lines 1.12 kB
// src/portal.ts import { ensureServer } from "@settlemint/sdk-utils/runtime"; import { ApplicationAccessTokenSchema, UrlOrPathSchema, validate } from "@settlemint/sdk-utils/validation"; import { initGraphQLTada } from "gql.tada"; import { GraphQLClient } from "graphql-request"; import { z } from "zod"; import { readFragment } from "gql.tada"; var ClientOptionsSchema = z.object({ instance: UrlOrPathSchema, accessToken: ApplicationAccessTokenSchema, cache: z.enum(["default", "force-cache", "no-cache", "no-store", "only-if-cached", "reload"]).optional() }); function createPortalClient(options, clientOptions) { ensureServer(); const validatedOptions = validate(ClientOptionsSchema, options); const graphql = initGraphQLTada(); const fullUrl = new URL(validatedOptions.instance).toString(); return { client: new GraphQLClient(fullUrl, { ...clientOptions, headers: { ...clientOptions?.headers ?? {}, "x-auth-token": validatedOptions.accessToken } }), graphql }; } export { ClientOptionsSchema, createPortalClient, readFragment }; //# sourceMappingURL=portal.mjs.map