Thread viewer for Bluesky
1// @ts-nocheck
2
3// "Test suite" for TypeScript checking in $(), $id() and $tag()
4
5function test() {
6
7 let panel = $(document.querySelector('.panel')); // HTMLElement
8 panel.style.display = 'none';
9
10 /** @type {never} */ let x1 = panel;
11
12 let link = $(document.querySelector('a.more'), HTMLLinkElement); // HTMLLinkElement
13 link.href = 'about:blank';
14
15 /** @type {never} */ let x2 = link;
16
17 let html = $(document.parentNode);
18
19 /** @type {never} */ let x3 = html;
20
21 document.addEventListener('click', (e) => {
22 let target = $(e.target);
23 /** @type {never} */ let x4 = target;
24 });
25
26 let text = $(link.innerText);
27
28 /** @type {never} */ let x5 = text;
29
30 let login = $id('login'); // HTMLElement
31 login.remove();
32
33 /** @type {never} */ let x6 = login;
34
35 let loginField = $id('login_field', HTMLInputElement); // HTMLInputElement
36 loginField.value = '';
37
38 /** @type {never} */ let x7 = loginField;
39
40 let p = $tag('p.details'); // HTMLElement
41 p.innerText = 'About';
42
43 /** @type {never} */ let x8 = p;
44
45 let p2 = $tag('p.details', { text: 'Info' }); // HTMLElement
46 p2.innerText = 'About';
47
48 /** @type {never} */ let x9 = p2;
49
50 let img = $tag('img.icon', HTMLImageElement); // HTMLImageElement
51 img.loading = 'lazy';
52
53 /** @type {never} */ let x10 = img;
54
55 let img2 = $tag('img.icon', { src: accountAPI.user.avatar }, HTMLImageElement); // HTMLImageElement
56 img2.loading = 'lazy';
57
58 /** @type {never} */ let x11 = img2;
59
60}