All files / src/apps/dictionaries utils.ts

13.64% Statements 3/22
0% Branches 0/12
0% Functions 0/6
15% Lines 3/20

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 481x                                                           1x         1x                        
export const buildAddConceptToDictionaryMessage = (
  results: { expression: string; added: boolean }[]
) => {
  if (!Array.isArray(results)) {
    return "";
  }
 
  const conceptResults = results.filter(result =>
    result.expression.includes("/concepts/")
  );
 
  const addedCount = conceptResults.filter(result => result.added).length;
  const alreadyInDictionaryCount = conceptResults.length - addedCount;
 
  const wasOrWere = (length: number) => (length > 1 ? "s were" : " was");
 
  const addedConceptsMessage =
    addedCount > 0
      ? ` ${addedCount} concept${wasOrWere(addedCount)} added.`
      : "";
  const alreadyAddedMessage =
    alreadyInDictionaryCount > 0
      ? ` ${alreadyInDictionaryCount} concept${wasOrWere(
          alreadyInDictionaryCount
        )} skipped`
      : "";
 
  return addedConceptsMessage + alreadyAddedMessage;
};
 
export const dictionaryNameFromUrl = (url: string): string => {
  let words = url.split("/");
  return words[words.length - 2];
};
 
export const getDictionaryTypeFromPreviousPath = (previousPath: String) => {
  switch (previousPath) {
    case "/collections/":
      return "Public Dictionaries";
    case "/user/collections/":
      return "Your Dictionaries";
    case "/user/orgs/collections/":
      return "Your Organisations' Dictionaries";
    default:
      return "Dictionaries";
  }
};