UNPKG

@itznotabug/routex

Version:

A client side redirection plugin for Vitepress.

42 lines (41 loc) 1.11 kB
/** * Default options for redirect configuration */ const DEFAULT_OPTIONS = { enable: true, addCanonical: false, addNoIndexMeta: false, redirectDelay: 0, template: '', overrideExisting: false, ignoreDeadLinks: false, }; /** * Normalizes config input to always return rules + options with defaults * @param config - Raw redirect configuration * @returns Normalized configuration with default options */ export function normalizeConfig(config) { if (isRedirectConfigObject(config)) { return { rules: config.rules, options: { ...DEFAULT_OPTIONS, ...config.options }, }; } return { rules: config, options: DEFAULT_OPTIONS, }; } /** * Type guard to check if config is the object format with rules and options */ export function isRedirectConfigObject(config) { return typeof config === 'object' && config !== null && 'rules' in config; } /** * Sanitizes a path for use in file system operations */ export function sanitizePath(inputPath) { return inputPath.replace(/^\/+/, '').replace(/\/+$/, ''); }