Sha256: cbd267af432b021fc8488356e641df8a5b92819c09e488c2b8afaec5a1434add
Contents?: true
Size: 1.14 KB
Versions: 20
Compression:
Stored size: 1.14 KB
Contents
'use strict'; var TYPES = require('../parsers').TYPES; var valueType = require('../parsers').valueType; var parseMeasurement = require('../parsers').parseMeasurement; var absoluteSizes = ['xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large']; var relativeSizes = ['larger', 'smaller']; module.exports.isValid = function(v) { var type = valueType(v.toLowerCase()); return ( type === TYPES.LENGTH || type === TYPES.PERCENT || (type === TYPES.KEYWORD && absoluteSizes.indexOf(v.toLowerCase()) !== -1) || (type === TYPES.KEYWORD && relativeSizes.indexOf(v.toLowerCase()) !== -1) ); }; function parse(v) { const valueAsString = String(v).toLowerCase(); const optionalArguments = absoluteSizes.concat(relativeSizes); const isOptionalArgument = optionalArguments.some( stringValue => stringValue.toLowerCase() === valueAsString ); return isOptionalArgument ? valueAsString : parseMeasurement(v); } module.exports.definition = { set: function(v) { this._setProperty('font-size', parse(v)); }, get: function() { return this.getPropertyValue('font-size'); }, enumerable: true, configurable: true, };
Version data entries
20 entries across 20 versions & 1 rubygems