Skip to content

Commit ebd116f

Browse files
committed
fix: guard against null and undefined
--- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed ---
1 parent 79dedda commit ebd116f

2 files changed

Lines changed: 24 additions & 14 deletions

File tree

  • lib/node_modules/@stdlib/_tools/eslint/rules
    • eol-open-bracket-spacing/lib
    • line-closing-bracket-spacing/lib

lib/node_modules/@stdlib/_tools/eslint/rules/eol-open-bracket-spacing/lib/main.js

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -79,44 +79,49 @@ function main( context ) {
7979
var prevToken;
8080
var elem;
8181
var args;
82+
var v;
8283

8384
if (
8485
( node.type === 'CallExpression' || node.type === 'NewExpression' ) &&
8586
node.arguments.length > 0
8687
) {
8788
args = node.arguments;
89+
v = args[ 0 ];
8890
if (
89-
args[ 0 ].type === 'ObjectExpression' &&
90-
args[ 0 ].properties.length > 0
91+
v &&
92+
v.type === 'ObjectExpression' &&
93+
v.properties.length > 0
9194
) {
92-
prevToken = source.getTokenBefore( args[ 0 ] );
93-
tokenAfter = source.getFirstToken( args[ 0 ] );
95+
prevToken = source.getTokenBefore( v );
96+
tokenAfter = source.getFirstToken( v );
9497
if (
9598
prevToken.loc.end.line === tokenAfter.loc.end.line &&
9699
source.isSpaceBetween( prevToken, tokenAfter )
97100
) {
98101
report( node, prevToken, tokenAfter );
99102
}
100103
} else if (
101-
args[ 0 ].type === 'ArrayExpression' &&
102-
args[ 0 ].elements.length > 0
104+
v &&
105+
v.type === 'ArrayExpression' &&
106+
v.elements.length > 0
103107
) {
104-
elem = args[ 0 ].elements[ 0 ];
108+
elem = v.elements[ 0 ];
105109
if (
110+
elem &&
106111
elem.type === 'ObjectExpression' &&
107112
elem.properties.length > 0
108113
) {
109-
prevToken = source.getTokenBefore( args[ 0 ] );
110-
tokenAfter = source.getFirstToken( args[ 0 ] );
114+
prevToken = source.getTokenBefore( v );
115+
tokenAfter = source.getFirstToken( v );
111116
if (
112117
prevToken.loc.end.line === tokenAfter.loc.end.line &&
113118
source.isSpaceBetween( prevToken, tokenAfter )
114119
) {
115120
report( node, prevToken, tokenAfter );
116121
}
117122
} else {
118-
prevToken = source.getTokenBefore( args[ 0 ] );
119-
tokenAfter = source.getFirstToken( args[ 0 ] );
123+
prevToken = source.getTokenBefore( v );
124+
tokenAfter = source.getFirstToken( v );
120125
nextToken = source.getTokenAfter( tokenAfter );
121126
if (
122127
tokenAfter.loc.end.line !== nextToken.loc.end.line &&
@@ -135,6 +140,7 @@ function main( context ) {
135140
) {
136141
elem = node.elements[ 0 ];
137142
if (
143+
elem &&
138144
elem.type === 'ObjectExpression' &&
139145
elem.properties.length > 0
140146
) {

lib/node_modules/@stdlib/_tools/eslint/rules/line-closing-bracket-spacing/lib/main.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,9 @@ function main( context ) {
8686
node.arguments.length > 0
8787
) {
8888
args = node.arguments;
89-
lastElem = args[ args.length - 1 ];
89+
lastElem = args[ args.length-1 ];
9090
if (
91+
lastElem &&
9192
lastElem.type === 'ObjectExpression' &&
9293
lastElem.properties.length > 0
9394
) {
@@ -100,11 +101,13 @@ function main( context ) {
100101
report( node, prevToken, tokenAfter );
101102
}
102103
} else if (
104+
lastElem &&
103105
lastElem.type === 'ArrayExpression' &&
104106
lastElem.elements.length > 0
105107
) {
106-
elem = lastElem.elements[ lastElem.elements.length - 1 ];
108+
elem = lastElem.elements[ lastElem.elements.length-1 ];
107109
if (
110+
elem &&
108111
elem.type === 'ObjectExpression' &&
109112
elem.properties.length > 0
110113
) {
@@ -135,8 +138,9 @@ function main( context ) {
135138
node.type === 'ArrayExpression' &&
136139
node.elements.length > 0
137140
) {
138-
elem = node.elements[ node.elements.length - 1 ];
141+
elem = node.elements[ node.elements.length-1 ];
139142
if (
143+
elem &&
140144
elem.type === 'ObjectExpression' &&
141145
elem.properties.length > 0
142146
) {

0 commit comments

Comments
 (0)