mirror of
https://github.com/titanscouting/tra-analysis.git
synced 2025-03-19 03:35:17 +00:00
46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
export interface ParseResult {
|
|
size: number;
|
|
segments: Segment[];
|
|
}
|
|
export interface Segment {
|
|
kind: number;
|
|
literal: string;
|
|
}
|
|
export declare type Bindings = {
|
|
[index: string]: string;
|
|
};
|
|
export declare class PathTemplate {
|
|
private readonly parseResult;
|
|
readonly size: number;
|
|
readonly segments: Segment[];
|
|
/**
|
|
* @param {String} data the of the template
|
|
*
|
|
* @constructor
|
|
*/
|
|
constructor(data: string);
|
|
/**
|
|
* Matches a fully-qualified path template string.
|
|
*
|
|
* @param {String} path a fully-qualified path template string
|
|
* @return {Object} contains const names matched to binding values
|
|
* @throws {TypeError} if path can't be matched to this template
|
|
*/
|
|
match(path: string): Bindings;
|
|
/**
|
|
* Renders a path template using the provided bindings.
|
|
*
|
|
* @param {Object} bindings a mapping of const names to binding strings
|
|
* @return {String} a rendered representation of the path template
|
|
* @throws {TypeError} if a key is missing, or if a sub-template cannot be
|
|
* parsed
|
|
*/
|
|
render(bindings: Bindings): string;
|
|
/**
|
|
* Renders the path template.
|
|
*
|
|
* @return {string} contains const names matched to binding values
|
|
*/
|
|
inspect(): string;
|
|
}
|