Skip to content

Commit 32568b3

Browse files
committed
Test case when module member is object spread pattern
1 parent 1045f3b commit 32568b3

File tree

3 files changed

+90
-0
lines changed

3 files changed

+90
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
tests/cases/compiler/unusedLocalsAndObjectSpread2.ts(4,5): error TS6133: 'children' is declared but never used.
2+
tests/cases/compiler/unusedLocalsAndObjectSpread2.ts(5,13): error TS6133: '_a' is declared but never used.
3+
tests/cases/compiler/unusedLocalsAndObjectSpread2.ts(6,6): error TS6133: 'rest' is declared but never used.
4+
tests/cases/compiler/unusedLocalsAndObjectSpread2.ts(9,10): error TS6133: 'foo' is declared but never used.
5+
tests/cases/compiler/unusedLocalsAndObjectSpread2.ts(13,8): error TS6133: 'rest' is declared but never used.
6+
7+
8+
==== tests/cases/compiler/unusedLocalsAndObjectSpread2.ts (5 errors) ====
9+
10+
declare let props: any;
11+
const {
12+
children, // here!
13+
~~~~~~~~
14+
!!! error TS6133: 'children' is declared but never used.
15+
active: _a, // here!
16+
~~
17+
!!! error TS6133: '_a' is declared but never used.
18+
...rest,
19+
~~~~
20+
!!! error TS6133: 'rest' is declared but never used.
21+
} = props;
22+
23+
function foo() {
24+
~~~
25+
!!! error TS6133: 'foo' is declared but never used.
26+
const {
27+
children,
28+
active: _a,
29+
...rest,
30+
~~~~
31+
!!! error TS6133: 'rest' is declared but never used.
32+
} = props;
33+
}
34+
35+
export const asdf = 123;
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
//// [unusedLocalsAndObjectSpread2.ts]
2+
3+
declare let props: any;
4+
const {
5+
children, // here!
6+
active: _a, // here!
7+
...rest,
8+
} = props;
9+
10+
function foo() {
11+
const {
12+
children,
13+
active: _a,
14+
...rest,
15+
} = props;
16+
}
17+
18+
export const asdf = 123;
19+
20+
//// [unusedLocalsAndObjectSpread2.js]
21+
"use strict";
22+
var __rest = (this && this.__rest) || function (s, e) {
23+
var t = {};
24+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
25+
t[p] = s[p];
26+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
27+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
28+
t[p[i]] = s[p[i]];
29+
return t;
30+
};
31+
var children = props.children, // here!
32+
_a = props.active, // here!
33+
rest = __rest(props, ["children", "active"]);
34+
function foo() {
35+
var children = props.children, _a = props.active, rest = __rest(props, ["children", "active"]);
36+
}
37+
exports.asdf = 123;
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
//@noUnusedLocals:true
2+
3+
declare let props: any;
4+
const {
5+
children, // here!
6+
active: _a, // here!
7+
...rest,
8+
} = props;
9+
10+
function foo() {
11+
const {
12+
children,
13+
active: _a,
14+
...rest,
15+
} = props;
16+
}
17+
18+
export const asdf = 123;

0 commit comments

Comments
 (0)