UNPKG

@etsoo/appscript

Version:

Applications shared TypeScript framework

67 lines (66 loc) 1.68 kB
/** * External endpoint */ export type ExternalEndpoint = { /** * API endpoint */ readonly endpoint: string; /** * Web url */ readonly webUrl: string; }; /** * External settings items */ export interface IExternalSettings extends ExternalEndpoint { /** * Message hub endpoint */ readonly messageHub?: string; /** * App root url */ readonly homepage: string; /** * Default hostname for substitution * 用于替换的默认主机名 */ hostname?: string; /** * Endpoints to other services */ readonly endpoints?: Record<"platform" | "core" | "admin" | "finance" | "crm" | "oa" | "agile" | string, ExternalEndpoint>; } /** * External settings namespace */ export declare namespace ExternalSettings { /** * Sub domain match regular expression */ let subDomainMatch: RegExp; /** * Create settings instance * @param settings Settings * @returns Result */ function create<T extends IExternalSettings = IExternalSettings>(settings?: unknown, hostname?: string): T; /** * Format the app * @param hostname Hostname * @param app App key * @param endpoint Endpoint * @returns Result */ function formatApp(hostname: string, app: string, endpoint: string): string; /** * Format the host * @param setting Setting * @param hostname Hostname * @returns Result */ function formatHost(setting: string, hostname: string): string; function formatHost(setting: Record<string, ExternalEndpoint>, hostname?: string | null): Record<string, ExternalEndpoint>; }