You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wattpad-deno/src/types.d.ts

119 lines
2.3 KiB

export type ID = BigInt | number | string;
export type {
DOMParser,
} from "https://deno.land/x/deno_dom@v0.1.36-alpha/src/dom/dom-parser.ts";
export type {
Element,
} from "https://deno.land/x/deno_dom@v0.1.36-alpha/src/dom/element.ts";
export type {
HTMLDocument,
} from "https://deno.land/x/deno_dom@v0.1.36-alpha/src/dom/document.ts";
export interface StoryJSON {
id: string;
title: string;
length: number;
createDate: string;
modifyDate: string;
voteCount: number;
readCount: number;
commentCount: number;
language: Language;
user: SearchUser;
description: string;
cover: string;
completed: boolean;
categories: number[];
tags: string[];
rating: number;
copyright: number;
url: string;
numParts: number;
lastPublishedPart: LastPublishedPart;
parts: Part[];
deleted: boolean;
tagRankings: TagRanking[];
highlight_colour: string;
promoted: boolean;
sponsor: any[];
isAdExempt: boolean;
story_text_url: TextURL;
isPaywalled: boolean;
paidModel: string;
}
export interface Language {
id: number;
name: string;
}
export interface LastPublishedPart {
createDate: string;
}
export interface Part {
id: number;
title: string;
url: string;
modifyDate: string;
length: number;
videoId: string;
photoUrl: string;
commentCount: number;
voteCount: number;
readCount: number;
wordCount: number;
text_url: TextURL;
deleted?: boolean;
}
export interface TextURL {
text: string;
}
export interface TagRanking {
name: string;
rank: number;
total: number;
}
export interface SearchUser {
name: string;
avatar: string;
fullname: string;
}
export interface SearchResults {
nextUrl: string;
stories: SearchStory[];
tags: SearchTag[];
total: number;
}
export interface SearchStory {
completed: boolean;
cover: string;
description: string;
id: string;
isPaywalled: boolean;
lastPublishedPart: LastPublishedPart;
mature: boolean;
numParts: number;
paidModel: null;
readCount: number;
tags: string[];
title: string;
user: SearchUser;
voteCount: number;
}
export interface SearchUser {
name: string;
}
export interface SearchTag {
count: number;
id: string;
name: string;
}