useShorthandArrayType (since v0.7.0)
This rule is recommended by Rome.
When expressing array types, this rule promotes the usage of T[] shorthand instead of Array<T>.
Examples
Invalid
let valid: Array<foo>; error[ts/useShorthandArrayType]: Use shorthand T[] syntax instead of Array<T> syntax.
┌─ ts/useShorthandArrayType.js:1:12
│
1 │ let valid: Array<foo>;
│ ^^^^^^^^^^
Suggested fix: Use shorthand T[] syntax to replace
| @@ -1 +1 @@
0 | - let valid: Array<foo>;
0 | + let valid: foo[];
let invalid2: Promise<Array<string>>; error[ts/useShorthandArrayType]: Use shorthand T[] syntax instead of Array<T> syntax.
┌─ ts/useShorthandArrayType.js:1:23
│
1 │ let invalid2: Promise<Array<string>>;
│ ^^^^^^^^^^^^^
Suggested fix: Use shorthand T[] syntax to replace
| @@ -1 +1 @@
0 | - let invalid2: Promise<Array<string>>;
0 | + let invalid2: Promise<string[]>;
let invalid3: Array<Foo<Bar>>; error[ts/useShorthandArrayType]: Use shorthand T[] syntax instead of Array<T> syntax.
┌─ ts/useShorthandArrayType.js:1:15
│
1 │ let invalid3: Array<Foo<Bar>>;
│ ^^^^^^^^^^^^^^^
Suggested fix: Use shorthand T[] syntax to replace
| @@ -1 +1 @@
0 | - let invalid3: Array<Foo<Bar>>;
0 | + let invalid3: Foo<Bar>[];
let invalid: Array<[number, number]>; error[ts/useShorthandArrayType]: Use shorthand T[] syntax instead of Array<T> syntax.
┌─ ts/useShorthandArrayType.js:1:14
│
1 │ let invalid: Array<[number, number]>;
│ ^^^^^^^^^^^^^^^^^^^^^^^
Suggested fix: Use shorthand T[] syntax to replace
| @@ -1 +1 @@
0 | - let invalid: Array<[number, number]>;
0 | + let invalid: [number, number][];
let invalid: Array<[number, number]>; error[ts/useShorthandArrayType]: Use shorthand T[] syntax instead of Array<T> syntax.
┌─ ts/useShorthandArrayType.js:1:14
│
1 │ let invalid: Array<[number, number]>;
│ ^^^^^^^^^^^^^^^^^^^^^^^
Suggested fix: Use shorthand T[] syntax to replace
| @@ -1 +1 @@
0 | - let invalid: Array<[number, number]>;
0 | + let invalid: [number, number][];
Valid
let valid: Array<Foo | Bar>;
let valid: Array<keyof Bar>;
let valid: Array<foo | bar>;