'use strict'; var parsers = require('../parsers.js'); var TYPES = parsers.TYPES; var isValid = function (v) { var type = parsers.valueType(v); return ( type === TYPES.NULL_OR_EMPTY_STR || type === TYPES.LENGTH || type === TYPES.PERCENT || (type === TYPES.INTEGER && (v === '0' || v === 0)) ); }; var parser = function (v) { return parsers.parseMeasurement(v); }; var mySetter = parsers.implicitSetter('padding', '', isValid, parser); var myGlobal = parsers.implicitSetter( 'padding', '', function () { return true; }, function (v) { return v; } ); module.exports.definition = { set: function (v) { if (typeof v === 'number') { v = String(v); } if (v === null) { v = ''; } if (typeof v !== 'string') { return; } var V = v.toLowerCase(); switch (V) { case 'inherit': case 'initial': case 'unset': case '': myGlobal.call(this, V); break; default: mySetter.call(this, v); break; } }, get: function () { return this.getPropertyValue('padding'); }, enumerable: true, configurable: true, }; module.exports.isValid = isValid; module.exports.parser = parser;