From 777a475ec3bde8413e16cff5dde5dead4d67fcb7 Mon Sep 17 00:00:00 2001 From: Bart Veneman <1536852+bartveneman@users.noreply.github.com> Date: Fri, 27 Sep 2024 09:46:00 +0200 Subject: [PATCH 1/2] add a fast path for printing simple selectors --- index.js | 12 ++++++++++++ test/selectors.test.js | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/index.js b/index.js index e5be002..8990675 100644 --- a/index.js +++ b/index.js @@ -108,6 +108,18 @@ export function format(css, { minify = false } = {}) { children.forEach((child) => { switch (child.type) { + case 'TypeSelector': { + buffer += lowercase(child.name) + break + } + case 'IdSelector': { + buffer += '#' + child.name + break + } + case 'ClassSelector': { + buffer += '.' + child.name + break + } case 'Combinator': { // putting spaces around `child.name` (+ > ~ or ' '), unless the combinator is ' ' buffer += SPACE diff --git a/test/selectors.test.js b/test/selectors.test.js index 52c6570..7cbb7f2 100644 --- a/test/selectors.test.js +++ b/test/selectors.test.js @@ -56,6 +56,18 @@ a > b ~ c d, assert.equal(actual, expected) }) +test('lowercases type selectors', () => { + let actual = format(` + A, + B, + C {} + `) + let expected = `a, +b, +c {}` + assert.equal(actual, expected) +}) + test('formats nested selector combinators', () => { let fixtures = [ [`:where(a+b) {}`, `:where(a + b) {}`], From c89eccfe8431130705b86212e31d7f7a6ac36f0d Mon Sep 17 00:00:00 2001 From: Bart Veneman <1536852+bartveneman@users.noreply.github.com> Date: Fri, 27 Sep 2024 09:50:21 +0200 Subject: [PATCH 2/2] lowercase type selectors --- index.js | 8 -------- 1 file changed, 8 deletions(-) diff --git a/index.js b/index.js index 8990675..975fe67 100644 --- a/index.js +++ b/index.js @@ -112,14 +112,6 @@ export function format(css, { minify = false } = {}) { buffer += lowercase(child.name) break } - case 'IdSelector': { - buffer += '#' + child.name - break - } - case 'ClassSelector': { - buffer += '.' + child.name - break - } case 'Combinator': { // putting spaces around `child.name` (+ > ~ or ' '), unless the combinator is ' ' buffer += SPACE