Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | 3x 1x 1x 1x 1x | import * as z from 'zod';
import { BuildInfoSchema, type BuildInfo } from './generated/graphql';
import { graphqlRequest } from './graphqlClient';
const BUILD_INFO_QUERY = `
query BuildInfoQuery {
buildInfo {
version
gitSha
buildTime
message
}
}
`;
// Query result wrapper schema
const buildInfoQueryResultSchema = z.object({
buildInfo: BuildInfoSchema,
});
type BuildInfoQueryResult = z.infer<typeof buildInfoQueryResultSchema>;
export async function fetchBuildInfo(): Promise<BuildInfo> {
const data = await graphqlRequest<BuildInfoQueryResult>(BUILD_INFO_QUERY);
// Validate response at runtime
const result = buildInfoQueryResultSchema.parse(data);
return result.buildInfo;
}
export type { BuildInfo };
|