style-value-types
Version:
Parsers, transformers and tests for special value types, eg: %, hex codes etc.
16 lines (13 loc) • 616 B
JavaScript
import { isString } from '../utils.mjs';
const createUnitType = (unit) => ({
test: (v) => isString(v) && v.endsWith(unit) && v.split(' ').length === 1,
parse: parseFloat,
transform: (v) => `${v}${unit}`,
});
const degrees = createUnitType('deg');
const percent = createUnitType('%');
const px = createUnitType('px');
const vh = createUnitType('vh');
const vw = createUnitType('vw');
const progressPercentage = Object.assign(Object.assign({}, percent), { parse: (v) => percent.parse(v) / 100, transform: (v) => percent.transform(v * 100) });
export { degrees, percent, progressPercentage, px, vh, vw };