@amaui/utils
Version:
44 lines (34 loc) • 1.52 kB
JavaScript
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;