@@ -15,7 +15,22 @@ declare module 'graphql' {
15
15
}
16
16
}
17
17
18
- export class BaseGraphQLError extends Error implements GraphQLError {
18
+ export enum ErrorCode {
19
+ GRAPHQL_PARSE_FAILED = 'GRAPHQL_PARSE_FAILED' ,
20
+ GRAPHQL_VALIDATION_FAILED = 'GRAPHQL_VALIDATION_FAILED' ,
21
+ UNAUTHENTICATED = 'UNAUTHENTICATED' ,
22
+ FORBIDDEN = 'FORBIDDEN' ,
23
+ PERSISTED_QUERY_NOT_FOUND = 'PERSISTED_QUERY_NOT_FOUND' ,
24
+ PERSISTED_QUERY_NOT_SUPPORTED = 'PERSISTED_QUERY_NOT_SUPPORTED' ,
25
+ BAD_USER_INPUT = 'BAD_USER_INPUT' ,
26
+ NOT_FOUND = 'NOT_FOUND' ,
27
+ METHOD_NOT_ALLOWED = 'METHOD_NOT_ALLOWED' ,
28
+ CONFLICT = 'CONFLICT' ,
29
+ TIMEOUT = 'TIMEOUT' ,
30
+ INTERNAL_SERVER_ERROR = 'INTERNAL_SERVER_ERROR' ,
31
+ }
32
+
33
+ export class BaseGraphQLError extends GraphQLError {
19
34
public extensions : Record < string , any > ;
20
35
override readonly name ! : string ;
21
36
readonly locations : ReadonlyArray < SourceLocation > | undefined ;
@@ -76,39 +91,39 @@ function toGraphQLError(error: BaseGraphQLError): GraphQLError {
76
91
77
92
export class SyntaxError extends BaseGraphQLError {
78
93
constructor ( message : string ) {
79
- super ( message , ' GRAPHQL_PARSE_FAILED' ) ;
94
+ super ( message , ErrorCode . GRAPHQL_PARSE_FAILED ) ;
80
95
81
96
Object . defineProperty ( this , 'name' , { value : 'SyntaxError' } ) ;
82
97
}
83
98
}
84
99
85
100
export class ValidationError extends BaseGraphQLError {
86
101
constructor ( message : string ) {
87
- super ( message , ' GRAPHQL_VALIDATION_FAILED' ) ;
102
+ super ( message , ErrorCode . GRAPHQL_VALIDATION_FAILED ) ;
88
103
89
104
Object . defineProperty ( this , 'name' , { value : 'ValidationError' } ) ;
90
105
}
91
106
}
92
107
93
108
export class AuthenticationError extends BaseGraphQLError {
94
- constructor ( message : string , extensions ?: Record < string , any > ) {
95
- super ( message , ' UNAUTHENTICATED' , extensions ) ;
109
+ constructor ( message : string ) {
110
+ super ( message , ErrorCode . UNAUTHENTICATED ) ;
96
111
97
112
Object . defineProperty ( this , 'name' , { value : 'AuthenticationError' } ) ;
98
113
}
99
114
}
100
115
101
116
export class ForbiddenError extends BaseGraphQLError {
102
- constructor ( message : string , extensions ?: Record < string , any > ) {
103
- super ( message , ' FORBIDDEN' , extensions ) ;
117
+ constructor ( message : string ) {
118
+ super ( message , ErrorCode . FORBIDDEN ) ;
104
119
105
120
Object . defineProperty ( this , 'name' , { value : 'ForbiddenError' } ) ;
106
121
}
107
122
}
108
123
109
124
export class PersistedQueryNotFoundError extends BaseGraphQLError {
110
125
constructor ( ) {
111
- super ( 'PersistedQueryNotFound' , ' PERSISTED_QUERY_NOT_FOUND' ) ;
126
+ super ( 'PersistedQueryNotFound' , ErrorCode . PERSISTED_QUERY_NOT_FOUND ) ;
112
127
113
128
Object . defineProperty ( this , 'name' , {
114
129
value : 'PersistedQueryNotFoundError' ,
@@ -118,7 +133,10 @@ export class PersistedQueryNotFoundError extends BaseGraphQLError {
118
133
119
134
export class PersistedQueryNotSupportedError extends BaseGraphQLError {
120
135
constructor ( ) {
121
- super ( 'PersistedQueryNotSupported' , 'PERSISTED_QUERY_NOT_SUPPORTED' ) ;
136
+ super (
137
+ 'PersistedQueryNotSupported' ,
138
+ ErrorCode . PERSISTED_QUERY_NOT_SUPPORTED ,
139
+ ) ;
122
140
123
141
Object . defineProperty ( this , 'name' , {
124
142
value : 'PersistedQueryNotSupportedError' ,
@@ -127,40 +145,40 @@ export class PersistedQueryNotSupportedError extends BaseGraphQLError {
127
145
}
128
146
129
147
export class UserInputError extends BaseGraphQLError {
130
- constructor ( message : string , extensions ?: Record < string , any > ) {
131
- super ( message , ' BAD_USER_INPUT' , extensions ) ;
148
+ constructor ( message : string ) {
149
+ super ( message , ErrorCode . BAD_USER_INPUT ) ;
132
150
133
151
Object . defineProperty ( this , 'name' , { value : 'UserInputError' } ) ;
134
152
}
135
153
}
136
154
137
155
export class NotFoundError extends BaseGraphQLError {
138
- constructor ( message : string , extensions ?: Record < string , any > ) {
139
- super ( message , ' NOT_FOUND' , extensions ) ;
156
+ constructor ( message : string ) {
157
+ super ( message , ErrorCode . NOT_FOUND ) ;
140
158
141
159
Object . defineProperty ( this , 'name' , { value : 'NotFoundError' } ) ;
142
160
}
143
161
}
144
162
145
163
export class MethodNotAllowedError extends BaseGraphQLError {
146
- constructor ( message : string , extensions ?: Record < string , any > ) {
147
- super ( message , ' METHOD_NOT_ALLOWED' , extensions ) ;
164
+ constructor ( message : string ) {
165
+ super ( message , ErrorCode . METHOD_NOT_ALLOWED ) ;
148
166
149
167
Object . defineProperty ( this , 'name' , { value : 'MethodNotAllowedError' } ) ;
150
168
}
151
169
}
152
170
153
171
export class ConflictError extends BaseGraphQLError {
154
- constructor ( message : string , extensions ?: Record < string , any > ) {
155
- super ( message , ' CONFLICT' , extensions ) ;
172
+ constructor ( message : string ) {
173
+ super ( message , ErrorCode . CONFLICT ) ;
156
174
157
175
Object . defineProperty ( this , 'name' , { value : 'ConflictError' } ) ;
158
176
}
159
177
}
160
178
161
179
export class TimeoutError extends BaseGraphQLError {
162
- constructor ( message : string , extensions ?: Record < string , any > ) {
163
- super ( message , ' TIMEOUT' , extensions ) ;
180
+ constructor ( message : string ) {
181
+ super ( message , ErrorCode . TIMEOUT ) ;
164
182
165
183
Object . defineProperty ( this , 'name' , { value : 'TimeoutError' } ) ;
166
184
}
0 commit comments