UNPKG

@anexia/ngx-interceptor-tools

Version:

This library provides a toolset for common http interceptor tasks, like request matching.

15 lines 2.72 kB
import { URL_WITH_PARAMS_SELECTOR } from "../selectors/url-with-params-selector"; export class RegExMatcher { constructor(patterns, selector = URL_WITH_PARAMS_SELECTOR) { this.patterns = patterns; this.selector = selector; if (patterns.length === 0) { throw new Error('RegExMatcher provided patterns are empty.'); } } match(request) { const selector = this.selector ? this.selector(request) : ''; return Boolean(this.patterns.filter(pattern => Boolean(pattern.test(selector))).length); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXgtbWF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1pbnRlcmNlcHRvci10b29scy9zcmMvbGliL3N0cmF0ZWdpZXMvcmVnZXgtbWF0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUkvRSxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNTLFFBQWtCLEVBQ2xCLFdBQW9DLHdCQUF3QjtRQUQ1RCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQW9EO1FBRW5FLElBQUcsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1NBQzlEO0lBR0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUF5QjtRQUNwQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDN0QsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZXF1ZXN0TWF0Y2hTdHJhdGVneX0gZnJvbSBcIi4uL2ludGVyZmFjZXMvcmVxdWVzdC1tYXRjaC1zdHJhdGVneVwiO1xuaW1wb3J0IHtIdHRwUmVxdWVzdH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQge1VSTF9XSVRIX1BBUkFNU19TRUxFQ1RPUn0gZnJvbSBcIi4uL3NlbGVjdG9ycy91cmwtd2l0aC1wYXJhbXMtc2VsZWN0b3JcIjtcbmltcG9ydCB7UmVxdWVzdFNlbGVjdG9yU3RyYXRlZ3l9IGZyb20gXCIuLi9pbnRlcmZhY2VzL3JlcXVlc3Qtc2VsZWN0b3Itc3RyYXRlZ3lcIjtcblxuXG5leHBvcnQgY2xhc3MgUmVnRXhNYXRjaGVyIGltcGxlbWVudHMgUmVxdWVzdE1hdGNoU3RyYXRlZ3kge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHBhdHRlcm5zOiBSZWdFeHBbXSxcbiAgICBwdWJsaWMgc2VsZWN0b3I6IFJlcXVlc3RTZWxlY3RvclN0cmF0ZWd5ID0gVVJMX1dJVEhfUEFSQU1TX1NFTEVDVE9SKSB7XG5cbiAgICBpZihwYXR0ZXJucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUmVnRXhNYXRjaGVyIHByb3ZpZGVkIHBhdHRlcm5zIGFyZSBlbXB0eS4nKTtcbiAgICB9XG5cblxuICB9XG5cbiAgcHVibGljIG1hdGNoKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBib29sZWFuIHtcbiAgICBjb25zdCBzZWxlY3RvciA9IHRoaXMuc2VsZWN0b3IgPyB0aGlzLnNlbGVjdG9yKHJlcXVlc3QpIDogJyc7XG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5wYXR0ZXJucy5maWx0ZXIocGF0dGVybiA9PiBCb29sZWFuKHBhdHRlcm4udGVzdChzZWxlY3RvcikpKS5sZW5ndGgpO1xuICB9XG59XG4iXX0=