UNPKG

@cutls/megalodon

Version:

Mastodon, Pleroma, Misskey API client for node.js and browser

90 lines (89 loc) 5.03 kB
import Response from '../response.js'; import MisskeyEntity from './entity.js'; import MegalodonEntity from '../entity.js'; import WebSocket from './web_socket.js'; export declare const isEmojiArr: (item: any) => item is import("./entities/emoji.js").Emoji[]; declare namespace MisskeyAPI { namespace Entity { type App = MisskeyEntity.App; type Blocking = MisskeyEntity.Blocking; type Choice = MisskeyEntity.Choice; type CreatedNote = MisskeyEntity.CreatedNote; type Emoji = MisskeyEntity.Emoji; type EmojiKeyValue = MisskeyEntity.EmojiKeyValue; type Favorite = MisskeyEntity.Favorite; type File = MisskeyEntity.File; type Follower = MisskeyEntity.Follower; type Following = MisskeyEntity.Following; type FollowRequest = MisskeyEntity.FollowRequest; type Hashtag = MisskeyEntity.Hashtag; type List = MisskeyEntity.List; type Antenna = MisskeyEntity.Antenna; type Meta = MisskeyEntity.Meta; type Mute = MisskeyEntity.Mute; type Note = MisskeyEntity.Note; type Notification = MisskeyEntity.Notification; type Poll = MisskeyEntity.Poll; type Reaction = MisskeyEntity.Reaction; type Relation = MisskeyEntity.Relation; type User = MisskeyEntity.User; type UserDetail = MisskeyEntity.UserDetail; type UserKey = MisskeyEntity.UserKey; type Session = MisskeyEntity.Session; type Stats = MisskeyEntity.Stats; type APIEmoji = { emojis: Emoji[]; }; } namespace Converter { const emoji: (e: Entity.Emoji) => MegalodonEntity.Emoji; const emojiConverter: (e: MisskeyEntity.EmojiKeyValue | MisskeyEntity.Emoji[]) => import("./entities/emoji.js").Emoji[]; const user: (u: Entity.User, host: string) => MegalodonEntity.Account; const userDetail: (u: Entity.UserDetail, host: string) => MegalodonEntity.Account; const visibility: (v: 'public' | 'home' | 'followers' | 'specified') => 'public' | 'unlisted' | 'private' | 'direct'; const encodeVisibility: (v: 'public' | 'unlisted' | 'private' | 'direct') => 'public' | 'home' | 'followers' | 'specified'; const fileType: (s: string) => 'unknown' | 'image' | 'gifv' | 'video' | 'audio'; const file: (f: Entity.File) => MegalodonEntity.Attachment; const follower: (f: Entity.Follower, host: string) => MegalodonEntity.Account; const following: (f: Entity.Following, host: string) => MegalodonEntity.Account; const relation: (r: Entity.Relation) => MegalodonEntity.Relationship; const choice: (c: Entity.Choice) => MegalodonEntity.PollOption; const poll: (p: Entity.Poll) => MegalodonEntity.Poll; const note: (n: Entity.Note, host: string) => MegalodonEntity.Status; const mapReactions: (host: string, r: { [key: string]: number; }, myReaction: string, emojiData: MisskeyEntity.Emoji[] | MisskeyEntity.EmojiKeyValue) => Array<MegalodonEntity.Reaction>; const reactions: (r: Array<Entity.Reaction>, host: string, emojiData: MisskeyEntity.Emoji[] | MisskeyEntity.EmojiKeyValue) => Array<MegalodonEntity.Reaction>; const emojiExtractor: (text: string, host: string) => MisskeyEntity.Emoji[]; const noteToConversation: (n: Entity.Note, host: string) => MegalodonEntity.Conversation; const list: (l: Entity.List) => MegalodonEntity.List; const antennaToList: (a: Entity.Antenna) => MegalodonEntity.List; const encodeNotificationType: (e: MegalodonEntity.NotificationType) => MisskeyEntity.NotificationType; const decodeNotificationType: (e: MisskeyEntity.NotificationType) => MegalodonEntity.NotificationType; const notification: (n: Entity.Notification, host: string) => MegalodonEntity.Notification; const stats: (s: Entity.Stats) => MegalodonEntity.Stats; const meta: (m: Entity.Meta, s: Entity.Stats) => MegalodonEntity.Instance; const hashtag: (h: Entity.Hashtag) => MegalodonEntity.Tag; } const DEFAULT_SCOPE: string[]; interface Interface { post<T = any>(path: string, params?: any, headers?: { [key: string]: string; }): Promise<Response<T>>; cancel(): void; socket(channel: 'user' | 'localTimeline' | 'hybridTimeline' | 'globalTimeline' | 'conversation' | 'list', listId?: string): WebSocket; } class Client implements Interface { private accessToken; private baseUrl; private userAgent; private abortController; constructor(baseUrl: string, accessToken: string | null, userAgent?: string); post<T>(path: string, params?: any, headers?: { [key: string]: string; }): Promise<Response<T>>; cancel(): void; socket(channel: 'user' | 'localTimeline' | 'hybridTimeline' | 'globalTimeline' | 'conversation' | 'list', listId?: string): WebSocket; } } export default MisskeyAPI;