@openshift-console/dynamic-plugin-sdk
Version:
Provides core APIs, types and utilities used by dynamic plugins at runtime.
21 lines (20 loc) • 737 B
JavaScript
import * as React from 'react';
const MEMO = {};
const CamelCaseWrap = ({ value, dataTest }) => {
if (!value) {
return '-';
}
if (MEMO[value]) {
return MEMO[value];
}
// Add word break points before capital letters (but keep consecutive capital letters together).
const words = value.match(/[A-Z]+[^A-Z]*|[^A-Z]+/g);
const rendered = (React.createElement("span", { "data-test": dataTest }, words.map((word, i) => (
// eslint-disable-next-line react/no-array-index-key
React.createElement(React.Fragment, { key: i },
word,
i !== words.length - 1 && React.createElement("wbr", null))))));
MEMO[value] = rendered;
return rendered;
};
export default CamelCaseWrap;