|
1 | 1 | import '../../vaadin-virtual-list.js';
|
2 | 2 |
|
3 |
| -import { |
4 |
| - VirtualListElement, |
5 |
| - VirtualListItem, |
6 |
| - VirtualListItemModel, |
7 |
| - VirtualListRenderer |
8 |
| -} from '../../vaadin-virtual-list.js'; |
| 3 | +import { VirtualListElement, VirtualListItemModel, VirtualListRenderer } from '../../vaadin-virtual-list.js'; |
9 | 4 |
|
10 | 5 | const assertType = <TExpected>(actual: TExpected) => actual;
|
11 | 6 |
|
12 |
| -const virtualList = document.createElement('vaadin-virtual-list'); |
| 7 | +const genericVirtualList = document.createElement('vaadin-virtual-list'); |
13 | 8 |
|
14 |
| -assertType<VirtualListElement>(virtualList); |
| 9 | +assertType<VirtualListElement>(genericVirtualList); |
15 | 10 |
|
16 |
| -assertType<VirtualListItem>(1); |
17 |
| -virtualList.items = [1, 2, 3]; |
| 11 | +genericVirtualList.items = [1, 2, 3]; |
| 12 | + |
| 13 | +interface TestVirtualListItem { |
| 14 | + testProperty: string; |
| 15 | +} |
| 16 | + |
| 17 | +const virtualList = genericVirtualList as VirtualListElement<TestVirtualListItem>; |
| 18 | + |
| 19 | +assertType<VirtualListElement<TestVirtualListItem>>(virtualList); |
| 20 | + |
| 21 | +virtualList.items = [{ testProperty: '1' }, { testProperty: '2' }, { testProperty: '3' }]; |
| 22 | + |
| 23 | +assertType<Array<TestVirtualListItem>>(virtualList.items); |
18 | 24 |
|
19 | 25 | virtualList.renderer = (root, virtualList, model) => {
|
20 | 26 | assertType<HTMLElement>(root);
|
21 | 27 | assertType<VirtualListElement>(virtualList);
|
22 |
| - assertType<VirtualListItemModel>(model); |
| 28 | + assertType<VirtualListItemModel<TestVirtualListItem>>(model); |
| 29 | + assertType<number>(model.index); |
| 30 | + assertType<TestVirtualListItem>(model.item); |
23 | 31 | };
|
24 | 32 |
|
25 |
| -assertType<VirtualListRenderer>(virtualList.renderer); |
| 33 | +assertType<VirtualListRenderer<TestVirtualListItem>>(virtualList.renderer); |
26 | 34 |
|
27 | 35 | assertType<void>(virtualList.scrollToIndex(3));
|
28 | 36 |
|
|
0 commit comments