Skip to content

Commit 4c7dd9d

Browse files
authored
Add VoidPattern (#1009)
1 parent bed0804 commit 4c7dd9d

File tree

4 files changed

+98
-75
lines changed

4 files changed

+98
-75
lines changed

.changeset/brave-cases-obey.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'react-docgen': patch
3+
---
4+
5+
Do not fail on new VoidPattern type

packages/react-docgen/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@
3939
],
4040
"license": "MIT",
4141
"dependencies": {
42-
"@babel/core": "^7.18.9",
43-
"@babel/traverse": "^7.18.9",
44-
"@babel/types": "^7.18.9",
45-
"@types/babel__core": "^7.18.0",
46-
"@types/babel__traverse": "^7.18.0",
42+
"@babel/core": "^7.28.0",
43+
"@babel/traverse": "^7.28.0",
44+
"@babel/types": "^7.28.2",
45+
"@types/babel__core": "^7.20.5",
46+
"@types/babel__traverse": "^7.20.7",
4747
"@types/doctrine": "^0.0.9",
4848
"@types/resolve": "^1.20.2",
4949
"doctrine": "^3.0.0",
Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,8 @@
11
import type { NodePath } from '@babel/traverse';
2-
import type {
3-
ArrayPattern,
4-
AssignmentPattern,
5-
Identifier,
6-
ObjectPattern,
7-
RestElement,
8-
TSParameterProperty,
9-
} from '@babel/types';
2+
import type { FunctionParameter, TSParameterProperty } from '@babel/types';
103
import printValue from './printValue.js';
114

12-
type ParameterNodePath = NodePath<
13-
| ArrayPattern
14-
| AssignmentPattern
15-
| Identifier
16-
| ObjectPattern
17-
| RestElement
18-
| TSParameterProperty
19-
>;
5+
type ParameterNodePath = NodePath<FunctionParameter | TSParameterProperty>;
206

217
export default function getParameterName(
228
parameterPath: ParameterNodePath,
@@ -36,10 +22,13 @@ export default function getParameterName(
3622
)}`;
3723
} else if (parameterPath.isTSParameterProperty()) {
3824
return getParameterName(parameterPath.get('parameter'));
25+
// @ts-expect-error isVoidPattern is not yet in types
26+
} else if (parameterPath.isVoidPattern()) {
27+
return 'void';
3928
}
4029

4130
throw new TypeError(
4231
'Parameter name must be one of Identifier, AssignmentPattern, ArrayPattern, ' +
43-
`ObjectPattern or RestElement, instead got ${parameterPath.node.type}`,
32+
`ObjectPattern, RestElement, or VoidPattern instead got ${parameterPath.node.type}`,
4433
);
4534
}

pnpm-lock.yaml

Lines changed: 82 additions & 53 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)