in runtime/shared/intlList.js [123:203]
function _getConjunction(
list: React.Node,
lastItem: React.Node,
conjunction: $Keys<typeof CONJUNCTIONS>,
delimiter: ?$Keys<typeof DELIMITERS>,
): Fbt {
switch (conjunction) {
case CONJUNCTIONS.AND:
return (
<fbt
desc={
'A list of items of various types, for example:' +
' "item1, item2, item3 and item4"'
}>
<fbt:param name="list of items">{list}</fbt:param>
and
<fbt:param name="last item">{lastItem}</fbt:param>
</fbt>
);
case CONJUNCTIONS.OR:
return (
<fbt
desc={
'A list of items of various types, for example:' +
' "item1, item2, item3 or item4"'
}>
<fbt:param name="list of items">{list}</fbt:param>
or
<fbt:param name="last item">{lastItem}</fbt:param>
</fbt>
);
case CONJUNCTIONS.NONE:
switch (delimiter) {
case DELIMITERS.SEMICOLON:
return (
<fbt
desc={
'A list of items of various types, for example:' +
' "Menlo Park, CA; Seattle, WA; New York City, NY". ' +
'{previous items} itself contains one or more items.'
}>
<fbt:param name="previous items">{list}</fbt:param>
{'; '}
<fbt:param name="last item">{lastItem}</fbt:param>
</fbt>
);
case DELIMITERS.BULLET:
return (
<fbt
desc={
'A list of items of various types separated by bullets, for example: ' +
'"Menlo Park, CA \u2022 Seattle, WA \u2022 New York City, NY". ' +
'{previous items} contains one or more items.'
}>
<fbt:param name="list of items">{list}</fbt:param> •{' '}
<fbt:param name="last item">{lastItem}</fbt:param>
</fbt>
);
default:
return (
<fbt
desc={
'A list of items of various types, for example:' +
' "item1, item2, item3, item4"'
}>
<fbt:param name="list of items">{list}</fbt:param>
{', '}
<fbt:param name="last item">{lastItem}</fbt:param>
</fbt>
);
}
default:
invariant(
false,
'Invalid conjunction %s provided to intlList',
conjunction,
);
}
}