interface ResourceDataClient {
    add<T extends "AssetAppConfigResource">(
        add: ResourceDataAdd<T>,
    ): Promise<void>;
    destroy(): void;
    query<T extends ResourceDataQuerySelector>(
        query: ResourceDataQuery<T> | [ResourceDataQuery<T>],
        listener: (results: [ResourceDataResult<ResultDataMap[T]>]) => unknown,
    ): () => void;
    query<
        T1 extends ResourceDataQuerySelector,
        T2 extends ResourceDataQuerySelector,
    >(
        query: [ResourceDataQuery<T1>, ResourceDataQuery<T2>],
        listener: (
            results: [
                ResourceDataResult<ResultDataMap[T1]>,
                ResourceDataResult<ResultDataMap[T2]>,
            ],
        ) => unknown,
    ): () => void;
    query<
        T1 extends ResourceDataQuerySelector,
        T2 extends ResourceDataQuerySelector,
        T3 extends ResourceDataQuerySelector,
    >(
        query: [
            ResourceDataQuery<T1>,
            ResourceDataQuery<T2>,
            ResourceDataQuery<T3>,
        ],
        listener: (
            results: [
                ResourceDataResult<ResultDataMap[T1]>,
                ResourceDataResult<ResultDataMap[T2]>,
                ResourceDataResult<ResultDataMap[T3]>,
            ],
        ) => unknown,
    ): () => void;
    query<
        T1 extends ResourceDataQuerySelector,
        T2 extends ResourceDataQuerySelector,
        T3 extends ResourceDataQuerySelector,
        T4 extends ResourceDataQuerySelector,
    >(
        query: [
            ResourceDataQuery<T1>,
            ResourceDataQuery<T2>,
            ResourceDataQuery<T3>,
        ],
        listener: (
            results: [
                ResourceDataResult<ResultDataMap[T1]>,
                ResourceDataResult<ResultDataMap[T2]>,
                ResourceDataResult<ResultDataMap[T3]>,
                ResourceDataResult<ResultDataMap[T4]>,
            ],
        ) => unknown,
    ): () => void;
    query<
        T1 extends ResourceDataQuerySelector,
        T2 extends ResourceDataQuerySelector,
        T3 extends ResourceDataQuerySelector,
        T4 extends ResourceDataQuerySelector,
    >(
        query: [
            ResourceDataQuery<T1>,
            ResourceDataQuery<T2>,
            ResourceDataQuery<T3>,
            ResourceDataQuery<T4>,
        ],
        listener: (
            results: [
                ResourceDataResult<ResultDataMap[T1]>,
                ResourceDataResult<ResultDataMap[T2]>,
                ResourceDataResult<ResultDataMap[T3]>,
                ResourceDataResult<ResultDataMap[T4]>,
            ],
        ) => unknown,
    ): () => void;
    query<
        T1 extends ResourceDataQuerySelector,
        T2 extends ResourceDataQuerySelector,
        T3 extends ResourceDataQuerySelector,
        T4 extends ResourceDataQuerySelector,
        T5 extends ResourceDataQuerySelector,
    >(
        query: [
            ResourceDataQuery<T1>,
            ResourceDataQuery<T2>,
            ResourceDataQuery<T3>,
            ResourceDataQuery<T4>,
            ResourceDataQuery<T5>,
        ],
        listener: (
            results: [
                ResourceDataResult<ResultDataMap[T1]>,
                ResourceDataResult<ResultDataMap[T2]>,
                ResourceDataResult<ResultDataMap[T3]>,
                ResourceDataResult<ResultDataMap[T4]>,
                ResourceDataResult<ResultDataMap[T5]>,
            ],
        ) => unknown,
    ): () => void;
    remove<T extends "AssetAppConfigResource">(
        remove: ResourceDataRemove<T>,
    ): Promise<void>;
    render(
        templates: ResourceDataTemplateQuery[],
        listener: (results: string[]) => void,
    ): () => void;
    update<T extends keyof ResourceDataUpdateDataMap>(
        update: ResourceDataUpdate<T>,
    ): Promise<void>;
}

Methods

  • Type Parameters

    • T extends "AssetAppConfigResource"

    Parameters

    Returns Promise<void>

    Returns a promise that resolves when the remove succeeds.

  • Destroy the client. Always call this when the client is not used anymore. When the context is destroyed, this is called automatically

    Returns void

  • Type Parameters

    • T extends "AssetAppConfigResource"

    Parameters

    Returns Promise<void>

    Returns a promise that resolves when the remove succeeds.

  • Parameters

    Returns () => void

    Returns a deregistration function for the listener.

  • Type Parameters

    • T extends keyof ResourceDataUpdateDataMap

    Parameters

    Returns Promise<void>

    Returns a promise that resolves when the update succeeds.