fix: downloader types

This commit is contained in:
TobyG74 2023-11-11 16:03:58 +07:00
parent fce7b8eab6
commit e42d40881e
2 changed files with 32 additions and 22 deletions

View File

@ -4,7 +4,7 @@ export interface StalkResult {
result?: {
users: Users
stats: Stats
posts: Posts[]
// posts: Posts[]
}
}
@ -30,20 +30,20 @@ export interface Stats {
videoCount: number
likeCount: number
friendCount: number
postCount: number
// postCount: number
}
export interface Posts {
id: string
desc: string
createTime: number
author: string
locationCreated: string
hashtags: string[]
statistics: Statistics
video: Video
music: Music
}
// export interface Posts {
// id: string
// desc: string
// createTime: number
// author: string
// locationCreated: string
// hashtags: string[]
// statistics: Statistics
// video: Video
// music: Music
// }
export interface Statistics {
likeCount: number

View File

@ -1,24 +1,34 @@
import { MusicalDownResponse } from "../types/musicaldown"
import { SSSTikResponse } from "../types/ssstik"
import { TiktokAPIResponse } from "../types/tiktokApi"
import { MusicalDown } from "./downloader_musicaldown"
import { SSSTik } from "./downloader_ssstik"
import { TiktokAPI } from "./downloader_tiktokApi"
export const TiktokDL = (url: string, options: { version: "v1" | "v2" | "v3" }) =>
new Promise<TiktokAPIResponse | SSSTikResponse | MusicalDownResponse>(async (resolve, reject) => {
/** Types */
import { MusicalDownResponse } from "../types/musicaldown"
import { SSSTikResponse } from "../types/ssstik"
import { TiktokAPIResponse } from "../types/tiktokApi"
export const TiktokDL = (url: string, options: { version: "v1" | "v2" | "v3" }): Promise<TiktokAPIResponse | SSSTikResponse | MusicalDownResponse> =>
new Promise(async (resolve, reject) => {
switch (options.version) {
case "v1": {
await TiktokAPI(url).then(resolve).catch(reject)
const response: TiktokAPIResponse = await TiktokAPI(url)
resolve(response)
break
}
case "v2": {
await SSSTik(url).then(resolve).catch(reject)
const response: SSSTikResponse = await SSSTik(url)
resolve(response)
break
}
case "v3": {
await MusicalDown(url).then(resolve).catch(reject)
const response: MusicalDownResponse = await MusicalDown(url)
resolve(response)
break
}
default: {
await TiktokAPI(url).then(resolve).catch(reject)
const response: TiktokAPIResponse = await TiktokAPI(url)
resolve(response)
break
}
}
})