{
  "version": 3,
  "sources": ["../../src/truncate/utils.ts"],
  "sourcesContent": ["/**\n * Internal dependencies\n */\nimport { isValueDefined } from '../utils/values';\nexport const TRUNCATE_ELLIPSIS = '\u2026';\nexport const TRUNCATE_TYPE = {\n  auto: 'auto',\n  head: 'head',\n  middle: 'middle',\n  tail: 'tail',\n  none: 'none'\n};\nexport const TRUNCATE_DEFAULT_PROPS = {\n  ellipsis: TRUNCATE_ELLIPSIS,\n  ellipsizeMode: TRUNCATE_TYPE.auto,\n  limit: 0,\n  numberOfLines: 0\n};\n\n// Source\n// https://github.com/kahwee/truncate-middle\nexport function truncateMiddle(word, headLength, tailLength, ellipsis) {\n  if (typeof word !== 'string') {\n    return '';\n  }\n  const wordLength = word.length;\n  // Setting default values\n  // eslint-disable-next-line no-bitwise\n  const frontLength = ~~headLength; // Will cast to integer\n  // eslint-disable-next-line no-bitwise\n  const backLength = ~~tailLength;\n  /* istanbul ignore next */\n  const truncateStr = isValueDefined(ellipsis) ? ellipsis : TRUNCATE_ELLIPSIS;\n  if (frontLength === 0 && backLength === 0 || frontLength >= wordLength || backLength >= wordLength || frontLength + backLength >= wordLength) {\n    return word;\n  } else if (backLength === 0) {\n    return word.slice(0, frontLength) + truncateStr;\n  }\n  return word.slice(0, frontLength) + truncateStr + word.slice(wordLength - backLength);\n}\nexport function truncateContent(words = '', props) {\n  const mergedProps = {\n    ...TRUNCATE_DEFAULT_PROPS,\n    ...props\n  };\n  const {\n    ellipsis,\n    ellipsizeMode,\n    limit\n  } = mergedProps;\n  if (ellipsizeMode === TRUNCATE_TYPE.none) {\n    return words;\n  }\n  let truncateHead;\n  let truncateTail;\n  switch (ellipsizeMode) {\n    case TRUNCATE_TYPE.head:\n      truncateHead = 0;\n      truncateTail = limit;\n      break;\n    case TRUNCATE_TYPE.middle:\n      truncateHead = Math.floor(limit / 2);\n      truncateTail = Math.floor(limit / 2);\n      break;\n    default:\n      truncateHead = limit;\n      truncateTail = 0;\n  }\n  const truncatedContent = ellipsizeMode !== TRUNCATE_TYPE.auto ? truncateMiddle(words, truncateHead, truncateTail, ellipsis) : words;\n  return truncatedContent;\n}"],
  "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAA+B;AACxB,IAAM,oBAAoB;AAC1B,IAAM,gBAAgB;AAAA,EAC3B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AACR;AACO,IAAM,yBAAyB;AAAA,EACpC,UAAU;AAAA,EACV,eAAe,cAAc;AAAA,EAC7B,OAAO;AAAA,EACP,eAAe;AACjB;AAIO,SAAS,eAAe,MAAM,YAAY,YAAY,UAAU;AACrE,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO;AAAA,EACT;AACA,QAAM,aAAa,KAAK;AAGxB,QAAM,cAAc,CAAC,CAAC;AAEtB,QAAM,aAAa,CAAC,CAAC;AAErB,QAAM,kBAAc,8BAAe,QAAQ,IAAI,WAAW;AAC1D,MAAI,gBAAgB,KAAK,eAAe,KAAK,eAAe,cAAc,cAAc,cAAc,cAAc,cAAc,YAAY;AAC5I,WAAO;AAAA,EACT,WAAW,eAAe,GAAG;AAC3B,WAAO,KAAK,MAAM,GAAG,WAAW,IAAI;AAAA,EACtC;AACA,SAAO,KAAK,MAAM,GAAG,WAAW,IAAI,cAAc,KAAK,MAAM,aAAa,UAAU;AACtF;AACO,SAAS,gBAAgB,QAAQ,IAAI,OAAO;AACjD,QAAM,cAAc;AAAA,IAClB,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,MAAI,kBAAkB,cAAc,MAAM;AACxC,WAAO;AAAA,EACT;AACA,MAAI;AACJ,MAAI;AACJ,UAAQ,eAAe;AAAA,IACrB,KAAK,cAAc;AACjB,qBAAe;AACf,qBAAe;AACf;AAAA,IACF,KAAK,cAAc;AACjB,qBAAe,KAAK,MAAM,QAAQ,CAAC;AACnC,qBAAe,KAAK,MAAM,QAAQ,CAAC;AACnC;AAAA,IACF;AACE,qBAAe;AACf,qBAAe;AAAA,EACnB;AACA,QAAM,mBAAmB,kBAAkB,cAAc,OAAO,eAAe,OAAO,cAAc,cAAc,QAAQ,IAAI;AAC9H,SAAO;AACT;",
  "names": []
}
