import slugify from 'slugify'
export const formatJsonString = stringToFormat =>
stringToFormat.split('\n').map((string, index) =>
{`${string}`}
) // eslint-disable-line react/no-array-index-key
export const getAlias = (artistes, priorite = null, enhanced = false) => {
if (artistes.data.length === 1 && !enhanced) {
return artistes.data[0].attributes.alias
}
if (artistes.data.length === 1 && enhanced) {
return [{
type: 'element',
value: artistes.data[0].attributes.alias
}]
}
const alias = []
const splittedPriority = priorite ? priorite.split('-')
.map(p => Number.parseInt(p, 10)) : null
if (splittedPriority) {
for (const element of splittedPriority) {
const foundedArtistes = artistes.data.find(({id}) => id === element)
alias.push(foundedArtistes.attributes.alias)
}
} else {
for (const artiste of artistes.data) {
alias.push(artiste.attributes.alias)
}
}
if (enhanced) {
const list = new Intl.ListFormat('fr').formatToParts(alias)
return list
}
return new Intl.ListFormat('fr').format(alias)
}
function separateString(inputString) {
const regex = /\s*,\s*|\s+et\s+/
const strings = inputString.split(regex).map(element => element.trim())
return strings
}
export const getAliasObject = inputString => {
const awtis = separateString(inputString)
return awtis.map(alias => ({
alias,
slug: slugify(alias, {lower: true, remove: /[*#+~.()'"!:@]/g})
}))
}