[Glitch] Add more detailed type annotation for Account

Port a2e9b9d87d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
lolsob-rspec
fusagiko / takayamaki 2023-05-09 19:09:32 +09:00 committed by Claire
parent 7f078e41c0
commit c5fb52eb23
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
>;