dynamic-mat-table
Version:
dynamic-mat-table is an Angular component for presenting large and complex data with a lightning fast performance (at least 10x faster) and excellent level of control over the presentation.
29 lines • 3.3 kB
JavaScript
/**
* Simplifies a string (trims and lowerCases)
*/
export function simplify(s) {
return `${s}`.trim().toLowerCase();
}
/**
* Transforms a camelCase string into a readable text format
* @example textify('helloWorld!')
* // Hello world!
*/
export function textify(text) {
return text
.replace(/([A-Z])/g, char => ` ${char.toLowerCase()}`)
.replace(/^([a-z])/, char => char.toUpperCase());
}
/**
* Transforms a text string into a title case text format
* @example titleCase('hello world!')
* // Hello World!
*/
export function titleCase(value) {
const sentence = value.toLowerCase().split(' ');
for (let i = 0; i < sentence.length; i++) {
sentence[i] = sentence[i][0].toUpperCase() + sentence[i].slice(1);
}
return sentence.join(' ');
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl6ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9keW5hbWljLW1hdC10YWJsZS9zcmMvbGliL3V0aWxpemVzL3V0aWxpemVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBQyxDQUFTO0lBRWhDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUNyQyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxPQUFPLENBQUMsSUFBWTtJQUVsQyxPQUFPLElBQUk7U0FDUixPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztTQUNyRCxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDckQsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQWE7SUFFckMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFDeEM7UUFDRSxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDbkU7SUFDRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBTaW1wbGlmaWVzIGEgc3RyaW5nICh0cmltcyBhbmQgbG93ZXJDYXNlcylcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzaW1wbGlmeShzOiBzdHJpbmcpOiBzdHJpbmdcclxue1xyXG4gIHJldHVybiBgJHtzfWAudHJpbSgpLnRvTG93ZXJDYXNlKCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUcmFuc2Zvcm1zIGEgY2FtZWxDYXNlIHN0cmluZyBpbnRvIGEgcmVhZGFibGUgdGV4dCBmb3JtYXRcclxuICogQGV4YW1wbGUgdGV4dGlmeSgnaGVsbG9Xb3JsZCEnKVxyXG4gKiAvLyBIZWxsbyB3b3JsZCFcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB0ZXh0aWZ5KHRleHQ6IHN0cmluZylcclxue1xyXG4gIHJldHVybiB0ZXh0XHJcbiAgICAucmVwbGFjZSgvKFtBLVpdKS9nLCBjaGFyID0+IGAgJHtjaGFyLnRvTG93ZXJDYXNlKCl9YClcclxuICAgIC5yZXBsYWNlKC9eKFthLXpdKS8sIGNoYXIgPT4gY2hhci50b1VwcGVyQ2FzZSgpKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFRyYW5zZm9ybXMgYSB0ZXh0IHN0cmluZyBpbnRvIGEgdGl0bGUgY2FzZSB0ZXh0IGZvcm1hdFxyXG4gKiBAZXhhbXBsZSB0aXRsZUNhc2UoJ2hlbGxvIHdvcmxkIScpXHJcbiAqIC8vIEhlbGxvIFdvcmxkIVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHRpdGxlQ2FzZSh2YWx1ZTogc3RyaW5nKVxyXG57XHJcbiAgY29uc3Qgc2VudGVuY2UgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpLnNwbGl0KCcgJyk7XHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzZW50ZW5jZS5sZW5ndGg7IGkrKylcclxuICB7XHJcbiAgICBzZW50ZW5jZVtpXSA9IHNlbnRlbmNlW2ldWzBdLnRvVXBwZXJDYXNlKCkgKyBzZW50ZW5jZVtpXS5zbGljZSgxKTtcclxuICB9XHJcbiAgcmV0dXJuIHNlbnRlbmNlLmpvaW4oJyAnKTtcclxufVxyXG4iXX0=