@ai-growth/nextjs
Version:
Seamlessly integrate Sanity CMS with Next.js applications for automated blog routing and rendering
115 lines • 4.2 kB
TypeScript
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