mirror of
https://github.com/titanscouting/tra-analysis.git
synced 2025-03-19 11:35:19 +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;
|
||
|
}
|