2023-05-10 20:34:13 +03:00
|
|
|
import { Packed, Def } from '../src/schemas';
|
2023-05-21 19:35:48 +03:00
|
|
|
import { expectType } from 'tsd';
|
2023-05-10 20:34:13 +03:00
|
|
|
|
|
|
|
describe('schemas', () => {
|
|
|
|
test('user', () => {
|
|
|
|
type UserLite = Packed<'UserLite'>;
|
|
|
|
expectType<UserLite>({
|
|
|
|
id: 'string',
|
|
|
|
name: null,
|
|
|
|
username: 'string',
|
|
|
|
host: null,
|
|
|
|
avatarUrl: 'string',
|
|
|
|
avatarBlurhash: 'string',
|
|
|
|
isAdmin: false,
|
|
|
|
isModerator: false,
|
|
|
|
isBot: false,
|
|
|
|
isCat: false,
|
|
|
|
onlineStatus: null,
|
|
|
|
});
|
|
|
|
type UserDetailedNotMeOnly = Packed<'UserDetailedNotMeOnly'>;
|
|
|
|
type UserDetailedNotMe = Packed<'UserDetailedNotMe'>;
|
|
|
|
type MeDetailed = Packed<'MeDetailed'>;
|
|
|
|
type User = Packed<'User'>;
|
|
|
|
type UserDetailed = Packed<'UserDetailed'>;
|
|
|
|
});
|
|
|
|
test('user list', () => {
|
|
|
|
type UserList = Packed<'UserList'>;
|
|
|
|
});
|
|
|
|
test('app', () => {
|
|
|
|
type App = Packed<'App'>;
|
|
|
|
});
|
|
|
|
test('note', () => {
|
|
|
|
type Note = Packed<'Note'>;
|
|
|
|
});
|
|
|
|
test('note reaction', () => {
|
|
|
|
type NoteReaction = Packed<'NoteReaction'>;
|
|
|
|
});
|
|
|
|
test('note favorite', () => {
|
|
|
|
type NoteFavorite = Packed<'NoteFavorite'>;
|
|
|
|
});
|
|
|
|
test('notification', () => {
|
|
|
|
type Notification = Packed<'Notification'>;
|
2023-05-21 19:35:48 +03:00
|
|
|
type NotificationStrict = Packed<'NotificationStrict'>;
|
2023-05-10 20:34:13 +03:00
|
|
|
});
|
|
|
|
test('drive file', () => {
|
|
|
|
type DriveFile = Packed<'DriveFile'>;
|
|
|
|
});
|
|
|
|
test('drive folder', () => {
|
|
|
|
type DriveFolder = Packed<'DriveFolder'>;
|
|
|
|
});
|
|
|
|
test('following', () => {
|
|
|
|
type Following = Packed<'Following'>;
|
|
|
|
});
|
|
|
|
test('muting', () => {
|
|
|
|
type Muting = Packed<'Muting'>;
|
|
|
|
});
|
|
|
|
test('renote muting', () => {
|
|
|
|
type RenoteMuting = Packed<'RenoteMuting'>;
|
|
|
|
});
|
|
|
|
test('blocking', () => {
|
|
|
|
type Blocking = Packed<'Blocking'>;
|
|
|
|
});
|
|
|
|
test('hashtag', () => {
|
|
|
|
type Hashtag = Packed<'Hashtag'>;
|
|
|
|
});
|
|
|
|
test('page', () => {
|
|
|
|
type Page = Packed<'Page'>;
|
|
|
|
});
|
|
|
|
test('channel', () => {
|
|
|
|
type Channel = Packed<'Channel'>;
|
|
|
|
});
|
|
|
|
test('queue count', () => {
|
|
|
|
type QueueCount = Packed<'QueueCount'>;
|
|
|
|
});
|
|
|
|
test('antenna', () => {
|
|
|
|
type Antenna = Packed<'Antenna'>;
|
|
|
|
});
|
|
|
|
test('clip', () => {
|
|
|
|
type Clip = Packed<'Clip'>;
|
|
|
|
});
|
|
|
|
test('federation instance', () => {
|
|
|
|
type FederationInstance = Packed<'FederationInstance'>;
|
|
|
|
});
|
|
|
|
test('gallery post', () => {
|
|
|
|
type GalleryPost = Packed<'GalleryPost'>;
|
|
|
|
});
|
|
|
|
test('emoji', () => {
|
|
|
|
type EmojiSimple = Packed<'EmojiSimple'>;
|
|
|
|
type EmojiDetailed = Packed<'EmojiDetailed'>;
|
|
|
|
});
|
|
|
|
test('flash', () => {
|
|
|
|
type Flash = Packed<'Flash'>;
|
|
|
|
});
|
2023-05-15 12:44:23 +03:00
|
|
|
test('announcement', () => {
|
|
|
|
type Announcement = Packed<'Announcement'>;
|
|
|
|
});
|
|
|
|
test('ad', () => {
|
|
|
|
type Ad = Packed<'Ad'>;
|
|
|
|
});
|
2023-05-10 20:34:13 +03:00
|
|
|
});
|