mirror of
https://github.com/graphql-hive/console
synced 2026-05-24 09:38:26 +00:00
33 lines
742 B
TypeScript
33 lines
742 B
TypeScript
import { GraphQLError } from 'graphql';
|
|
import type { SchemaError } from '../__generated__/types';
|
|
|
|
export function toSchemaError(error: unknown): SchemaError {
|
|
if (isGraphQLError(error)) {
|
|
return {
|
|
message: error.message,
|
|
path: error.path?.map(i => (typeof i === 'number' ? String(i) : i)),
|
|
};
|
|
}
|
|
|
|
if (error instanceof Error) {
|
|
return {
|
|
message: error.message,
|
|
};
|
|
}
|
|
|
|
return {
|
|
message: error as string,
|
|
};
|
|
}
|
|
|
|
export function isGraphQLError(error: unknown): error is GraphQLError {
|
|
return error instanceof GraphQLError;
|
|
}
|
|
|
|
export const HiveError = GraphQLError;
|
|
|
|
export class AccessError extends HiveError {
|
|
constructor(reason: string) {
|
|
super(`No access (reason: "${reason}")`);
|
|
}
|
|
}
|