Interfaccia per la gestione dei plugin in ShogunCore

interface IShogunCore {
    _gun: IGunInstance<any>;
    _user: null | IGunUserInstance<any, any, any, any>;
    config: ShogunCoreConfig;
    db: DataBase;
    gun: IGunInstance<any>;
    pluginManager: any;
    provider?: Provider;
    rx: RxJS;
    signer?: Signer;
    storage: ShogunStorage;
    user: null | IGunUserInstance<any, any, any, any>;
    wallets?: Wallets;
    checkPluginCompatibility(): {
        compatible: { name: string; version: string }[];
        incompatible: { name: string; reason: string; version: string }[];
        unknown: { name: string; version: string }[];
    };
    emit<K extends keyof ShogunEventMap>(
        eventName: K,
        data?: ShogunEventMap[K] extends void ? never : ShogunEventMap[K],
    ): boolean;
    getAuthenticationMethod(type: AuthMethod): any;
    getAuthMethod(): undefined | AuthMethod;
    getCurrentUser(): null | { pub: string; user?: any };
    getIsLoggedIn(): boolean;
    getPlugin<T = ShogunPlugin>(name: string): undefined | T;
    getPluginCount(): number;
    getPluginsByCategory(category: PluginCategory): ShogunPlugin[];
    getPluginsInfo(): {
        category?: PluginCategory;
        description?: string;
        name: string;
        version: string;
    }[];
    getPluginsInitializationStatus(): Record<
        string,
        { error?: string; initialized: boolean },
    >;
    getPluginSystemDebugInfo(): {
        compatibility: {
            compatible: { name: string; version: string }[];
            incompatible: { name: string; reason: string; version: string }[];
            unknown: { name: string; version: string }[];
        };
        initializationStatus: Record<
            string,
            { error?: string; initialized: boolean },
        >;
        plugins: {
            category?: PluginCategory;
            description?: string;
            error?: string;
            initialized: boolean;
            name: string;
            version: string;
        }[];
        shogunCoreVersion: string;
        totalPlugins: number;
        validation: {
            failedPlugins: string[];
            initializedPlugins: number;
            totalPlugins: number;
            warnings: string[];
        };
    };
    getRecentErrors(count?: number): ShogunError[];
    hasPlugin(name: string): boolean;
    isLoggedIn(): boolean;
    login(
        username: string,
        password: string,
        pair?: null | ISEAPair,
    ): Promise<AuthResult>;
    loginWithPair(username: string, pair: ISEAPair): Promise<AuthResult>;
    logout(): void;
    off<K extends keyof ShogunEventMap>(
        eventName: K,
        listener: ShogunEventMap[K] extends void
            ? () => void
            : (data: ShogunEventMap[K]) => void,
    ): this;
    on<K extends keyof ShogunEventMap>(
        eventName: K,
        listener: ShogunEventMap[K] extends void
            ? () => void
            : (data: ShogunEventMap[K]) => void,
    ): this;
    once<K extends keyof ShogunEventMap>(
        eventName: K,
        listener: ShogunEventMap[K] extends void
            ? () => void
            : (data: ShogunEventMap[K]) => void,
    ): this;
    register(plugin: ShogunPlugin): void;
    reinitializeFailedPlugins(): {
        failed: { error: string; name: string }[];
        success: string[];
    };
    removeAllListeners(eventName?: string | symbol): this;
    saveCredentials(credentials: any): Promise<void>;
    setAuthMethod(method: AuthMethod): void;
    signUp(
        username: string,
        password?: string,
        pair?: null | ISEAPair,
    ): Promise<SignUpResult>;
    unregister(pluginName: string): void;
    validatePluginSystem(): {
        failedPlugins: string[];
        initializedPlugins: number;
        totalPlugins: number;
        warnings: string[];
    };
}

Hierarchy (View Summary)

Implemented by

Properties

_gun: IGunInstance<any>
_user: null | IGunUserInstance<any, any, any, any>
gun: IGunInstance<any>
pluginManager: any
provider?: Provider
rx: RxJS
signer?: Signer
storage: ShogunStorage
user: null | IGunUserInstance<any, any, any, any>
wallets?: Wallets

Methods

  • Verifica la compatibilità dei plugin con la versione corrente di ShogunCore

    Returns {
        compatible: { name: string; version: string }[];
        incompatible: { name: string; reason: string; version: string }[];
        unknown: { name: string; version: string }[];
    }

    Oggetto con informazioni sulla compatibilità

  • Type Parameters

    • K extends keyof ShogunEventMap

    Parameters

    • eventName: K
    • Optionaldata: ShogunEventMap[K] extends void ? never : ShogunEventMap[K]

    Returns boolean

  • Returns null | { pub: string; user?: any }

  • Returns boolean

  • Recupera un plugin registrato per nome

    Type Parameters

    • T = ShogunPlugin

      Tipo del plugin o dell'interfaccia pubblica del plugin

    Parameters

    • name: string

      Nome del plugin

    Returns undefined | T

    Il plugin richiesto o undefined se non trovato

  • Ottiene il numero totale di plugin registrati

    Returns number

    Numero di plugin registrati

  • Ottiene informazioni su tutti i plugin registrati

    Returns {
        category?: PluginCategory;
        description?: string;
        name: string;
        version: string;
    }[]

    Array di oggetti con informazioni sui plugin

  • Verifica se tutti i plugin sono inizializzati correttamente

    Returns Record<string, { error?: string; initialized: boolean }>

    Oggetto con stato di inizializzazione per ogni plugin

  • Ottiene informazioni complete di debug sul sistema di plugin

    Returns {
        compatibility: {
            compatible: { name: string; version: string }[];
            incompatible: { name: string; reason: string; version: string }[];
            unknown: { name: string; version: string }[];
        };
        initializationStatus: Record<
            string,
            { error?: string; initialized: boolean },
        >;
        plugins: {
            category?: PluginCategory;
            description?: string;
            error?: string;
            initialized: boolean;
            name: string;
            version: string;
        }[];
        shogunCoreVersion: string;
        totalPlugins: number;
        validation: {
            failedPlugins: string[];
            initializedPlugins: number;
            totalPlugins: number;
            warnings: string[];
        };
    }

    Informazioni complete di debug del sistema di plugin

  • Verifica se un plugin è registrato

    Parameters

    • name: string

      Nome del plugin da verificare

    Returns boolean

    true se il plugin è registrato, false altrimenti

  • Returns boolean

  • Parameters

    • username: string
    • password: string
    • Optionalpair: null | ISEAPair

    Returns Promise<AuthResult>

  • Parameters

    • username: string
    • pair: ISEAPair

    Returns Promise<AuthResult>

  • Returns void

  • Type Parameters

    • K extends keyof ShogunEventMap

    Parameters

    • eventName: K
    • listener: ShogunEventMap[K] extends void ? () => void : (data: ShogunEventMap[K]) => void

    Returns this

  • Type Parameters

    • K extends keyof ShogunEventMap

    Parameters

    • eventName: K
    • listener: ShogunEventMap[K] extends void ? () => void : (data: ShogunEventMap[K]) => void

    Returns this

  • Type Parameters

    • K extends keyof ShogunEventMap

    Parameters

    • eventName: K
    • listener: ShogunEventMap[K] extends void ? () => void : (data: ShogunEventMap[K]) => void

    Returns this

  • Tenta di reinizializzare i plugin falliti

    Returns { failed: { error: string; name: string }[]; success: string[] }

    Oggetto con risultati della reinizializzazione

  • Parameters

    • OptionaleventName: string | symbol

    Returns this

  • Parameters

    • credentials: any

    Returns Promise<void>

  • Parameters

    • username: string
    • Optionalpassword: string
    • Optionalpair: null | ISEAPair

    Returns Promise<SignUpResult>

  • Cancella la registrazione di un plugin

    Parameters

    • pluginName: string

      Nome del plugin da cancellare

    Returns void

  • Valida l'integrità del sistema di plugin

    Returns {
        failedPlugins: string[];
        initializedPlugins: number;
        totalPlugins: number;
        warnings: string[];
    }

    Oggetto con risultati della validazione