Sha256: 21a61c5d4956b7dbd59334dda11c42fc0b86bb95a630358955ebe86c36c620ac

Contents?: true

Size: 731 Bytes

Versions: 537

Compression:

Stored size: 731 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: string[], 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

537 entries across 537 versions & 1 rubygems

Version Path
playbook_ui-12.8.0.pre.alpha.rubyandnpmalpharelease295 app/pb_kits/playbook/utilities/text.ts
playbook_ui-12.8.0.pre.alpha.rubyandnpmalpharelease294 app/pb_kits/playbook/utilities/text.ts
playbook_ui-12.8.0 app/pb_kits/playbook/utilities/text.ts
playbook_ui-12.7.1.pre.alpha.rubyandnpmalpharelease293 app/pb_kits/playbook/utilities/text.ts
playbook_ui-12.7.1.pre.alpha.rubyandnpmalpharelease292 app/pb_kits/playbook/utilities/text.ts
playbook_ui-12.7.1.pre.alpha.rubyandnpmalpharelease291 app/pb_kits/playbook/utilities/text.ts
playbook_ui-12.7.1.pre.alpha.alpharubyrelease281 app/pb_kits/playbook/utilities/text.ts
playbook_ui-12.7.1.pre.alpha.menu2 app/pb_kits/playbook/utilities/text.ts
playbook_ui-12.7.1.pre.alpha.menu1 app/pb_kits/playbook/utilities/text.ts
playbook_ui-12.7.1 app/pb_kits/playbook/utilities/text.ts
playbook_ui-12.7.0 app/pb_kits/playbook/utilities/text.ts
playbook_ui-12.6.0.pre.alpha.sectionseparator1 app/pb_kits/playbook/utilities/text.ts
playbook_ui-12.6.0.pre.alpha.menuyml1 app/pb_kits/playbook/utilities/text.ts
playbook_ui-12.6.0.pre.alpha.collapsible1 app/pb_kits/playbook/utilities/text.ts
playbook_ui-12.6.0.pre.alpha.cssphone1 app/pb_kits/playbook/utilities/text.ts
playbook_ui-12.6.0 app/pb_kits/playbook/utilities/text.ts
playbook_ui-12.5.0.pre.alpha.datepickerinput1 app/pb_kits/playbook/utilities/text.ts
playbook_ui-12.5.0.pre.alpha.phonerails1 app/pb_kits/playbook/utilities/text.ts
playbook_ui-12.5.0.pre.alpha.datepicker1 app/pb_kits/playbook/utilities/text.ts
playbook_ui-12.5.0.pre.alpha.filter1 app/pb_kits/playbook/utilities/text.ts