@specs-feup/lara
Version:
A js port of the popular framework for building source-to-source compilers
26 lines • 989 B
TypeScript
import { LaraJoinPoint } from "../../LaraJoinPoint.js";
type JpFilterTypes = RegExp | ((str: string, jp?: LaraJoinPoint) => boolean) | string | boolean | number | undefined;
export type JpFilterRules = {
[key: string]: JpFilterTypes;
};
/**
* Filters join points according to the given rules.
*
* @param rules - Object where each key represents the name of a join point attribute, and the value the pattern that we will use to match against the attribute.
* The pattern can be a string (exact match), a regex or a function that receives the attribute and returns a boolean.
*
* @deprecated Use the javascript .filter() method instead.
*/
export default class JpFilter {
private rules;
constructor(rules: JpFilterRules);
/**
* Filters an array of join points.
*
* @returns an array of the join points that pass the filter
*/
filter($jps: LaraJoinPoint[]): LaraJoinPoint[];
private match;
}
export {};
//# sourceMappingURL=JpFilter.d.ts.map