Skip to content

Commit 0595f29

Browse files
committed
Update @types/hast, utilities
1 parent bac7824 commit 0595f29

File tree

3 files changed

+8
-17
lines changed

3 files changed

+8
-17
lines changed

lib/index.js

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
/**
22
* @typedef {import('hast').Root} Root
3-
* @typedef {import('hast').Content} Content
3+
* @typedef {import('hast').Nodes} Nodes
44
*/
55

66
/**
7-
* @typedef {Root | Content} Node
87
* @typedef {string | number} ConditionalPrimitive
98
* Basic class names.
109
* @typedef {Record<string, boolean>} ConditionalMap
@@ -36,13 +35,13 @@ const own = {}.hasOwnProperty
3635
export const classnames =
3736
/**
3837
* @type {(
39-
* (<T extends Node>(node: T, ...conditionals: Array<Conditional>) => T) &
38+
* (<T extends Nodes>(node: T, ...conditionals: Array<Conditional>) => T) &
4039
* ((...conditionals: Array<Conditional>) => Array<string>)
4140
* )}
4241
*/
4342
(
4443
/**
45-
* @param {Node | Conditional | null | undefined} [node]
44+
* @param {Nodes | Conditional | null | undefined} [node]
4645
* @param {Array<Conditional>} conditionals
4746
*/
4847
function (node, ...conditionals) {
@@ -55,8 +54,6 @@ export const classnames =
5554
if (isNode(node)) {
5655
if (node.type !== 'element') throw new Error('Expected element node')
5756

58-
if (!node.properties) node.properties = {}
59-
6057
if (node.properties.className) {
6158
// @ts-expect-error Assume `classname` is `Array<string>`
6259
add(map, node.properties.className)
@@ -117,8 +114,8 @@ function add(result, conditional) {
117114
}
118115

119116
/**
120-
* @param {Node | Conditional} [value]
121-
* @returns {value is Node}
117+
* @param {Nodes | Conditional} [value]
118+
* @returns {value is Nodes}
122119
*/
123120
function isNode(value) {
124121
return Boolean(value && typeof value === 'object' && 'type' in value)

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,19 +34,19 @@
3434
"index.js"
3535
],
3636
"dependencies": {
37-
"@types/hast": "^2.0.0",
37+
"@types/hast": "^3.0.0",
3838
"space-separated-tokens": "^2.0.0"
3939
},
4040
"devDependencies": {
4141
"@types/node": "^20.0.0",
4242
"c8": "^8.0.0",
43-
"hastscript": "^7.0.0",
43+
"hastscript": "^8.0.0",
4444
"prettier": "^3.0.0",
4545
"remark-cli": "^11.0.0",
4646
"remark-preset-wooorm": "^9.0.0",
4747
"type-coverage": "^2.0.0",
4848
"typescript": "^5.0.0",
49-
"unist-builder": "^3.0.0",
49+
"unist-builder": "^4.0.0",
5050
"xo": "^0.55.0"
5151
},
5252
"scripts": {

test.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,6 @@ test('classnames', () => {
7272
'should merge w/ current classnames'
7373
)
7474

75-
assert.deepEqual(
76-
classnames(u('element', {tagName: 'a'}, []), ['alpha']),
77-
h('a.alpha'),
78-
'should not fail if an element is missing properties'
79-
)
80-
8175
assert.deepEqual(
8276
classnames(h('a'), 'alpha', {bravo: true, charlie: false}, ['delta', 123]),
8377
h('a.123.alpha.bravo.delta'),

0 commit comments

Comments
 (0)