Skip to content

Commit

Permalink
fix(typescript-estree): correct type of ArrayPattern.elements (#1451)
Browse files Browse the repository at this point in the history
  • Loading branch information
bradzacher committed Jan 14, 2020
1 parent 8dcdfb1 commit 62e4ca0
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
10 changes: 6 additions & 4 deletions packages/eslint-plugin/src/rules/indent-new-do-not-use/index.ts
Expand Up @@ -578,7 +578,7 @@ export default createRule<Options, MessageIds>({
* @param offset The amount that the elements should be offset
*/
function addElementListIndent(
elements: TSESTree.Node[],
elements: (TSESTree.Node | null)[],
startToken: TSESTree.Token,
endToken: TSESTree.Token,
offset: number | string,
Expand Down Expand Up @@ -606,7 +606,8 @@ export default createRule<Options, MessageIds>({
offsets.setDesiredOffset(endToken, startToken, 0);

// If the preference is "first" but there is no first element (e.g. sparse arrays w/ empty first slot), fall back to 1 level.
if (offset === 'first' && elements.length && !elements[0]) {
const firstElement = elements[0];
if (offset === 'first' && elements.length && !firstElement) {
return;
}
elements.forEach((element, index) => {
Expand All @@ -628,7 +629,7 @@ export default createRule<Options, MessageIds>({
tokenInfo.isFirstTokenOfLine(getFirstToken(element))
) {
offsets.matchOffsetOf(
getFirstToken(elements[0]),
getFirstToken(firstElement!),
getFirstToken(element),
);
} else {
Expand All @@ -640,6 +641,7 @@ export default createRule<Options, MessageIds>({

if (
previousElement &&
previousElementLastToken &&
previousElementLastToken.loc.end.line -
countTrailingLinebreaks(previousElementLastToken.value) >
startToken.loc.end.line
Expand Down Expand Up @@ -854,7 +856,7 @@ export default createRule<Options, MessageIds>({
) {
const openingBracket = sourceCode.getFirstToken(node)!;
const closingBracket = sourceCode.getTokenAfter(
node.elements[node.elements.length - 1] || openingBracket,
node.elements[node.elements.length - 1] ?? openingBracket,
isClosingBracketToken,
)!;

Expand Down
2 changes: 1 addition & 1 deletion packages/typescript-estree/src/ts-estree/ts-estree.ts
Expand Up @@ -681,7 +681,7 @@ export interface ArrayExpression extends BaseNode {

export interface ArrayPattern extends BaseNode {
type: AST_NODE_TYPES.ArrayPattern;
elements: DestructuringPattern[];
elements: (DestructuringPattern | null)[];
typeAnnotation?: TSTypeAnnotation;
optional?: boolean;
decorators?: Decorator[];
Expand Down

0 comments on commit 62e4ca0

Please sign in to comment.