firebase-rules-parser
Version:
Parser for Firebase rule files
41 lines (40 loc) • 1.43 kB
TypeScript
export interface MatchParam {
name: string;
wildcard?: boolean;
}
export declare type MatchPatternField = string | MatchParam;
export declare class MatchPattern {
readonly fields: MatchPatternField[];
readonly params: MatchParams;
private _fields;
private _params;
constructor(path: string);
/**
* Match path with pattern
*
* @param {string} path Path to be matched
* @returns {(false | MatchParams)} If no match is found, `false` will be returned. If match is found, a MatchParams object will be returned with pattern param values contained.
* @memberof MatchPattern
*/
match: (path: string) => false | MatchParams;
/**
* Match path and pattern to match from the start with the pattern
*
* @param {string} path Path to be matched
* @returns {(false | MatchParams)} If no match is found, `false` will be returned. If match is found, a MatchParams object will be returned with pattern param values contained.
* @memberof MatchPattern
*/
matchPrefix: (path: string) => false | MatchParams;
private resolvePathFromIndex;
/**
* Parse path used in Firestore rule match and get operations
*
* @export
* @param {string} path Path presentation with possible wildcard params
* @returns {MatchPattern}
*/
private parseMatchPattern;
}
export interface MatchParams {
[name: string]: string;
}