Urara-Blog/node_modules/.pnpm-store/v3/files/0b/615aa6021b6f3a841eefff87e5ed227b2f02dc9902b15c9ca42e86f2da8c92805e11eb591c33accadf1d0b1f52ad65680852042116e6f2faa4160ded8ec50a
2022-08-14 01:14:53 +08:00

31 lines
732 B
Text

'use strict';
const parseWsc = require('./parseWsc.js');
const minifyTrbl = require('./minifyTrbl.js');
const { isValidWsc } = require('./validateWsc.js');
const defaults = ['medium', 'none', 'currentcolor'];
/** @type {(v: string) => string} */
module.exports = (v) => {
const values = parseWsc(v);
if (!isValidWsc(values)) {
return minifyTrbl(v);
}
const value = [...values, '']
.reduceRight((prev, cur, i, arr) => {
if (
cur === undefined ||
(cur.toLowerCase() === defaults[i] &&
(!i || (arr[i - 1] || '').toLowerCase() !== cur.toLowerCase()))
) {
return prev;
}
return cur + ' ' + prev;
})
.trim();
return minifyTrbl(value || 'none');
};