UNPKG

@cutls/megalodon

Version:

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

220 lines (219 loc) 7.53 kB
import WebSocket from './web_socket.js' import Response from '../response.js' import FriendicaEntity from './entity.js' import MegalodonEntity from '../entity.js' import { UnknownNotificationTypeError } from '../notification.js' declare namespace FriendicaAPI { interface Interface { get<T = any>( path: string, params?: any, headers?: { [key: string]: string }, pathIsFullyQualified?: boolean ): Promise<Response<T>> put<T = any>( path: string, params?: any, headers?: { [key: string]: string } ): Promise<Response<T>> putForm<T = any>( path: string, params?: any, headers?: { [key: string]: string } ): Promise<Response<T>> patch<T = any>( path: string, params?: any, headers?: { [key: string]: string } ): Promise<Response<T>> patchForm<T = any>( path: string, params?: any, headers?: { [key: string]: string } ): Promise<Response<T>> post<T = any>( path: string, params?: any, headers?: { [key: string]: string } ): Promise<Response<T>> postForm<T = any>( path: string, params?: any, headers?: { [key: string]: string } ): Promise<Response<T>> del<T = any>( path: string, params?: any, headers?: { [key: string]: string } ): Promise<Response<T>> cancel(): void socket(url: string, stream: string, params?: string): WebSocket } class Client implements Interface { static DEFAULT_SCOPE: string[] static DEFAULT_URL: string static NO_REDIRECT: string private accessToken private baseUrl private userAgent private abortController constructor(baseUrl: string, accessToken?: string | null, userAgent?: string) get<T>( path: string, params?: {}, headers?: { [key: string]: string }, pathIsFullyQualified?: boolean ): Promise<Response<T>> put<T>( path: string, params?: {}, headers?: { [key: string]: string } ): Promise<Response<T>> putForm<T>( path: string, params?: {}, headers?: { [key: string]: string } ): Promise<Response<T>> patch<T>( path: string, params?: {}, headers?: { [key: string]: string } ): Promise<Response<T>> patchForm<T>( path: string, params?: {}, headers?: { [key: string]: string } ): Promise<Response<T>> post<T>( path: string, params?: {}, headers?: { [key: string]: string } ): Promise<Response<T>> postForm<T>( path: string, params?: {}, headers?: { [key: string]: string } ): Promise<Response<T>> del<T>( path: string, params?: {}, headers?: { [key: string]: string } ): Promise<Response<T>> cancel(): void socket(url: string, stream: string, params?: string): WebSocket } namespace Entity { type Account = FriendicaEntity.Account type Activity = FriendicaEntity.Activity type Application = FriendicaEntity.Application type AsyncAttachment = FriendicaEntity.AsyncAttachment type Attachment = FriendicaEntity.Attachment type Card = FriendicaEntity.Card type Context = FriendicaEntity.Context type Conversation = FriendicaEntity.Conversation type Emoji = FriendicaEntity.Emoji type FeaturedTag = FriendicaEntity.FeaturedTag type Field = FriendicaEntity.Field type Filter = FriendicaEntity.Filter type FollowRequest = FriendicaEntity.FollowRequest type History = FriendicaEntity.History type IdentityProof = FriendicaEntity.IdentityProof type Instance = FriendicaEntity.Instance type List = FriendicaEntity.List type Marker = FriendicaEntity.Marker type Mention = FriendicaEntity.Mention type Notification = FriendicaEntity.Notification type Poll = FriendicaEntity.Poll type PollOption = FriendicaEntity.PollOption type Preferences = FriendicaEntity.Preferences type PushSubscription = FriendicaEntity.PushSubscription type Relationship = FriendicaEntity.Relationship type Report = FriendicaEntity.Report type Results = FriendicaEntity.Results type ScheduledStatus = FriendicaEntity.ScheduledStatus type Source = FriendicaEntity.Source type Stats = FriendicaEntity.Stats type Status = FriendicaEntity.Status type StatusVisibility = FriendicaEntity.StatusVisibility type StatusParams = FriendicaEntity.StatusParams type StatusSource = FriendicaEntity.StatusSource type Tag = FriendicaEntity.Tag type Token = FriendicaEntity.Token type URLs = FriendicaEntity.URLs } namespace Converter { const encodeNotificationType: (t: MegalodonEntity.NotificationType) => FriendicaEntity.NotificationType | UnknownNotificationTypeError const decodeNotificationType: (t: FriendicaEntity.NotificationType) => MegalodonEntity.NotificationType | UnknownNotificationTypeError const visibility: (v: FriendicaAPI.Entity.StatusVisibility) => MegalodonEntity.StatusVisibility const encodeVisibility: (v: MegalodonEntity.StatusVisibility) => FriendicaAPI.Entity.StatusVisibility const account: (a: Entity.Account) => MegalodonEntity.Account const activity: (a: Entity.Activity) => MegalodonEntity.Activity const application: (a: Entity.Application) => MegalodonEntity.Application const attachment: (a: Entity.Attachment) => MegalodonEntity.Attachment const async_attachment: (a: Entity.AsyncAttachment) => import('../entities/attachment.js').Attachment | import('../entities/async_attachment.js').AsyncAttachment const card: (c: Entity.Card) => MegalodonEntity.Card const context: (c: Entity.Context) => MegalodonEntity.Context const conversation: (c: Entity.Conversation) => MegalodonEntity.Conversation const emoji: (e: Entity.Emoji) => MegalodonEntity.Emoji const featured_tag: (e: Entity.FeaturedTag) => MegalodonEntity.FeaturedTag const field: (f: Entity.Field) => MegalodonEntity.Field const filter: (f: Entity.Filter) => MegalodonEntity.Filter const follow_request: (f: Entity.FollowRequest) => MegalodonEntity.FollowRequest const history: (h: Entity.History) => MegalodonEntity.History const identity_proof: (i: Entity.IdentityProof) => MegalodonEntity.IdentityProof const instance: (i: Entity.Instance) => MegalodonEntity.Instance const list: (l: Entity.List) => MegalodonEntity.List const marker: (m: Entity.Marker) => MegalodonEntity.Marker const mention: (m: Entity.Mention) => MegalodonEntity.Mention const notification: (n: Entity.Notification) => MegalodonEntity.Notification | UnknownNotificationTypeError const poll: (p: Entity.Poll) => MegalodonEntity.Poll const poll_option: (p: Entity.PollOption) => MegalodonEntity.PollOption const preferences: (p: Entity.Preferences) => MegalodonEntity.Preferences const push_subscription: (p: Entity.PushSubscription) => MegalodonEntity.PushSubscription const relationship: (r: Entity.Relationship) => MegalodonEntity.Relationship const report: (r: Entity.Report) => MegalodonEntity.Report const results: (r: Entity.Results) => MegalodonEntity.Results const scheduled_status: (s: Entity.ScheduledStatus) => MegalodonEntity.ScheduledStatus const source: (s: Entity.Source) => MegalodonEntity.Source const stats: (s: Entity.Stats) => MegalodonEntity.Stats const status: (s: Entity.Status) => MegalodonEntity.Status const status_params: (s: Entity.StatusParams) => MegalodonEntity.StatusParams const status_source: (s: Entity.StatusSource) => MegalodonEntity.StatusSource const tag: (t: Entity.Tag) => MegalodonEntity.Tag const token: (t: Entity.Token) => MegalodonEntity.Token const urls: (u: Entity.URLs) => MegalodonEntity.URLs } } export default FriendicaAPI