PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` var override = require('../utils/override'); var INTEGER_PATTERN = /^\d+$/; var ALL_UNITS = ['*', 'all']; var DEFAULT_PRECISION = 'off'; // all precision changes are disabled var DIRECTIVES_SEPARATOR = ','; // e.g. *=5,px=3 var DIRECTIVE_VALUE_SEPARATOR = '='; // e.g. *=5 function roundingPrecisionFrom(source) { return override(defaults(DEFAULT_PRECISION), buildPrecisionFrom(source)); } function defaults(value) { return { ch: value, cm: value, em: value, ex: value, in: value, mm: value, pc: value, pt: value, px: value, q: value, rem: value, vh: value, vmax: value, vmin: value, vw: value, '%': value }; } function buildPrecisionFrom(source) { if (source === null || source === undefined) { return {}; } if (typeof source == 'boolean') { return {}; } if (typeof source == 'number' && source == -1) { return defaults(DEFAULT_PRECISION); } if (typeof source == 'number') { return defaults(source); } if (typeof source == 'string' && INTEGER_PATTERN.test(source)) { return defaults(parseInt(source)); } if (typeof source == 'string' && source == DEFAULT_PRECISION) { return defaults(DEFAULT_PRECISION); } if (typeof source == 'object') { return source; } return source .split(DIRECTIVES_SEPARATOR) .reduce(function(accumulator, directive) { var directiveParts = directive.split(DIRECTIVE_VALUE_SEPARATOR); var name = directiveParts[0]; var value = parseInt(directiveParts[1]); if (Number.isNaN(value) || value == -1) { value = DEFAULT_PRECISION; } if (ALL_UNITS.indexOf(name) > -1) { accumulator = override(accumulator, defaults(value)); } else { accumulator[name] = value; } return accumulator; }, {}); } module.exports = { DEFAULT: DEFAULT_PRECISION, roundingPrecisionFrom: roundingPrecisionFrom };