@sap-cloud-sdk/connectivity
Version:
SAP Cloud SDK for JavaScript connectivity
37 lines (36 loc) • 2.04 kB
TypeScript
import type { AllDestinations } from './destination-accessor-types';
import type { Destination } from './destination-service-types';
/**
* Function to implement the selection strategy of the retrieved destination.
* Use the built-in strategies defined in {@link DestinationSelectionStrategies} or make your own function.
*/
export type DestinationSelectionStrategy = (allDestinations: AllDestinations, destinationName: string) => Destination | null;
/**
* Constraints the selection to provider destinations.
* @param allDestinations - Retrieved destinations.
* @param destinationName - Name of the destination to retrieve.
* @returns The destination to retrieve, returns `null`, if no matched provider destination is found.
*/
export declare function alwaysProvider(allDestinations: AllDestinations, destinationName: string): Destination | null;
/**
* Constraints the selection to subscriber destinations.
* @param allDestinations - Retrieved destinations.
* @param destinationName - Name of the destination to retrieve.
* @returns The destination to retrieve, returns `null`, if no matched subscriber destination is found.
*/
export declare function alwaysSubscriber(allDestinations: AllDestinations, destinationName: string): Destination | null;
/**
* Prioritizes the selection of subscriber destinations.
* @param allDestinations - Retrieved destinations.
* @param destinationName - Name of the destination to retrieve.
* @returns The destination to retrieve, returns `null` if no matched destination is found.
*/
export declare function subscriberFirst(allDestinations: AllDestinations, destinationName: string): Destination | null;
/**
* Selector of destination selection strategies. See {@link alwaysProvider}, {@link alwaysSubscriber} and {@link subscriberFirst} for more information available selection strategies.
*/
export declare const DestinationSelectionStrategies: {
alwaysProvider: typeof alwaysProvider;
alwaysSubscriber: typeof alwaysSubscriber;
subscriberFirst: typeof subscriberFirst;
};