export function replaceSymbolTemplate(content:string) { content = content.replace(/{{backtick}}/g, '`'); content = content.replace(/{{dollar}}/g, '$'); return content; } export function toLowerCaseFirstLetter(name :string) { return name.charAt(0).toLowerCase() + name.slice(1); } export function toUpperCaseFirstLetter(name :string) { return name.charAt(0).toUpperCase() + name.slice(1); } export function getLastFolderFromPath(path: string) { if (!path) return ''; let folders = path.split('/'); if(folders.length == 1) folders = path.split('\\'); return folders[folders.length - 1]; } exports.toCamelCase = (str: { match: (arg0: RegExp) => any[]; }) => { let s = str && str .match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g) .map((x) => { return x.slice(0, 1).toUpperCase() + x.slice(1).toLowerCase(); }) .join(''); return s.slice(0, 1).toLowerCase() + s.slice(1); }; exports.toKebabCase = (str: { match: (arg0: RegExp) => any[]; }) => str && str .match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g) .map((x) => x.toLowerCase()) .join('-'); exports.toTitleCase = (str: { match: (arg0: RegExp) => any[]; }) => str .match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g) .map((x) => x.charAt(0).toUpperCase() + x.slice(1)) .join(' '); exports.toSnakeCase = (str: { match: (arg0: RegExp) => any[]; }) => { return str && str .match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g) .map((x) => x.toLowerCase()) .join('_'); }; exports.toSnakeUpperCase = (str: { match: (arg0: RegExp) => any[]; }) => { return str && str .match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g) .map((x) => x.toUpperCase()) .join('_'); }; exports.capitalize = ([first, ...rest] : any, lowerRest = false) => { return first.toUpperCase() + (lowerRest ? rest.join('').toLowerCase() : rest.join('')); }; export function getFullTextType(text:string) { return { lowerCase: text.toLowerCase(), upperCase: text.toUpperCase(), camelCase: exports.toCamelCase(text), kebabCase: exports.toKebabCase(text), titleCase: exports.toTitleCase(text), snakeCase: exports.toSnakeCase(text), snakeUpperCase: exports.toSnakeUpperCase(text), classifyCase: exports.capitalize(exports.toCamelCase(text)) }; }