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 }));
};
|