lamassu-server/new-lamassu-admin/src/utils/string.js

32 lines
812 B
JavaScript

import * as R from 'ramda'
import S from './sanctuary'
const formatLong = value => {
if (!value || value.length <= 20) return value
return `${value.slice(0, 8)}(...)${value.slice(
value.length - 8,
value.length
)}`
}
const toFirstLower = S.compose(S.joinWith(''))(R.adjust(0, S.toLower))
const toFirstUpper = S.compose(S.joinWith(''))(R.adjust(0, S.toUpper))
const onlyFirstToUpper = S.compose(toFirstUpper)(S.toLower)
const splitOnUpper = R.compose(
S.splitOn(' '),
R.replace(/([A-Z])/g, ' $1'),
toFirstLower
)
const startCase = R.compose(
S.joinWith(' '),
S.map(onlyFirstToUpper),
splitOnUpper
)
const singularOrPlural = (amount, singularStr, pluralStr) =>
parseInt(amount) === 1 ? singularStr : pluralStr
export { startCase, onlyFirstToUpper, formatLong, singularOrPlural }