File size: 1,079 Bytes
03d9a71
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import { Converter } from '@/script/formatPrompt';

import { TagItem } from './TagList';

export const genTagType = (tag: TagItem): TagItem => {
  const newTag = tag;
  if (newTag.text.includes('<lora')) {
    newTag.className = 'ReactTags__lora';
  } else if (newTag.text.includes('<hypernet')) {
    newTag.className = 'ReactTags__hypernet';
  } else if (newTag.text.includes('<embedding')) {
    newTag.className = 'ReactTags__embedding';
  } else {
    newTag.className = undefined;
  }
  return newTag;
};

export const formatPrompt = (value: string) => {
  const text = Converter.convertStr(value);
  const textArray = Converter.convertStr2Array(text).map((item) => {
    if (item.includes('<')) return item;
    const newItem = item
      .replaceAll(/\s+/g, ' ')
      .replaceAll(/,|\.\|。/g, ',')
      .replaceAll(/“|‘|”|"|\/'/g, '')
      .replaceAll(', ', ',')
      .replaceAll(',,', ',')
      .replaceAll(',', ', ');
    return Converter.convertStr2Array(newItem).join(', ');
  });
  return textArray.map((tag) => genTagType({ id: tag, text: tag }));
};