Sha256: 18e1860e23cf23063a1ea4a3f5259c98d4f1405626c2b915b601fd42f396dcc0
Contents?: true
Size: 725 Bytes
Versions: 35
Compression:
Stored size: 725 Bytes
Contents
import { filter, isEmpty } from 'lodash' const titleizedWord = (word: string): string => ( word.charAt(0).toUpperCase() + word.slice(1).toLowerCase() ) export const titleize = (sentence: string): string => ( isEmpty(sentence) ? sentence : sentence.split(' ').map(titleizedWord).join(' ') ) const notEmpty = (value: string | Record<string, unknown>): boolean => !isEmpty(value) export const joinPresent = (array: [], separator: string): string => ( filter(array, notEmpty).join(separator) ) export const camelToSnakeCase = (word: string): string => { return word.split(/([A-Z])/g).map((w, i) => { const prefix = i > 0 ? '_' : '' return w === w.toLowerCase() ? w : prefix + w.toLowerCase() }).join("") }
Version data entries
35 entries across 35 versions & 1 rubygems