The deployed data products, for the source dialog and for re-checking saved sources: its own port, beside the CubeEngine, so hosts without data products need neither. Calls fail with a CubeEngineError: with no node for listing and describing, with the node's id for schemas

interface CubeDataProductCatalog {
    environmentTypes: readonly CubeDataProductEnvironmentType[];
    isCutShort?: (answer: readonly CubeDataProductCandidate[]) => boolean;
    searchesOnServer?: boolean;
    searchLimit?: number;
    describe(
        candidate: CubeDataProductCandidate,
        signal?: AbortSignal,
    ): Promise<CubeDataProductDescription>;
    getAccess(
        candidate: CubeDataProductCandidate,
        signal?: AbortSignal,
    ): Promise<ReadonlyMap<string, CubeAccessPointGroupAccess>>;
    getMarketplaceLink(target: CubeMarketplaceLinkTarget): undefined | string;
    resolveSchemas(
        project: CubeDataProductProject,
        sources: ReadonlyMap<string, CubeAccessPointLocation>,
        options?: { fresh?: boolean },
    ): Promise<Map<string, CubeEngineError | Schema>>;
    search(
        search: {
            environmentType: CubeDataProductEnvironmentType;
            text: string;
        },
        signal?: AbortSignal,
    ): Promise<readonly CubeDataProductCandidate[]>;
}

Properties

environmentTypes: readonly CubeDataProductEnvironmentType[]

The deployment classes the host lists, the default first

isCutShort?: (answer: readonly CubeDataProductCandidate[]) => boolean

Whether an answer search gave leaves out matches the server has, as its page says, counting rows the catalog dropped. Without it, an answer as long as searchLimit is taken to be cut short

searchesOnServer?: boolean

Whether search matches and ranks the text on a server. Otherwise the text is matched on the client, over the class's whole list

searchLimit?: number

The most products one server search gives: an answer this long may be cut short

Methods