Skip to content

Commit 12138af

Browse files
committed
Update @types/hast, utilities
1 parent 989e460 commit 12138af

File tree

3 files changed

+52
-17
lines changed

3 files changed

+52
-17
lines changed

lib/index.js

+2-7
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
11
/**
2-
* @typedef {import('hast').Root} Root
3-
* @typedef {import('hast').Content} Content
4-
*/
5-
6-
/**
7-
* @typedef {Content | Root} Node
2+
* @typedef {import('hast').Nodes} Nodes
83
*/
94

105
/**
116
* Check whether a `node` is labelable:
127
* See: <https://html.spec.whatwg.org/multipage/forms.html#category-label>.
138
*
14-
* @param {Node} node
9+
* @param {Nodes} node
1510
* Node to check (typically `Element`).
1611
* @returns {boolean}
1712
* Whether `node` is a labelable element.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
"index.js"
3333
],
3434
"dependencies": {
35-
"@types/hast": "^2.0.0"
35+
"@types/hast": "^3.0.0"
3636
},
3737
"devDependencies": {
3838
"@types/node": "^20.0.0",

test.js

+49-9
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,18 @@ test('labelable', () => {
2020
)
2121

2222
assert.equal(
23-
labelable({type: 'element', tagName: 'div', children: []}),
23+
labelable({type: 'element', tagName: 'div', properties: {}, children: []}),
2424
false,
2525
'should return `false` for non-labelable elements'
2626
)
2727

2828
assert.equal(
29-
labelable({type: 'element', tagName: 'input', children: []}),
29+
labelable({
30+
type: 'element',
31+
tagName: 'input',
32+
properties: {},
33+
children: []
34+
}),
3035
true,
3136
'should return `true` for `input` elements'
3237
)
@@ -43,43 +48,78 @@ test('labelable', () => {
4348
)
4449

4550
assert.equal(
46-
labelable({type: 'element', tagName: 'button', children: []}),
51+
labelable({
52+
type: 'element',
53+
tagName: 'button',
54+
properties: {},
55+
children: []
56+
}),
4757
true,
4858
'should return `true` for `button` elements'
4959
)
5060

5161
assert.equal(
52-
labelable({type: 'element', tagName: 'keygen', children: []}),
62+
labelable({
63+
type: 'element',
64+
tagName: 'keygen',
65+
properties: {},
66+
children: []
67+
}),
5368
true,
5469
'should return `true` for `keygen` elements'
5570
)
5671

5772
assert.equal(
58-
labelable({type: 'element', tagName: 'meter', children: []}),
73+
labelable({
74+
type: 'element',
75+
tagName: 'meter',
76+
properties: {},
77+
children: []
78+
}),
5979
true,
6080
'should return `true` for `meter` elements'
6181
)
6282

6383
assert.equal(
64-
labelable({type: 'element', tagName: 'output', children: []}),
84+
labelable({
85+
type: 'element',
86+
tagName: 'output',
87+
properties: {},
88+
children: []
89+
}),
6590
true,
6691
'should return `true` for `output` elements'
6792
)
6893

6994
assert.equal(
70-
labelable({type: 'element', tagName: 'progress', children: []}),
95+
labelable({
96+
type: 'element',
97+
tagName: 'progress',
98+
properties: {},
99+
children: []
100+
}),
71101
true,
72102
'should return `true` for `progress` elements'
73103
)
74104

75105
assert.equal(
76-
labelable({type: 'element', tagName: 'select', children: []}),
106+
labelable({
107+
type: 'element',
108+
tagName: 'select',
109+
properties: {},
110+
children: []
111+
}),
77112
true,
78113
'should return `true` for `select` elements'
79114
)
80115

81116
assert.equal(
82-
labelable({type: 'element', tagName: 'textarea', children: []}),
117+
labelable({
118+
type: 'element',
119+
tagName: 'textarea',
120+
properties: {},
121+
children: []
122+
}),
83123
true,
84124
'should return `true` for `textarea` elements'
85125
)

0 commit comments

Comments
 (0)