Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

1function findIndex(array, target) {
2 for (let i = 0; i < array.length; i++) {
3 if (array[i] === target) {
4 return i;
5 }
6 }
7 return -1;
8}
9
10const numbers = [1, 2, 3, 4, 5];
11const index = findIndex(numbers, 3);
12

After

1function findIndex(array, target) {
2 return array.indexOf(target);
3}
4
5const numbers = [1, 2, 3, 4, 5];
6const index = findIndex(numbers, 3);
7

Before

program
function_declaration
function "function"
identifier "findIndex"
formal_parameters
( "("
identifier "array"
, ","
identifier "target"
) ")"
statement_block
{ "{"
for_statement
for "for"
( "("
lexical_declaration
let "let"
variable_declarator
identifier "i"
= "="
number "0"
; ";"
binary_expression
identifier "i"
< "<"
member_expression
identifier "array"
. "."
property_identifier "length"
; ";"
update_expression
identifier "i"
++ "++"
) ")"
statement_block
{ "{"
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
subscript_expression
identifier "array"
[ "["
identifier "i"
] "]"
=== "==="
identifier "target"
) ")"
statement_block
{ "{"
return_statement
return "return"
identifier "i"
; ";"
} "}"
} "}"
return_statement
return "return"
unary_expression
- "-"
number "1"
; ";"
} "}"
lexical_declaration
const "const"
variable_declarator
identifier "numbers"
= "="
array
[ "["
number "1"
, ","
number "2"
, ","
number "3"
, ","
number "4"
, ","
number "5"
] "]"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "index"
= "="
call_expression
identifier "findIndex"
arguments
( "("
identifier "numbers"
, ","
number "3"
) ")"
; ";"

After

program
function_declaration
function "function"
identifier "findIndex"
formal_parameters
( "("
identifier "array"
, ","
identifier "target"
) ")"
statement_block
{ "{"
return_statement
return "return"
call_expression
member_expression
identifier "array"
. "."
property_identifier "indexOf"
arguments
( "("
identifier "target"
) ")"
; ";"
} "}"
lexical_declaration
const "const"
variable_declarator
identifier "numbers"
= "="
array
[ "["
number "1"
, ","
number "2"
, ","
number "3"
, ","
number "4"
, ","
number "5"
] "]"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "index"
= "="
call_expression
identifier "findIndex"
arguments
( "("
identifier "numbers"
, ","
number "3"
) ")"
; ";"