Interfaccia per la gestione dei plugin in ShogunCore

interface IShogunCore {
    config: ShogunSDKConfig;
    did?: DID;
    gun: IGunInstance<any>;
    gundb: GunDB;
    metamask?: MetaMask;
    provider?: Provider;
    rx: GunRxJS;
    stealth?: Stealth;
    storage: ShogunStorage;
    webauthn?: Webauthn;
    compute<T, R>(
        sources: (string | Observable<any>)[],
        computeFn: (...values: T[]) => R,
    ): Observable<R>;
    configureLogging(config: LoggingConfig): void;
    emit(eventName: string | symbol, ...args: any[]): boolean;
    get(path: string): Promise<any>;
    getAuthenticationMethod(type: "webauthn" | "password" | "metamask"): any;
    getMainWallet(): null | Wallet;
    getPlugin<T>(name: string): undefined | T;
    getPluginsByCategory(category: PluginCategory): ShogunPlugin[];
    getRecentErrors(count?: number): ShogunError[];
    getRpcUrl(): null | string;
    hasPlugin(name: string): boolean;
    isLoggedIn(): boolean;
    isWebAuthnSupported(): boolean;
    login(username: string, password: string): Promise<AuthResult>;
    loginWithMetaMask(address: string): Promise<AuthResult>;
    loginWithWebAuthn(username: string): Promise<AuthResult>;
    logout(): void;
    match<T>(path: any, matchFn?: (data: any) => boolean): Observable<T[]>;
    observe<T>(path: any): Observable<T>;
    observeUser<T>(path: string): Observable<T>;
    off(eventName: string | symbol, listener: (...args: any[]) => void): any;
    on(eventName: string | symbol, listener: (...args: any[]) => void): any;
    once(eventName: string | symbol, listener: (...args: any[]) => void): any;
    onceObservable<T>(path: any): Observable<T>;
    put(data: Record<string, any>): Promise<any>;
    register(plugin: ShogunPlugin): void;
    removeAllListeners(eventName?: string | symbol): any;
    rxPut<T>(path: any, data: T): Observable<T>;
    rxSet<T>(path: any, data: T): Observable<T>;
    rxUserPut<T>(path: string, data: T): Observable<T>;
    setRpcUrl(rpcUrl: string): boolean;
    signUp(
        username: string,
        password: string,
        passwordConfirmation?: string,
    ): Promise<SignUpResult>;
    signUpWithMetaMask(address: string): Promise<AuthResult>;
    signUpWithWebAuthn(username: string): Promise<AuthResult>;
    unregister(pluginName: string): void;
    userGet(path: string): Promise<any>;
    userPut(data: Record<string, any>): Promise<any>;
}

Hierarchy (View Summary)

Implemented by

Properties

did?: DID

Use getPlugin(CorePlugins.DID) instead

gun: IGunInstance<any>
gundb: GunDB
metamask?: MetaMask

Use getPlugin(CorePlugins.MetaMask) instead

provider?: Provider
stealth?: Stealth

Use getPlugin(CorePlugins.Stealth) instead

storage: ShogunStorage
webauthn?: Webauthn

Use getPlugin(CorePlugins.WebAuthn) instead

Methods

  • Type Parameters

    • T
    • R

    Parameters

    • sources: (string | Observable<any>)[]
    • computeFn: (...values: T[]) => R

    Returns Observable<R>

  • Parameters

    • eventName: string | symbol
    • ...args: any[]

    Returns boolean

  • Parameters

    • path: string

    Returns Promise<any>

  • Parameters

    • type: "webauthn" | "password" | "metamask"

    Returns any

  • Returns null | Wallet

    Use getPlugin(CorePlugins.WalletManager).getMainWallet() instead

  • Recupera un plugin registrato per nome

    Type Parameters

    • T

      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

  • Returns null | string

  • Verifica se un plugin è registrato

    Parameters

    • name: string

      Nome del plugin da verificare

    Returns boolean

    true se il plugin è registrato, false altrimenti

  • Returns boolean

  • Returns boolean

    Use getPlugin(CorePlugins.WebAuthn).isSupported() instead

  • Parameters

    • username: string
    • password: string

    Returns Promise<AuthResult>

  • Parameters

    • address: string

    Returns Promise<AuthResult>

    Use getPlugin(CorePlugins.MetaMask).generateCredentials() instead

  • Parameters

    • username: string

    Returns Promise<AuthResult>

    Use getPlugin(CorePlugins.WebAuthn).generateCredentials() instead

  • Returns void

  • Type Parameters

    • T

    Parameters

    • path: any
    • OptionalmatchFn: (data: any) => boolean

    Returns Observable<T[]>

  • Type Parameters

    • T

    Parameters

    • path: any

    Returns Observable<T>

  • Type Parameters

    • T

    Parameters

    • path: string

    Returns Observable<T>

  • Parameters

    • eventName: string | symbol
    • listener: (...args: any[]) => void

    Returns any

  • Parameters

    • eventName: string | symbol
    • listener: (...args: any[]) => void

    Returns any

  • Parameters

    • eventName: string | symbol
    • listener: (...args: any[]) => void

    Returns any

  • Type Parameters

    • T

    Parameters

    • path: any

    Returns Observable<T>

  • Parameters

    • data: Record<string, any>

    Returns Promise<any>

  • Parameters

    • OptionaleventName: string | symbol

    Returns any

  • Type Parameters

    • T

    Parameters

    • path: any
    • data: T

    Returns Observable<T>

  • Type Parameters

    • T

    Parameters

    • path: any
    • data: T

    Returns Observable<T>

  • Type Parameters

    • T

    Parameters

    • path: string
    • data: T

    Returns Observable<T>

  • Parameters

    • rpcUrl: string

    Returns boolean

  • Parameters

    • username: string
    • password: string
    • OptionalpasswordConfirmation: string

    Returns Promise<SignUpResult>

  • Parameters

    • address: string

    Returns Promise<AuthResult>

    Use getPlugin(CorePlugins.MetaMask).generateCredentials() and signUp() instead

  • Parameters

    • username: string

    Returns Promise<AuthResult>

    Use getPlugin(CorePlugins.WebAuthn).generateCredentials() and signUp() instead

  • Cancella la registrazione di un plugin

    Parameters

    • pluginName: string

      Nome del plugin da cancellare

    Returns void

  • Parameters

    • path: string

    Returns Promise<any>

  • Parameters

    • data: Record<string, any>

    Returns Promise<any>