UNPKG

@stackoverfloweth/vue-compositions

Version:

A collection of reusable vue compositions.

74 lines (73 loc) 2.59 kB
import type { DevtoolsPluginApi, TimelineEvent, ExtractSettingsTypes } from '@vue/devtools-api'; import { SubscriptionChannel } from '../useSubscription/models/channel'; export declare const SUBSCRIPTION_DEVTOOLS_SETTINGS: {}; export type SubscriptionDevtoolsSettings = ExtractSettingsTypes<typeof SUBSCRIPTION_DEVTOOLS_SETTINGS>; export declare function init(api: DevtoolsPluginApi<SubscriptionDevtoolsSettings>): void; export declare function addChannel(channel: SubscriptionChannel): void; export type UpdateChannelEventTypes = 'Loading' | 'Error' | 'Executed' | 'Response' | 'Refresh' | 'Paused' | 'Late'; type UpdateChannelEvent = { [K in UpdateChannelEventTypes]: CreateSubscriptionDevtoolsTimelineEvent<K, EventTypeToDataMap[K]>; }[UpdateChannelEventTypes]; export declare function updateChannel(channel: SubscriptionChannel, event: UpdateChannelEvent): void; export declare function removeChannel(channel: SubscriptionChannel): void; export declare function registerChannelSubscription(channel: SubscriptionChannel, subscriptionId: number): void; export declare function removeChannelSubscription(channel: SubscriptionChannel, subscriptionId: number): void; type CreateSubscriptionDevtoolsTimelineEvent<TEvent extends string, TData> = Omit<TimelineEvent<TData>, 'time'> & { title: `${string} · ${TEvent}`; groupId: string; }; type EventTypeToDataMap = { 'Channel created': { channel: SubscriptionChannel; action: string; }; 'Channel removed': { channel: SubscriptionChannel; action: string; }; 'Subscription created': { channel: SubscriptionChannel; action: string; subscriptionId: number; }; 'Subscription removed': { channel: SubscriptionChannel; action: string; subscriptionId: number; }; 'Loading': { channel: SubscriptionChannel; action: string; loading: boolean; }; 'Error': { channel: SubscriptionChannel; action: string; error: unknown; }; 'Executed': { channel: SubscriptionChannel; action: string; executed: boolean; }; 'Response': { channel: SubscriptionChannel; action: string; response: unknown; }; 'Refresh': { channel: SubscriptionChannel; action: string; }; 'Paused': { channel: SubscriptionChannel; action: string; paused: boolean; }; 'Late': { channel: SubscriptionChannel; action: string; late: boolean; }; }; export {};