UNPKG

@amaui/utils

Version:
44 lines (34 loc) 1.52 kB
import is from './is'; import cleanValue, { optionsDefault as optionsDefaultCleanValue } from './cleanValue'; export const map = new Map([['id', 'ID'], ['api', 'API'], ['ui', 'UI'], ['true', 'yes'], ['false', 'no']]); const optionsDefault = { clean: true, cleanAfter: true, optionsCleanValue: optionsDefaultCleanValue, normalize: { map } }; const simpleNormalize = function (value) { let options_ = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; const options = { ...optionsDefault, ...options_ }; if (is('simple', value)) { var _options$normalize; let newValue = String(value); if (options.clean && !options.cleanAfter) newValue = cleanValue(newValue, options.optionsCleanValue); if ((_options$normalize = options.normalize) !== null && _options$normalize !== void 0 && _options$normalize.map) { var _options$normalize2; const mapKeys = (_options$normalize2 = options.normalize) === null || _options$normalize2 === void 0 ? void 0 : _options$normalize2.map.keys(); for (const key of mapKeys) { var _options$normalize3; newValue = newValue.replace(new RegExp("".concat(key), 'ig'), (_options$normalize3 = options.normalize) === null || _options$normalize3 === void 0 ? void 0 : _options$normalize3.map.get(key)); } } if (options.clean && options.cleanAfter) newValue = cleanValue(newValue, options.optionsCleanValue); return newValue; } return value; }; export default simpleNormalize;