UNPKG

jsmp-infra-plotnikov

Version:

jsmp test package that contains some mutations

36 lines (25 loc) 722 B
import { isString } from 'lodash'; const operationTypes = { Uppercase: 'uppercase', Lowercase: 'lowercase' }; const toUppercase = string => string.toUpperCase(); const toLowerCase = string => string.toLowerCase(); const operationToActionMap = new Map([ [operationTypes.Uppercase, toUppercase], [operationTypes.Lowercase, toLowerCase] ]); export default function transformString (string, operation) { try { if (!isString(string)) { return null; } const isSupportedOperation = Object.values(operationTypes).includes(operation); if (!isSupportedOperation) { return string; } return operationToActionMap.get(operation)(string); } catch (e) { console.log(e); } }