1
1
import { namedTypes , builders } from 'ast-types' ;
2
+ import { annotateWithJSDocComment } from './comments' ;
2
3
3
4
export const RequestErrorIdentifier = builders . identifier ( 'RequestError' ) ;
4
5
export const RequestErrorClass = builders . classDeclaration . from ( {
5
6
id : RequestErrorIdentifier ,
6
7
superClass : builders . identifier ( 'Error' ) ,
7
8
body : builders . classBody ( [
8
- builders . methodDefinition (
9
- 'constructor' ,
10
- builders . identifier ( 'constructor' ) ,
11
- builders . functionExpression (
12
- null ,
13
- [ builders . identifier ( 'code' ) , builders . identifier ( 'message' ) ] ,
14
- builders . blockStatement ( [
15
- builders . expressionStatement (
16
- builders . callExpression ( builders . super ( ) , [ builders . identifier ( 'message' ) ] ) ,
17
- ) ,
18
- builders . expressionStatement (
19
- builders . assignmentExpression (
20
- '=' ,
21
- builders . memberExpression (
22
- builders . thisExpression ( ) ,
23
- builders . identifier ( 'code' ) ,
9
+ annotateWithJSDocComment (
10
+ builders . methodDefinition (
11
+ 'constructor' ,
12
+ builders . identifier ( 'constructor' ) ,
13
+ builders . functionExpression (
14
+ null ,
15
+ [ builders . identifier ( 'code' ) , builders . identifier ( 'message' ) ] ,
16
+ builders . blockStatement ( [
17
+ builders . expressionStatement (
18
+ builders . callExpression ( builders . super ( ) , [
19
+ builders . identifier ( 'message' ) ,
20
+ ] ) ,
21
+ ) ,
22
+ annotateWithJSDocComment (
23
+ builders . expressionStatement (
24
+ builders . assignmentExpression (
25
+ '=' ,
26
+ builders . memberExpression (
27
+ builders . thisExpression ( ) ,
28
+ builders . identifier ( 'code' ) ,
29
+ ) ,
30
+ builders . identifier ( 'code' ) ,
31
+ ) ,
24
32
) ,
25
- builders . identifier ( ' code' ) ,
33
+ '@type {number} HTTP code for the error' ,
26
34
) ,
27
- ) ,
28
- ] ) ,
35
+ ] ) ,
36
+ ) ,
29
37
) ,
38
+ [
39
+ '@param {number} code HTTP code for the error' ,
40
+ '@param {string} message The error message' ,
41
+ ] . join ( '\n' ) ,
30
42
) ,
31
43
] ) ,
32
44
} ) ;
@@ -36,31 +48,40 @@ export const ValidationErrorClass = builders.classDeclaration.from({
36
48
id : ValidationErrorIdentifier ,
37
49
superClass : RequestErrorIdentifier ,
38
50
body : builders . classBody ( [
39
- builders . methodDefinition (
40
- 'constructor' ,
41
- builders . identifier ( 'constructor' ) ,
42
- builders . functionExpression (
43
- null ,
44
- [ builders . identifier ( 'path' ) , builders . identifier ( 'message' ) ] ,
45
- builders . blockStatement ( [
46
- builders . expressionStatement (
47
- builders . callExpression ( builders . super ( ) , [
48
- builders . literal ( 409 ) ,
49
- builders . identifier ( 'message' ) ,
50
- ] ) ,
51
- ) ,
52
- builders . expressionStatement (
53
- builders . assignmentExpression (
54
- '=' ,
55
- builders . memberExpression (
56
- builders . thisExpression ( ) ,
57
- builders . identifier ( 'path' ) ,
51
+ annotateWithJSDocComment (
52
+ builders . methodDefinition (
53
+ 'constructor' ,
54
+ builders . identifier ( 'constructor' ) ,
55
+ builders . functionExpression (
56
+ null ,
57
+ [ builders . identifier ( 'path' ) , builders . identifier ( 'message' ) ] ,
58
+ builders . blockStatement ( [
59
+ builders . expressionStatement (
60
+ builders . callExpression ( builders . super ( ) , [
61
+ builders . literal ( 409 ) ,
62
+ builders . identifier ( 'message' ) ,
63
+ ] ) ,
64
+ ) ,
65
+ annotateWithJSDocComment (
66
+ builders . expressionStatement (
67
+ builders . assignmentExpression (
68
+ '=' ,
69
+ builders . memberExpression (
70
+ builders . thisExpression ( ) ,
71
+ builders . identifier ( 'path' ) ,
72
+ ) ,
73
+ builders . identifier ( 'path' ) ,
74
+ ) ,
58
75
) ,
59
- builders . identifier ( ' path' ) ,
76
+ '@type {string[]} The path that failed validation' ,
60
77
) ,
61
- ) ,
62
- ] ) ,
78
+ ] ) ,
79
+ ) ,
63
80
) ,
81
+ [
82
+ '@param {string[]} path The path that failed validation' ,
83
+ '@param {string} message The error message' ,
84
+ ] . join ( '\n' ) ,
64
85
) ,
65
86
] ) ,
66
87
} ) ;
0 commit comments