Handle fetching and saving user specific data, e.g. settings or other state data that should persist between sessions

Hierarchy

Methods

Methods

  • Get user data

    Returns

    the data

    Type Parameters

    • T = any

    Parameters

    • key: string

      name of the key containing the data

    Returns T

  • Check if user data exists

    Returns

    true if user data exists

    Parameters

    • key: string

      name of the key containing the data

    Returns boolean

  • Set user data

    Returns

    a promise that will be resolved when the data has been saved

    Type Parameters

    • T = any

    Parameters

    • key: string

      name of the key for the data

    • Optional data: T

      the data to save, will delete the data if undefined

    Returns Promise<void>

  • Subscribe to state changes with optional transformation and filtering.

    The subscription will immediately invoke the callback with the current state (if any), then continue to call it whenever the state changes. The map and filter options allow you to transform and selectively receive updates.

    Returns

    Unsubscribe function - call this to stop receiving updates

    Remarks

    • Map functions are applied sequentially to transform the state
    • Filter functions must all return true for the callback to be invoked
    • Functions in map/filter arrays are bound to the component instance
    • Always store and call the unsubscribe function when component is destroyed

    Example

    // Basic subscription
    const unsubscribe = repository.subscribe((state) => {
    console.log('State updated:', state);
    });

    // With transformations
    const unsubscribe = repository.subscribe(
    (userName) => console.log('User:', userName),
    { map: [(state) => state.user?.name] }
    );

    Parameters

    • callback: ((...args: unknown[]) => void)

      Function called with state updates (after map/filter applied)

        • (...args: unknown[]): void
        • Parameters

          • Rest ...args: unknown[]

          Returns void

    • Optional options: StateOptions

      Optional transformations and filters for the subscription

    Returns (() => void)

      • (): void
      • Subscribe to state changes with optional transformation and filtering.

        The subscription will immediately invoke the callback with the current state (if any), then continue to call it whenever the state changes. The map and filter options allow you to transform and selectively receive updates.

        Returns

        Unsubscribe function - call this to stop receiving updates

        Remarks

        • Map functions are applied sequentially to transform the state
        • Filter functions must all return true for the callback to be invoked
        • Functions in map/filter arrays are bound to the component instance
        • Always store and call the unsubscribe function when component is destroyed

        Example

        // Basic subscription
        const unsubscribe = repository.subscribe((state) => {
        console.log('State updated:', state);
        });

        // With transformations
        const unsubscribe = repository.subscribe(
        (userName) => console.log('User:', userName),
        { map: [(state) => state.user?.name] }
        );

        Returns void