[6a3a178] | 1 | "use strict";
|
---|
| 2 | /**
|
---|
| 3 | * @license
|
---|
| 4 | * Copyright Google LLC All Rights Reserved.
|
---|
| 5 | *
|
---|
| 6 | * Use of this source code is governed by an MIT-style license that can be
|
---|
| 7 | * found in the LICENSE file at https://angular.io/license
|
---|
| 8 | */
|
---|
| 9 | Object.defineProperty(exports, "__esModule", { value: true });
|
---|
| 10 | exports.findHammerScriptImportElements = void 0;
|
---|
| 11 | const schematics_1 = require("@angular/cdk/schematics");
|
---|
| 12 | /**
|
---|
| 13 | * Parses the specified HTML content and looks for "script" elements which
|
---|
| 14 | * potentially import HammerJS. These elements will be returned.
|
---|
| 15 | */
|
---|
| 16 | function findHammerScriptImportElements(htmlContent) {
|
---|
| 17 | const document = schematics_1.parse5.parse(htmlContent, { sourceCodeLocationInfo: true });
|
---|
| 18 | const nodeQueue = [...document.childNodes];
|
---|
| 19 | const result = [];
|
---|
| 20 | while (nodeQueue.length) {
|
---|
| 21 | const node = nodeQueue.shift();
|
---|
| 22 | if (node.childNodes) {
|
---|
| 23 | nodeQueue.push(...node.childNodes);
|
---|
| 24 | }
|
---|
| 25 | if (node.nodeName.toLowerCase() === 'script' && node.attrs.length !== 0) {
|
---|
| 26 | const srcAttribute = node.attrs.find(a => a.name === 'src');
|
---|
| 27 | if (srcAttribute && isPotentialHammerScriptReference(srcAttribute.value)) {
|
---|
| 28 | result.push(node);
|
---|
| 29 | }
|
---|
| 30 | }
|
---|
| 31 | }
|
---|
| 32 | return result;
|
---|
| 33 | }
|
---|
| 34 | exports.findHammerScriptImportElements = findHammerScriptImportElements;
|
---|
| 35 | /**
|
---|
| 36 | * Checks whether the specified source path is potentially referring to the
|
---|
| 37 | * HammerJS script output.
|
---|
| 38 | */
|
---|
| 39 | function isPotentialHammerScriptReference(srcPath) {
|
---|
| 40 | return /\/hammer(\.min)?\.js($|\?)/.test(srcPath);
|
---|
| 41 | }
|
---|
| 42 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1oYW1tZXItc2NyaXB0LXRhZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvc2NoZW1hdGljcy9uZy11cGRhdGUvbWlncmF0aW9ucy9oYW1tZXItZ2VzdHVyZXMtdjkvZmluZC1oYW1tZXItc2NyaXB0LXRhZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsd0RBQStDO0FBRS9DOzs7R0FHRztBQUNILFNBQWdCLDhCQUE4QixDQUFDLFdBQW1CO0lBQ2hFLE1BQU0sUUFBUSxHQUFHLG1CQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFDLHNCQUFzQixFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDM0UsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQyxNQUFNLE1BQU0sR0FBcUIsRUFBRSxDQUFDO0lBRXBDLE9BQU8sU0FBUyxDQUFDLE1BQU0sRUFBRTtRQUN2QixNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFvQixDQUFDO1FBRWpELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3BDO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdkUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDO1lBQzVELElBQUksWUFBWSxJQUFJLGdDQUFnQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNuQjtTQUNGO0tBQ0Y7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBcEJELHdFQW9CQztBQUVEOzs7R0FHRztBQUNILFNBQVMsZ0NBQWdDLENBQUMsT0FBZTtJQUN2RCxPQUFPLDRCQUE0QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7cGFyc2U1fSBmcm9tICdAYW5ndWxhci9jZGsvc2NoZW1hdGljcyc7XG5cbi8qKlxuICogUGFyc2VzIHRoZSBzcGVjaWZpZWQgSFRNTCBjb250ZW50IGFuZCBsb29rcyBmb3IgXCJzY3JpcHRcIiBlbGVtZW50cyB3aGljaFxuICogcG90ZW50aWFsbHkgaW1wb3J0IEhhbW1lckpTLiBUaGVzZSBlbGVtZW50cyB3aWxsIGJlIHJldHVybmVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZEhhbW1lclNjcmlwdEltcG9ydEVsZW1lbnRzKGh0bWxDb250ZW50OiBzdHJpbmcpOiBwYXJzZTUuRWxlbWVudFtdIHtcbiAgY29uc3QgZG9jdW1lbnQgPSBwYXJzZTUucGFyc2UoaHRtbENvbnRlbnQsIHtzb3VyY2VDb2RlTG9jYXRpb25JbmZvOiB0cnVlfSk7XG4gIGNvbnN0IG5vZGVRdWV1ZSA9IFsuLi5kb2N1bWVudC5jaGlsZE5vZGVzXTtcbiAgY29uc3QgcmVzdWx0OiBwYXJzZTUuRWxlbWVudFtdID0gW107XG5cbiAgd2hpbGUgKG5vZGVRdWV1ZS5sZW5ndGgpIHtcbiAgICBjb25zdCBub2RlID0gbm9kZVF1ZXVlLnNoaWZ0KCkgYXMgcGFyc2U1LkVsZW1lbnQ7XG5cbiAgICBpZiAobm9kZS5jaGlsZE5vZGVzKSB7XG4gICAgICBub2RlUXVldWUucHVzaCguLi5ub2RlLmNoaWxkTm9kZXMpO1xuICAgIH1cblxuICAgIGlmIChub2RlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdzY3JpcHQnICYmIG5vZGUuYXR0cnMubGVuZ3RoICE9PSAwKSB7XG4gICAgICBjb25zdCBzcmNBdHRyaWJ1dGUgPSBub2RlLmF0dHJzLmZpbmQoYSA9PiBhLm5hbWUgPT09ICdzcmMnKTtcbiAgICAgIGlmIChzcmNBdHRyaWJ1dGUgJiYgaXNQb3RlbnRpYWxIYW1tZXJTY3JpcHRSZWZlcmVuY2Uoc3JjQXR0cmlidXRlLnZhbHVlKSkge1xuICAgICAgICByZXN1bHQucHVzaChub2RlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgc3BlY2lmaWVkIHNvdXJjZSBwYXRoIGlzIHBvdGVudGlhbGx5IHJlZmVycmluZyB0byB0aGVcbiAqIEhhbW1lckpTIHNjcmlwdCBvdXRwdXQuXG4gKi9cbmZ1bmN0aW9uIGlzUG90ZW50aWFsSGFtbWVyU2NyaXB0UmVmZXJlbmNlKHNyY1BhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gL1xcL2hhbW1lcihcXC5taW4pP1xcLmpzKCR8XFw/KS8udGVzdChzcmNQYXRoKTtcbn1cbiJdfQ== |
---|