diff options
| author | Adam Mathes <adam@adammathes.com> | 2026-02-14 14:46:37 -0800 |
|---|---|---|
| committer | Adam Mathes <adam@adammathes.com> | 2026-02-14 14:46:37 -0800 |
| commit | afa87af01c79a9baa539f2992d32154d2a4739bd (patch) | |
| tree | 92c7416db734270a2fee1d72ee9cc119379ff8e1 /vanilla/node_modules/css-tree/lib/syntax/config/mix.js | |
| parent | 3b927e84d200402281f68181cd4253bc77e5528d (diff) | |
| download | neko-afa87af01c79a9baa539f2992d32154d2a4739bd.tar.gz neko-afa87af01c79a9baa539f2992d32154d2a4739bd.tar.bz2 neko-afa87af01c79a9baa539f2992d32154d2a4739bd.zip | |
task: delete vanilla js prototype\n\n- Removed vanilla/ directory and web/dist/vanilla directory\n- Updated Makefile, Dockerfile, and CI workflow to remove vanilla references\n- Cleaned up web/web.go to remove vanilla embed and routes\n- Verified build and tests pass\n\nCloses NK-2tcnmq
Diffstat (limited to 'vanilla/node_modules/css-tree/lib/syntax/config/mix.js')
| -rw-r--r-- | vanilla/node_modules/css-tree/lib/syntax/config/mix.js | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/vanilla/node_modules/css-tree/lib/syntax/config/mix.js b/vanilla/node_modules/css-tree/lib/syntax/config/mix.js deleted file mode 100644 index f722ceb..0000000 --- a/vanilla/node_modules/css-tree/lib/syntax/config/mix.js +++ /dev/null @@ -1,123 +0,0 @@ -function appendOrSet(a, b) { - if (typeof b === 'string' && /^\s*\|/.test(b)) { - return typeof a === 'string' - ? a + b - : b.replace(/^\s*\|\s*/, ''); - } - - return b || null; -} - -function sliceProps(obj, props) { - const result = Object.create(null); - - for (const [key, value] of Object.entries(obj)) { - if (value) { - result[key] = {}; - for (const prop of Object.keys(value)) { - if (props.includes(prop)) { - result[key][prop] = value[prop]; - } - } - } - } - - return result; -} - -export default function mix(dest, src) { - const result = { ...dest }; - - for (const [prop, value] of Object.entries(src)) { - switch (prop) { - case 'generic': - result[prop] = Boolean(value); - break; - - case 'cssWideKeywords': - result[prop] = dest[prop] - ? [...dest[prop], ...value] - : value || []; - break; - - case 'units': - result[prop] = { ...dest[prop] }; - for (const [name, patch] of Object.entries(value)) { - result[prop][name] = Array.isArray(patch) ? patch : []; - } - break; - - case 'atrules': - result[prop] = { ...dest[prop] }; - - for (const [name, atrule] of Object.entries(value)) { - const exists = result[prop][name] || {}; - const current = result[prop][name] = { - prelude: exists.prelude || null, - descriptors: { - ...exists.descriptors - } - }; - - if (!atrule) { - continue; - } - - current.prelude = atrule.prelude - ? appendOrSet(current.prelude, atrule.prelude) - : current.prelude || null; - - for (const [descriptorName, descriptorValue] of Object.entries(atrule.descriptors || {})) { - current.descriptors[descriptorName] = descriptorValue - ? appendOrSet(current.descriptors[descriptorName], descriptorValue) - : null; - } - - if (!Object.keys(current.descriptors).length) { - current.descriptors = null; - } - } - break; - - case 'types': - case 'properties': - result[prop] = { ...dest[prop] }; - for (const [name, syntax] of Object.entries(value)) { - result[prop][name] = appendOrSet(result[prop][name], syntax); - } - break; - - case 'scope': - case 'features': - result[prop] = { ...dest[prop] }; - for (const [name, props] of Object.entries(value)) { - result[prop][name] = { ...result[prop][name], ...props }; - } - break; - - case 'parseContext': - result[prop] = { - ...dest[prop], - ...value - }; - break; - - case 'atrule': - case 'pseudo': - result[prop] = { - ...dest[prop], - ...sliceProps(value, ['parse']) - }; - break; - - case 'node': - result[prop] = { - ...dest[prop], - ...sliceProps(value, ['name', 'structure', 'parse', 'generate', 'walkContext']) - }; - break; - } - } - - return result; -} |
