feat: change to default export

This commit is contained in:
TobyG74 2024-03-29 20:04:08 +07:00
parent e76d3ebbec
commit f5ba43073f
3 changed files with 63 additions and 40 deletions

View File

@ -1,7 +0,0 @@
export const _tiktokurl: string = "https://www.tiktok.com"
export const _tiktokapi = (params: string): string => `https://api22-normal-c-useast2a.tiktokv.com/aweme/v1/feed/?${params}`
export const _ssstikapi: string = "https://ssstik.io/abc?url=dl"
export const _ssstikurl: string = "https://ssstik.io"
export const _musicaldownapi: string = "https://musicaldown.com/download"
export const _musicaldownurl: string = "https://musicaldown.com"
export const _musicaldownmusicapi: string = "https://musicaldown.com/mp3/download"

View File

@ -1,2 +1,63 @@
export * from "./utils/downloader/tiktok_downloader"
export * from "./utils/stalker/tiktok_stalker"
/** Downloader */
import { MusicalDown } from "./utils/downloader/downloader_musicaldown"
import { SSSTik } from "./utils/downloader/downloader_ssstik"
import { TiktokAPI } from "./utils/downloader/downloader_tiktokApi"
/** Search */
import { StalkUser } from "./utils/search/tiktok_stalker"
import { SearchUser } from "./utils/search/tiktok_user_search"
/** Types */
import { MusicalDownResponse } from "./types/downloader/musicaldown"
import { SSSTikResponse } from "./types/downloader/ssstik"
import { TiktokAPIResponse } from "./types/downloader/tiktokApi"
import { TiktokUserSearchResponse } from "./types/search/userSearch"
import { StalkResult } from "./types/search/stalker"
type TiktokDownloaderResponse<T extends "v1" | "v2" | "v3"> = T extends "v1" ? TiktokAPIResponse : T extends "v2" ? SSSTikResponse : T extends "v3" ? MusicalDownResponse : TiktokAPIResponse
type TiktokSearchResponse<T extends "user" | "video"> = T extends "user" ? TiktokUserSearchResponse : T extends "video" ? any : TiktokUserSearchResponse
export const Tiktok = {
Downloader: async <T extends "v1" | "v2" | "v3">(url: string, options?: { version: T }): Promise<TiktokDownloaderResponse<T>> => {
switch (options?.version) {
case "v1": {
const response = await TiktokAPI(url)
return response as TiktokDownloaderResponse<T>
}
case "v2": {
const response = await SSSTik(url)
return response as TiktokDownloaderResponse<T>
}
case "v3": {
const response = await MusicalDown(url)
return response as TiktokDownloaderResponse<T>
}
default: {
const response = await TiktokAPI(url)
return response as TiktokDownloaderResponse<T>
}
}
},
Search: async <T extends "user" | "video">(query: string, options: { type: T; cookie: string }): Promise<TiktokSearchResponse<T>> => {
switch (options?.type) {
case "user": {
const response = await SearchUser(query, options.cookie)
return response as TiktokSearchResponse<T>
}
// case "video": {
// const response = await SearchVideo(query)
// return response as TiktokSearchResponse<T>
// }
default: {
const response = await SearchUser(query, options?.cookie)
return response as TiktokSearchResponse<T>
}
}
},
StalkUser: async (username: string, options: { cookie: string }): Promise<StalkResult> => {
const response = await StalkUser(username, options.cookie)
return response
}
}
export default Tiktok

View File

@ -1,31 +0,0 @@
import { MusicalDown } from "./downloader_musicaldown"
import { SSSTik } from "./downloader_ssstik"
import { TiktokAPI } from "./downloader_tiktokApi"
/** Types */
import { MusicalDownResponse } from "../../types/musicaldown"
import { SSSTikResponse } from "../../types/ssstik"
import { TiktokAPIResponse } from "../../types/tiktokApi"
type TiktokDownloaderResponse<T extends "v1" | "v2" | "v3"> = T extends "v1" ? TiktokAPIResponse : T extends "v2" ? SSSTikResponse : T extends "v3" ? MusicalDownResponse : TiktokAPIResponse
export const TiktokDownloader = async <T extends "v1" | "v2" | "v3">(url: string, options?: { version: T }): Promise<TiktokDownloaderResponse<T>> => {
switch (options?.version) {
case "v1": {
const response = await TiktokAPI(url)
return response as TiktokDownloaderResponse<T>
}
case "v2": {
const response = await SSSTik(url)
return response as TiktokDownloaderResponse<T>
}
case "v3": {
const response = await MusicalDown(url)
return response as TiktokDownloaderResponse<T>
}
default: {
const response = await TiktokAPI(url)
return response as TiktokDownloaderResponse<T>
}
}
}