31 lines
711 B
TypeScript
31 lines
711 B
TypeScript
|
import type { ForwardConfig } from './forwarding-types.js';
|
||
|
|
||
|
/**
|
||
|
* Domain configuration with unified forwarding configuration
|
||
|
*/
|
||
|
export interface DomainConfig {
|
||
|
// Core properties - domain patterns
|
||
|
domains: string[];
|
||
|
|
||
|
// Unified forwarding configuration
|
||
|
forwarding: ForwardConfig;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Helper function to create a domain configuration
|
||
|
*/
|
||
|
export function createDomainConfig(
|
||
|
domains: string | string[],
|
||
|
forwarding: ForwardConfig
|
||
|
): DomainConfig {
|
||
|
// Normalize domains to an array
|
||
|
const domainArray = Array.isArray(domains) ? domains : [domains];
|
||
|
|
||
|
return {
|
||
|
domains: domainArray,
|
||
|
forwarding
|
||
|
};
|
||
|
}
|
||
|
|
||
|
// Backwards compatibility
|
||
|
export interface IDomainConfig extends DomainConfig {}
|