Urara-Blog/node_modules/.pnpm-store/v3/files/2c/0315b6a5ec8ee6a0319d3446c2366191e398acede6d1a3ec133ea8ec64bc5126d119553e20d0a9dd28313df07204ca16758fdeed550bc943e683005ee59bc2
2022-08-14 01:14:53 +08:00

28 lines
888 B
Text

'use strict';
const { colord, extend } = require('colord');
const namesPlugin = require('colord/plugins/names');
const minifierPlugin = require('colord/plugins/minify');
extend(/** @type {any[]} */ ([namesPlugin, minifierPlugin]));
/**
* Performs color value minification
*
* @param {string} input - CSS value
* @param {Record<string, boolean>} options object with colord.minify() options
* @return {string}
*/
module.exports = function minifyColor(input, options = {}) {
const instance = colord(input);
if (instance.isValid()) {
// Try to shorten the string if it is a valid CSS color value
const minified = instance.minify(options);
// Fall back to the original input if it's smaller or has equal length
return minified.length < input.length ? minified : input.toLowerCase();
} else {
// Possibly malformed, so pass through
return input;
}
};