jsmp-infra-plotnikov
Version:
jsmp test package that contains some mutations
41 lines (31 loc) • 883 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = transformString;
var _lodash = require("lodash");
var operationTypes = {
Uppercase: 'uppercase',
Lowercase: 'lowercase'
};
var toUppercase = function toUppercase(string) {
return string.toUpperCase();
};
var toLowerCase = function toLowerCase(string) {
return string.toLowerCase();
};
var operationToActionMap = new Map([[operationTypes.Uppercase, toUppercase], [operationTypes.Lowercase, toLowerCase]]);
function transformString(string, operation) {
try {
if (!(0, _lodash.isString)(string)) {
return null;
}
var isSupportedOperation = Object.values(operationTypes).includes(operation);
if (!isSupportedOperation) {
return string;
}
return operationToActionMap.get(operation)(string);
} catch (e) {
console.log(e);
}
}