UNPKG

@ai-growth/nextjs

Version:

Seamlessly integrate Sanity CMS with Next.js applications for automated blog routing and rendering

115 lines 4.2 kB
import type { RoutePattern, CmsRouteConfig, RouteMatch } from '../types'; /** * Get the current CMS route configuration * * @param options Configuration options * @param options.useCache Whether to use cached configuration (default: true) * @param options.override Custom configuration override * @returns Current route configuration * * @example * ```typescript * const routeConfig = getRouteConfig(); * console.log(routeConfig.basePath); // '/cms' * * // With custom override * const customConfig = getRouteConfig({ * override: { basePath: '/blog' } * }); * ``` */ export declare function getRouteConfig(options?: { useCache?: boolean; override?: Partial<CmsRouteConfig>; }): CmsRouteConfig; /** * Clear the route configuration cache */ export declare function clearRouteConfigCache(): void; /** * Check if a given path should be handled by the CMS router * * @param path The URL path to check * @param config Optional custom route configuration * @returns True if the path should be handled by CMS * * @example * ```typescript * isValidCmsRoute('/blog/my-post'); // true * isValidCmsRoute('/api/users'); // false * isValidCmsRoute('/_next/static/css/app.css'); // false * ``` */ export declare function isValidCmsRoute(path: string, config?: CmsRouteConfig): boolean; /** * Enhanced version of extractRouteInfo with advanced pattern matching * * @param path The URL path to parse (can include query string) * @param config Optional custom route configuration * @returns Detailed route match information with parameters and validation */ export declare function extractRouteInfo(path: string, config?: CmsRouteConfig): RouteMatch; /** * Build a route path from parameters and configuration * * @param contentType The content type to build a route for * @param params Route parameters * @param queryParams Optional query parameters * @param config Optional route configuration * @returns Built route path or null if no matching pattern */ export declare function buildRoutePath(contentType: string, params: Record<string, string>, queryParams?: Record<string, any>, config?: CmsRouteConfig): string | null; /** * Get all available route patterns with their configurations * * @param config Optional route configuration * @returns Array of configured route patterns */ export declare function getAdvancedRoutePatterns(config?: CmsRouteConfig): RoutePattern[]; /** * Validate route configuration including advanced pattern features */ export declare function validateAdvancedRouteConfig(config: CmsRouteConfig): { valid: boolean; errors: string[]; warnings: string[]; }; /** * Validate route configuration * * @param config Route configuration to validate * @returns Validation result with any errors */ export declare function validateRouteConfig(config: CmsRouteConfig): { valid: boolean; errors: string[]; warnings: string[]; }; /** * Extract slug from a CMS route path (legacy compatibility function) * @param path The URL path to extract slug from * @param config Optional route configuration * @returns The extracted slug or null if invalid route */ export declare function extractSlugFromPath(path: string, config?: CmsRouteConfig): string | null; /** * Get content type from a CMS route path (legacy compatibility function) * @param path The URL path to get content type from * @param config Optional route configuration * @returns The content type or null if invalid route */ export declare function getContentTypeFromPath(path: string, config?: CmsRouteConfig): string | null; /** * Check multiple paths for CMS route validity (legacy compatibility function) * @param paths Array of paths to check * @param config Optional route configuration * @returns Array of boolean values indicating validity */ export declare function areValidCmsRoutes(paths: string[], config?: CmsRouteConfig): boolean[]; /** * Get enabled route patterns (legacy compatibility function) * @param config Optional route configuration * @returns Array of enabled route patterns */ export declare function getRoutePatterns(config?: CmsRouteConfig): RoutePattern[]; //# sourceMappingURL=route-config.d.ts.map