utils.ts 557 B

1234567891011121314151617181920212223
  1. export function getSeparatedContent(text: string, tokens: string[]): string[] {
  2. if (!tokens || !tokens.length) {
  3. return null;
  4. }
  5. let match = false;
  6. function separate(str: string, [token, ...restTokens]: string[]) {
  7. if (!token) {
  8. return [str];
  9. }
  10. const list = str.split(token);
  11. match = match || list.length > 1;
  12. return list
  13. .reduce((prevList, unitStr) => [...prevList, ...separate(unitStr, restTokens)], [])
  14. .filter(unit => unit);
  15. }
  16. const list = separate(text, tokens);
  17. return match ? list : null;
  18. }