@omnia/fx-models
Version:
Provide Omnia Fx Models Stuffs.
29 lines (28 loc) • 1.01 kB
TypeScript
import { GuidValue } from "@omnia/fx-models/internal-do-not-import-from-here/shared/models/Guid";
import { LinkType, LinkTypeConfig } from "./linktype";
/**
* Provider interface ILinkHandlerProvider
* @interface
* @description This class used as an abstract prototype to create new provider with handler function to handle link redirection
*/
export interface ILinkHandlerProvider {
/**
* Provider's name
*/
name: string;
/**
* Provider's GUID
*/
id: GuidValue;
/**
* Provider's weight
* @description The number determines which order will be placed and called first among other providers
*/
weight: number;
/**
* Handler function
* @description The implementations of link handler, how the redirection will be executed based on the passing parameters
* return url of navigated destination or undefined if not able to handle input link
*/
handler: (url: string, linkType: LinkType, config?: LinkTypeConfig) => string;
}