@beignet/core
Version:
Core framework primitives for Beignet
44 lines • 1.15 kB
TypeScript
/**
* Parsed path segment from a Beignet route template.
*/
export type PathTemplateSegment = {
kind: "static";
value: string;
} | {
kind: "dynamic";
name: string;
raw: string;
};
/**
* Parsed representation of a Beignet route path template.
*/
export interface ParsedPathTemplate {
/**
* Dynamic parameter names in declaration order.
*/
keys: string[];
/**
* Static and dynamic path segments.
*/
segments: PathTemplateSegment[];
/**
* Normalized Beignet path using `:param` dynamic syntax.
*/
normalizedPath: string;
/**
* Route shape used for ambiguity detection, ignoring dynamic parameter names.
*/
shapeKey: string;
/**
* OpenAPI-compatible path using `{param}` syntax.
*/
openApiPath: string;
}
/**
* Parse a Beignet route path template.
*
* Paths must start with `/`. Dynamic segments may use `:id` or `[id]`.
* Contract catch-all segments and partial dynamic segments are intentionally rejected.
*/
export declare function parsePathTemplate(path: string): ParsedPathTemplate;
//# sourceMappingURL=path-template.d.ts.map