UNPKG

@angular/service-worker

Version:

Angular - service worker tooling!

49 lines (48 loc) 5.36 kB
/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ import * as tslib_1 from "tslib"; var QUESTION_MARK = '[^/]'; var WILD_SINGLE = '[^/]*'; var WILD_OPEN = '(?:.+\\/)?'; var TO_ESCAPE_BASE = [ { replace: /\./g, with: '\\.' }, { replace: /\+/g, with: '\\+' }, { replace: /\*/g, with: WILD_SINGLE }, ]; var TO_ESCAPE_WILDCARD_QM = tslib_1.__spread(TO_ESCAPE_BASE, [ { replace: /\?/g, with: QUESTION_MARK }, ]); var TO_ESCAPE_LITERAL_QM = tslib_1.__spread(TO_ESCAPE_BASE, [ { replace: /\?/g, with: '\\?' }, ]); export function globToRegex(glob, literalQuestionMark) { if (literalQuestionMark === void 0) { literalQuestionMark = false; } var toEscape = literalQuestionMark ? TO_ESCAPE_LITERAL_QM : TO_ESCAPE_WILDCARD_QM; var segments = glob.split('/').reverse(); var regex = ''; while (segments.length > 0) { var segment = segments.pop(); if (segment === '**') { if (segments.length > 0) { regex += WILD_OPEN; } else { regex += '.*'; } } else { var processed = toEscape.reduce(function (segment, escape) { return segment.replace(escape.replace, escape.with); }, segment); regex += processed; if (segments.length > 0) { regex += '\\/'; } } } return regex; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NlcnZpY2Utd29ya2VyL2NvbmZpZy9zcmMvZ2xvYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7O0FBRUgsSUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDO0FBQzdCLElBQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQztBQUM1QixJQUFNLFNBQVMsR0FBRyxZQUFZLENBQUM7QUFFL0IsSUFBTSxjQUFjLEdBQUc7SUFDckIsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUM7SUFDN0IsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUM7SUFDN0IsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUM7Q0FDcEMsQ0FBQztBQUNGLElBQU0scUJBQXFCLG9CQUN0QixjQUFjO0lBQ2pCLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFDO0VBQ3RDLENBQUM7QUFDRixJQUFNLG9CQUFvQixvQkFDckIsY0FBYztJQUNqQixFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQztFQUM5QixDQUFDO0FBRUYsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUFZLEVBQUUsbUJBQTJCO0lBQTNCLG9DQUFBLEVBQUEsMkJBQTJCO0lBQ25FLElBQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUM7SUFDcEYsSUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQyxJQUFJLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDdkIsT0FBTyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUMxQixJQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFJLENBQUM7UUFDakMsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFO1lBQ3BCLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3ZCLEtBQUssSUFBSSxTQUFTLENBQUM7YUFDcEI7aUJBQU07Z0JBQ0wsS0FBSyxJQUFJLElBQUksQ0FBQzthQUNmO1NBQ0Y7YUFBTTtZQUNMLElBQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQzdCLFVBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSyxPQUFBLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQTVDLENBQTRDLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDaEYsS0FBSyxJQUFJLFNBQVMsQ0FBQztZQUNuQixJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN2QixLQUFLLElBQUksS0FBSyxDQUFDO2FBQ2hCO1NBQ0Y7S0FDRjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuY29uc3QgUVVFU1RJT05fTUFSSyA9ICdbXi9dJztcbmNvbnN0IFdJTERfU0lOR0xFID0gJ1teL10qJztcbmNvbnN0IFdJTERfT1BFTiA9ICcoPzouK1xcXFwvKT8nO1xuXG5jb25zdCBUT19FU0NBUEVfQkFTRSA9IFtcbiAge3JlcGxhY2U6IC9cXC4vZywgd2l0aDogJ1xcXFwuJ30sXG4gIHtyZXBsYWNlOiAvXFwrL2csIHdpdGg6ICdcXFxcKyd9LFxuICB7cmVwbGFjZTogL1xcKi9nLCB3aXRoOiBXSUxEX1NJTkdMRX0sXG5dO1xuY29uc3QgVE9fRVNDQVBFX1dJTERDQVJEX1FNID0gW1xuICAuLi5UT19FU0NBUEVfQkFTRSxcbiAge3JlcGxhY2U6IC9cXD8vZywgd2l0aDogUVVFU1RJT05fTUFSS30sXG5dO1xuY29uc3QgVE9fRVNDQVBFX0xJVEVSQUxfUU0gPSBbXG4gIC4uLlRPX0VTQ0FQRV9CQVNFLFxuICB7cmVwbGFjZTogL1xcPy9nLCB3aXRoOiAnXFxcXD8nfSxcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiBnbG9iVG9SZWdleChnbG9iOiBzdHJpbmcsIGxpdGVyYWxRdWVzdGlvbk1hcmsgPSBmYWxzZSk6IHN0cmluZyB7XG4gIGNvbnN0IHRvRXNjYXBlID0gbGl0ZXJhbFF1ZXN0aW9uTWFyayA/IFRPX0VTQ0FQRV9MSVRFUkFMX1FNIDogVE9fRVNDQVBFX1dJTERDQVJEX1FNO1xuICBjb25zdCBzZWdtZW50cyA9IGdsb2Iuc3BsaXQoJy8nKS5yZXZlcnNlKCk7XG4gIGxldCByZWdleDogc3RyaW5nID0gJyc7XG4gIHdoaWxlIChzZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgY29uc3Qgc2VnbWVudCA9IHNlZ21lbnRzLnBvcCgpICE7XG4gICAgaWYgKHNlZ21lbnQgPT09ICcqKicpIHtcbiAgICAgIGlmIChzZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJlZ2V4ICs9IFdJTERfT1BFTjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlZ2V4ICs9ICcuKic7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHByb2Nlc3NlZCA9IHRvRXNjYXBlLnJlZHVjZShcbiAgICAgICAgICAoc2VnbWVudCwgZXNjYXBlKSA9PiBzZWdtZW50LnJlcGxhY2UoZXNjYXBlLnJlcGxhY2UsIGVzY2FwZS53aXRoKSwgc2VnbWVudCk7XG4gICAgICByZWdleCArPSBwcm9jZXNzZWQ7XG4gICAgICBpZiAoc2VnbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICByZWdleCArPSAnXFxcXC8nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gcmVnZXg7XG59XG4iXX0=