Skip to content

Commit efbb741

Browse files
committed
Add support for a defaultTagName
1 parent 89d1018 commit efbb741

File tree

3 files changed

+30
-3
lines changed

3 files changed

+30
-3
lines changed

Diff for: index.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ var dot = '.'.charCodeAt(0)
66
var hash = '#'.charCodeAt(0)
77

88
/* Parse a simple CSS selector into a HAST node. */
9-
function parse(selector) {
9+
function parse(selector, defaultTagName) {
1010
var value = selector || ''
11-
var name = 'div'
11+
var name = defaultTagName || 'div'
1212
var props = {}
1313
var index = -1
1414
var length = value.length

Diff for: readme.md

+6-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Yields:
2929

3030
## API
3131

32-
### `parseSelector([selector])`
32+
### `parseSelector([selector][, defaultTagName])`
3333

3434
Parse a CSS `selector` to a [HAST][] node.
3535

@@ -39,6 +39,11 @@ Parse a CSS `selector` to a [HAST][] node.
3939
and an ID (`#baz`). Multiple classes are allowed. Uses the last ID if
4040
multiple IDs are found.
4141

42+
###### `defaultTagName`
43+
44+
`string`, optional, defaults to `div` — Tag name to use if `selector` does not
45+
specify one.
46+
4247
###### Returns
4348

4449
[`Node`][hast].

Diff for: test.js

+22
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,28 @@ test('parseSelector()', function(t) {
2626
'should return an element with a tag-name when given a tag-name'
2727
)
2828

29+
t.deepEqual(
30+
parseSelector(null, 'g'),
31+
{
32+
type: 'element',
33+
tagName: 'g',
34+
properties: {},
35+
children: []
36+
},
37+
'should return an `defaultTagName` if no tag name is defined in `selector` (#1)'
38+
)
39+
40+
t.deepEqual(
41+
parseSelector('#id', 'g'),
42+
{
43+
type: 'element',
44+
tagName: 'g',
45+
properties: {id: 'id'},
46+
children: []
47+
},
48+
'should return an `defaultTagName` if no tag name is defined in `selector` (#2)'
49+
)
50+
2951
t.deepEqual(
3052
parseSelector('.bar'),
3153
{

0 commit comments

Comments
 (0)