Skip to content

Commit 74f9d89

Browse files
committed
Stringify @namespace
1 parent 1596e54 commit 74f9d89

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

src/Serializer.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'
1+
import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES, NAMESPACE} from './Enum.js'
22
import {strlen} from './Utility.js'
33

44
/**
@@ -25,7 +25,7 @@ export function serialize (children, callback) {
2525
export function stringify (element, index, children, callback) {
2626
switch (element.type) {
2727
case LAYER: if (element.children.length) break
28-
case IMPORT: case DECLARATION: return element.return = element.return || element.value
28+
case IMPORT: case NAMESPACE: case DECLARATION: return element.return = element.return || element.value
2929
case COMMENT: return ''
3030
case KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'
3131
case RULESET: if (!strlen(element.value = element.props.join(','))) return ''

test/Parser.js

+24
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,30 @@ describe('Parser', () => {
346346
expect(stylis(`@import url('http://example.com');`)).to.equal(`@import url('http://example.com');`)
347347
})
348348

349+
test('@namespace', () => {
350+
expect(
351+
stylis(`
352+
@namespace svg url('http://www.w3.org/2000/svg');
353+
354+
a {
355+
color: orangered;
356+
text-decoration: underline dashed;
357+
font-weight: bold;
358+
}
359+
360+
svg|a {
361+
fill: blueviolet;
362+
text-decoration: underline solid;
363+
text-transform: uppercase;
364+
}
365+
`)
366+
).to.equal([
367+
`@namespace svg url('http://www.w3.org/2000/svg');`,
368+
`.user a{color:orangered;text-decoration:underline dashed;font-weight:bold;}`,
369+
`.user svg|a{fill:blueviolet;text-decoration:underline solid;text-transform:uppercase;}`
370+
].join(''))
371+
})
372+
349373
test('@supports', () => {
350374
expect(
351375
stylis(`

0 commit comments

Comments
 (0)