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}) })) }