Files
better-uwuzu-sdk/src/1.6.8/parser.ts
T
2026-01-24 11:19:19 +09:00

85 lines
2.0 KiB
TypeScript

import type { parserType } from "../index";
const mediaToObj = (ueuse: any) => {
const media = {
photo: [] as string[],
video: [] as string[],
};
if (ueuse.photo1 !== "" || ueuse.video1 !== "") {
if (ueuse.photo1 !== "") {
media.photo.push(ueuse.photo1);
delete ueuse.photo1;
}
if (ueuse.photo2 !== "") {
media.photo.push(ueuse.photo2);
delete ueuse.photo2;
}
if (ueuse.photo3 !== "") {
media.photo.push(ueuse.photo3);
delete ueuse.photo3;
}
if (ueuse.photo4 !== "") {
media.photo.push(ueuse.photo4);
delete ueuse.photo4;
}
if (ueuse.video1 !== "") {
media.video.push(ueuse.video1);
delete ueuse.video1;
}
}
ueuse.media = media;
return ueuse;
}
const Parser: parserType = (data, type, endpoint) => {
let result = data;
if (type === "request") {
if (result.media && result.text && endpoint === "ueuse/create") {
for (let i = 0; i < result.media.photo.length; i++) {
result[`photo${i + 1}`] = result.media.photo[i];
}
for (let i = 0; i < result.media.video.length; i++) {
result[`video${i + 1}`] = result.media.video[i];
}
}
return result;
} else {
if (result["0"] !== undefined && result.success === true) {
delete result.success;
const objData: any[] = Object.values(result);
for (let i = 0; i < objData.length; i++) {
if (endpoint.indexOf("ueuse") !== -1) {
objData[i] = mediaToObj(objData[i]);
}
}
return {
success: true,
data: objData,
};
}
if (result.favorite_list !== undefined && result.success === true) {
delete result.success;
const list = result.favorite_list.split(",");
return {
success: true,
favorite_list: list,
};
}
return result;
}
}
export default Parser;