UNPKG

website-visitor-counter

Version:

Real visitor counting system with Railway backend - works like komarev.com with accurate cross-device counting

72 lines (71 loc) 3.2 kB
export interface CloudPlatformAdapter { name: string; getCounterUrl(project: string, options?: VisitorCounterOptions): string; getCountUrl(project: string): string; getResetUrl(project: string): string; getHealthUrl(): string; getStatsUrl(): string; } export declare class RailwayAdapter implements CloudPlatformAdapter { name: string; private baseUrl; constructor(baseUrl?: string); getCounterUrl(project: string, options?: VisitorCounterOptions): string; getCountUrl(project: string): string; getResetUrl(project: string): string; getHealthUrl(): string; getStatsUrl(): string; private buildQueryString; } export declare class VercelAdapter implements CloudPlatformAdapter { name: string; private baseUrl; constructor(baseUrl?: string); getCounterUrl(project: string, options?: VisitorCounterOptions): string; getCountUrl(project: string): string; getResetUrl(project: string): string; getHealthUrl(): string; getStatsUrl(): string; private buildQueryString; } export declare class NetlifyAdapter implements CloudPlatformAdapter { name: string; private baseUrl; constructor(baseUrl?: string); getCounterUrl(project: string, options?: VisitorCounterOptions): string; getCountUrl(project: string): string; getResetUrl(project: string): string; getHealthUrl(): string; getStatsUrl(): string; private buildQueryString; } export declare class CloudflareAdapter implements CloudPlatformAdapter { name: string; private baseUrl; constructor(baseUrl?: string); getCounterUrl(project: string, options?: VisitorCounterOptions): string; getCountUrl(project: string): string; getResetUrl(project: string): string; getHealthUrl(): string; getStatsUrl(): string; private buildQueryString; } export interface VisitorCounterOptions { label?: string; color?: string; style?: 'flat' | 'flat-square' | 'for-the-badge' | 'plastic' | 'social'; base?: number; abbreviated?: boolean; platform?: 'railway' | 'vercel' | 'netlify' | 'cloudflare' | 'custom'; customBaseUrl?: string; } export declare function createPlatformAdapter(options?: VisitorCounterOptions): CloudPlatformAdapter; export declare function getVisitorCounterBadge(project: string, options?: VisitorCounterOptions): Promise<string>; export declare function getVisitorCount(project: string, options?: VisitorCounterOptions): Promise<number>; export declare function resetVisitorCount(project: string, options?: VisitorCounterOptions): Promise<boolean>; export declare function getSimpleVisitorBadge(project: string, options?: VisitorCounterOptions): string; export declare function getVisitorCounterHTML(project: string, options?: VisitorCounterOptions): string; export declare function getVisitorCounterMarkdown(project: string, options?: VisitorCounterOptions): string; export declare function getVisitorCounterReact(project: string, options?: VisitorCounterOptions): string; export declare function getBackendHealth(options?: VisitorCounterOptions): Promise<boolean>; export declare function getBackendStats(options?: VisitorCounterOptions): Promise<any>;