UNPKG

tweak-tools

Version:

Tweak your React projects until awesomeness

26 lines (25 loc) 1.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeKeyedNumberSettings = void 0; const number_plugin_1 = require("../Number/number-plugin"); const normalizeKeyedNumberSettings = (value, settings) => { const _settings = {}; let maxStep = 0; let minPad = Infinity; Object.entries(value).forEach(([key, v]) => { _settings[key] = (0, number_plugin_1.normalize)(Object.assign({ value: v }, settings[key])).settings; maxStep = Math.max(maxStep, _settings[key].step); minPad = Math.min(minPad, _settings[key].pad); }); // makes sure we get a consistent step and pad on all vector components when // step is not specified in settings. for (let key in _settings) { const { step, min, max } = settings[key] || {}; if (!isFinite(step) && (!isFinite(min) || !isFinite(max))) { _settings[key].step = maxStep; _settings[key].pad = minPad; } } return _settings; }; exports.normalizeKeyedNumberSettings = normalizeKeyedNumberSettings;