From f5ba43073f67ace72936b6973597d1b20df8c759 Mon Sep 17 00:00:00 2001 From: TobyG74 Date: Fri, 29 Mar 2024 20:04:08 +0700 Subject: [PATCH] feat: change to default export --- src/api/index.ts | 7 --- src/index.ts | 65 ++++++++++++++++++++++- src/utils/downloader/tiktok_downloader.ts | 31 ----------- 3 files changed, 63 insertions(+), 40 deletions(-) delete mode 100644 src/api/index.ts delete mode 100644 src/utils/downloader/tiktok_downloader.ts diff --git a/src/api/index.ts b/src/api/index.ts deleted file mode 100644 index a726ae0..0000000 --- a/src/api/index.ts +++ /dev/null @@ -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" diff --git a/src/index.ts b/src/index.ts index 29ad316..4f08084 100644 --- a/src/index.ts +++ b/src/index.ts @@ -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" ? TiktokAPIResponse : T extends "v2" ? SSSTikResponse : T extends "v3" ? MusicalDownResponse : TiktokAPIResponse +type TiktokSearchResponse = T extends "user" ? TiktokUserSearchResponse : T extends "video" ? any : TiktokUserSearchResponse + +export const Tiktok = { + Downloader: async (url: string, options?: { version: T }): Promise> => { + switch (options?.version) { + case "v1": { + const response = await TiktokAPI(url) + return response as TiktokDownloaderResponse + } + case "v2": { + const response = await SSSTik(url) + return response as TiktokDownloaderResponse + } + case "v3": { + const response = await MusicalDown(url) + return response as TiktokDownloaderResponse + } + default: { + const response = await TiktokAPI(url) + return response as TiktokDownloaderResponse + } + } + }, + Search: async (query: string, options: { type: T; cookie: string }): Promise> => { + switch (options?.type) { + case "user": { + const response = await SearchUser(query, options.cookie) + return response as TiktokSearchResponse + } + // case "video": { + // const response = await SearchVideo(query) + // return response as TiktokSearchResponse + // } + default: { + const response = await SearchUser(query, options?.cookie) + return response as TiktokSearchResponse + } + } + }, + StalkUser: async (username: string, options: { cookie: string }): Promise => { + const response = await StalkUser(username, options.cookie) + return response + } +} + +export default Tiktok diff --git a/src/utils/downloader/tiktok_downloader.ts b/src/utils/downloader/tiktok_downloader.ts deleted file mode 100644 index 476aeed..0000000 --- a/src/utils/downloader/tiktok_downloader.ts +++ /dev/null @@ -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" ? TiktokAPIResponse : T extends "v2" ? SSSTikResponse : T extends "v3" ? MusicalDownResponse : TiktokAPIResponse - -export const TiktokDownloader = async (url: string, options?: { version: T }): Promise> => { - switch (options?.version) { - case "v1": { - const response = await TiktokAPI(url) - return response as TiktokDownloaderResponse - } - case "v2": { - const response = await SSSTik(url) - return response as TiktokDownloaderResponse - } - case "v3": { - const response = await MusicalDown(url) - return response as TiktokDownloaderResponse - } - default: { - const response = await TiktokAPI(url) - return response as TiktokDownloaderResponse - } - } -}