UNPKG

vue3-disqus

Version:

Vue component to integrate Disqus comments in your application, with support for SPA

60 lines (59 loc) 1.56 kB
import { PAGE_CONFIG_KEYS, SSO_KEYS } from "./constants"; import { App } from "vue"; type SSOKeys = typeof SSO_KEYS; type PageConfigKeys = typeof PAGE_CONFIG_KEYS; interface DisqusConfigCallbacks extends Record<string, any> { [key: string]: any; preData?: (...args: any[]) => any; preInit?: (...args: any[]) => any; onInit?: (...args: any[]) => any; onReady?: (...args: any[]) => any; afterRender?: (...args: any[]) => any; preReset?: (...args: any[]) => any; onIdentify?: (...args: any[]) => any; beforeComment?: (...args: any[]) => any; onNewComment?: (...args: any[]) => any; onPaginate?: (...args: any[]) => any; } export interface DisqusOptions { shortname?: string; } export interface DisqusInstance extends DisqusOptions { reset: any; } export interface DisqusConfig { url?: string; identifier?: string; title?: string; categoryID?: string; language?: string; sso?: SSOKeys; page?: PageConfigKeys; callbacks: DisqusConfigCallbacks; } interface Disqus { host: { _loadEmbed: (...args: any) => any; }; request: { get: (...args: any) => any; }; reset: (...args: any) => any; vglnk: (...args: any) => any; } interface DisqusWidgets { displayCount: (...args: any) => any; getCount: (...args: any) => any; domain: string; forum: string; proto: string; } declare global { interface Window { Vue: App; DISQUS: Disqus; DISQUSWIDGETS: DisqusWidgets; location: Location; } } export {};