11import { namedTypes , builders } from 'ast-types' ;
2+ import { annotateWithJSDocComment } from './comments' ;
23
34export const RequestErrorIdentifier = builders . identifier ( 'RequestError' ) ;
45export const RequestErrorClass = builders . classDeclaration . from ( {
56 id : RequestErrorIdentifier ,
67 superClass : builders . identifier ( 'Error' ) ,
78 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+ ) ,
2432 ) ,
25- builders . identifier ( ' code' ) ,
33+ '@type {number} HTTP code for the error' ,
2634 ) ,
27- ) ,
28- ] ) ,
35+ ] ) ,
36+ ) ,
2937 ) ,
38+ [
39+ '@param {number} code HTTP code for the error' ,
40+ '@param {string} message The error message' ,
41+ ] . join ( '\n' ) ,
3042 ) ,
3143 ] ) ,
3244} ) ;
@@ -36,31 +48,40 @@ export const ValidationErrorClass = builders.classDeclaration.from({
3648 id : ValidationErrorIdentifier ,
3749 superClass : RequestErrorIdentifier ,
3850 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+ ) ,
5875 ) ,
59- builders . identifier ( ' path' ) ,
76+ '@type {string[]} The path that failed validation' ,
6077 ) ,
61- ) ,
62- ] ) ,
78+ ] ) ,
79+ ) ,
6380 ) ,
81+ [
82+ '@param {string[]} path The path that failed validation' ,
83+ '@param {string} message The error message' ,
84+ ] . join ( '\n' ) ,
6485 ) ,
6586 ] ) ,
6687} ) ;
0 commit comments