Buckets:
arudradey/ml-cpu-storage / emsdk /upstream /emscripten /node_modules /clean-css /lib /options /rounding-precision.js
| 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 | |
| }; | |
Xet Storage Details
- Size:
- 1.94 kB
- Xet hash:
- a85119e8da6db4deec0cf02036a942d5dc26f28d89b8036c4121c2b7c4267fca
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.