PageSourceSearch

https://www.grandviewoutdoors.com/cpresources/c0efd870/js/blitzInjectScript.js?v=1790611626

js grandviewoutdoors.com collected 2026-10-02 10:25:31 UTC 3,571 bytes, 80 lines download raw bytes

1var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3    return new (P || (P = Promise))(function (resolve, reject) {
4        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7        step((generator = generator.apply(thisArg, _arguments || [])).next());
8    });
9};
10addInjectScriptEventListener();
11function addInjectScriptEventListener() {
12    const injectScriptEvent = 'DOMContentLoaded';
13    if (injectScriptEvent === 'load') {
14        window.addEventListener('load', injectElements, { once: true });
15    }
16    else {
17        document.addEventListener(injectScriptEvent, injectElements, { once: true });
18    }
19}
20function injectElements() {
21    return __awaiter(this, void 0, void 0, function* () {
22        if (!document.dispatchEvent(new CustomEvent('beforeBlitzInjectAll', {
23            cancelable: true,
24        }))) {
25            return;
26        }
27        const elements = document.querySelectorAll('.blitz-inject:not(.blitz-inject--injected)');
28        const injectElements = {};
29        const promises = [];
30        elements.forEach(element => {
31            var _a;
32            const injectElement = {
33                element: element,
34                id: element.getAttribute('data-blitz-id'),
35                uri: element.getAttribute('data-blitz-uri'),
36                params: element.getAttribute('data-blitz-params'),
37                property: element.getAttribute('data-blitz-property'),
38            };
39            if (document.dispatchEvent(new CustomEvent('beforeBlitzInject', {
40                cancelable: true,
41                detail: injectElement,
42            }))) {
43                const url = injectElement.uri + (injectElement.params ? (injectElement.uri.indexOf('?') !== -1 ? '&' : '?') + injectElement.params : '');
44                injectElements[url] = (_a = injectElements[url]) !== null && _a !== void 0 ? _a : [];
45                injectElements[url].push(injectElement);
46            }
47        });
48        for (const url in injectElements) {
49            promises.push(replaceUrls(url, injectElements[url]));
50        }
51        yield Promise.all(promises);
52        document.dispatchEvent(new CustomEvent('afterBlitzInjectAll'));
53    });
54}
55function replaceUrls(url, injectElements) {
56    return __awaiter(this, void 0, void 0, function* () {
57        const response = yield fetch(url);
58        if (response.status >= 300) {
59            return null;
60        }
61        const responseText = yield response.text();
62        let responseJson;
63        if (url.indexOf('blitz/csrf/json') !== -1) {
64            responseJson = JSON.parse(responseText);
65        }
66        injectElements.forEach(injectElement => {
67            var _a;
68            if (injectElement.property) {
69                injectElement.element.innerHTML = (_a = responseJson[injectElement.property]) !== null && _a !== void 0 ? _a : '';
70            }
71            else {
72                injectElement.element.innerHTML = responseText;
73            }
74            injectElement.element.classList.add('blitz-inject--injected');
75            document.dispatchEvent(new CustomEvent('afterBlitzInject', {
76                detail: injectElement,
77            }));
78        });
79    });
80}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.