Add more detailed type annotation for Account (#24815)

shrike
fusagiko / takayamaki 2023-05-09 19:09:32 +09:00 committed by GitHub
parent c8181eb0a4
commit 6579e3af7d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 48 additions and 4 deletions

View File

@ -1,10 +1,54 @@
import type { Record } from 'immutable';
type AccountValues = {
id: number;
type CustomEmoji = Record<{
shortcode: string;
static_url: string;
url: string;
}>;
type AccountField = Record<{
name: string;
value: string;
verified_at: string | null;
}>;
type AccountApiResponseValues = {
acct: string;
avatar: string;
avatar_static: string;
[key: string]: any;
bot: boolean;
created_at: string;
discoverable: boolean;
display_name: string;
emojis: CustomEmoji[];
fields: AccountField[];
followers_count: number;
following_count: number;
group: boolean;
header: string;
header_static: string;
id: string;
last_status_at: string;
locked: boolean;
note: string;
statuses_count: number;
url: string;
username: string;
};
export type Account = Record<AccountValues>;
type NormalizedAccountField = Record<{
name_emojified: string;
value_emojified: string;
value_plain: string;
}>;
type NormalizedAccountValues = {
display_name_html: string;
fields: NormalizedAccountField[];
note_emojified: string;
note_plain: string;
};
export type Account = Record<
AccountApiResponseValues & NormalizedAccountValues
>;