import { expectType } from 'tsd'; import * as Misskey from '../src'; describe('API', () => { test('success', async () => { const cli = new Misskey.api.APIClient({ origin: 'https://cherrypick.test', credential: 'TOKEN' }); const res = await cli.request('meta', { detail: true }); expectType(res); }); test('conditional respose type (meta)', async () => { const cli = new Misskey.api.APIClient({ origin: 'https://cherrypick.test', credential: 'TOKEN' }); const res = await cli.request('meta', { detail: true }); expectType(res); const res2 = await cli.request('meta', { detail: false }); expectType(res2); const res3 = await cli.request('meta', { }); expectType(res3); const res4 = await cli.request('meta', { detail: true as boolean }); expectType(res4); }); test('conditional respose type (users/show)', async () => { const cli = new Misskey.api.APIClient({ origin: 'https://cherrypick.test', credential: 'TOKEN' }); const res = await cli.request('users/show', { userId: 'xxxxxxxx' }); expectType(res); const res2 = await cli.request('users/show', { userIds: ['xxxxxxxx'] }); expectType(res2); }); });